summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-04-09 20:04:51 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-04-09 20:05:21 -0400
commit4987b746365ec09af10bc2a1ce11dbffaa284b50 (patch)
treed2bdb5f86b64cf59a6c84be877de8a1c4f7223ae
parent5bf8472d4f8902203fc07609e30edaed3818370b (diff)
Remainder of nohara
-rw-r--r--asm/nohara_debug_menu.s796
-rw-r--r--data/debug_menu_nohara.s49
-rw-r--r--include/field_specials.h6
-rw-r--r--include/tv.h1
-rw-r--r--ld_script.txt2
-rw-r--r--src/debug/nohara_debug_menu.c334
6 files changed, 332 insertions, 856 deletions
diff --git a/asm/nohara_debug_menu.s b/asm/nohara_debug_menu.s
deleted file mode 100644
index 51d076273..000000000
--- a/asm/nohara_debug_menu.s
+++ /dev/null
@@ -1,796 +0,0 @@
-.if DEBUG
-
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .text
-
- thumb_func_start debug_sub_808FEBC
-debug_sub_808FEBC:
- push {lr}
- bl ClearTVShowData
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808FEBC
-
- thumb_func_start debug_sub_808FECC
-debug_sub_808FECC:
- push {r4, lr}
- ldr r1, ._178 @ gDebug_03000724
- mov r0, #0x0
- strb r0, [r1]
- ldr r0, ._178 + 4 @ gUnknown_Debug_083C49CA
- bl sub_8071F40
- mov r0, #0xd
- mov r1, #0x6
- mov r2, #0x17
- mov r3, #0x8
- bl Menu_BlankWindowRect
- ldr r0, ._178 + 8 @ gUnknown_Debug_083C4B24
- ldr r0, [r0]
- mov r1, #0xe
- mov r2, #0x7
- bl Menu_PrintText
- mov r0, #0x16
- mov r1, #0x1
- mov r2, #0x18
- mov r3, #0x2
- bl Menu_BlankWindowRect
- ldr r4, ._178 + 12 @ gStringVar1
- add r0, r4, #0
- mov r1, #0x0
- mov r2, #0x0
- mov r3, #0x2
- bl ConvertIntToDecimalStringN
- add r0, r4, #0
- mov r1, #0x17
- mov r2, #0x1
- bl Menu_PrintText
- ldr r1, ._178 + 16 @ gMenuCallback
- ldr r0, ._178 + 20 @ debug_sub_808FF3C
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
-._179:
- .align 2, 0
-._178:
- .word gDebug_03000724
- .word gUnknown_Debug_083C49CA
- .word gUnknown_Debug_083C4B24
- .word gStringVar1
- .word gMenuCallback
- .word debug_sub_808FF3C+1
-
- thumb_func_end debug_sub_808FECC
-
- thumb_func_start debug_sub_808FF3C
-debug_sub_808FF3C:
- push {r4, lr}
- mov r2, #0x0
- ldr r0, ._192 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._180 @cond_branch
- ldr r1, ._192 + 4 @ gDebug_03000725
- ldrb r0, [r1]
- add r0, r0, #0x1
- strb r0, [r1]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x10
- bne ._181 @cond_branch
- strb r2, [r1]
-._181:
- mov r0, #0x5
- bl PlaySE
- mov r2, #0x1
-._180:
- ldr r0, ._192 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._182 @cond_branch
- ldr r1, ._192 + 4 @ gDebug_03000725
- ldrb r0, [r1]
- cmp r0, #0
- bne ._183 @cond_branch
- mov r0, #0x10
- strb r0, [r1]
-._183:
- ldrb r0, [r1]
- sub r0, r0, #0x1
- strb r0, [r1]
- mov r0, #0x5
- bl PlaySE
- mov r2, #0x1
-._182:
- ldr r0, ._192 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._184 @cond_branch
- ldr r1, ._192 + 8 @ gDebug_03000724
- ldrb r0, [r1]
- add r0, r0, #0x1
- strb r0, [r1]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x3
- bne ._185 @cond_branch
- mov r0, #0x0
- strb r0, [r1]
-._185:
- mov r0, #0x5
- bl PlaySE
- mov r2, #0x1
-._184:
- ldr r0, ._192 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- beq ._186 @cond_branch
- ldr r1, ._192 + 8 @ gDebug_03000724
- ldrb r0, [r1]
- cmp r0, #0
- bne ._187 @cond_branch
- mov r0, #0x3
- strb r0, [r1]
-._187:
- ldrb r0, [r1]
- sub r0, r0, #0x1
- strb r0, [r1]
- mov r0, #0x5
- bl PlaySE
- mov r2, #0x1
-._186:
- cmp r2, #0
- beq ._188 @cond_branch
- mov r0, #0xd
- mov r1, #0x6
- mov r2, #0x17
- mov r3, #0x8
- bl Menu_BlankWindowRect
- ldr r1, ._192 + 12 @ gUnknown_Debug_083C4B24
- ldr r0, ._192 + 8 @ gDebug_03000724
- ldrb r0, [r0]
- lsl r0, r0, #0x2
- add r0, r0, r1
- ldr r0, [r0]
- mov r1, #0xe
- mov r2, #0x7
- bl Menu_PrintText
- mov r0, #0x16
- mov r1, #0x1
- mov r2, #0x18
- mov r3, #0x2
- bl Menu_BlankWindowRect
- ldr r4, ._192 + 16 @ gStringVar1
- ldr r0, ._192 + 4 @ gDebug_03000725
- ldrb r1, [r0]
- add r0, r4, #0
- mov r2, #0x0
- mov r3, #0x2
- bl ConvertIntToDecimalStringN
- add r0, r4, #0
- mov r1, #0x17
- mov r2, #0x1
- bl Menu_PrintText
-._188:
- ldr r4, ._192 @ gMain
- ldrh r1, [r4, #0x2e]
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._189 @cond_branch
- mov r0, #0x15
- bl PlaySE
- ldr r0, ._192 + 4 @ gDebug_03000725
- ldrb r0, [r0]
- ldr r2, ._192 + 20 @ gUnknown_Debug_083C4B20
- ldr r1, ._192 + 8 @ gDebug_03000724
- ldrb r1, [r1]
- add r1, r1, r2
- ldrb r1, [r1]
- bl debug_sub_8090080
-._189:
- ldrh r1, [r4, #0x2e]
- mov r0, #0xa
- and r0, r0, r1
- cmp r0, #0
- bne ._190 @cond_branch
- mov r0, #0x0
- b ._191
-._193:
- .align 2, 0
-._192:
- .word gMain
- .word gDebug_03000725
- .word gDebug_03000724
- .word gUnknown_Debug_083C4B24
- .word gStringVar1
- .word gUnknown_Debug_083C4B20
-._190:
- bl sub_80BEC40
- bl CloseMenu
- mov r0, #0x1
-._191:
- pop {r4}
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808FF3C
-
- thumb_func_start debug_sub_8090080
-debug_sub_8090080:
- lsl r0, r0, #0x18
- ldr r2, ._194 @ gSaveBlock1
- lsr r0, r0, #0x16
- add r0, r0, r2
- ldr r3, ._194 + 4 @ 0x2abc
- add r2, r0, r3
- strb r1, [r2]
- ldr r1, ._194 + 8 @ 0x2abd
- add r2, r0, r1
- mov r1, #0x1
- strb r1, [r2]
- add r3, r3, #0x2
- add r0, r0, r3
- mov r1, #0x4
- strh r1, [r0]
- bx lr
-._195:
- .align 2, 0
-._194:
- .word gSaveBlock1
- .word 0x2abc
- .word 0x2abd
-
- thumb_func_end debug_sub_8090080
-
- thumb_func_start debug_sub_80900AC
-debug_sub_80900AC:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- mov r7, #0x0
- mov r5, #0x0
- ldr r0, ._202 @ gSaveBlock1
- mov r8, r0
-._198:
- lsl r0, r5, #0x3
- add r0, r0, r5
- lsl r0, r0, #0x2
- mov r1, r8
- add r6, r0, r1
- ldr r1, ._202 + 4 @ 0x2738
- add r0, r6, r1
- ldrb r4, [r0]
- cmp r4, #0
- bne ._196 @cond_branch
- cmp r7, #0xc
- bne ._197 @cond_branch
- mov r7, #0x0
-._197:
- ldr r0, ._202 + 8 @ gUnknown_Debug_083C4ABD
- add r0, r7, r0
- ldrb r1, [r0]
- add r0, r5, #0
- bl debug_sub_808FA88
- ldr r1, ._202 + 12 @ 0x2739
- add r0, r6, r1
- strb r4, [r0]
- add r0, r7, #1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._196:
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x17
- bls ._198 @cond_branch
- mov r7, #0x0
- mov r5, #0x0
-._201:
- ldr r0, ._202 @ gSaveBlock1
- lsl r1, r5, #0x2
- add r1, r1, r0
- ldr r0, ._202 + 16 @ 0x2abc
- add r1, r1, r0
- ldrb r0, [r1]
- cmp r0, #0
- bne ._199 @cond_branch
- cmp r7, #0x3
- bne ._200 @cond_branch
- mov r7, #0x0
-._200:
- ldr r0, ._202 + 20 @ gUnknown_Debug_083C4B20
- add r0, r7, r0
- ldrb r1, [r0]
- add r0, r5, #0
- bl debug_sub_8090080
- add r0, r7, #1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._199:
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0xf
- bls ._201 @cond_branch
- bl CloseMenu
- mov r0, #0x1
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._203:
- .align 2, 0
-._202:
- .word gSaveBlock1
- .word 0x2738
- .word gUnknown_Debug_083C4ABD
- .word 0x2739
- .word 0x2abc
- .word gUnknown_Debug_083C4B20
-
- thumb_func_end debug_sub_80900AC
-
- thumb_func_start NoharaDebugMenu_Fan
-NoharaDebugMenu_Fan:
- push {lr}
- add sp, sp, #0xfffffff8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xb
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r3, ._204 @ gUnknown_Debug_083C4D28
- mov r0, #0x1
- mov r1, #0x1
- mov r2, #0x9
- bl Menu_PrintItems
- mov r0, #0x0
- str r0, [sp]
- mov r0, #0xa
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x1
- mov r3, #0x9
- bl InitMenu
- ldr r1, ._204 + 4 @ gMenuCallback
- ldr r0, ._204 + 8 @ debug_sub_80901A4
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._205:
- .align 2, 0
-._204:
- .word gUnknown_Debug_083C4D28
- .word gMenuCallback
- .word debug_sub_80901A4+1
-
- thumb_func_end NoharaDebugMenu_Fan
-
- thumb_func_start debug_sub_80901A4
-debug_sub_80901A4:
- push {lr}
- bl Menu_ProcessInput
- lsl r0, r0, #0x18
- asr r1, r0, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r1, r0
- beq ._206 @cond_branch
- add r0, r0, #0x1
- cmp r1, r0
- beq ._207 @cond_branch
- ldr r2, ._209 @ gMenuCallback
- ldr r0, ._209 + 4 @ gUnknown_Debug_083C4D28
- lsl r1, r1, #0x3
- add r0, r0, #0x4
- add r1, r1, r0
- ldr r0, [r1]
- str r0, [r2]
-._206:
- mov r0, #0x0
- b ._208
-._210:
- .align 2, 0
-._209:
- .word gMenuCallback
- .word gUnknown_Debug_083C4D28
-._207:
- bl CloseMenu
- mov r0, #0x1
-._208:
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_80901A4
-
- thumb_func_start debug_sub_80901E4
-debug_sub_80901E4:
- push {lr}
- bl ResetFanClub
- bl sub_810FAA0
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_80901E4
-
- thumb_func_start debug_sub_80901F8
-debug_sub_80901F8:
- push {lr}
- bl sub_810FB9C
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._211 @ gUnknown_Debug_083C4CA8
- ldr r1, ._211 + 4 @ gUnknown_083F8408
- add r0, r0, r1
- ldrb r0, [r0]
- sub r0, r0, #0x8
- lsl r0, r0, #0x2
- add r0, r0, r2
- ldr r0, [r0]
- mov r1, #0xe
- mov r2, #0x7
- bl Menu_PrintText
- ldr r1, ._211 + 8 @ gMenuCallback
- ldr r0, ._211 + 12 @ debug_sub_8090278
- str r0, [r1]
- mov r0, #0x0
- pop {r1}
- bx r1
-._212:
- .align 2, 0
-._211:
- .word gUnknown_Debug_083C4CA8
- .word gUnknown_083F8408
- .word gMenuCallback
- .word debug_sub_8090278+1
-
- thumb_func_end debug_sub_80901F8
-
- thumb_func_start debug_sub_8090238
-debug_sub_8090238:
- push {lr}
- bl sub_810FC18
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._213 @ gUnknown_Debug_083C4CA8
- ldr r1, ._213 + 4 @ gUnknown_083F8410
- add r0, r0, r1
- ldrb r0, [r0]
- sub r0, r0, #0x8
- lsl r0, r0, #0x2
- add r0, r0, r2
- ldr r0, [r0]
- mov r1, #0xe
- mov r2, #0x7
- bl Menu_PrintText
- ldr r1, ._213 + 8 @ gMenuCallback
- ldr r0, ._213 + 12 @ debug_sub_8090278
- str r0, [r1]
- mov r0, #0x0
- pop {r1}
- bx r1
-._214:
- .align 2, 0
-._213:
- .word gUnknown_Debug_083C4CA8
- .word gUnknown_083F8410
- .word gMenuCallback
- .word debug_sub_8090278+1
-
- thumb_func_end debug_sub_8090238
-
- thumb_func_start debug_sub_8090278
-debug_sub_8090278:
- push {lr}
- ldr r0, ._217 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- bne ._215 @cond_branch
- mov r0, #0x0
- b ._216
-._218:
- .align 2, 0
-._217:
- .word gMain
-._215:
- bl CloseMenu
- mov r0, #0x1
-._216:
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8090278
-
- thumb_func_start debug_sub_809029C
-debug_sub_809029C:
- push {r4, lr}
- ldr r4, ._219 @ gStringVar1
- ldr r0, ._219 + 4 @ gSaveBlock1
- ldr r1, ._219 + 8 @ 0x13c2
- add r0, r0, r1
- ldrh r0, [r0]
- mov r1, #0x7f
- and r1, r1, r0
- add r0, r4, #0
- mov r2, #0x0
- mov r3, #0x2
- bl ConvertIntToDecimalStringN
- add r0, r4, #0
- mov r1, #0x10
- mov r2, #0x7
- bl Menu_PrintText
- ldr r1, ._219 + 12 @ gMenuCallback
- ldr r0, ._219 + 16 @ debug_sub_8090278
- str r0, [r1]
- mov r0, #0x0
- pop {r4}
- pop {r1}
- bx r1
-._220:
- .align 2, 0
-._219:
- .word gStringVar1
- .word gSaveBlock1
- .word 0x13c2
- .word gMenuCallback
- .word debug_sub_8090278+1
-
- thumb_func_end debug_sub_809029C
-
- thumb_func_start debug_sub_80902E4
-debug_sub_80902E4:
- push {lr}
- ldr r1, ._221 @ gSaveBlock2
- ldrh r0, [r1, #0xe]
- add r0, r0, #0x6
- strh r0, [r1, #0xe]
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._222:
- .align 2, 0
-._221:
- .word gSaveBlock2
-
- thumb_func_end debug_sub_80902E4
-
- thumb_func_start debug_sub_80902FC
-debug_sub_80902FC:
- push {lr}
- mov r0, #0x0
- bl sub_810FB10
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_80902FC
-
- thumb_func_start debug_sub_8090310
-debug_sub_8090310:
- push {lr}
- mov r0, #0x1
- bl sub_810FB10
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8090310
-
- thumb_func_start debug_sub_8090324
-debug_sub_8090324:
- push {lr}
- mov r0, #0x2
- bl sub_810FB10
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8090324
-
- thumb_func_start debug_sub_8090338
-debug_sub_8090338:
- push {lr}
- mov r0, #0x3
- bl sub_810FB10
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8090338
-
- thumb_func_start NoharaDebugMenu_BattleVSDad
-NoharaDebugMenu_BattleVSDad:
- push {lr}
- ldr r0, ._223 @ 0x4085
- mov r1, #0x6
- bl VarSet
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._224:
- .align 2, 0
-._223:
- .word 0x4085
-
- thumb_func_end NoharaDebugMenu_BattleVSDad
-
- thumb_func_start NoharaDebugMenu_DadAfterBattle
-NoharaDebugMenu_DadAfterBattle:
- push {lr}
- ldr r0, ._225 @ 0x4085
- mov r1, #0x7
- bl VarSet
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._226:
- .align 2, 0
-._225:
- .word 0x4085
-
- thumb_func_end NoharaDebugMenu_DadAfterBattle
-
- thumb_func_start NoharaDebugMenu_SootopolisCity
-NoharaDebugMenu_SootopolisCity:
- push {lr}
- mov r0, #0x81
- bl FlagSet
- mov r0, #0x71
- bl FlagSet
- ldr r0, ._227 @ 0x32f
- bl FlagClear
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._228:
- .align 2, 0
-._227:
- .word 0x32f
-
- thumb_func_end NoharaDebugMenu_SootopolisCity
-
- thumb_func_start NoharaDebugMenu_Embark
-NoharaDebugMenu_Embark:
- push {lr}
- ldr r0, ._229 @ 0x2e3
- bl FlagClear
- ldr r0, ._229 + 4 @ 0x4090
- mov r1, #0x1
- bl VarSet
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._230:
- .align 2, 0
-._229:
- .word 0x2e3
- .word 0x4090
-
- thumb_func_end NoharaDebugMenu_Embark
-
- thumb_func_start NoharaDebugMenu_Yes9999
-NoharaDebugMenu_Yes9999:
- push {lr}
- ldr r0, ._231 @ 0x4048
- ldr r1, ._231 + 4 @ 0x270f
- bl VarSet
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._232:
- .align 2, 0
-._231:
- .word 0x4048
- .word 0x270f
-
- thumb_func_end NoharaDebugMenu_Yes9999
-
- thumb_func_start NoharaDebugMenu_LegendsFlagOn
-NoharaDebugMenu_LegendsFlagOn:
- push {lr}
- mov r0, #0xe4
- bl FlagSet
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-
- thumb_func_end NoharaDebugMenu_LegendsFlagOn
-
- thumb_func_start NoharaDebugMenu_AddNumWinningStreaks
-NoharaDebugMenu_AddNumWinningStreaks:
- push {lr}
- ldr r0, ._235 @ gSaveBlock2
- ldr r1, ._235 + 4 @ 0x572
- add r2, r0, r1
- ldrh r1, [r2]
- cmp r1, #0x31
- bhi ._233 @cond_branch
- mov r0, #0x32
- b ._244
-._236:
- .align 2, 0
-._235:
- .word gSaveBlock2
- .word 0x572
-._233:
- cmp r1, #0x63
- bhi ._237 @cond_branch
- mov r0, #0x64
- b ._244
-._237:
- ldr r0, ._241 @ 0x3e7
- cmp r1, r0
- bhi ._239 @cond_branch
- add r0, r0, #0x1
- b ._244
-._242:
- .align 2, 0
-._241:
- .word 0x3e7
-._239:
- ldr r0, ._245 @ 0x1387
- cmp r1, r0
- bhi ._243 @cond_branch
- ldr r0, ._245 + 4 @ 0x2706
- b ._244
-._246:
- .align 2, 0
-._245:
- .word 0x1387
- .word 0x2706
-._243:
- ldr r0, ._248 @ 0x2705
- cmp r1, r0
- bhi ._247 @cond_branch
- add r0, r0, #0xa
-._244:
- strh r0, [r2]
-._247:
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._249:
- .align 2, 0
-._248:
- .word 0x2705
-
- thumb_func_end NoharaDebugMenu_AddNumWinningStreaks
-
- .align 2, 0
-
-.endif
diff --git a/data/debug_menu_nohara.s b/data/debug_menu_nohara.s
deleted file mode 100644
index b15017456..000000000
--- a/data/debug_menu_nohara.s
+++ /dev/null
@@ -1,49 +0,0 @@
- .include "include/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .if DEBUG
-
- .align 2
-
-gUnknown_Debug_083C4CC8:: @ 0x83C4CC8
- .string "Start$"
-
-gUnknown_Debug_083C4CCE:: @ 0x83C4CCE
- .string "Increase$"
-
-gUnknown_Debug_083C4CD7:: @ 0x83C4CD7
- .string "Reduce$"
-
-gUnknown_Debug_083C4CDE:: @ 0x83C4CDE
- .string "Points$"
-
-gUnknown_Debug_083C4CE5:: @ 0x83C4CE5
- .string "Play time 6$"
-
-gUnknown_Debug_083C4CF1:: @ 0x83C4CF1
- .string "P ELITE FOUR$"
-
-gUnknown_Debug_083C4CFE:: @ 0x83C4CFE
- .string "P SECRET BASE$"
-
-gUnknown_Debug_083C4D0C:: @ 0x83C4D0C
- .string "P CONTEST$"
-
-gUnknown_Debug_083C4D16:: @ 0x83C4D16
- .string "P BATTLE TOWER$"
-
- .align 2
-gUnknown_Debug_083C4D28:: @ 0x83C4D28
- .4byte gUnknown_Debug_083C4CC8, debug_sub_80901E4+1
- .4byte gUnknown_Debug_083C4CCE, debug_sub_80901F8+1
- .4byte gUnknown_Debug_083C4CD7, debug_sub_8090238+1
- .4byte gUnknown_Debug_083C4CDE, debug_sub_809029C+1
- .4byte gUnknown_Debug_083C4CE5, debug_sub_80902E4+1
- .4byte gUnknown_Debug_083C4CF1, debug_sub_80902FC+1
- .4byte gUnknown_Debug_083C4CFE, debug_sub_8090310+1
- .4byte gUnknown_Debug_083C4D0C, debug_sub_8090324+1
- .4byte gUnknown_Debug_083C4D16, debug_sub_8090338+1
-
- .endif
diff --git a/include/field_specials.h b/include/field_specials.h
index 245e20407..6802fdafd 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -17,6 +17,9 @@ extern u8 gUnknown_0203925A;
extern u8 gUnknown_0203925B;
extern u8 gUnknown_0203925C;
+extern const u8 gUnknown_083F8408[];
+extern const u8 gUnknown_083F8410[];
+
void ResetCyclingRoadChallengeData(void);
bool32 CountSSTidalStep(u16);
u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *);
@@ -28,5 +31,8 @@ void ResetFanClub(void);
u8 sub_810FB10(u8 a0);
void sub_810FEFC(void);
u16 GetSlotMachineId(void);
+void sub_810FAA0(void);
+int sub_810FB9C(void);
+int sub_810FC18(void);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/tv.h b/include/tv.h
index f0d7f9116..787f0e9c4 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -109,5 +109,6 @@ void sub_80BF088(u8, s32);
void sub_80BFD20(void);
void PutPokemonTodayCaughtOnAir(void);
u8 GetTVChannelByShowType(u8);
+void sub_80BEC40(void);
#endif // GUARD_TV_H
diff --git a/ld_script.txt b/ld_script.txt
index 518267bb5..33fdee0eb 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -116,7 +116,6 @@ SECTIONS {
src/cable_club.o(.text);
src/debug/tomomichi_debug_menu.o(.text);
src/debug/nohara_debug_menu.o(.text);
- asm/nohara_debug_menu.o(.text);
src/debug/mori_debug_menu.o(.text);
asm/taya_debug_window.o(.text);
src/debug/taya_debug_window.o(.text);
@@ -561,7 +560,6 @@ SECTIONS {
src/cable_club.o(.rodata);
src/debug/tomomichi_debug_menu.o(.rodata);
src/debug/nohara_debug_menu.o(.rodata);
- data/debug_menu_nohara.o(.rodata);
src/debug/mori_debug_menu.o(.rodata);
data/debug_menu_taya.o(.rodata);
src/trainer_see.o(.rodata);
diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c
index 8f02b7e0d..d3af2bde7 100644
--- a/src/debug/nohara_debug_menu.c
+++ b/src/debug/nohara_debug_menu.c
@@ -17,10 +17,6 @@ static u8 gDebug_03000724;
static u8 gDebug_03000725;
static u8 gDebug_03000726;
-asm(".global gDebug_03000724");
-asm(".global gDebug_03000725");
-asm(".global gDebug_03000726");
-
bool8 debug_sub_808F414(void);
bool8 NoharaDebugMenu_TV(void);
bool8 debug_sub_808F4AC(void);
@@ -35,11 +31,23 @@ bool8 debug_sub_808F8AC(void);
void debug_sub_808F8CC(void);
bool8 debug_sub_808F93C(void);
void debug_sub_808FA88(u8, u8);
-void debug_sub_808FEBC(void);
+bool8 debug_sub_808FEBC(void);
void debug_sub_808FECC(void);
-void debug_sub_80900AC(void);
-bool8 debug_sub_8090278(void);
+bool8 debug_sub_808FF3C(void);
+void debug_sub_8090080(u8, u8);
+bool8 debug_sub_80900AC(void);
bool8 NoharaDebugMenu_Fan(void);
+bool8 debug_sub_80901A4(void);
+bool8 debug_sub_80901E4(void);
+bool8 debug_sub_80901F8(void);
+bool8 debug_sub_8090238(void);
+bool8 debug_sub_809029C(void);
+bool8 debug_sub_80902E4(void);
+bool8 debug_sub_80902FC(void);
+bool8 debug_sub_8090310(void);
+bool8 debug_sub_8090324(void);
+bool8 debug_sub_8090338(void);
+bool8 debug_sub_8090278(void);
bool8 NoharaDebugMenu_BattleVSDad(void);
bool8 NoharaDebugMenu_DadAfterBattle(void);
bool8 NoharaDebugMenu_SootopolisCity(void);
@@ -622,7 +630,130 @@ void debug_sub_808FA88(u8 a0, u8 a1)
}
}
-// debug_sub_80901F8
+bool8 debug_sub_808FEBC(void)
+{
+ ClearTVShowData();
+ CloseMenu();
+ return TRUE;
+}
+
+void debug_sub_808FECC(void)
+{
+ gDebug_03000724 = 0;
+ sub_8071F40(gUnknown_Debug_083C49CA);
+ Menu_BlankWindowRect(13, 6, 23, 8);
+ Menu_PrintText(gUnknown_Debug_083C4B24[0], 14, 7);
+ Menu_BlankWindowRect(22, 1, 24, 2);
+ ConvertIntToDecimalStringN(gStringVar1, 0, STR_CONV_MODE_LEFT_ALIGN, 2);
+ Menu_PrintText(gStringVar1, 23, 1);
+ gMenuCallback = debug_sub_808FF3C;
+}
+
+bool8 debug_sub_808FF3C(void)
+{
+ bool8 updateDisplay = FALSE;
+
+ if (gMain.newKeys & DPAD_UP)
+ {
+ gDebug_03000725++;
+ if (gDebug_03000725 == 16)
+ gDebug_03000725 = 0;
+ PlaySE(SE_SELECT);
+ updateDisplay = TRUE;
+ }
+
+ if (gMain.newKeys & DPAD_DOWN)
+ {
+ if (gDebug_03000725 == 0)
+ gDebug_03000725 = 16;
+ gDebug_03000725--;
+ PlaySE(SE_SELECT);
+ updateDisplay = TRUE;
+ }
+
+ if (gMain.newKeys & DPAD_RIGHT)
+ {
+ gDebug_03000724++;
+ if (gDebug_03000724 == 3)
+ gDebug_03000724 = 0;
+ PlaySE(SE_SELECT);
+ updateDisplay = TRUE;
+ }
+
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ if (gDebug_03000724 == 0)
+ gDebug_03000724 = 3;
+ gDebug_03000724--;
+ PlaySE(SE_SELECT);
+ updateDisplay = TRUE;
+ }
+
+ if (updateDisplay)
+ {
+ Menu_BlankWindowRect(13, 6, 23, 8);
+ Menu_PrintText(gUnknown_Debug_083C4B24[gDebug_03000724], 14, 7);
+ Menu_BlankWindowRect(22, 1, 24, 2);
+ ConvertIntToDecimalStringN(gStringVar1, gDebug_03000725, STR_CONV_MODE_LEFT_ALIGN, 2);
+ Menu_PrintText(gStringVar1, 23, 1);
+ }
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_PIN);
+ debug_sub_8090080(gDebug_03000725, gUnknown_Debug_083C4B20[gDebug_03000724]);
+ }
+
+ if (gMain.newKeys & (B_BUTTON | START_BUTTON))
+ {
+ sub_80BEC40();
+ CloseMenu();
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void debug_sub_8090080(u8 a0, u8 a1)
+{
+ gSaveBlock1.pokeNews[a0].kind = a1;
+ gSaveBlock1.pokeNews[a0].state = 1;
+ gSaveBlock1.pokeNews[a0].days = 4;
+}
+
+bool8 debug_sub_80900AC(void)
+{
+ u8 i;
+ u8 j;
+
+ j = 0;
+ for (i = 0; i < 24; i++)
+ {
+ if (gSaveBlock1.tvShows[i].common.kind == 0)
+ {
+ if (j == 12)
+ j = 0;
+ debug_sub_808FA88(i, gUnknown_Debug_083C4ABD[j]);
+ gSaveBlock1.tvShows[i].common.active = FALSE;
+ j++;
+ }
+ }
+
+ j = 0;
+ for (i = 0; i < 16; i++)
+ {
+ if (gSaveBlock1.pokeNews[i].kind == 0)
+ {
+ if (j == 3)
+ j = 0;
+ debug_sub_8090080(i, gUnknown_Debug_083C4B20[j]);
+ j++;
+ }
+ }
+
+ CloseMenu();
+ return TRUE;
+}
const u8 gUnknown_Debug_083C4C77[] = _("1 スクル");
const u8 gUnknown_Debug_083C4C7D[] = _("2 ミドル");
@@ -644,6 +775,191 @@ const u8 *const gUnknown_Debug_083C4CA8[] = {
gUnknown_Debug_083C4CA1
};
-// debug_sub_8090238
+const u8 gUnknown_Debug_083C4CC8[] = _("Start");
+const u8 gUnknown_Debug_083C4CCE[] = _("Increase");
+const u8 gUnknown_Debug_083C4CD7[] = _("Reduce");
+const u8 gUnknown_Debug_083C4CDE[] = _("Points");
+const u8 gUnknown_Debug_083C4CE5[] = _("Play time 6");
+const u8 gUnknown_Debug_083C4CF1[] = _("P ELITE FOUR");
+const u8 gUnknown_Debug_083C4CFE[] = _("P SECRET BASE");
+const u8 gUnknown_Debug_083C4D0C[] = _("P CONTEST");
+const u8 gUnknown_Debug_083C4D16[] = _("P BATTLE TOWER");
+
+const struct MenuAction gUnknown_Debug_083C4D28[] = {
+ {gUnknown_Debug_083C4CC8, debug_sub_80901E4},
+ {gUnknown_Debug_083C4CCE, debug_sub_80901F8},
+ {gUnknown_Debug_083C4CD7, debug_sub_8090238},
+ {gUnknown_Debug_083C4CDE, debug_sub_809029C},
+ {gUnknown_Debug_083C4CE5, debug_sub_80902E4},
+ {gUnknown_Debug_083C4CF1, debug_sub_80902FC},
+ {gUnknown_Debug_083C4CFE, debug_sub_8090310},
+ {gUnknown_Debug_083C4D0C, debug_sub_8090324},
+ {gUnknown_Debug_083C4D16, debug_sub_8090338}
+};
+
+bool8 NoharaDebugMenu_Fan(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 11, 19);
+ Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4D28), gUnknown_Debug_083C4D28);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4D28), 0, 10);
+ gMenuCallback = debug_sub_80901A4;
+ return FALSE;
+}
+
+bool8 debug_sub_80901A4(void)
+{
+ s8 input = Menu_ProcessInput();
+ switch (input)
+ {
+ default:
+ gMenuCallback = gUnknown_Debug_083C4D28[input].func;
+ return FALSE;
+ case -2:
+ return FALSE;
+ case -1:
+ CloseMenu();
+ return TRUE;
+ }
+}
+
+bool8 debug_sub_80901E4(void)
+{
+ ResetFanClub();
+ sub_810FAA0();
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 debug_sub_80901F8(void)
+{
+ u8 r0 = sub_810FB9C();
+ Menu_PrintText(gUnknown_Debug_083C4CA8[gUnknown_083F8408[r0] - 8], 14, 7);
+ gMenuCallback = debug_sub_8090278;
+ return FALSE;
+}
+
+bool8 debug_sub_8090238(void)
+{
+ u8 r0 = sub_810FC18();
+ Menu_PrintText(gUnknown_Debug_083C4CA8[gUnknown_083F8410[r0] - 8], 14, 7);
+ gMenuCallback = debug_sub_8090278;
+ return FALSE;
+}
+
+bool8 debug_sub_8090278(void)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ CloseMenu();
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool8 debug_sub_809029C(void)
+{
+ ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F, STR_CONV_MODE_LEFT_ALIGN, 2);
+ Menu_PrintText(gStringVar1, 16, 7);
+ gMenuCallback = debug_sub_8090278;
+ return FALSE;
+}
+
+bool8 debug_sub_80902E4(void)
+{
+ gSaveBlock2.playTimeHours += 6;
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 debug_sub_80902FC(void)
+{
+ sub_810FB10(0);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 debug_sub_8090310(void)
+{
+ sub_810FB10(1);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 debug_sub_8090324(void)
+{
+ sub_810FB10(2);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 debug_sub_8090338(void)
+{
+ sub_810FB10(3);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 NoharaDebugMenu_BattleVSDad(void)
+{
+ VarSet(VAR_PETALBURG_GYM_STATE, 6);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 NoharaDebugMenu_DadAfterBattle(void)
+{
+ VarSet(VAR_PETALBURG_GYM_STATE, 7);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 NoharaDebugMenu_SootopolisCity(void)
+{
+ FlagSet(FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN);
+ FlagSet(FLAG_LEGENDARY_BATTLE_COMPLETED);
+ FlagClear(FLAG_HIDE_WALLACE_SOOTOPOLIS_GYM);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 NoharaDebugMenu_Embark(void)
+{
+ FlagClear(FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE);
+ VarSet(VAR_BRINEY_HOUSE_STATE, 1);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 NoharaDebugMenu_Yes9999(void)
+{
+ VarSet(VAR_ASH_GATHER_COUNT, 9999);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 NoharaDebugMenu_LegendsFlagOn(void)
+{
+ FlagSet(FLAG_REGI_DOORS_OPENED);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 NoharaDebugMenu_AddNumWinningStreaks(void)
+{
+ if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 50)
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 50;
+ else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 100)
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 100;
+ else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 1000)
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 1000;
+ else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 5000)
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9990;
+ else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 9990)
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999;
+ CloseMenu();
+ return TRUE;
+}
#endif