summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCameron Hall <cameronghall@cox.net>2018-01-18 13:54:10 -0600
committerCameron Hall <cameronghall@cox.net>2018-01-18 13:54:10 -0600
commit9c2f7c88f0d7e57c99d548870e78185e05cc472a (patch)
tree0fc91c2b17ed74ef52b8e5f612562f5a2dddc475
parent2ca829a4abda20bb1b053f50a9f1c9b6c8e93223 (diff)
add more debug code
-rw-r--r--asm/cute_sketch.s344
-rw-r--r--src/battle/battle_records.c60
-rw-r--r--src/field/mauville_man.c195
-rw-r--r--src/pokemon/mail.c199
-rw-r--r--src/scene/cute_sketch.c344
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;