decomp:problems
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.
decomp/problems.txt · Last modified: 2023/02/13 02:46 by fruityloops