beyond-all-reason / beyond-all-reason/RecoilEngine

remove "blocks all script animations from modifying it" from LuaSyncedCtrl::SetUnitPieceMatrix

Open
#2,275 10 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

I didn't see the reasoning and I want so.

( I'm developing a new technology about dynamically change pieces' draw, like prettier and faster unit_changepiece.lua.
I need to change pieces' matrix by gadget to match its pos with its visual, while allowing animation to keep working (and without modifing animation scripts ). )

at RecoilEngine\rts\Rendering\Models\3DModel.h line 507 , please remove things about blockScriptAnims.
You can add another function about blockScriptAnims if you want.

I tried Spring.SetUnitPieceMatrix(unitID, base, {0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0}) to `blockScriptAnims = false` but matrix was reset ( at version 105.1.1-2511-g747f18b BAR105 (wait zerok engine is soo old) )

Contributor guide

Open the contributing guide

Research direction

Start at RecoilEngine/rts/Rendering/Models/3DModel.h line 507 and trace LuaSyncedCtrl::SetUnitPieceMatrix, focusing on the blockScriptAnims behavior. Reproduce the reported Spring.SetUnitPieceMatrix call and verify that a gadget can change a piece matrix while script animation continues; done should match the requested visual position without modifying animation scripts.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, lua
Domain
game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.