I wanted to write a PreDraw trigger which keeps a traveller on the floor:
if( current.location.z != 0 ) { updatelocations( current ); /**/current.location.z = 0/**/; }
Previously I had to make sure to call updatelocations first to apply any kinematics since the last draw.
This still works in 21.1 but as of 21.2 (including versions of 2022) there seems to be a change where this causes a stack overflow. When I put the debugger on the updatelocations line and Step Into, I recursively end up in the same OnPreDraw trigger.
I see why OnPreDraw first does updatelocations but I don't understand why calling updatelocations explicitly calls OnPreDraw again. Is this a bug?