====== Known Problems ====== ===== Toolchain Problems ===== * The exact version of ARMCC used to compile the game is unknown, so version 4.1 build 894 are used since they are the most accurate. * The compiler flags used to compile the game may not be fully correct. * Some while/for loops with if statements inside them will have 'nop' instructions right before the conditional jump instruction, which are not generated by the used compiler. Example (_ZN16alSensorFunction20findSensorTypeByNameEPKc): 7820c: bl 192308 ~> 7820c: bl 192308 ~> 78210: cmp r0, #0 78210: cmp r0, #0 78214: nop {0} < 78218: beq 78228 ~> 78214: beq 78224 ~> 7821c: add r0, r5, r4, lsl #3 r 78218: add r0, r8, r4, lsl #3 78220: ldr r7, [r0, #4] | 7821c: ldrb r6, [r0, #4] 78224: b 78234 ~> 78220: b 78230 ~> 78228: ~> add r4, r4, #1 78224: ~> add r4, r4, #1 * Some constructors initialize members in a non-linear order/twice, the used compiler will remove any initializers that happen twice, and will order the initializers by the order they are defined in.