summaryrefslogtreecommitdiff
path: root/src/fileselect.S
diff options
context:
space:
mode:
authorTreeki <treeki@gmail.com>2012-09-21 19:08:05 +0200
committerTreeki <treeki@gmail.com>2012-09-21 19:08:05 +0200
commit48ffeacbebb2da2fee3bff600f4218ad7f24c9cc (patch)
treef99e211aeaa509fb1c56838ec46839a25dea5785 /src/fileselect.S
parenta7fc34dfdfee0c899712e0209885e40b19305d7f (diff)
downloadkamek-48ffeacbebb2da2fee3bff600f4218ad7f24c9cc.tar.gz
kamek-48ffeacbebb2da2fee3bff600f4218ad7f24c9cc.zip
file select level looping fixed
Diffstat (limited to '')
-rw-r--r--src/fileselect.S35
1 files changed, 17 insertions, 18 deletions
diff --git a/src/fileselect.S b/src/fileselect.S
index 75f3130..19710ef 100644
--- a/src/fileselect.S
+++ b/src/fileselect.S
@@ -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)