ARM devices: Game exit when completing helicopter build for act 3
For some reason, on 3DS the game closes (it doesn't "crash", as far as gdb is concerned it exits normally) after completing the helicopter repair for the final Brickster battle.
I need to find the source, but I believe it occurs at this assertion.
Question: Will using SDL_assert make assert logs appear in the logs?
Edit: Reproduced on M1 MacBook Pro. This probably is an ARM specific issue
Question: Will using SDL_assert make assert logs appear in the logs?
no
I can confirm this issue on release builds via emulator, instead of crashing nothing happens once you compleated the helicopter, you can still rotate and cycle items, you cannot modify the copter and the triangle and info button reacts but nothing happens when clicked. I suspect this might be an ARM specific issue.
the triangle and info button reacts but nothing happens when clicked
I believe that's default / correct behavior. The missing transition to Act3 after the last part has been placed is a bug though. I took a brief look at the code and don't see anything obvious that could cause this to fail on ARM devices. Someone with that architecture should probably step through the code and see where it glitches.
It was also replicated on Aarch64 one macOS
The failing code should be in legocarbuild.cpp, in the act2 specific branches. There isn't a lot of them so this shouldn't be too hard to track down.
Also happened on Xbox Series S, breakpoint at here: https://github.com/isledecomp/isle-portable/blob/fd0b6bcacaedb556c129feb21491ce5b0c005a67/LEGO1/lego/legoomni/src/actors/act3actors.cpp#L279