diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_1.s | 72 | ||||
-rw-r--r-- | asm/battle_9.s | 171 | ||||
-rw-r--r-- | asm/cute_sketch.s | 1 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 1315 |
4 files changed, 1558 insertions, 1 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s index 980bd6a65..24553e020 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -794,6 +794,77 @@ _0800DAB0: .4byte 0x0600d000 _0800DAB4: .4byte gBattleTerrainPalette_BattleTower thumb_func_end DrawMainBattleBackground +.if DEBUG + thumb_func_start sub_800DAB8 +sub_800DAB8: +.syntax divided + push {r4, r5, lr} + add sp, sp, #0xfffffffc + ldr r0, ._113 + mov r1, #0xc0 + lsl r1, r1, #0x13 + bl LZDecompressVram + ldr r0, ._113 + 4 + ldr r4, ._113 + 8 + mov r2, #0x80 + lsl r2, r2, #0x4 + add r1, r4, #0 + bl gMysteryEventScriptCmdTableEnd+0x3cb4 @ uh, what? + ldr r0, ._113 + 12 + mov r1, #0x0 + mov r2, #0x40 + bl LoadCompressedPalette + bl sub_800D74C + bl DrawMainBattleBackground + ldr r0, ._113 + 16 + ldrh r1, [r0] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._112 @cond_branch + ldr r0, ._113 + 20 + mov r1, #0x0 + add r2, r4, #0 + mov r3, #0x1 + bl debug_sub_8008218 + ldr r5, ._113 + 24 + mov r4, #0x1 + str r4, [sp] + add r0, r5, #0 + mov r1, #0x3 + mov r2, #0x1 + mov r3, #0x3 + bl debug_sub_8008264 + str r4, [sp] + add r0, r5, #0 + mov r1, #0x3 + mov r2, #0x15 + mov r3, #0x3 + bl debug_sub_8008264 + str r4, [sp] + add r0, r5, #0 + mov r1, #0x3 + mov r2, #0x29 + mov r3, #0x3 + bl debug_sub_8008264 +._112: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._114: + .align 2, 0 +._113: + .word gUnknown_08D00000 + .word gUnknown_08D00524 + .word 0x600c000 + .word gUnknown_08D004E0 + .word gBattleTypeFlags + .word 0x6000600 + .word 0x101 +.syntax unified + thumb_func_end sub_800DAB8 +.else thumb_func_start sub_800DAB8 sub_800DAB8: @ 800DAB8 push {lr} @@ -820,6 +891,7 @@ _0800DAEC: .4byte gUnknown_08D00524 _0800DAF0: .4byte 0x0600c000 _0800DAF4: .4byte gUnknown_08D004E0 thumb_func_end sub_800DAB8 +.endif thumb_func_start sub_800DAF8 sub_800DAF8: @ 800DAF8 diff --git a/asm/battle_9.s b/asm/battle_9.s index 9dbb7c619..62e2baae6 100644 --- a/asm/battle_9.s +++ b/asm/battle_9.s @@ -1387,6 +1387,176 @@ _08036AFE: bx r1 thumb_func_end AI_ShouldSwitch +.if DEBUG + thumb_func_start sub_8036B0C +sub_8036B0C: +.syntax divided + push {r4, r5, r6, lr} + ldr r5, ._205 + ldrh r1, [r5] + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + bne ._197 @cond_branch + b ._216 +._197: + bl AI_ShouldSwitch + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._199 @cond_branch + b ._200 +._199: + ldr r4, ._205 + 4 + ldr r0, ._205 + 8 + ldrb r0, [r0] + bl GetBankIdentity + lsl r0, r0, #0x18 + lsr r0, r0, #0x19 + ldr r1, ._205 + 12 + add r0, r0, r1 + add r0, r0, r4 + ldrb r0, [r0] + cmp r0, #0x6 + bne ._201 @cond_branch + bl sub_8036CD4 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + bne ._211 @cond_branch + ldrh r1, [r5] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + bne ._203 @cond_branch + mov r0, #0x1 + bl GetBankByIdentity + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r6, r5, #0 + b ._204 +._206: + .align 2, 0 +._205: + .word gBattleTypeFlags + .word +0x2000000 + .word gActiveBank + .word 0x160c8 +._203: + mov r0, #0x1 + bl GetBankByIdentity + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + mov r0, #0x3 + bl GetBankByIdentity + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 +._204: + mov r4, #0x0 +._212: + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._214 + add r0, r0, r1 + mov r1, #0x39 + bl GetMonData + cmp r0, #0 + beq ._210 @cond_branch + ldr r1, ._214 + 4 + lsl r0, r6, #0x1 + add r0, r0, r1 + ldrh r0, [r0] + cmp r4, r0 + beq ._210 @cond_branch + lsl r0, r5, #0x1 + add r0, r0, r1 + ldrh r0, [r0] + cmp r4, r0 + beq ._210 @cond_branch + ldr r1, ._214 + 8 + ldr r2, ._214 + 12 + add r0, r6, r2 + add r0, r0, r1 + ldrb r0, [r0] + cmp r4, r0 + beq ._210 @cond_branch + add r0, r5, r2 + add r0, r0, r1 + ldrb r0, [r0] + cmp r4, r0 + bne ._211 @cond_branch +._210: + add r4, r4, #0x1 + cmp r4, #0x5 + ble ._212 @cond_branch +._211: + ldr r0, ._214 + 16 + ldrb r0, [r0] + bl GetBankIdentity + ldr r1, ._214 + 8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x19 + ldr r3, ._214 + 20 + add r0, r0, r3 + add r0, r0, r1 + strb r4, [r0] +._201: + ldr r4, ._214 + 16 + ldrb r0, [r4] + bl GetBankIdentity + ldr r2, ._214 + 8 + ldrb r1, [r4] + ldr r3, ._214 + 12 + add r1, r1, r3 + add r1, r1, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x19 + add r3, r3, #0x60 + add r0, r0, r3 + add r0, r0, r2 + ldrb r0, [r0] + strb r0, [r1] + b ._217 +._215: + .align 2, 0 +._214: + .word gEnemyParty + .word gBattlePartyID + .word +0x2000000 + .word 0x16068 + .word gActiveBank + .word 0x160c8 +._200: + ldr r0, ._218 + ldrb r1, [r0] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + bne ._216 @cond_branch + bl AI_ShouldUseItem + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._217 @cond_branch +._216: + ldr r0, ._218 + 4 + ldrb r0, [r0] + mov r2, #0x1 + eor r2, r2, r0 + lsl r2, r2, #0x8 + mov r0, #0x1 + mov r1, #0x0 + bl Emitcmd33 +._217: + pop {r4, r5, r6} + pop {r0} + bx r0 +._219: + .align 2, 0 +._218: + .word gUnknown_02023A14+0x50 + .word gActiveBank +.syntax unified + thumb_func_end sub_8036B0C +.else thumb_func_start sub_8036B0C sub_8036B0C: @ 8036B0C push {r4-r6,lr} @@ -1540,6 +1710,7 @@ _08036C40: .align 2, 0 _08036C48: .4byte gActiveBank thumb_func_end sub_8036B0C +.endif thumb_func_start sub_8036C4C sub_8036C4C: @ 8036C4C diff --git a/asm/cute_sketch.s b/asm/cute_sketch.s index 8cb6cdbd8..bc72a6ef5 100644 --- a/asm/cute_sketch.s +++ b/asm/cute_sketch.s @@ -5,7 +5,6 @@ .text - thumb_func_start sub_80FCB5C sub_80FCB5C: @ 80FCB5C push {r4-r7,lr} diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 5b5dfbdd5..b5f1f495f 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1009,6 +1009,180 @@ _0809625C: .4byte gPokemonStorage + 0x8344 _08096260: .4byte gPCText_BOX thumb_func_end ResetPokemonStorageSystem +.ifdef DEBUG + thumb_func_start debug_sub_80A3904 +debug_sub_80A3904: +.syntax divided + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffe4 + mov r0, #0x0 + mov r8, r0 + mov r7, r8 + mov r1, #0x14 + str r1, [sp, #0x18] + mov r2, #0xff + mov r9, r2 +._162: + mov r5, #0x0 + cmp r7, #0 + beq ._160 @cond_branch + mov r0, #0xe + mov r8, r0 + b ._158 +._160: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x14] + mov r2, r8 + lsl r1, r2, #0x2 + add r1, r1, r8 + lsl r3, r1, #0x4 + sub r3, r3, r1 + lsl r3, r3, #0x5 + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x4 + ldr r2, ._163 + add r1, r1, r2 + add r6, r3, r1 + ldr r2, ._163 + 4 + lsl r1, r7, #0x1 + add r1, r1, r2 + ldrh r4, [r1] + add r5, r5, #0x1 + lsl r2, r5, #0x18 + lsr r2, r2, #0x18 + mov r1, #0x0 + str r1, [sp] + str r1, [sp, #0x4] + mov r1, #0x1 + mov sl, r1 + str r1, [sp, #0x8] + str r0, [sp, #0xc] + add r0, r6, #0 + add r1, r4, #0 + mov r3, #0x20 + bl CreateBoxMon + cmp r4, #0 + beq ._157 @cond_branch + cmp r4, #0xac + bne ._156 @cond_branch + add r0, sp, #0x10 + mov r2, sl + strb r2, [r0] + add r0, r6, #0 + mov r1, #0x2d + add r2, sp, #0x10 + bl SetBoxMonData +._156: + bl Random + mov r1, r9 + and r1, r1, r0 + str r1, [sp, #0x14] + add r4, sp, #0x14 + add r0, r6, #0 + mov r1, #0x16 + add r2, r4, #0 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + str r1, [sp, #0x14] + add r0, r6, #0 + mov r1, #0x17 + add r2, r4, #0 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + str r1, [sp, #0x14] + add r0, r6, #0 + mov r1, #0x18 + add r2, r4, #0 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + str r1, [sp, #0x14] + add r0, r6, #0 + mov r1, #0x21 + add r2, r4, #0 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + str r1, [sp, #0x14] + add r0, r6, #0 + mov r1, #0x2f + add r2, r4, #0 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + str r1, [sp, #0x14] + add r0, r6, #0 + mov r1, #0x30 + add r2, r4, #0 + bl SetBoxMonData + ldr r0, [sp, #0x18] + cmp r0, #0 + beq ._157 @cond_branch + sub r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x18] + mov r1, sl + str r1, [sp, #0x14] + add r0, r6, #0 + mov r1, #0x32 + add r2, r4, #0 + bl SetBoxMonData +._157: + add r0, r7, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + lsl r0, r5, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x1d + bhi ._158 @cond_branch + cmp r7, #0 + bne ._159 @cond_branch + b ._160 +._159: + mov r2, #0xe + mov r8, r2 +._158: + mov r0, r8 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r8, r0 + cmp r0, #0xd + bhi ._161 @cond_branch + b ._162 +._161: + add sp, sp, #0x1c + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._164: + .align 2, 0 +._163: + .word gPokemonStorage+0x4 + .word gUnknown_Debug_083E05F0 +.syntax unified + thumb_func_end debug_sub_80A3904 +.endif + thumb_func_start sub_8096264 sub_8096264: @ 8096264 push {r4-r6,lr} @@ -1804,6 +1978,144 @@ sub_8096874: @ 8096874 bx lr thumb_func_end sub_8096874 +.if DEBUG + thumb_func_start sub_8096884 +sub_8096884: +.syntax divided + push {r4, lr} + ldr r0, ._223 + ldr r1, ._223 + 4 + add r0, r0, r1 + ldrb r0, [r0] + cmp r0, #0x9 + bls ._221 @cond_branch + b ._222 +._221: + lsl r0, r0, #0x2 + ldr r1, ._223 + 8 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._224: + .align 2, 0 +._223: + .word gMain + .word 0x43c + .word ._225 +._225: + .word ._226 + .word ._227 + .word ._228 + .word ._229 + .word ._230 + .word ._231 + .word ._232 + .word ._233 + .word ._234 + .word ._235 +._226: + mov r0, #0x0 + bl SetVBlankCallback + mov r0, #0x80 + lsl r0, r0, #0x13 + mov r4, #0x0 + strh r4, [r0] + bl sub_8096804 + ldr r0, ._237 + strb r4, [r0] + b ._250 +._238: + .align 2, 0 +._237: + .word unk_2038790 +._227: + ldr r0, ._240 + bl Text_LoadWindowTemplate + b ._250 +._241: + .align 2, 0 +._240: + .word gWindowTemplate_81E6D00 +._228: + ldr r0, ._243 + bl InitMenuWindow + bl Menu_EraseScreen + b ._250 +._244: + .align 2, 0 +._243: + .word gWindowTemplate_81E6D00 +._229: + bl sub_80967DC + bl sub_8096848 + b ._250 +._230: + bl sub_8098B48 + bl sub_809AA24 + b ._250 +._231: + bl sub_8097DE0 + b ._250 +._232: + bl sub_8097E70 + b ._250 +._233: + bl sub_8098400 + b ._250 +._234: + ldr r0, ._251 + ldrb r0, [r0] + bl sub_8099BF8 + ldr r2, ._251 + 4 + ldr r1, ._251 + 8 + add r0, r2, r1 + mov r1, #0xa + strh r1, [r0] + ldr r1, ._251 + 12 + add r2, r2, r1 + ldr r1, ._251 + 16 + strh r1, [r2] + bl sub_80F727C + bl sub_80F7404 + b ._250 +._252: + .align 2, 0 +._251: + .word gPokemonStorage + .word +0x2000000 + .word 0x12bc + .word 0x12be + .word 0xdacb +._235: + bl sub_8096874 + ldr r0, ._253 + bl sub_8096BE0 + ldr r0, ._253 + 4 + bl SetMainCallback2 + ldr r0, ._253 + 8 + bl SetVBlankCallback +._250: + ldr r1, ._253 + 12 + ldr r0, ._253 + 16 + add r1, r1, r0 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] +._222: + pop {r4} + pop {r0} + bx r0 +._254: + .align 2, 0 +._253: + .word sub_8096BF0+1 + .word sub_8096B38+1 + .word sub_8096AFC+1 + .word gMain + .word 0x43c +.syntax unified + thumb_func_end sub_8096884 +.else thumb_func_start sub_8096884 sub_8096884: @ 8096884 push {lr} @@ -1922,6 +2234,7 @@ _08096994: .4byte sub_8096AFC _08096998: .4byte gMain _0809699C: .4byte 0x0000043c thumb_func_end sub_8096884 +.endif thumb_func_start sub_80969A0 sub_80969A0: @ 80969A0 @@ -2073,6 +2386,119 @@ _08096AF4: .4byte gMain _08096AF8: .4byte 0x0000043c thumb_func_end sub_80969A0 +.ifdef DEBUG + + thumb_func_start debug_sub_80A4300 +debug_sub_80A4300: +.syntax divided + push {lr} + ldr r1, ._296 + mov r0, #0x0 + strb r0, [r1] + ldr r1, ._296 + 4 + mov r0, #0x0 + strb r0, [r1, #0x5] + bl sub_8096884 + ldr r0, ._296 + 8 + ldr r1, [r0, #0x4] + ldr r0, ._296 + 12 + cmp r1, r0 + bne ._295 @cond_branch + ldr r1, ._296 + 16 + mov r0, #0x1 + strb r0, [r1] +._295: + pop {r0} + bx r0 +._297: + .align 2, 0 +._296: + .word gUnknown_0203847D + .word +0x2000000 + .word gMain + .word sub_8096B38+1 + .word unk_2038790 +.syntax unified + thumb_func_end debug_sub_80A4300 + + thumb_func_start debug_sub_80A433C +debug_sub_80A433C: +.syntax divided + push {lr} + ldr r2, ._298 + str r1, [r2] + ldr r1, ._298 + 4 + str r0, [r1] + ldr r0, ._298 + 8 + bl SetMainCallback2 + pop {r0} + bx r0 +._299: + .align 2, 0 +._298: + .word unk_2038794 + .word unk_2038798 + .word debug_sub_80A4300+1 +.syntax unified + thumb_func_end debug_sub_80A433C + + thumb_func_start debug_sub_80A435C +debug_sub_80A435C: +.syntax divided + push {r4, r5, lr} + add sp, sp, #0xfffffffc + ldr r5, ._303 + ldrb r4, [r5, #0x4] + cmp r4, #0 + beq ._300 @cond_branch + cmp r4, #0x1 + beq ._301 @cond_branch + b ._308 +._304: + .align 2, 0 +._303: + .word +0x2000000 +._300: + ldr r0, ._306 + ldr r0, [r0] + bl unref_sub_809CB94 + mov r0, #0x1 + neg r0, r0 + str r4, [sp] + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldrb r0, [r5, #0x4] + add r0, r0, #0x1 + strb r0, [r5, #0x4] + b ._308 +._307: + .align 2, 0 +._306: + .word unk_2038798 +._301: + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._308 @cond_branch + ldr r0, ._309 + ldr r0, [r0] + bl _call_via_r0 +._308: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._310: + .align 2, 0 +._309: + .word unk_2038794 +.syntax unified + thumb_func_end debug_sub_80A435C + +.endif + thumb_func_start sub_8096AFC sub_8096AFC: @ 8096AFC push {lr} @@ -2269,6 +2695,438 @@ _08096C7A: _08096C80: .4byte sub_8096C84 thumb_func_end sub_8096C68 +.if DEBUG + thumb_func_start sub_8096C84 +sub_8096C84: +.syntax divided + push {r4, lr} + ldr r0, ._347 + ldrb r0, [r0, #0x4] + cmp r0, #0x6 + bls ._345 @cond_branch + b ._466 +._345: + lsl r0, r0, #0x2 + ldr r1, ._347 + 4 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._348: + .align 2, 0 +._347: + .word +0x2000000 + .word ._349 +._349: + .word ._350 + .word ._351 + .word ._352 + .word ._353 + .word ._354 + .word ._355 + .word ._356 +._350: + bl sub_809CA40 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + sub r0, r0, #0x1 + cmp r0, #0xf + bls ._357 @cond_branch + b ._466 +._357: + lsl r0, r0, #0x2 + ldr r1, ._360 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._361: + .align 2, 0 +._360: + .word ._359 +._359: + .word ._362 + .word ._466 + .word ._466 + .word ._365 + .word ._366 + .word ._367 + .word ._368 + .word ._369 + .word ._370 + .word ._371 + .word ._372 + .word ._373 + .word ._374 + .word ._375 + .word ._376 + .word ._377 +._362: + mov r0, #0x5 + bl PlaySE + ldr r1, ._379 + mov r0, #0x1 + strb r0, [r1, #0x4] + b ._466 +._380: + .align 2, 0 +._379: + .word +0x2000000 +._366: + ldr r4, ._383 + ldrb r0, [r4, #0x5] + cmp r0, #0x2 + beq ._381 @cond_branch + mov r0, #0x10 + bl sub_8098898 + mov r0, #0x3 + strb r0, [r4, #0x4] + b ._466 +._384: + .align 2, 0 +._383: + .word +0x2000000 +._381: + bl sub_809B0D4 + ldr r0, ._386 + bl sub_8096BE0 + b ._466 +._387: + .align 2, 0 +._386: + .word sub_8096FC8+1 +._367: + ldr r4, ._394 + ldrb r0, [r4, #0x5] + cmp r0, #0x2 + beq ._388 @cond_branch + b ._466 +._388: + bl sub_809BF20 + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._391 @cond_branch + ldr r1, ._394 + 4 + add r0, r4, r1 + ldrh r0, [r0] + bl ItemIsMail + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._391 @cond_branch + b ._392 +._391: + ldr r0, ._394 + 8 + bl sub_8096BE0 + b ._466 +._395: + .align 2, 0 +._394: + .word +0x2000000 + .word 0x11f2 + .word sub_8097004+1 +._365: + ldr r0, ._399 + ldrb r0, [r0] + cmp r0, #0 + beq ._396 @cond_branch + b ._466 +._396: + ldr r0, ._399 + 4 + bl sub_8096BE0 + b ._466 +._400: + .align 2, 0 +._399: + .word unk_2038790 + .word sub_8097BA0+1 +._377: + ldr r0, ._404 + ldrb r0, [r0] + cmp r0, #0 + beq ._401 @cond_branch + b ._466 +._401: + ldr r0, ._404 + 4 + bl sub_8096BE0 + b ._466 +._405: + .align 2, 0 +._404: + .word unk_2038790 + .word sub_8097CC0+1 +._368: + mov r0, #0x5 + bl PlaySE + ldr r0, ._407 + bl sub_8096BE0 + b ._466 +._408: + .align 2, 0 +._407: + .word sub_809789C+1 +._369: + mov r0, #0x5 + bl PlaySE + ldr r0, ._410 + bl sub_8096BE0 + b ._466 +._411: + .align 2, 0 +._410: + .word sub_8097078+1 +._370: + mov r0, #0x5 + bl PlaySE + ldr r4, ._414 + ldr r0, ._414 + 4 + ldrb r0, [r0] + add r0, r0, #0x1 + ldr r2, ._414 + 8 + add r1, r4, r2 + strh r0, [r1] + cmp r0, #0xd + ble ._416 @cond_branch + mov r0, #0x0 + b ._413 +._415: + .align 2, 0 +._414: + .word +0x2000000 + .word gPokemonStorage + .word 0x8b2 +._371: + mov r0, #0x5 + bl PlaySE + ldr r4, ._418 + ldr r0, ._418 + 4 + ldrb r0, [r0] + sub r0, r0, #0x1 + ldr r2, ._418 + 8 + add r1, r4, r2 + strh r0, [r1] + cmp r0, #0 + bge ._416 @cond_branch + mov r0, #0xd +._413: + strh r0, [r1] +._416: + ldrb r0, [r1] + bl sub_8099C70 + mov r0, #0x2 + strb r0, [r4, #0x4] + b ._466 +._419: + .align 2, 0 +._418: + .word +0x2000000 + .word gPokemonStorage + .word 0x8b2 +._372: + bl sub_809BE80 + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._428 @cond_branch + ldr r4, ._423 + ldr r1, ._423 + 4 + add r0, r4, r1 + ldrh r0, [r0] + bl ItemIsMail + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._421 @cond_branch +._392: + mov r0, #0x5 + strb r0, [r4, #0x4] + b ._466 +._424: + .align 2, 0 +._423: + .word +0x2000000 + .word 0x11f2 +._421: + mov r0, #0x5 + bl PlaySE + ldr r0, ._426 + bl sub_8096BE0 + b ._466 +._427: + .align 2, 0 +._426: + .word sub_809746C+1 +._374: + bl sub_809BE80 + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._428 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r0, ._430 + bl sub_8096BE0 + b ._466 +._431: + .align 2, 0 +._430: + .word sub_80972A8+1 +._375: + bl sub_809BEBC + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._432 @cond_branch +._428: + ldr r1, ._434 + mov r0, #0x4 + strb r0, [r1, #0x4] + b ._466 +._435: + .align 2, 0 +._434: + .word +0x2000000 +._432: + mov r0, #0x5 + bl PlaySE + ldr r0, ._437 + bl sub_8096BE0 + b ._466 +._438: + .align 2, 0 +._437: + .word c3_0808DC50+1 +._373: + mov r0, #0x5 + bl PlaySE + ldr r0, ._440 + bl sub_8096BE0 + b ._466 +._441: + .align 2, 0 +._440: + .word sub_8097390+1 +._376: + mov r0, #0x5 + bl PlaySE + ldr r0, ._443 + bl sub_8096BE0 + b ._466 +._444: + .align 2, 0 +._443: + .word sub_80972FC+1 +._351: + bl sub_809AC00 + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._466 @cond_branch + bl sub_809BF48 + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._446 @cond_branch + bl sub_80986E8 + b ._447 +._446: + bl sub_8098710 +._447: + ldr r4, ._450 + ldr r2, ._450 + 4 + add r0, r4, r2 + ldrb r0, [r0] + cmp r0, #0 + beq ._448 @cond_branch + bl BoxSetMosaic +._448: + mov r0, #0x0 + strb r0, [r4, #0x4] + b ._466 +._451: + .align 2, 0 +._450: + .word +0x2000000 + .word 0x11f6 +._352: + bl sub_8099D34 + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._466 @cond_branch + ldr r1, ._456 + ldr r0, ._456 + 4 + ldr r2, ._456 + 8 + add r0, r0, r2 + ldrh r0, [r0] + strb r0, [r1] + ldr r0, ._456 + 12 + ldrb r0, [r0] + cmp r0, #0 + bne ._455 @cond_branch + bl sub_809BF20 + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._455 @cond_branch + bl sub_809B440 + bl BoxSetMosaic + b ._455 +._457: + .align 2, 0 +._456: + .word gPokemonStorage + .word +0x2000000 + .word 0x8b2 + .word gUnknown_0203847C +._353: + ldr r0, ._460 + ldrh r1, [r0, #0x2e] + mov r0, #0xf3 + and r0, r0, r1 + cmp r0, #0 + beq ._466 @cond_branch + bl sub_8098A5C +._455: + ldr r1, ._460 + 4 + mov r0, #0x0 + strb r0, [r1, #0x4] + b ._466 +._461: + .align 2, 0 +._460: + .word gMain + .word +0x2000000 +._354: + mov r0, #0x20 + bl PlaySE + mov r0, #0xd + b ._462 +._355: + mov r0, #0x20 + bl PlaySE + mov r0, #0x16 +._462: + bl sub_8098898 + ldr r1, ._464 + mov r0, #0x6 + strb r0, [r1, #0x4] + b ._466 +._465: + .align 2, 0 +._464: + .word +0x2000000 +._356: + ldr r0, ._467 + ldrh r1, [r0, #0x2e] + mov r0, #0xf3 + and r0, r0, r1 + cmp r0, #0 + beq ._466 @cond_branch + bl sub_8098A5C + ldr r0, ._467 + 4 + bl sub_8096BE0 +._466: + pop {r4} + pop {r0} + bx r0 +._468: + .align 2, 0 +._467: + .word gMain + .word sub_8096C84+1 +.syntax unified + thumb_func_end sub_8096C84 +.else thumb_func_start sub_8096C84 sub_8096C84: @ 8096C84 push {r4,lr} @@ -2636,6 +3494,7 @@ _08096FBA: _08096FC0: .4byte gMain _08096FC4: .4byte sub_8096C84 thumb_func_end sub_8096C84 +.endif thumb_func_start sub_8096FC8 sub_8096FC8: @ 8096FC8 @@ -2730,6 +3589,317 @@ _08097070: .4byte 0x000011f6 _08097074: .4byte sub_8096C84 thumb_func_end sub_8097004 +.if DEBUG + thumb_func_start sub_8097078 +sub_8097078: +.syntax divided + push {r4, lr} + ldr r0, ._495 + ldrb r0, [r0, #0x4] + cmp r0, #0x5 + bls ._493 @cond_branch + b ._597 +._493: + lsl r0, r0, #0x2 + ldr r1, ._495 + 4 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._496: + .align 2, 0 +._495: + .word +0x2000000 + .word ._497 +._497: + .word ._498 + .word ._499 + .word ._500 + .word ._501 + .word ._502 + .word ._503 +._498: + mov r0, #0x4 + bl sub_8098898 + bl sub_809CE84 + ldr r1, ._505 + mov r0, #0x1 + strb r0, [r1, #0x4] + b ._597 +._506: + .align 2, 0 +._505: + .word +0x2000000 +._499: + bl sub_809CF30 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + cmp r0, #0x21 + bls ._507 @cond_branch + b ._597 +._507: + lsl r0, r0, #0x2 + ldr r1, ._510 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._511: + .align 2, 0 +._510: + .word ._509 +._509: + .word ._513 + .word ._513 + .word ._514 + .word ._515 + .word ._516 + .word ._517 + .word ._518 + .word ._519 + .word ._520 + .word ._521 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._597 + .word ._545 +._513: + bl sub_8098A5C + ldr r0, ._547 + bl sub_8096BE0 + b ._597 +._548: + .align 2, 0 +._547: + .word sub_8096C84+1 +._516: + bl sub_809BE80 + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._563 @cond_branch + mov r0, #0x5 + bl PlaySE + bl sub_8098A5C + ldr r0, ._551 + bl sub_8096BE0 + b ._597 +._552: + .align 2, 0 +._551: + .word sub_80972A8+1 +._518: + mov r0, #0x5 + bl PlaySE + bl sub_8098A5C + ldr r0, ._554 + bl sub_8096BE0 + b ._597 +._555: + .align 2, 0 +._554: + .word sub_80972FC+1 +._517: + bl sub_809BEBC + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._563 @cond_branch + mov r0, #0x5 + bl PlaySE + bl sub_8098A5C + ldr r0, ._558 + bl sub_8096BE0 + b ._597 +._559: + .align 2, 0 +._558: + .word c3_0808DC50+1 +._515: + mov r0, #0x5 + bl PlaySE + bl sub_8098A5C + ldr r0, ._561 + bl sub_8096BE0 + b ._597 +._562: + .align 2, 0 +._561: + .word sub_8097390+1 +._514: + bl sub_809BE80 + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._563 @cond_branch + ldr r4, ._566 + ldr r1, ._566 + 4 + add r0, r4, r1 + ldrh r0, [r0] + bl ItemIsMail + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._564 @cond_branch + mov r0, #0x5 + bl PlaySE + bl sub_8098A5C + ldr r0, ._566 + 8 + bl sub_8096BE0 + b ._597 +._567: + .align 2, 0 +._566: + .word +0x2000000 + .word 0x11f2 + .word sub_809746C+1 +._520: + bl sub_809BE80 + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._568 @cond_branch +._563: + ldr r1, ._570 + mov r0, #0x2 + strb r0, [r1, #0x4] + b ._597 +._571: + .align 2, 0 +._570: + .word +0x2000000 +._568: + ldr r4, ._574 + ldr r1, ._574 + 4 + add r0, r4, r1 + ldrb r0, [r0] + cmp r0, #0 + beq ._572 @cond_branch + mov r0, #0x4 + strb r0, [r4, #0x4] + b ._597 +._575: + .align 2, 0 +._574: + .word +0x2000000 + .word 0x11f9 +._572: + ldr r1, ._578 + add r0, r4, r1 + ldrh r0, [r0] + bl ItemIsMail + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._576 @cond_branch +._564: + mov r0, #0x3 + strb r0, [r4, #0x4] + b ._597 +._579: + .align 2, 0 +._578: + .word 0x11f2 +._576: + mov r0, #0x5 + bl PlaySE + ldr r0, ._581 + bl sub_8096BE0 + b ._597 +._582: + .align 2, 0 +._581: + .word sub_8097594+1 +._519: + mov r0, #0x5 + bl PlaySE + ldr r0, ._584 + bl sub_8096BE0 + b ._597 +._585: + .align 2, 0 +._584: + .word sub_8097788+1 +._521: + mov r0, #0x5 + bl PlaySE + ldr r0, ._587 + bl sub_8096BE0 + b ._597 +._588: + .align 2, 0 +._587: + .word sub_80977E4+1 +._545: + mov r0, #0x5 + bl PlaySE + bl sub_8098A5C + ldr r0, ._590 + bl sub_8096BE0 + b ._597 +._591: + .align 2, 0 +._590: + .word debug_sub_80A435C+1 +._500: + mov r0, #0x20 + bl PlaySE + mov r0, #0xd + b ._593 +._502: + mov r0, #0x20 + bl PlaySE + mov r0, #0x11 + b ._593 +._501: + mov r0, #0x20 + bl PlaySE + mov r0, #0x16 +._593: + bl sub_8098898 + ldr r1, ._595 + mov r0, #0x5 + strb r0, [r1, #0x4] + b ._597 +._596: + .align 2, 0 +._595: + .word +0x2000000 +._503: + ldr r0, ._598 + ldrh r1, [r0, #0x2e] + mov r0, #0xf3 + and r0, r0, r1 + cmp r0, #0 + beq ._597 @cond_branch + bl sub_8098A5C + ldr r0, ._598 + 4 + bl sub_8096BE0 +._597: + pop {r4} + pop {r0} + bx r0 +._599: + .align 2, 0 +._598: + .word gMain + .word sub_8096C84+1 +.syntax unified + thumb_func_end sub_8097078 +.else thumb_func_start sub_8097078 sub_8097078: @ 8097078 push {r4,lr} @@ -2970,6 +4140,7 @@ _0809729A: _080972A0: .4byte gMain _080972A4: .4byte sub_8096C84 thumb_func_end sub_8097078 +.endif thumb_func_start sub_80972A8 sub_80972A8: @ 80972A8 @@ -13963,6 +15134,149 @@ sub_809CA8C: @ 809CA8C bx r0 thumb_func_end sub_809CA8C +.ifdef DEBUG + thumb_func_start debug_sub_80AA40C +debug_sub_80AA40C: +.syntax divided + push {lr} + bl sub_809AB8C + lsl r0, r0, #0x10 + cmp r0, #0 + beq ._2084 @cond_branch + bl sub_809CDCC + mov r0, #0x20 + bl sub_809CDEC + mov r0, #0x6 + bl sub_809CDEC + mov r0, #0x1 + b ._2085 +._2084: + mov r0, #0x0 +._2085: + pop {r1} + bx r1 +.syntax unified + thumb_func_end debug_sub_80AA40C +.endif + +.if DEBUG + thumb_func_start sub_809CAB0 +sub_809CAB0: +.syntax divided + push {lr} + ldr r0, ._2088 + ldrb r0, [r0] + cmp r0, #0 + beq ._2086 @cond_branch + bl debug_sub_80AA40C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._2110 +._2089: + .align 2, 0 +._2088: + .word unk_2038790 +._2086: + bl sub_809CDCC + bl sub_809AB8C + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, ._2094 + ldr r0, [r0] + ldrb r0, [r0, #0x5] + cmp r0, #0x1 + beq ._2090 @cond_branch + cmp r0, #0x1 + bgt ._2091 @cond_branch + cmp r0, #0 + beq ._2092 @cond_branch + b ._2108 +._2095: + .align 2, 0 +._2094: + .word gUnknown_083B6DB4 +._2091: + cmp r0, #0x2 + beq ._2096 @cond_branch + b ._2108 +._2090: + cmp r1, #0 + beq ._2108 @cond_branch + mov r0, #0x1 + bl sub_809CDEC + b ._2109 +._2092: + cmp r1, #0 + beq ._2108 @cond_branch + mov r0, #0x2 + bl sub_809CDEC + b ._2109 +._2096: + ldr r0, ._2105 + ldrb r0, [r0] + cmp r0, #0 + beq ._2102 @cond_branch + cmp r1, #0 + beq ._2103 @cond_branch + mov r0, #0x4 + bl sub_809CDEC + b ._2109 +._2106: + .align 2, 0 +._2105: + .word gUnknown_020384E6 +._2103: + mov r0, #0x5 + bl sub_809CDEC + b ._2109 +._2102: + cmp r1, #0 + beq ._2108 @cond_branch + mov r0, #0x3 + bl sub_809CDEC + b ._2109 +._2108: + mov r0, #0x0 + b ._2110 +._2109: + mov r0, #0x6 + bl sub_809CDEC + ldr r0, ._2114 + ldr r0, [r0] + ldrb r0, [r0, #0x5] + cmp r0, #0x2 + bne ._2113 @cond_branch + ldr r0, ._2114 + 4 + ldrb r0, [r0] + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0 + bne ._2112 @cond_branch + mov r0, #0x2 + bl sub_809CDEC + b ._2113 +._2115: + .align 2, 0 +._2114: + .word gUnknown_083B6DB4 + .word gUnknown_020384E4 +._2112: + mov r0, #0x1 + bl sub_809CDEC +._2113: + mov r0, #0x8 + bl sub_809CDEC + mov r0, #0x7 + bl sub_809CDEC + mov r0, #0x0 + bl sub_809CDEC + mov r0, #0x1 +._2110: + pop {r1} + bx r1 +.syntax unified + thumb_func_end sub_809CAB0 +.else thumb_func_start sub_809CAB0 sub_809CAB0: @ 809CAB0 push {lr} @@ -14058,6 +15372,7 @@ _0809CB6E: pop {r1} bx r1 thumb_func_end sub_809CAB0 +.endif thumb_func_start sub_809CB74 sub_809CB74: @ 809CB74 |