diff options
author | Cameron Hall <cameronghall@cox.net> | 2018-01-18 13:54:10 -0600 |
---|---|---|
committer | Cameron Hall <cameronghall@cox.net> | 2018-01-18 13:54:10 -0600 |
commit | 9c2f7c88f0d7e57c99d548870e78185e05cc472a (patch) | |
tree | 0fc91c2b17ed74ef52b8e5f612562f5a2dddc475 | |
parent | 2ca829a4abda20bb1b053f50a9f1c9b6c8e93223 (diff) |
add more debug code
-rw-r--r-- | asm/cute_sketch.s | 344 | ||||
-rw-r--r-- | src/battle/battle_records.c | 60 | ||||
-rw-r--r-- | src/field/mauville_man.c | 195 | ||||
-rw-r--r-- | src/pokemon/mail.c | 199 | ||||
-rw-r--r-- | src/scene/cute_sketch.c | 344 |
5 files changed, 603 insertions, 539 deletions
diff --git a/asm/cute_sketch.s b/asm/cute_sketch.s index 07cae108b..bc72a6ef5 100644 --- a/asm/cute_sketch.s +++ b/asm/cute_sketch.s @@ -5,350 +5,6 @@ .text -.if DEBUG - - thumb_func_start debug_sub_8110CCC -debug_sub_8110CCC: -.syntax divided - push {r4, r5, r6, r7, lr} - mov r7, #0x0 - mov r1, #0x0 - ldr r2, ._5 - ldr r6, ._5 + 4 -._7: - lsl r0, r1, #0x3 - add r4, r0, r2 - ldrh r0, [r6, #0x1c] - ldrh r3, [r4, #0x4] - cmp r0, r3 - bne ._1 @cond_branch - ldrh r0, [r4, #0x6] - bl FlagGet - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._4 @cond_branch - ldrb r0, [r6, #0x1f] - ldr r1, [r4] - lsl r0, r0, #0x2 - add r0, r0, r1 - ldr r0, [r0] - bl StringLength - mov r1, #0xc - sub r1, r1, r0 - lsl r1, r1, #0x10 - lsr r5, r1, #0x10 - cmp r1, #0 - bge ._3 @cond_branch - mov r5, #0x0 -._3: - mov r7, #0x1 - mov r0, #0x10 - mov r1, #0xe - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - add r0, r6, #0 - add r0, r0, #0x8 - mov r1, #0x11 - mov r2, #0xf - bl Menu_PrintText - ldrb r0, [r6, #0x1f] - ldr r1, [r4] - lsl r0, r0, #0x2 - add r0, r0, r1 - ldr r0, [r0] - add r1, r5, #0 - add r1, r1, #0x11 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - mov r2, #0x11 - bl Menu_PrintText - b ._4 -._6: - .align 2, 0 -._5: - .word gUnknown_083E79C0 - .word +0x2000000 -._1: - add r0, r1, #1 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0 - beq ._7 @cond_branch -._4: - cmp r7, #0 - bne ._8 @cond_branch - mov r0, #0x10 - mov r1, #0x10 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._9 - mov r1, #0x11 - mov r2, #0x11 - bl Menu_PrintText - mov r0, #0x10 - mov r1, #0xe - mov r2, #0x1d - mov r3, #0xf - bl Menu_EraseWindowRect -._8: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._10: - .align 2, 0 -._9: - .word +0x2000008 -.syntax unified - thumb_func_end debug_sub_8110CCC - - thumb_func_start debug_sub_8110D84 -debug_sub_8110D84: -.syntax divided - push {r4, lr} - add sp, sp, #0xfffffffc - ldr r0, ._13 - ldrh r0, [r0, #0x4] - cmp r0, #0x7 - bls ._11 @cond_branch - b ._65 -._11: - lsl r0, r0, #0x2 - ldr r1, ._13 + 4 - add r0, r0, r1 - ldr r0, [r0] - mov pc, r0 -._14: - .align 2, 0 -._13: - .word +0x2000000 - .word ._15 -._15: - .word ._16 - .word ._17 - .word ._18 - .word ._19 - .word ._20 - .word ._21 - .word ._22 - .word ._23 -._16: - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x10 - mov r3, #0x0 - bl BeginNormalPaletteFade - ldr r1, ._25 - ldrh r0, [r1, #0x4] - add r0, r0, #0x1 - b ._62 -._26: - .align 2, 0 -._25: - .word +0x2000000 -._17: - bl UpdatePaletteFade - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._27 @cond_branch - b ._65 -._27: - ldr r1, ._30 - ldrh r0, [r1, #0x4] - add r0, r0, #0x1 - b ._62 -._31: - .align 2, 0 -._30: - .word +0x2000000 -._18: - bl sub_80FAB60 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x3 - beq ._32 @cond_branch - cmp r0, #0x3 - bgt ._33 @cond_branch - b ._65 -._33: - cmp r0, #0x4 - beq ._35 @cond_branch - cmp r0, #0x5 - beq ._36 @cond_branch - b ._65 -._35: - ldr r4, ._41 - ldrb r0, [r4, #0x1e] - cmp r0, #0 - bne ._38 @cond_branch - b ._65 -._38: - mov r0, #0x5 - bl gMysteryEventScriptCmdTableEnd+0x13c0 - ldr r1, ._41 + 4 - add r0, r4, r1 - mov r1, #0x1 - strb r1, [r0] - ldr r0, ._41 + 8 - bl sub_80FC244 - b ._65 -._42: - .align 2, 0 -._41: - .word +0x2000000 - .word 0xa6e - .word sub_80FC69C+1 -._36: - mov r0, #0x5 - bl gMysteryEventScriptCmdTableEnd+0x13c0 - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r1, ._44 - ldrh r0, [r1, #0x4] - add r0, r0, #0x1 - b ._62 -._45: - .align 2, 0 -._44: - .word +0x2000000 -._19: - bl UpdatePaletteFade - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._65 @cond_branch - ldr r0, ._48 - bl SetMainCallback2 - b ._65 -._49: - .align 2, 0 -._48: - .word sub_805469C+1 -._20: - bl sub_80FAB60 - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._50 @cond_branch -._32: - bl debug_sub_8110CCC - b ._65 -._50: - ldr r0, ._54 - ldrh r1, [r0, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._65 @cond_branch - bl sub_80FBCA0 - bl sub_80FAEC4 - ldr r1, ._54 + 4 - ldrh r0, [r1, #0x4] - add r0, r0, #0x1 - b ._62 -._55: - .align 2, 0 -._54: - .word gMain - .word +0x2000000 -._21: - bl sub_80FAFC0 - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._65 @cond_branch - mov r0, #0x0 - mov r1, #0x0 - bl CreateRegionMapCursor - ldr r1, ._58 - ldrh r0, [r1, #0x4] - add r0, r0, #0x1 - b ._62 -._59: - .align 2, 0 -._58: - .word +0x2000000 -._22: - bl sub_80FAB60 - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._60 @cond_branch - bl debug_sub_8110CCC -._60: - ldr r0, ._63 - ldrh r1, [r0, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._65 @cond_branch - bl sub_80FBCA0 - bl sub_80FAEC4 - ldr r1, ._63 + 4 - ldrh r0, [r1, #0x4] - add r0, r0, #0x1 - b ._62 -._64: - .align 2, 0 -._63: - .word gMain - .word +0x2000000 -._23: - bl sub_80FAFC0 - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._65 @cond_branch - mov r0, #0x0 - mov r1, #0x0 - bl CreateRegionMapCursor - ldr r1, ._66 - mov r0, #0x3 -._62: - strh r0, [r1, #0x4] -._65: - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._67: - .align 2, 0 -._66: - .word +0x2000000 -.syntax unified - thumb_func_end debug_sub_8110D84 - - thumb_func_start debug_sub_8110F28 -debug_sub_8110F28: -.syntax divided - push {lr} - bl CB2_InitFlyRegionMap - ldr r0, ._69 - ldr r1, [r0, #0x4] - ldr r0, ._69 + 4 - cmp r1, r0 - bne ._68 @cond_branch - bl sub_80FBF94 - ldr r0, ._69 + 8 - bl sub_80FC244 - bl debug_sub_8110CCC -._68: - pop {r0} - bx r0 -._70: - .align 2, 0 -._69: - .word gMain - .word CB2_FlyRegionMap+1 - .word debug_sub_8110D84+1 -.syntax unified - thumb_func_end debug_sub_8110F28 - -.endif - thumb_func_start sub_80FCB5C sub_80FCB5C: @ 80FCB5C push {r4-r7,lr} diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index 17e2352ff..4fce958fa 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -223,6 +223,66 @@ void UpdateLinkBattleRecords(int id) gLinkPlayers[gLinkPlayerMapObjects[id].linkPlayerId].language); } +#if DEBUG +__attribute__((naked)) +void debug_sub_81257E0(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + add sp, sp, #0xfffffffc\n\ + bl InitLinkBattleRecords\n\ + mov r5, #0x0\n\ + ldr r6, ._62\n\ + sub r0, r6, #2\n\ + mov r8, r0\n\ + ldr r7, ._62 + 4\n\ +._61:\n\ + ldr r0, ._62 + 8\n\ + lsl r3, r5, #0x2\n\ + add r3, r3, r0\n\ + ldrb r4, [r3]\n\ + sub r4, r4, #0x1\n\ + lsl r0, r4, #0x1\n\ + add r0, r0, r4\n\ + lsl r0, r0, #0x2\n\ + add r1, r0, r6\n\ + add r0, r0, r8\n\ + ldrh r2, [r0]\n\ + ldrb r3, [r3, #0x1]\n\ + ldr r0, ._62 + 12\n\ + lsl r4, r4, #0x2\n\ + add r4, r4, r0\n\ + ldrb r4, [r4, #0x1]\n\ + lsl r0, r4, #0x3\n\ + sub r0, r0, r4\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r7\n\ + ldrb r0, [r0, #0x1a]\n\ + str r0, [sp]\n\ + ldr r0, ._62 + 16\n\ + bl UpdateLinkBattleRecords_\n\ + add r5, r5, #0x1\n\ + cmp r5, #0x2\n\ + bls ._61 @cond_branch\n\ + add sp, sp, #0x4\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._63:\n\ + .align 2, 0\n\ +._62:\n\ + .word gUnknown_083F8410+0xa\n\ + .word gLinkPlayers\n\ + .word gUnknown_083F8410+0x5c\n\ + .word gLinkPlayerMapObjects\n\ + .word gSaveBlock1+0x30b8"); +} +#endif + static void PrintLinkBattleWinsLossesDraws(struct LinkBattleRecord *records) { ConvertIntToDecimalStringN_DigitWidth6(gStringVar1, GetGameStat(GAME_STAT_LINK_BATTLE_WINS), STR_CONV_MODE_RIGHT_ALIGN, 4); diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 144c0235a..e41ea1628 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -1392,198 +1392,3 @@ bool8 ScrSpecial_StorytellerInitializeRandomStat(void) { return StorytellerInitializeRandomStat(); } - -#if DEBUG -__attribute__((naked)) -void This_is_not_HandleReadMail() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " add r6, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " ldr r0, .__3\n" - " ldrb r3, [r0]\n" - " cmp r3, #0\n" - " beq .__1 @cond_branch\n" - " ldr r2, .__3 + 4\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r0, .__3 + 8\n" - " ldrh r1, [r0]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r0, r2, r3\n" - " strb r1, [r0]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__3 + 12\n" - " str r0, [r1]\n" - " add r3, r3, #0x8\n" - " add r1, r2, r3\n" - " ldr r0, .__3 + 16\n" - " str r0, [r1]\n" - " ldr r0, .__3 + 20\n" - " ldrh r1, [r0]\n" - " b .__2\n" - ".__4:\n" - " .align 2, 0\n" - ".__3:\n" - " .word gUnknown_03000748+0x4\n" - " .word +0x2000000\n" - " .word gSpecialVar_0x8004\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - " .word gSpecialVar_0x8006\n" - ".__1:\n" - " ldr r2, .__7\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " add r0, r0, #0xfb\n" - " add r1, r2, r0\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__7 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__7 + 8\n" - " str r0, [r1]\n" - " ldrh r1, [r4, #0x20]\n" - " add r0, r1, #0\n" - " sub r0, r0, #0x79\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bhi .__5 @cond_branch\n" - " sub r1, r1, #0x79\n" - ".__2:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r1, [r0]\n" - " b .__6\n" - ".__8:\n" - " .align 2, 0\n" - ".__7:\n" - " .word +0x2000000\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - ".__5:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r3, [r0]\n" - " mov r5, #0x0\n" - ".__6:\n" - " ldr r1, .__12\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq .__9 @cond_branch\n" - " cmp r0, #0x1\n" - " beq .__10 @cond_branch\n" - ".__9:\n" - " mov r3, #0x86\n" - " lsl r3, r3, #0x1\n" - " add r2, r1, r3\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, .__12 + 4\n" - " b .__11\n" - ".__13:\n" - " .align 2, 0\n" - ".__12:\n" - " .word +0x2000000\n" - " .word gUnknown_083E5730\n" - ".__10:\n" - " mov r0, #0x86\n" - " lsl r0, r0, #0x1\n" - " add r2, r1, r0\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, .__18\n" - ".__11:\n" - " add r0, r0, r1\n" - " str r0, [r2]\n" - " ldrh r0, [r4, #0x1e]\n" - " mov r1, sp\n" - " bl MailSpeciesToSpecies\n" - " lsl r0, r0, #0x10\n" - " ldr r1, .__18 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xcd\n" - " lsl r1, r1, #0x11\n" - " cmp r0, r1\n" - " bhi .__14 @cond_branch\n" - " ldr r0, .__18 + 8\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfa\n" - " ldrb r2, [r1]\n" - " add r1, r0, #0\n" - " cmp r2, #0x6\n" - " beq .__15 @cond_branch\n" - " cmp r2, #0x9\n" - " beq .__16 @cond_branch\n" - " b .__17\n" - ".__19:\n" - " .align 2, 0\n" - ".__18:\n" - " .word gUnknown_083E57A4\n" - " .word 0xffff0000\n" - " .word +0x2000000\n" - ".__15:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x1\n" - " b .__21\n" - ".__16:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x2\n" - " b .__21\n" - ".__14:\n" - " ldr r1, .__22\n" - ".__17:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x0\n" - ".__21:\n" - " strb r0, [r2]\n" - " add r0, r1, #0\n" - " add r0, r0, #0xf4\n" - " str r4, [r0]\n" - " sub r0, r0, #0x8\n" - " str r6, [r0]\n" - " add r0, r0, #0xc\n" - " strb r5, [r0]\n" - " ldr r0, .__22 + 4\n" - " bl SetMainCallback2\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - ".__23:\n" - " .align 2, 0\n" - ".__22:\n" - " .word +0x2000000\n" - " .word sub_80F8D50+1\n" - "\n" - ); -} -#endif diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 6e03958e6..1ad8d8376 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -327,6 +327,204 @@ static void sub_80F8F58(void); static void sub_80F8F78(void); static void sub_80F8FB4(void); +// some debug variable, I guess. +// TODO: where exactly is this located? +__attribute__((section(".bss"))) /*static*/ u8 gUnknown_0300074C = 0; + +#if DEBUG +__attribute__((naked)) +void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " add r6, r1, #0\n" + " lsl r2, r2, #0x18\n" + " lsr r5, r2, #0x18\n" + " ldr r0, .__3\n" + " ldrb r3, [r0]\n" + " cmp r3, #0\n" + " beq .__1 @cond_branch\n" + " ldr r2, .__3 + 4\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r0, .__3 + 8\n" + " ldrh r1, [r0]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + " add r0, r2, r3\n" + " strb r1, [r0]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__3 + 12\n" + " str r0, [r1]\n" + " add r3, r3, #0x8\n" + " add r1, r2, r3\n" + " ldr r0, .__3 + 16\n" + " str r0, [r1]\n" + " ldr r0, .__3 + 20\n" + " ldrh r1, [r0]\n" + " b .__2\n" + ".__4:\n" + " .align 2, 0\n" + ".__3:\n" + " .word gUnknown_0300074C\n" + " .word +0x2000000\n" + " .word gSpecialVar_0x8004\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + " .word gSpecialVar_0x8006\n" + ".__1:\n" + " ldr r2, .__7\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " add r0, r0, #0xfb\n" + " add r1, r2, r0\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__7 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x84\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__7 + 8\n" + " str r0, [r1]\n" + " ldrh r1, [r4, #0x20]\n" + " add r0, r1, #0\n" + " sub r0, r0, #0x79\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi .__5 @cond_branch\n" + " sub r1, r1, #0x79\n" + ".__2:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r1, [r0]\n" + " b .__6\n" + ".__8:\n" + " .align 2, 0\n" + ".__7:\n" + " .word +0x2000000\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + ".__5:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r3, [r0]\n" + " mov r5, #0x0\n" + ".__6:\n" + " ldr r1, .__12\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq .__9 @cond_branch\n" + " cmp r0, #0x1\n" + " beq .__10 @cond_branch\n" + ".__9:\n" + " mov r3, #0x86\n" + " lsl r3, r3, #0x1\n" + " add r2, r1, r3\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, .__12 + 4\n" + " b .__11\n" + ".__13:\n" + " .align 2, 0\n" + ".__12:\n" + " .word +0x2000000\n" + " .word gUnknown_083E5730\n" + ".__10:\n" + " mov r0, #0x86\n" + " lsl r0, r0, #0x1\n" + " add r2, r1, r0\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, .__18\n" + ".__11:\n" + " add r0, r0, r1\n" + " str r0, [r2]\n" + " ldrh r0, [r4, #0x1e]\n" + " mov r1, sp\n" + " bl MailSpeciesToSpecies\n" + " lsl r0, r0, #0x10\n" + " ldr r1, .__18 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xcd\n" + " lsl r1, r1, #0x11\n" + " cmp r0, r1\n" + " bhi .__14 @cond_branch\n" + " ldr r0, .__18 + 8\n" + " add r1, r0, #0\n" + " add r1, r1, #0xfa\n" + " ldrb r2, [r1]\n" + " add r1, r0, #0\n" + " cmp r2, #0x6\n" + " beq .__15 @cond_branch\n" + " cmp r2, #0x9\n" + " beq .__16 @cond_branch\n" + " b .__17\n" + ".__19:\n" + " .align 2, 0\n" + ".__18:\n" + " .word gUnknown_083E57A4\n" + " .word 0xffff0000\n" + " .word +0x2000000\n" + ".__15:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x1\n" + " b .__21\n" + ".__16:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x2\n" + " b .__21\n" + ".__14:\n" + " ldr r1, .__22\n" + ".__17:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x0\n" + ".__21:\n" + " strb r0, [r2]\n" + " add r0, r1, #0\n" + " add r0, r0, #0xf4\n" + " str r4, [r0]\n" + " sub r0, r0, #0x8\n" + " str r6, [r0]\n" + " add r0, r0, #0xc\n" + " strb r5, [r0]\n" + " ldr r0, .__22 + 4\n" + " bl SetMainCallback2\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + ".__23:\n" + " .align 2, 0\n" + ".__22:\n" + " .word +0x2000000\n" + " .word sub_80F8D50+1\n" + "\n" + ); +} +#else void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) { u16 mailDesign; @@ -390,6 +588,7 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) SetMainCallback2(sub_80F8D50); } +#endif #define RETURN_UP_STATE break #define RETURN_SKIP_STATE return FALSE diff --git a/src/scene/cute_sketch.c b/src/scene/cute_sketch.c index 5317bc334..c4d9463f5 100644 --- a/src/scene/cute_sketch.c +++ b/src/scene/cute_sketch.c @@ -29,6 +29,350 @@ void sub_80FD1C8(u16); u16 sub_80FD39C(u16*); u16 sub_80FD68C(u16*, u16*, u16*); +#if DEBUG + +__attribute__((naked)) +void debug_sub_8110CCC(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, #0x0\n\ + mov r1, #0x0\n\ + ldr r2, ._5\n\ + ldr r6, ._5 + 4\n\ +._7:\n\ + lsl r0, r1, #0x3\n\ + add r4, r0, r2\n\ + ldrh r0, [r6, #0x1c]\n\ + ldrh r3, [r4, #0x4]\n\ + cmp r0, r3\n\ + bne ._1 @cond_branch\n\ + ldrh r0, [r4, #0x6]\n\ + bl FlagGet\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._4 @cond_branch\n\ + ldrb r0, [r6, #0x1f]\n\ + ldr r1, [r4]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + bl StringLength\n\ + mov r1, #0xc\n\ + sub r1, r1, r0\n\ + lsl r1, r1, #0x10\n\ + lsr r5, r1, #0x10\n\ + cmp r1, #0\n\ + bge ._3 @cond_branch\n\ + mov r5, #0x0\n\ +._3:\n\ + mov r7, #0x1\n\ + mov r0, #0x10\n\ + mov r1, #0xe\n\ + mov r2, #0x1d\n\ + mov r3, #0x13\n\ + bl Menu_DrawStdWindowFrame\n\ + add r0, r6, #0\n\ + add r0, r0, #0x8\n\ + mov r1, #0x11\n\ + mov r2, #0xf\n\ + bl Menu_PrintText\n\ + ldrb r0, [r6, #0x1f]\n\ + ldr r1, [r4]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + add r1, r5, #0\n\ + add r1, r1, #0x11\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x18\n\ + mov r2, #0x11\n\ + bl Menu_PrintText\n\ + b ._4\n\ +._6:\n\ + .align 2, 0\n\ +._5:\n\ + .word gUnknown_083E79C0\n\ + .word +0x2000000\n\ +._1:\n\ + add r0, r1, #1\n\ + lsl r0, r0, #0x10\n\ + lsr r1, r0, #0x10\n\ + cmp r1, #0\n\ + beq ._7 @cond_branch\n\ +._4:\n\ + cmp r7, #0\n\ + bne ._8 @cond_branch\n\ + mov r0, #0x10\n\ + mov r1, #0x10\n\ + mov r2, #0x1d\n\ + mov r3, #0x13\n\ + bl Menu_DrawStdWindowFrame\n\ + ldr r0, ._9\n\ + mov r1, #0x11\n\ + mov r2, #0x11\n\ + bl Menu_PrintText\n\ + mov r0, #0x10\n\ + mov r1, #0xe\n\ + mov r2, #0x1d\n\ + mov r3, #0xf\n\ + bl Menu_EraseWindowRect\n\ +._8:\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._10:\n\ + .align 2, 0\n\ +._9:\n\ + .word +0x2000008"); +} + +__attribute__((naked)) +void debug_sub_8110D84(void) +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._13\n\ + ldrh r0, [r0, #0x4]\n\ + cmp r0, #0x7\n\ + bls ._11 @cond_branch\n\ + b ._65\n\ +._11:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._13 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._14:\n\ + .align 2, 0\n\ +._13:\n\ + .word +0x2000000\n\ + .word ._15\n\ +._15:\n\ + .word ._16\n\ + .word ._17\n\ + .word ._18\n\ + .word ._19\n\ + .word ._20\n\ + .word ._21\n\ + .word ._22\n\ + .word ._23\n\ +._16:\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r1, ._25\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._26:\n\ + .align 2, 0\n\ +._25:\n\ + .word +0x2000000\n\ +._17:\n\ + bl UpdatePaletteFade\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._27 @cond_branch\n\ + b ._65\n\ +._27:\n\ + ldr r1, ._30\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._31:\n\ + .align 2, 0\n\ +._30:\n\ + .word +0x2000000\n\ +._18:\n\ + bl sub_80FAB60\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x3\n\ + beq ._32 @cond_branch\n\ + cmp r0, #0x3\n\ + bgt ._33 @cond_branch\n\ + b ._65\n\ +._33:\n\ + cmp r0, #0x4\n\ + beq ._35 @cond_branch\n\ + cmp r0, #0x5\n\ + beq ._36 @cond_branch\n\ + b ._65\n\ +._35:\n\ + ldr r4, ._41\n\ + ldrb r0, [r4, #0x1e]\n\ + cmp r0, #0\n\ + bne ._38 @cond_branch\n\ + b ._65\n\ +._38:\n\ + mov r0, #0x5\n\ + bl gMysteryEventScriptCmdTableEnd+0x13c0\n\ + ldr r1, ._41 + 4\n\ + add r0, r4, r1\n\ + mov r1, #0x1\n\ + strb r1, [r0]\n\ + ldr r0, ._41 + 8\n\ + bl sub_80FC244\n\ + b ._65\n\ +._42:\n\ + .align 2, 0\n\ +._41:\n\ + .word +0x2000000\n\ + .word 0xa6e\n\ + .word sub_80FC69C+1\n\ +._36:\n\ + mov r0, #0x5\n\ + bl gMysteryEventScriptCmdTableEnd+0x13c0\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + ldr r1, ._44\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._45:\n\ + .align 2, 0\n\ +._44:\n\ + .word +0x2000000\n\ +._19:\n\ + bl UpdatePaletteFade\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._65 @cond_branch\n\ + ldr r0, ._48\n\ + bl SetMainCallback2\n\ + b ._65\n\ +._49:\n\ + .align 2, 0\n\ +._48:\n\ + .word sub_805469C+1\n\ +._20:\n\ + bl sub_80FAB60\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._50 @cond_branch\n\ +._32:\n\ + bl debug_sub_8110CCC\n\ + b ._65\n\ +._50:\n\ + ldr r0, ._54\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._65 @cond_branch\n\ + bl sub_80FBCA0\n\ + bl sub_80FAEC4\n\ + ldr r1, ._54 + 4\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._55:\n\ + .align 2, 0\n\ +._54:\n\ + .word gMain\n\ + .word +0x2000000\n\ +._21:\n\ + bl sub_80FAFC0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._65 @cond_branch\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + bl CreateRegionMapCursor\n\ + ldr r1, ._58\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._59:\n\ + .align 2, 0\n\ +._58:\n\ + .word +0x2000000\n\ +._22:\n\ + bl sub_80FAB60\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._60 @cond_branch\n\ + bl debug_sub_8110CCC\n\ +._60:\n\ + ldr r0, ._63\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._65 @cond_branch\n\ + bl sub_80FBCA0\n\ + bl sub_80FAEC4\n\ + ldr r1, ._63 + 4\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._64:\n\ + .align 2, 0\n\ +._63:\n\ + .word gMain\n\ + .word +0x2000000\n\ +._23:\n\ + bl sub_80FAFC0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._65 @cond_branch\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + bl CreateRegionMapCursor\n\ + ldr r1, ._66\n\ + mov r0, #0x3\n\ +._62:\n\ + strh r0, [r1, #0x4]\n\ +._65:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._67:\n\ + .align 2, 0\n\ +._66:\n\ + .word +0x2000000"); +} + +__attribute__((naked)) +void debug_sub_8110F28(void) +{ + asm("\ + push {lr}\n\ + bl CB2_InitFlyRegionMap\n\ + ldr r0, ._69\n\ + ldr r1, [r0, #0x4]\n\ + ldr r0, ._69 + 4\n\ + cmp r1, r0\n\ + bne ._68 @cond_branch\n\ + bl sub_80FBF94\n\ + ldr r0, ._69 + 8\n\ + bl sub_80FC244\n\ + bl debug_sub_8110CCC\n\ +._68:\n\ + pop {r0}\n\ + bx r0\n\ +._70:\n\ + .align 2, 0\n\ +._69:\n\ + .word gMain\n\ + .word CB2_FlyRegionMap+1\n\ + .word debug_sub_8110D84+1"); +} + +#endif + void sub_80FC7A0(struct Unk03005E20* info) { gUnknown_03005DEC = info->var_4; |