summaryrefslogtreecommitdiff
path: root/src/fileselect.S
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/fileselect.S39
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)