diff options
Diffstat (limited to 'src/fileselect.S')
-rw-r--r-- | src/fileselect.S | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/src/fileselect.S b/src/fileselect.S index 75f3130..9f7f396 100644 --- a/src/fileselect.S +++ b/src/fileselect.S @@ -74,7 +74,7 @@ DFNiceWorldName: # get Newer map number lbz r6, 0x6FC(r31) lis r8, NewerWorldCount@h - ori r8, r8, NewerWorldCount@h + ori r8, r8, NewerWorldCount@l lwz r8, 0(r8) cmpw r6, r8 bge invalidThing @@ -82,7 +82,6 @@ DFNiceWorldName: lis r7, NewerWorldNames@h ori r7, r7, NewerWorldNames@l lwzx r4, r7, r6 - li r5, 0 b gotName invalidThing: lis r4, InvalidWorld@h @@ -90,6 +89,7 @@ invalidThing: gotName: mr r3, r20 + li r5, 0 lwz r12, 0(r3) lwz r12, 0x7C(r12) mtctr r12 @@ -102,13 +102,11 @@ gotName: li r21, 0 li r22, 0 + addi r23, r31, 0x6C li r24, 0 li r25, 0 # Loop through ALL levels - addi r23, r31, 0x6C - li r4, 420 - mtctr r4 levelLoop: lwz r4, 0(r23) @@ -133,24 +131,24 @@ noCoin3: beq noNormalExit addi r22, r22, 1 - lis r3, NormalExitStr@h - ori r3, r3, NormalExitStr@l - mr r4, r24 - mr r5, r25 - crclr 4*cr1+eq - bl OSReport +# lis r3, NormalExitStr@h +# ori r3, r3, NormalExitStr@l +# addi r4, r24, 1 +# addi r5, r25, 1 +# crclr 4*cr1+eq +# bl OSReport noNormalExit: lwz r4, 0(r23) extrwi. r0, r4, 1,26 beq noSecretExit addi r22, r22, 1 - lis r3, SecretExitStr@h - ori r3, r3, SecretExitStr@l - mr r4, r24 - mr r5, r25 - crclr 4*cr1+eq - bl OSReport +# lis r3, SecretExitStr@h +# ori r3, r3, SecretExitStr@l +# addi r4, r24, 1 +# addi r5, r25, 1 +# crclr 4*cr1+eq +# bl OSReport noSecretExit: ignoreStartPoint: @@ -158,11 +156,12 @@ ignoreStartPoint: addi r23, r23, 4 addi r25, r25, 1 cmpwi r25, 42 - blt dontGoNextWorld + blt levelLoop + # next world addi r24, r24, 1 li r25, 0 -dontGoNextWorld: - bdnz levelLoop + cmpwi r24, 10 + blt levelLoop # Now, subtract the paid star coins lhz r3, 0x66(r31) |