From 34368a82813c11d30cbac51840810c9691f46809 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 11:13:05 -0400 Subject: Start code decomp and data dism in help system --- asm/help_system_812B1E0.s | 77 -------------------------- common_syms/help_system_812B1E0.txt | 1 + data/data_83FECCC.s | 57 -------------------- data/help_system_812B1E0.s | 104 ++++++++++++++++++++++++++++++++++++ ld_script.txt | 3 ++ src/help_system_812B1E0.c | 44 +++++++++++++++ sym_common.txt | 6 +-- sym_ewram.txt | 11 ++-- 8 files changed, 160 insertions(+), 143 deletions(-) create mode 100644 common_syms/help_system_812B1E0.txt create mode 100644 data/help_system_812B1E0.s create mode 100644 src/help_system_812B1E0.c diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index b88a86b47..b360bf72b 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,83 +5,6 @@ .text - thumb_func_start sub_812B1E0 -sub_812B1E0: @ 812B1E0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0812B1EC @ =gUnknown_203B0EC - strh r0, [r1] - bx lr - .align 2, 0 -_0812B1EC: .4byte gUnknown_203B0EC - thumb_func_end sub_812B1E0 - - thumb_func_start HelpSystem_SetSomeVariable2 -HelpSystem_SetSomeVariable2: @ 812B1F0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0812B21C @ =gUnknown_203B0EC - ldrh r2, [r0] - cmp r2, 0x1A - bgt _0812B216 - cmp r2, 0x17 - blt _0812B216 - cmp r1, 0x9 - beq _0812B218 - cmp r1, 0x5 - beq _0812B218 - cmp r1, 0x6 - beq _0812B218 - cmp r1, 0x7 - beq _0812B218 - cmp r1, 0x8 - beq _0812B218 -_0812B216: - strh r1, [r0] -_0812B218: - pop {r0} - bx r0 - .align 2, 0 -_0812B21C: .4byte gUnknown_203B0EC - thumb_func_end HelpSystem_SetSomeVariable2 - - thumb_func_start sub_812B220 -sub_812B220: @ 812B220 - ldr r0, _0812B22C @ =gUnknown_203B0EC - ldr r1, _0812B230 @ =gSpecialVar_0x8004 - ldrh r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_0812B22C: .4byte gUnknown_203B0EC -_0812B230: .4byte gSpecialVar_0x8004 - thumb_func_end sub_812B220 - - thumb_func_start sub_812B234 -sub_812B234: @ 812B234 - ldr r0, _0812B240 @ =gUnknown_3005EA0 - ldr r1, _0812B244 @ =gUnknown_203B0EC - ldrh r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_0812B240: .4byte gUnknown_3005EA0 -_0812B244: .4byte gUnknown_203B0EC - thumb_func_end sub_812B234 - - thumb_func_start sub_812B248 -sub_812B248: @ 812B248 - ldr r0, _0812B254 @ =gUnknown_203B0EC - ldr r1, _0812B258 @ =gUnknown_3005EA0 - ldrh r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_0812B254: .4byte gUnknown_203B0EC -_0812B258: .4byte gUnknown_3005EA0 - thumb_func_end sub_812B248 - thumb_func_start sub_812B25C sub_812B25C: @ 812B25C push {lr} diff --git a/common_syms/help_system_812B1E0.txt b/common_syms/help_system_812B1E0.txt new file mode 100644 index 000000000..0541b5490 --- /dev/null +++ b/common_syms/help_system_812B1E0.txt @@ -0,0 +1 @@ +gUnknown_3005EA0 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 1f61683bf..bc4bdc6ed 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -3726,60 +3726,3 @@ gUnknown_845B050:: @ 845B050 gUnknown_845B068:: @ 845B068 .incbin "baserom.gba", 0x45B068, 0x18 - -gUnknown_845B080:: @ 845B080 - .incbin "baserom.gba", 0x45B080, 0x18 - -gUnknown_845B098:: @ 845B098 - .incbin "baserom.gba", 0x45B098, 0x18 - -gUnknown_845B0B0:: @ 845B0B0 - .incbin "baserom.gba", 0x45B0B0, 0xB4 - -gUnknown_845B164:: @ 845B164 - .incbin "baserom.gba", 0x45B164, 0xB4 - -gUnknown_845B218:: @ 845B218 - .incbin "baserom.gba", 0x45B218, 0xC4 - -gUnknown_845B2DC:: @ 845B2DC - .incbin "baserom.gba", 0x45B2DC, 0xC4 - -gUnknown_845B3A0:: @ 845B3A0 - .incbin "baserom.gba", 0x45B3A0, 0xB0 - -gUnknown_845B450:: @ 845B450 - .incbin "baserom.gba", 0x45B450, 0xB0 - -gUnknown_845B500:: @ 845B500 - .incbin "baserom.gba", 0x45B500, 0x20 - -gUnknown_845B520:: @ 845B520 - .incbin "baserom.gba", 0x45B520, 0x20 - -gUnknown_845B540:: @ 845B540 - .incbin "baserom.gba", 0x45B540, 0x90 - -gUnknown_845B5D0:: @ 845B5D0 - .incbin "baserom.gba", 0x45B5D0, 0x3EE - -gUnknown_845B9BE:: @ 845B9BE - .incbin "baserom.gba", 0x45B9BE, 0x22 - -gUnknown_845B9E0:: @ 845B9E0 - .incbin "baserom.gba", 0x45B9E0, 0xAD0 - -gUnknown_845C4B0:: @ 845C4B0 - .incbin "baserom.gba", 0x45C4B0, 0x6 - -gUnknown_845C4B6:: @ 845C4B6 - .incbin "baserom.gba", 0x45C4B6, 0xDE - -gUnknown_845C594:: @ 845C594 - .incbin "baserom.gba", 0x45C594, 0x28 - -gUnknown_845C5BC:: @ 845C5BC - .incbin "baserom.gba", 0x45C5BC, 0x12 - -gUnknown_845C5CE:: @ 845C5CE - .incbin "baserom.gba", 0x45C5CE, 0x32 diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s new file mode 100644 index 000000000..1859b6a55 --- /dev/null +++ b/data/help_system_812B1E0.s @@ -0,0 +1,104 @@ +#include "constants/maps.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2, 0 +gUnknown_845B080:: @ 845B080 + .incbin "baserom.gba", 0x45B080, 0x18 + +gUnknown_845B098:: @ 845B098 + .incbin "baserom.gba", 0x45B098, 0x18 + +gUnknown_845B0B0:: @ 845B0B0 + .incbin "baserom.gba", 0x45B0B0, 0xB4 + +gUnknown_845B164:: @ 845B164 + .incbin "baserom.gba", 0x45B164, 0xB4 + +gUnknown_845B218:: @ 845B218 + .incbin "baserom.gba", 0x45B218, 0xC4 + +gUnknown_845B2DC:: @ 845B2DC + .incbin "baserom.gba", 0x45B2DC, 0xC4 + +gUnknown_845B3A0:: @ 845B3A0 + .incbin "baserom.gba", 0x45B3A0, 0xB0 + +gUnknown_845B450:: @ 845B450 + .incbin "baserom.gba", 0x45B450, 0xB0 + +gUnknown_845B500:: @ 845B500 + .incbin "baserom.gba", 0x45B500, 0x20 + +gUnknown_845B520:: @ 845B520 + .incbin "baserom.gba", 0x45B520, 0x20 + +gUnknown_845B540:: @ 845B540 + .incbin "baserom.gba", 0x45B540, 0x90 + +gUnknown_845B5D0:: @ 845B5D0 + .incbin "baserom.gba", 0x45B5D0, 0x3EE + +gUnknown_845B9BE:: @ 845B9BE + .incbin "baserom.gba", 0x45B9BE, 0x22 + +gUnknown_845B9E0:: @ 845B9E0 + .incbin "baserom.gba", 0x45B9E0, 0xAD0 + +gUnknown_845C4B0:: @ 845C4B0 + .incbin "baserom.gba", 0x45C4B0, 0x6 + +gUnknown_845C4B6:: @ 845C4B6 + .incbin "baserom.gba", 0x45C4B6, 0xDE + +gUnknown_845C594:: @ 845C594 + .2byte MAP_VIRIDIAN_CITY_MART + .2byte MAP_PEWTER_CITY_MART + .2byte MAP_CERULEAN_CITY_MART + .2byte MAP_LAVENDER_TOWN_MART + .2byte MAP_VERMILION_CITY_MART + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_1F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_2F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_3F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_4F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_5F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR + .2byte MAP_FUCHSIA_CITY_MART + .2byte MAP_CINNABAR_ISLAND_MART + .2byte MAP_SAFFRON_CITY_MART + .2byte MAP_THREE_ISLAND_MART + .2byte MAP_FOUR_ISLAND_MART + .2byte MAP_SEVEN_ISLAND_MART + .2byte MAP_SIX_ISLAND_MART + .2byte 0xffff + +gUnknown_845C5BC:: @ 845C5BC + .2byte MAP_PEWTER_CITY_GYM + .2byte MAP_CERULEAN_CITY_GYM + .2byte MAP_VERMILION_CITY_GYM + .2byte MAP_CELADON_CITY_GYM + .2byte MAP_FUCHSIA_CITY_GYM + .2byte MAP_SAFFRON_CITY_GYM + .2byte MAP_CINNABAR_ISLAND_GYM + .2byte MAP_VIRIDIAN_CITY_GYM + .2byte 0xffff + +gUnknown_845C5CE:: @ 845C5CE + .byte 0x01, 0x00, 0x01 @ MAP_VIRIDIAN_FOREST + .byte 0x01, 0x01, 0x03 @ MAP_MT_MOON_1F + .byte 0x01, 0x51, 0x02 @ MAP_ROCK_TUNNEL_1F + .byte 0x01, 0x24, 0x03 @ MAP_DIGLETTS_CAVE_NORTH_ENTRANCE + .byte 0x01, 0x53, 0x05 @ MAP_SEAFOAM_ISLANDS_1F + .byte 0x01, 0x27, 0x03 @ MAP_VICTORY_ROAD_1F + .byte 0x01, 0x48, 0x03 @ MAP_CERULEAN_CAVE_1F + .byte 0x01, 0x60, 0x01 @ MAP_MT_EMBER_RUBY_PATH_B4F + .byte 0x01, 0x62, 0x03 @ MAP_MT_EMBER_SUMMIT_PATH_1F + .byte 0x01, 0x66, 0x07 @ MAP_MT_EMBER_RUBY_PATH_B5F + .byte 0x01, 0x6d, 0x01 @ MAP_THREE_ISLAND_BERRY_FOREST + .byte 0x01, 0x79, 0x01 @ MAP_SIX_ISLAND_PATTERN_BUSH + .byte 0x02, 0x0c, 0x0f @ MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE + .byte 0x01, 0x6e, 0x04 @ MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE + .byte 0x01, 0x7a, 0x01 @ MAP_SIX_ISLAND_ALTERING_CAVE + .byte 0x02, 0x1b, 0x07 @ MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER diff --git a/ld_script.txt b/ld_script.txt index d264549b7..d7e81d837 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -239,6 +239,7 @@ SECTIONS { asm/pokemon_special_anim.o(.text); asm/party_menu.o(.text); asm/union_room_chat.o(.text); + src/help_system_812B1E0.o(.text); asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); src/fame_checker.o(.text); @@ -419,6 +420,8 @@ SECTIONS { data/data_83FECCC.o(.rodata.8453F6C); src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); + src/help_system_812B1E0.o(.rodata); + data/help_system_812B1E0.o(.rodata); src/fame_checker.o(.rodata); src/menu2.o(.rodata); src/oak_speech.o(.rodata); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c new file mode 100644 index 000000000..f1d55276b --- /dev/null +++ b/src/help_system_812B1E0.c @@ -0,0 +1,44 @@ +#include "global.h" +#include "event_data.h" + +EWRAM_DATA u16 gUnknown_203B0EC = 0; +EWRAM_DATA u8 gUnknown_203B0EE = 0; + +u16 gUnknown_3005EA0; + +void sub_812B1E0(u8 a0) +{ + gUnknown_203B0EC = a0; +} + +void HelpSystem_SetSomeVariable2(u8 a0) +{ + switch (gUnknown_203B0EC) + { + case 23: + case 24: + case 25: + case 26: + if (a0 == 9 || a0 == 5 || a0 == 6 || a0 == 7 || a0 == 8) + break; + // fallthrough + default: + gUnknown_203B0EC = a0; + break; + } +} + +void sub_812B220(void) +{ + gUnknown_203B0EC = gSpecialVar_0x8004; +} + +void sub_812B234(void) +{ + gUnknown_3005EA0 = gUnknown_203B0EC; +} + +void sub_812B248(void) +{ + gUnknown_203B0EC = gUnknown_3005EA0; +} diff --git a/sym_common.txt b/sym_common.txt index 56536bda2..059a30bb9 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -321,9 +321,9 @@ gUnknown_3005E98: @ 3005E98 gUnknown_3005E9C: @ 3005E9C .space 0x4 -gUnknown_3005EA0: @ 3005EA0 - .space 0x10 - + .align 4 + .include "help_system_812B1E0.o" + .align 4 .include "fame_checker.o" gUnknown_3005ECC: @ 3005ECC diff --git a/sym_ewram.txt b/sym_ewram.txt index 4bd540684..5219ec5ef 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1483,14 +1483,13 @@ gUnknown_203B0E4: @ 203B0E4 gUnknown_203B0E8: @ 203B0E8 .space 0x4 -gUnknown_203B0EC: @ 203B0EC - .space 0x2 - -gUnknown_203B0EE: @ 203B0EE - .space 0x2 - + .align 2 + .include "src/help_system_812B1E0.o" + .align 2 .include "src/fame_checker.o" + .align 2 .include "src/oak_speech.o" + .align 2 .include "src/tm_case.o" gUnknown_203B130: @ 203B130 -- cgit v1.2.3 From c5c9e358075a4f891e50614c6e2b0e0c989eafeb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 14:32:12 -0400 Subject: help_system_812B1E0: through sub_812B27C --- asm/help_system_812B1E0.s | 65 ---------------------------------------------- data/help_system_812B1E0.s | 4 +-- src/help_system_812B1E0.c | 31 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 67 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index b360bf72b..239b25afb 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,71 +5,6 @@ .text - thumb_func_start sub_812B25C -sub_812B25C: @ 812B25C - push {lr} - ldr r0, _0812B268 @ =gUnknown_845C594 - bl sub_812B27C - pop {r1} - bx r1 - .align 2, 0 -_0812B268: .4byte gUnknown_845C594 - thumb_func_end sub_812B25C - - thumb_func_start sub_812B26C -sub_812B26C: @ 812B26C - push {lr} - ldr r0, _0812B278 @ =gUnknown_845C5BC - bl sub_812B27C - pop {r1} - bx r1 - .align 2, 0 -_0812B278: .4byte gUnknown_845C5BC - thumb_func_end sub_812B26C - - thumb_func_start sub_812B27C -sub_812B27C: @ 812B27C - push {r4,lr} - adds r2, r0, 0 - ldr r0, _0812B2AC @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r0, [r2] - ldr r1, _0812B2B0 @ =0x0000ffff - cmp r0, r1 - beq _0812B2BC - adds r4, r1, 0 - adds r1, r2, 0 -_0812B2A2: - ldrh r0, [r1] - cmp r0, r3 - bne _0812B2B4 - movs r0, 0x1 - b _0812B2BE - .align 2, 0 -_0812B2AC: .4byte gSaveBlock1Ptr -_0812B2B0: .4byte 0x0000ffff -_0812B2B4: - adds r1, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0812B2A2 -_0812B2BC: - movs r0, 0 -_0812B2BE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812B27C - thumb_func_start sub_812B2C4 sub_812B2C4: @ 812B2C4 push {r4-r7,lr} diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s index 1859b6a55..14eed797a 100644 --- a/data/help_system_812B1E0.s +++ b/data/help_system_812B1E0.s @@ -72,7 +72,7 @@ gUnknown_845C594:: @ 845C594 .2byte MAP_FOUR_ISLAND_MART .2byte MAP_SEVEN_ISLAND_MART .2byte MAP_SIX_ISLAND_MART - .2byte 0xffff + .2byte MAP_UNDEFINED gUnknown_845C5BC:: @ 845C5BC .2byte MAP_PEWTER_CITY_GYM @@ -83,7 +83,7 @@ gUnknown_845C5BC:: @ 845C5BC .2byte MAP_SAFFRON_CITY_GYM .2byte MAP_CINNABAR_ISLAND_GYM .2byte MAP_VIRIDIAN_CITY_GYM - .2byte 0xffff + .2byte MAP_UNDEFINED gUnknown_845C5CE:: @ 845C5CE .byte 0x01, 0x00, 0x01 @ MAP_VIRIDIAN_FOREST diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index f1d55276b..4477352d9 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -1,11 +1,17 @@ #include "global.h" #include "event_data.h" +#include "constants/maps.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; EWRAM_DATA u8 gUnknown_203B0EE = 0; u16 gUnknown_3005EA0; +bool32 sub_812B27C(const u16 * mapIdxs); + +extern const u16 gUnknown_845C594[]; // marts +extern const u16 gUnknown_845C5BC[]; // gyms + void sub_812B1E0(u8 a0) { gUnknown_203B0EC = a0; @@ -42,3 +48,28 @@ void sub_812B248(void) { gUnknown_203B0EC = gUnknown_3005EA0; } + +bool32 sub_812B25C(void) +{ + return sub_812B27C(gUnknown_845C594); +} + +bool32 sub_812B26C(void) +{ + return sub_812B27C(gUnknown_845C5BC); +} + +bool32 sub_812B27C(const u16 * mapIdxs) +{ + u16 mapIdx = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; + s32 i; + + for (i = 0; mapIdxs[i] != MAP_UNDEFINED; i++) + { + if (mapIdxs[i] == mapIdx) + return TRUE; + } + + return FALSE; +} + -- cgit v1.2.3 From 71d017a2bc12b584dad5e2d3a165e361e7866512 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 17:32:33 -0400 Subject: help_system_812B1E0: through sub_812B4D8 --- asm/help_system_812B1E0.s | 321 ------------------------------------ common_syms/help_system_812B1E0.txt | 1 + include/constants/flags.h | 1 + include/help_system.h | 29 +++- include/overworld.h | 1 + include/save_location.h | 1 + src/help_system_812B1E0.c | 125 ++++++++++++++ sym_common.txt | 4 - 8 files changed, 157 insertions(+), 326 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index 239b25afb..a6036015e 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,327 +5,6 @@ .text - thumb_func_start sub_812B2C4 -sub_812B2C4: @ 812B2C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r5, 0 - ldr r0, _0812B2E8 @ =gUnknown_845C5CE - mov r9, r0 - movs r0, 0x2 - add r0, r9 - mov r8, r0 -_0812B2D8: - movs r6, 0 - mov r4, r9 - lsls r1, r5, 1 - adds r0, r1, r5 - add r0, r8 - adds r7, r1, 0 - b _0812B33A - .align 2, 0 -_0812B2E8: .4byte gUnknown_845C5CE -_0812B2EC: - adds r3, r1, r5 - adds r0, r3, r4 - ldrb r1, [r0] - ldr r0, _0812B324 @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _0812B32C - adds r0, r4, 0x1 - adds r0, r3, r0 - ldrb r0, [r0] - adds r0, r6 - movs r1, 0x5 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _0812B32C - cmp r5, 0xF - bne _0812B320 - ldr r0, _0812B328 @ =0x00000849 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812B32C -_0812B320: - movs r0, 0x1 - b _0812B34C - .align 2, 0 -_0812B324: .4byte gSaveBlock1Ptr -_0812B328: .4byte 0x00000849 -_0812B32C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _0812B358 @ =gUnknown_845C5CE - adds r1, r7, 0 - adds r0, r1, r5 - add r0, r8 -_0812B33A: - ldrb r0, [r0] - cmp r6, r0 - bcc _0812B2EC - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0812B2D8 - movs r0, 0 -_0812B34C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0812B358: .4byte gUnknown_845C5CE - thumb_func_end sub_812B2C4 - - thumb_func_start sub_812B35C -sub_812B35C: @ 812B35C - push {lr} - bl sub_812B4B8 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0812B376 - movs r0, 0x16 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B376: - bl sub_812B2C4 - lsls r0, 24 - cmp r0, 0 - beq _0812B388 - movs r0, 0x15 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B388: - ldr r0, _0812B3B0 @ =gMapHeader - ldrb r0, [r0, 0x17] - bl is_light_level_8_or_9 - lsls r0, 24 - cmp r0, 0 - beq _0812B400 - ldr r0, _0812B3B4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - cmp r1, 0x4 - beq _0812B3A8 - movs r0, 0x82 - lsls r0, 1 - cmp r1, r0 - bne _0812B3B8 -_0812B3A8: - movs r0, 0xE - bl HelpSystem_SetSomeVariable2 - b _0812B406 - .align 2, 0 -_0812B3B0: .4byte gMapHeader -_0812B3B4: .4byte gSaveBlock1Ptr -_0812B3B8: - movs r0, 0xC1 - lsls r0, 2 - cmp r1, r0 - bne _0812B3C8 - movs r0, 0xF - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B3C8: - bl IsCurMapPokeCenter - cmp r0, 0x1 - bne _0812B3D8 - movs r0, 0x10 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B3D8: - bl sub_812B25C - cmp r0, 0x1 - bne _0812B3E8 - movs r0, 0x11 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B3E8: - bl sub_812B26C - cmp r0, 0x1 - bne _0812B3F8 - movs r0, 0x12 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B3F8: - movs r0, 0x13 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B400: - movs r0, 0x14 - bl HelpSystem_SetSomeVariable2 -_0812B406: - pop {r0} - bx r0 - thumb_func_end sub_812B35C - - thumb_func_start sub_812B40C -sub_812B40C: @ 812B40C - push {lr} - ldr r0, _0812B434 @ =gUnknown_203B0EE - ldrb r0, [r0] - cmp r0, 0x1 - beq _0812B42E - ldr r0, _0812B438 @ =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0 - beq _0812B440 - cmp r0, 0x2 - beq _0812B440 - ldr r0, _0812B43C @ =0x0000083c - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0812B440 -_0812B42E: - movs r0, 0 - b _0812B44E - .align 2, 0 -_0812B434: .4byte gUnknown_203B0EE -_0812B438: .4byte gSaveFileStatus -_0812B43C: .4byte 0x0000083c -_0812B440: - ldr r0, _0812B454 @ =0x0000083c - bl FlagSet - ldr r1, _0812B458 @ =gUnknown_203B0EE - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 -_0812B44E: - pop {r1} - bx r1 - .align 2, 0 -_0812B454: .4byte 0x0000083c -_0812B458: .4byte gUnknown_203B0EE - thumb_func_end sub_812B40C - - thumb_func_start sub_812B45C -sub_812B45C: @ 812B45C - push {lr} - ldr r0, _0812B46C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0812B470 - movs r0, 0x1 - b _0812B472 - .align 2, 0 -_0812B46C: .4byte gReceivedRemoteLinkPlayers -_0812B470: - movs r0, 0 -_0812B472: - pop {r1} - bx r1 - thumb_func_end sub_812B45C - - thumb_func_start sub_812B478 -sub_812B478: @ 812B478 - ldr r1, _0812B480 @ =gUnknown_3005ECC - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0812B480: .4byte gUnknown_3005ECC - thumb_func_end sub_812B478 - - thumb_func_start sub_812B484 -sub_812B484: @ 812B484 - push {lr} - ldr r0, _0812B4A4 @ =gUnknown_203ADFA - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _0812B49E - ldr r1, _0812B4A8 @ =gUnknown_3005ECC - movs r0, 0x1 - strb r0, [r1] - bl sub_812B4B8 -_0812B49E: - pop {r0} - bx r0 - .align 2, 0 -_0812B4A4: .4byte gUnknown_203ADFA -_0812B4A8: .4byte gUnknown_3005ECC - thumb_func_end sub_812B484 - - thumb_func_start sub_812B4AC -sub_812B4AC: @ 812B4AC - ldr r1, _0812B4B4 @ =gUnknown_203F175 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_0812B4B4: .4byte gUnknown_203F175 - thumb_func_end sub_812B4AC - - thumb_func_start sub_812B4B8 -sub_812B4B8: @ 812B4B8 - ldr r1, _0812B4C0 @ =gUnknown_203F175 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0812B4C0: .4byte gUnknown_203F175 - thumb_func_end sub_812B4B8 - - thumb_func_start sub_812B4C4 -sub_812B4C4: @ 812B4C4 - str r1, [r0] - movs r2, 0x1 - movs r1, 0x1 - strh r1, [r0, 0x4] - strh r1, [r0, 0x6] - strb r2, [r0, 0x8] - movs r1, 0x4 - strb r1, [r0, 0x9] - bx lr - thumb_func_end sub_812B4C4 - - thumb_func_start sub_812B4D8 -sub_812B4D8: @ 812B4D8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_812B4C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812B520 - ldr r0, _0812B518 @ =gUnknown_841DFAC - bl sub_812BF74 - ldr r0, _0812B51C @ =gUnknown_3005E9C - ldrb r2, [r0, 0x2] - adds r0, r4, 0 - movs r1, 0 - bl sub_813C64C - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812BF9C - movs r0, 0x1 - bl sub_813BDA4 - movs r0, 0x1 - bl sub_813BD5C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812B518: .4byte gUnknown_841DFAC -_0812B51C: .4byte gUnknown_3005E9C - thumb_func_end sub_812B4D8 - thumb_func_start sub_812B520 sub_812B520: @ 812B520 push {r4-r7,lr} diff --git a/common_syms/help_system_812B1E0.txt b/common_syms/help_system_812B1E0.txt index 0541b5490..7986bedb5 100644 --- a/common_syms/help_system_812B1E0.txt +++ b/common_syms/help_system_812B1E0.txt @@ -1 +1,2 @@ +gUnknown_3005E9C gUnknown_3005EA0 diff --git a/include/constants/flags.h b/include/constants/flags.h index 8ecac9769..eed83d7c6 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -68,6 +68,7 @@ #define FLAG_0x82F 0x82F #define FLAG_0x830 0x830 #define FLAG_0x834 0x834 +#define FLAG_0x83C 0x83C #define FLAG_0x83E 0x83E #define FLAG_0x841 0x841 #define FLAG_0x844 0x844 diff --git a/include/help_system.h b/include/help_system.h index 97acec45e..6eee0dcb3 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -3,11 +3,38 @@ #include "global.h" +struct HelpSystemStruct_203F1AC +{ + +}; + +struct HelpSystemStruct_203F190_sub +{ + struct HelpSystemStruct_203F1AC * field_00; + u16 field_04; + u16 field_06; + u8 field_08; + u8 field_09; + +}; + +struct HelpSystemStruct_203F190 +{ + struct HelpSystemStruct_203F190_sub field_00; + u8 filler_0C[0x10]; +}; + +extern struct HelpSystemStruct_203F190 gUnknown_203F190; +extern struct HelpSystemStruct_203F1AC gUnknown_203F1AC; extern bool8 gUnknown_3005ECC; +extern u8 gUnknown_203F175; -void sub_812B1E0(u16); +void sub_812B1E0(u8); void sub_812B484(void); void HelpSystem_SetSomeVariable2(u8); void sub_812B478(void); +void sub_813C64C(struct HelpSystemStruct_203F190_sub *, u8, u8); +void sub_813BDA4(u8); +void sub_813BD5C(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/overworld.h b/include/overworld.h index a3fe1161f..b8cf58b4d 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -111,5 +111,6 @@ void Overworld_FadeOutMapMusic(void); void sub_805671C(void); void sub_8055DC4(void); bool8 sub_8055FC4(void); +bool8 is_light_level_8_or_9(u8 mapType); #endif //GUARD_ROM4_H diff --git a/include/save_location.h b/include/save_location.h index 69b39ea53..cd499643e 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -7,5 +7,6 @@ bool32 sub_81AFCEC(void); void TrySetMapSaveWarpStatus(void); void sub_81AFDA0(void); void sub_81AFDD0(void); +bool32 IsCurMapPokeCenter(void); #endif // GUARD_SAVE_LOCATION_H diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 4477352d9..2b64a3ab3 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -1,16 +1,32 @@ #include "global.h" #include "event_data.h" +#include "field_player_avatar.h" +#include "help_system.h" +#include "link.h" +#include "overworld.h" +#include "quest_log.h" +#include "save.h" +#include "save_location.h" #include "constants/maps.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; EWRAM_DATA u8 gUnknown_203B0EE = 0; +u8 gUnknown_3005E9C[4]; u16 gUnknown_3005EA0; bool32 sub_812B27C(const u16 * mapIdxs); +void sub_812B4B8(void); +void sub_812B520(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1); +void sub_812BF9C(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1); +void sub_812BF74(const u8 *); + +// strings.h +extern const u8 gUnknown_841DFAC[]; extern const u16 gUnknown_845C594[]; // marts extern const u16 gUnknown_845C5BC[]; // gyms +extern const u8 gUnknown_845C5CE[][3]; void sub_812B1E0(u8 a0) { @@ -73,3 +89,112 @@ bool32 sub_812B27C(const u16 * mapIdxs) return FALSE; } +bool8 sub_812B2C4(void) +{ + u8 i, j; + + for (i = 0; i < 16; i++) + { + for (j = 0; j < gUnknown_845C5CE[i][2]; j++) + { + if ( + gUnknown_845C5CE[i][0] == gSaveBlock1Ptr->location.mapGroup + && gUnknown_845C5CE[i][1] + j == gSaveBlock1Ptr->location.mapNum + && (i != 15 || FlagGet(FLAG_0x849) == TRUE) + ) + return TRUE; + } + } + + return FALSE; +} + +void sub_812B35C(void) +{ + sub_812B4B8(); + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) + HelpSystem_SetSomeVariable2(0x16); + else if (sub_812B2C4()) + HelpSystem_SetSomeVariable2(0x15); + else if (is_light_level_8_or_9(gMapHeader.mapType)) + { + if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F)) || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_2F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_2F))) + HelpSystem_SetSomeVariable2(0x0E); + else if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB)) + HelpSystem_SetSomeVariable2(0x0F); + else if (IsCurMapPokeCenter() == TRUE) + HelpSystem_SetSomeVariable2(0x10); + else if (sub_812B25C() == TRUE) + HelpSystem_SetSomeVariable2(0x11); + else if (sub_812B26C() == TRUE) + HelpSystem_SetSomeVariable2(0x12); + else + HelpSystem_SetSomeVariable2(0x13); + } + else + HelpSystem_SetSomeVariable2(0x14); +} + +bool8 sub_812B40C(void) +{ + if (gUnknown_203B0EE == 1) + return FALSE; + + if (gSaveFileStatus != SAVE_STATUS_EMPTY && gSaveFileStatus != SAVE_STATUS_INVALID && FlagGet(FLAG_0x83C)) + return FALSE; + + FlagSet(FLAG_0x83C); + gUnknown_203B0EE = 1; + return TRUE; +} + +bool8 sub_812B45C(void) +{ + if (gReceivedRemoteLinkPlayers == 1) + return FALSE; + return TRUE; +} + +void sub_812B478(void) +{ + gUnknown_3005ECC = 0; +} + +void sub_812B484(void) +{ + if (gUnknown_203ADFA != 2 && gUnknown_203ADFA != 3) + { + gUnknown_3005ECC = 1; + sub_812B4B8(); + } +} + +void sub_812B4AC(void) +{ + gUnknown_203F175 = 1; +} + +void sub_812B4B8(void) +{ + gUnknown_203F175 = 0; +} + +void sub_812B4C4(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1) +{ + a0->field_00 = a1; + a0->field_04 = 1; + a0->field_06 = 1; + a0->field_08 = 1; + a0->field_09 = 4; +} + +void sub_812B4D8(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1) +{ + sub_812B4C4(a0, a1); + sub_812B520(a0, a1); + sub_812BF74(gUnknown_841DFAC); + sub_813C64C(a0, 0, gUnknown_3005E9C[2]); + sub_812BF9C(a0, a1); + sub_813BDA4(1); + sub_813BD5C(1); +} diff --git a/sym_common.txt b/sym_common.txt index 059a30bb9..429623cb7 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -318,10 +318,6 @@ gUnknown_3005E94: @ 3005E94 gUnknown_3005E98: @ 3005E98 .space 0x4 -gUnknown_3005E9C: @ 3005E9C - .space 0x4 - - .align 4 .include "help_system_812B1E0.o" .align 4 .include "fame_checker.o" -- cgit v1.2.3 From b6709608f53d788db517f2abeaddb6284d64e199 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 19:32:23 -0400 Subject: help_system_812B1E0: through sub_812B5A8 --- asm/help_system_812B1E0.s | 115 ---------------------------------------------- data/data_83FECCC.s | 66 +++++++++++++++++++++----- include/help_system.h | 23 +++++----- include/list_menu.h | 1 + src/help_system_812B1E0.c | 56 ++++++++++++++++++---- 5 files changed, 114 insertions(+), 147 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index a6036015e..77c196c4e 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,121 +5,6 @@ .text - thumb_func_start sub_812B520 -sub_812B520: @ 812B520 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 - movs r3, 0 - ldr r0, _0812B598 @ =gUnknown_845C4B0 - mov r9, r0 - ldr r1, _0812B59C @ =gUnknown_203B0EC - mov r8, r1 - ldr r0, _0812B5A0 @ =gUnknown_845C4B6 - mov r12, r0 - ldr r7, _0812B5A4 @ =gUnknown_845B080 -_0812B53E: - mov r1, r9 - adds r0, r3, r1 - ldrb r2, [r0] - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r0, r2, r0 - add r0, r12 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0812B56C - lsls r1, r4, 3 - adds r1, r5 - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - str r0, [r1] - str r2, [r1, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0812B56C: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - bls _0812B53E - lsls r0, r4, 3 - adds r0, r5 - subs r0, 0x8 - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - movs r0, 0 - strh r4, [r6, 0x4] - strh r4, [r6, 0x6] - strb r0, [r6, 0x8] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812B598: .4byte gUnknown_845C4B0 -_0812B59C: .4byte gUnknown_203B0EC -_0812B5A0: .4byte gUnknown_845C4B6 -_0812B5A4: .4byte gUnknown_845B080 - thumb_func_end sub_812B520 - - thumb_func_start sub_812B5A8 -sub_812B5A8: @ 812B5A8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - bl sub_813BDE8 - movs r0, 0 - bl sub_813BFC0 - movs r0, 0x1 - bl sub_813BE78 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812B4C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812B614 - ldr r0, _0812B608 @ =gUnknown_841DFC9 - bl sub_812BF74 - ldrb r1, [r4, 0xC] - ldrb r2, [r4, 0xD] - adds r0, r4, 0 - bl sub_813C64C - ldr r1, _0812B60C @ =gUnknown_845B080 - ldr r0, _0812B610 @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_813C4CC - movs r0, 0x1 - bl sub_813BDA4 - movs r0, 0x1 - bl sub_813BD5C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812B608: .4byte gUnknown_841DFC9 -_0812B60C: .4byte gUnknown_845B080 -_0812B610: .4byte gUnknown_3005E9C - thumb_func_end sub_812B5A8 - thumb_func_start sub_812B614 sub_812B614: @ 812B614 push {r4-r7,lr} diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index bc4bdc6ed..ffdaa8a67 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -2136,37 +2136,79 @@ gUnknown_841DFA0:: @ 841DFA0 .string "GOLD$" gUnknown_841DFA5:: @ 841DFA5 - .incbin "baserom.gba", 0x41DFA5, 0x7 + .string "{KEYGFX_A_BUTTON}NEXT$" gUnknown_841DFAC:: @ 841DFAC - .incbin "baserom.gba", 0x41DFAC, 0x12 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}END$" gUnknown_841DFBE:: @ 841DFBE - .incbin "baserom.gba", 0x41DFBE, 0xB + .string "{KEYGFX_A_BUTTON}{KEYGFX_B_BUTTON}CANCEL$" gUnknown_841DFC9:: @ 841DFC9 - .incbin "baserom.gba", 0x41DFC9, 0xCA - + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}CANCEL$" + + @ easy chat categories + .string "POKéMON$" + .string "TRAINER$" + .string "STATUS$" + .string "BATTLE$" + .string "GREETINGS$" + .string "PEOPLE$" + .string "VOICES$" + .string "SPEECH$" + .string "ENDINGS$" + .string "FEELINGS$" + .string "CONDITIONS$" + .string "ACTIONS$" + .string "LIFESTYLE$" + .string "HOBBIES$" + .string "TIME$" + .string "MISC.$" + .string "ADJECTIVES$" + .string "EVENTS$" + .string "MOVE 1$" + .string "MOVE 2$" + .string "TRENDY SAYING$" + .string "POKéMON2$" + + @ trade-related gUnknown_841E093:: @ 841E093 - .incbin "baserom.gba", 0x41E093, 0xC + .string "???$" + .string "$" + .string "Lv$" + .string "---$" gUnknown_841E09F:: @ 841E09F - .incbin "baserom.gba", 0x41E09F, 0x6 + .string "????$" + .string "$" gUnknown_841E0A5:: @ 841E0A5 - .incbin "baserom.gba", 0x41E0A5, 0x144 + .string "Is this trade okay?$" + .string "CANCEL$" + .string "Choose a POKéMON.$" + .string "SUMMARY$" + .string "TRADE$" + .string "Cancel trade?$" + .string "Press the B Button to exit.$" + .string "SUMMARY$" + .string "TRADE$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\nPlease wait.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\nfor battle.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\nto finish…$" + .string "Your friend wants\nto trade POKéMON.$" gUnknown_841E1E9:: @ 841E1E9 - .incbin "baserom.gba", 0x41E1E9, 0x17 + .string "{STR_VAR_2} will be\nsent to {STR_VAR_1}.$" gUnknown_841E200:: @ 841E200 - .incbin "baserom.gba", 0x41E200, 0xD + .string "Bye-bye, {STR_VAR_2}!$" gUnknown_841E20D:: @ 841E20D - .incbin "baserom.gba", 0x41E20D, 0x11 + .string "{STR_VAR_1} sent over {STR_VAR_3}.$" gUnknown_841E21E:: @ 841E21E - .incbin "baserom.gba", 0x41E21E, 0x16 + .string "Take good care of {STR_VAR_3}!$" gUnknown_841E234:: @ 841E234 .string "From $" diff --git a/include/help_system.h b/include/help_system.h index 6eee0dcb3..f9aaba907 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -2,30 +2,27 @@ #define GUARD_HELP_SYSTEM_H #include "global.h" - -struct HelpSystemStruct_203F1AC -{ - -}; +#include "list_menu.h" struct HelpSystemStruct_203F190_sub { - struct HelpSystemStruct_203F1AC * field_00; + struct ListMenuItem * field_00; u16 field_04; u16 field_06; u8 field_08; u8 field_09; - }; struct HelpSystemStruct_203F190 { - struct HelpSystemStruct_203F190_sub field_00; - u8 filler_0C[0x10]; + struct HelpSystemStruct_203F190_sub sub; + u8 field_0C; + u8 field_0D; + u8 filler_10[0xC]; }; extern struct HelpSystemStruct_203F190 gUnknown_203F190; -extern struct HelpSystemStruct_203F1AC gUnknown_203F1AC; +extern struct ListMenuItem gUnknown_203F1AC[]; extern bool8 gUnknown_3005ECC; extern u8 gUnknown_203F175; @@ -33,8 +30,12 @@ void sub_812B1E0(u8); void sub_812B484(void); void HelpSystem_SetSomeVariable2(u8); void sub_812B478(void); -void sub_813C64C(struct HelpSystemStruct_203F190_sub *, u8, u8); +void sub_813C64C(struct HelpSystemStruct_203F190 *, u8, u8); +void sub_813C4CC(const u8 *, u8, u8); void sub_813BDA4(u8); void sub_813BD5C(u8); +void sub_813BDE8(u8); +void sub_813BFC0(u8); +void sub_813BE78(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/list_menu.h b/include/list_menu.h index 79dc3ec3f..6116ee39a 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -2,6 +2,7 @@ #define GUARD_LIST_MENU_H #include "global.h" +#include "window.h" // Exported type declarations diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 2b64a3ab3..68ca6adb6 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -17,13 +17,18 @@ u16 gUnknown_3005EA0; bool32 sub_812B27C(const u16 * mapIdxs); void sub_812B4B8(void); -void sub_812B520(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1); -void sub_812BF9C(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1); +void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF74(const u8 *); // strings.h extern const u8 gUnknown_841DFAC[]; +extern const u8 gUnknown_841DFC9[]; +extern const u8 *const gUnknown_845B080[]; +extern const u8 gUnknown_845C4B0[]; +extern const u8 gUnknown_845C4B6[][6]; extern const u16 gUnknown_845C594[]; // marts extern const u16 gUnknown_845C5BC[]; // gyms extern const u8 gUnknown_845C5CE[][3]; @@ -179,16 +184,16 @@ void sub_812B4B8(void) gUnknown_203F175 = 0; } -void sub_812B4C4(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1) +void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { - a0->field_00 = a1; - a0->field_04 = 1; - a0->field_06 = 1; - a0->field_08 = 1; - a0->field_09 = 4; + a0->sub.field_00 = a1; + a0->sub.field_04 = 1; + a0->sub.field_06 = 1; + a0->sub.field_08 = 1; + a0->sub.field_09 = 4; } -void sub_812B4D8(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1) +void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { sub_812B4C4(a0, a1); sub_812B520(a0, a1); @@ -198,3 +203,36 @@ void sub_812B4D8(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStru sub_813BDA4(1); sub_813BD5C(1); } + +void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + u8 i; + u8 r4 = 0; + for (i = 0; i < 6; i++) + { + if (gUnknown_845C4B6[gUnknown_203B0EC][gUnknown_845C4B0[i]] == 1) + { + a1[r4].label = gUnknown_845B080[gUnknown_845C4B0[i]]; + a1[r4].index = gUnknown_845C4B0[i]; + r4++; + } + } + a1[r4 - 1].index = -2; + a0->sub.field_04 = r4; + a0->sub.field_06 = r4; + a0->sub.field_08 = 0; +} + +void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + sub_813BDE8(0); + sub_813BFC0(0); + sub_813BE78(1); + sub_812B4C4(a0, a1); + sub_812B614(a0, a1); + sub_812BF74(gUnknown_841DFC9); + sub_813C64C(a0, a0->field_0C, a0->field_0D); + sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); + sub_813BDA4(1); + sub_813BD5C(1); +} -- cgit v1.2.3 From a556316043d1f5c87d48d98b294e6ee23f8e5a5f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 11:48:53 -0400 Subject: help_system_812B1E0: through sub_812B754 --- asm/help_system_812B1E0.s | 190 ---------------------------------------------- src/help_system_812B1E0.c | 61 +++++++++++++++ 2 files changed, 61 insertions(+), 190 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index 77c196c4e..c41eb680f 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,196 +5,6 @@ .text - thumb_func_start sub_812B614 -sub_812B614: @ 812B614 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r0 - adds r5, r1, 0 - movs r6, 0 - ldr r3, _0812B664 @ =gUnknown_845B9E0 - ldr r0, _0812B668 @ =gUnknown_203B0EC - ldrh r1, [r0] - lsls r0, r1, 2 - ldr r2, _0812B66C @ =gUnknown_3005E9C - adds r0, r1 - ldrb r2, [r2, 0x1] - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldr r3, [r0] - movs r7, 0 - ldrb r0, [r3] - cmp r0, 0xFF - beq _0812B6D0 -_0812B640: - adds r4, r3, r7 - ldrb r0, [r4] - str r3, [sp] - bl sub_812B780 - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp] - cmp r0, 0x1 - bne _0812B6C2 - ldr r0, _0812B66C @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0812B674 - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B670 @ =gUnknown_845B0B0 - b _0812B6AA - .align 2, 0 -_0812B664: .4byte gUnknown_845B9E0 -_0812B668: .4byte gUnknown_203B0EC -_0812B66C: .4byte gUnknown_3005E9C -_0812B670: .4byte gUnknown_845B0B0 -_0812B674: - cmp r0, 0x1 - bne _0812B684 - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B680 @ =gUnknown_845B218 - b _0812B6AA - .align 2, 0 -_0812B680: .4byte gUnknown_845B218 -_0812B684: - cmp r0, 0x2 - bne _0812B694 - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B690 @ =gUnknown_845B3A0 - b _0812B6AA - .align 2, 0 -_0812B690: .4byte gUnknown_845B3A0 -_0812B694: - cmp r0, 0x3 - bne _0812B6A4 - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B6A0 @ =gUnknown_845B500 - b _0812B6AA - .align 2, 0 -_0812B6A0: .4byte gUnknown_845B500 -_0812B6A4: - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B744 @ =gUnknown_845B540 -_0812B6AA: - ldrb r0, [r4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - lsls r0, r6, 3 - adds r0, r5 - ldrb r1, [r4] - str r1, [r0, 0x4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0812B6C2: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r3, r7 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812B640 -_0812B6D0: - bl sub_812B754 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812B710 - movs r7, 0 - ldr r3, _0812B748 @ =gUnknown_845B9BE - ldrb r0, [r3] - cmp r0, 0xFF - beq _0812B710 - ldr r4, _0812B74C @ =gUnknown_845B3A0 -_0812B6E8: - lsls r1, r6, 3 - adds r1, r5 - adds r2, r3, r7 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - ldrb r0, [r2] - str r0, [r1, 0x4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r3, r7 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812B6E8 -_0812B710: - lsls r0, r6, 3 - adds r0, r5 - ldr r1, _0812B750 @ =gUnknown_81B2E6F - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0 - mov r0, r8 - strh r6, [r0, 0x4] - movs r0, 0x7 - mov r2, r8 - strh r0, [r2, 0x6] - strb r1, [r2, 0x8] - movs r0, 0x15 - strb r0, [r2, 0x9] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812B744: .4byte gUnknown_845B540 -_0812B748: .4byte gUnknown_845B9BE -_0812B74C: .4byte gUnknown_845B3A0 -_0812B750: .4byte gUnknown_81B2E6F - thumb_func_end sub_812B614 - - thumb_func_start sub_812B754 -sub_812B754: @ 812B754 - push {lr} - movs r0, 0x96 - lsls r0, 3 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812B778 - ldr r0, _0812B774 @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - cmp r0, 0x2 - bne _0812B778 - movs r0, 0x1 - b _0812B77A - .align 2, 0 -_0812B774: .4byte gUnknown_3005E9C -_0812B778: - movs r0, 0 -_0812B77A: - pop {r1} - bx r1 - thumb_func_end sub_812B754 - thumb_func_start sub_812B780 sub_812B780: @ 812B780 push {r4,r5,lr} diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 68ca6adb6..a6edae3bd 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -19,14 +19,27 @@ bool32 sub_812B27C(const u16 * mapIdxs); void sub_812B4B8(void); void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812B754(void); +bool8 sub_812B780(u8); void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF74(const u8 *); +// event_scripts.h +extern const u8 gUnknown_81B2E6F[]; + // strings.h extern const u8 gUnknown_841DFAC[]; extern const u8 gUnknown_841DFC9[]; +// this file extern const u8 *const gUnknown_845B080[]; +extern const u8 *const gUnknown_845B0B0[]; +extern const u8 *const gUnknown_845B218[]; +extern const u8 *const gUnknown_845B3A0[]; +extern const u8 *const gUnknown_845B500[]; +extern const u8 *const gUnknown_845B540[]; +extern const u8 *const gUnknown_845B9E0[]; +extern const u8 gUnknown_845B9BE[]; extern const u8 gUnknown_845C4B0[]; extern const u8 gUnknown_845C4B6[][6]; extern const u16 gUnknown_845C594[]; // marts @@ -236,3 +249,51 @@ void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) sub_813BDA4(1); sub_813BD5C(1); } + +void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + u8 r6 = 0; + const u8 * r3 = gUnknown_845B9E0[gUnknown_203B0EC * 5 + gUnknown_3005E9C[1]]; + u8 i; + for (i = 0; r3[i] != 0xFF; i++) + { + if (sub_812B780(r3[i]) == TRUE) + { + if (gUnknown_3005E9C[1] == 0) + a1[r6].label = gUnknown_845B0B0[r3[i]]; + else if (gUnknown_3005E9C[1] == 1) + a1[r6].label = gUnknown_845B218[r3[i]]; + else if (gUnknown_3005E9C[1] == 2) + a1[r6].label = gUnknown_845B3A0[r3[i]]; + else if (gUnknown_3005E9C[1] == 3) + a1[r6].label = gUnknown_845B500[r3[i]]; + else + a1[r6].label = gUnknown_845B540[r3[i]]; + a1[r6].index = r3[i]; + r6++; + } + } + if (sub_812B754() == TRUE) + { + for (i = 0, r3 = gUnknown_845B9BE; r3[i] != 0xFF; i++) + { + a1[r6].label = gUnknown_845B3A0[r3[i]]; + a1[r6].index = r3[i]; + r6++; + } + } + a1[r6].label = gUnknown_81B2E6F; + a1[r6].index = -2; + r6++; + a0->sub.field_04 = r6; + a0->sub.field_06 = 7; + a0->sub.field_08 = 0; + a0->sub.field_09 = 21; +} + +bool8 sub_812B754(void) +{ + if (FlagGet(FLAG_0x4B0) == TRUE && gUnknown_3005E9C[1] == 2) + return TRUE; + return FALSE; +} -- cgit v1.2.3 From be45952bc90598657f977f316dd5a112efb48289 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 12:55:45 -0400 Subject: help system data from gUnknown_845B660 onward --- data/help_system_812B1E0.s | 311 ++++++++++++++++++++++++++++++++++++++++++++- src/help_system_812B1E0.c | 2 +- 2 files changed, 306 insertions(+), 7 deletions(-) diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s index 14eed797a..51cdc2818 100644 --- a/data/help_system_812B1E0.s +++ b/data/help_system_812B1E0.s @@ -37,21 +37,320 @@ gUnknown_845B520:: @ 845B520 gUnknown_845B540:: @ 845B540 .incbin "baserom.gba", 0x45B540, 0x90 -gUnknown_845B5D0:: @ 845B5D0 - .incbin "baserom.gba", 0x45B5D0, 0x3EE +gUnknown_845B5D0:: + .incbin "baserom.gba", 0x45B5D0, 0x90 + +gUnknown_845B660:: + .byte 0x01, 0x02, 0x03, 0xff + +gUnknown_845B664:: + .byte 0x01, 0x02, 0x03, 0xff + +gUnknown_845B668:: + .byte 0x13, 0xff + +gUnknown_845B66A:: + .byte 0x01, 0x02, 0x03, 0xff + +gUnknown_845B66E:: + .byte 0x01, 0x25, 0xff + +gUnknown_845B671:: + .byte 0x02, 0x03, 0x04, 0x05, 0x11, 0xff + +gUnknown_845B677:: + .byte 0x09, 0x01, 0xff + +gUnknown_845B67A:: + .byte 0x02, 0x03, 0xff + +gUnknown_845B67D:: + .byte 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff + +gUnknown_845B684:: + .byte 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff + +gUnknown_845B68E:: + .byte 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff + +gUnknown_845B696:: + .byte 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff + +gUnknown_845B6A1:: + .byte 0x16, 0x17, 0x18, 0xff + +gUnknown_845B6A5:: + .byte 0x0a, 0xff + +gUnknown_845B6A7:: + .byte 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff + +gUnknown_845B6AD:: + .byte 0x0a, 0xff + +gUnknown_845B6AF:: + .byte 0x0b, 0xff + +gUnknown_845B6B1:: + .byte 0x2b, 0x19, 0x1a, 0xff + +gUnknown_845B6B5:: + .byte 0x0c, 0xff + +gUnknown_845B6B7:: + .byte 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff + +gUnknown_845B6BF:: + .byte 0x02, 0x03, 0x04, 0xff + +gUnknown_845B6C3:: + .byte 0x01, 0x02, 0x03, 0x07, 0xff + +gUnknown_845B6C8:: + .byte 0x02, 0x04, 0x05, 0x09, 0x25, 0xff + +gUnknown_845B6CE:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B6E2:: + .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff + +gUnknown_845B6E9:: + .byte 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff + +gUnknown_845B6F2:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff + +gUnknown_845B707:: + .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff + +gUnknown_845B70E:: + .byte 0x03, 0x07, 0x04, 0x05, 0x06, 0xff + +gUnknown_845B714:: + .byte 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff + +gUnknown_845B71D:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B731:: + .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff + +gUnknown_845B73D:: + .byte 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff + +gUnknown_845B744:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B758:: + .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff + +gUnknown_845B75F:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B783:: + .byte 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e + .byte 0x1c, 0x28, 0x25, 0xff + +gUnknown_845B7A7:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B7BB:: + .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff + +gUnknown_845B7C4:: + .byte 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e + .byte 0x1c, 0x28, 0x25, 0xff + +gUnknown_845B7E8:: + .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B7F1:: + .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff + +gUnknown_845B7FB:: + .byte 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff + +gUnknown_845B81A:: + .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B823:: + .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff + +gUnknown_845B82C:: + .byte 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff + +gUnknown_845B83E:: + .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B847:: + .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff + +gUnknown_845B850:: + .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff + +gUnknown_845B85D:: + .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff + +gUnknown_845B866:: + .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff + +gUnknown_845B878:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B89C:: + .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff + +gUnknown_845B8A7:: + .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff + +gUnknown_845B8AF:: + .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff + +gUnknown_845B8C1:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B8E5:: + .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff + +gUnknown_845B8F0:: + .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff + +gUnknown_845B8F8:: + .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff + +gUnknown_845B90A:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B92E:: + .byte 0x29, 0x2a, 0x2b, 0xff + +gUnknown_845B932:: + .byte 0x2d, 0x2e, 0x2f, 0x2b, 0xff + +gUnknown_845B937:: + .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff + +gUnknown_845B947:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B96B:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B978:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B985:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B992:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B99F:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B9AC:: + .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff + +gUnknown_845B9B2:: + .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff + +gUnknown_845B9B8:: + .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff gUnknown_845B9BE:: @ 845B9BE - .incbin "baserom.gba", 0x45B9BE, 0x22 + .byte 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff + .align 2 gUnknown_845B9E0:: @ 845B9E0 - .incbin "baserom.gba", 0x45B9E0, 0xAD0 + .4byte NULL, NULL, NULL, NULL, NULL + .4byte NULL, NULL, NULL, gUnknown_845B660, NULL + .4byte NULL, NULL, NULL, gUnknown_845B664, NULL + .4byte NULL, gUnknown_845B668, NULL, gUnknown_845B66A, NULL + .4byte NULL, gUnknown_845B66E, NULL, NULL, NULL + .4byte NULL, gUnknown_845B671, gUnknown_845B677, NULL, NULL + .4byte NULL, gUnknown_845B67A, gUnknown_845B67D, NULL, NULL + .4byte NULL, NULL, gUnknown_845B684, NULL, NULL + .4byte NULL, NULL, gUnknown_845B68E, NULL, NULL + .4byte NULL, gUnknown_845B696, gUnknown_845B6A1, NULL, NULL + .4byte NULL, gUnknown_845B6A5, gUnknown_845B6A7, NULL, NULL + .4byte NULL, gUnknown_845B6AD, NULL, NULL, NULL + .4byte NULL, gUnknown_845B6AF, gUnknown_845B6B1, NULL, NULL + .4byte NULL, gUnknown_845B6B5, gUnknown_845B6B7, NULL, NULL + .4byte gUnknown_845B6BF, NULL, NULL, gUnknown_845B6C3, NULL + .4byte gUnknown_845B6C8, gUnknown_845B6CE, gUnknown_845B6E2, NULL, NULL + .4byte gUnknown_845B6E9, gUnknown_845B6F2, gUnknown_845B707, gUnknown_845B70E, NULL + .4byte gUnknown_845B714, gUnknown_845B71D, gUnknown_845B731, NULL, NULL + .4byte gUnknown_845B73D, gUnknown_845B744, gUnknown_845B758, NULL, gUnknown_845B75F + .4byte gUnknown_845B783, gUnknown_845B7A7, gUnknown_845B7BB, NULL, NULL + .4byte gUnknown_845B7C4, gUnknown_845B7E8, gUnknown_845B7F1, NULL, NULL + .4byte gUnknown_845B7FB, gUnknown_845B81A, gUnknown_845B823, NULL, NULL + .4byte gUnknown_845B82C, gUnknown_845B83E, gUnknown_845B847, NULL, NULL + .4byte gUnknown_845B850, gUnknown_845B85D, gUnknown_845B866, NULL, gUnknown_845B878 + .4byte gUnknown_845B89C, gUnknown_845B8A7, gUnknown_845B8AF, NULL, gUnknown_845B8C1 + .4byte gUnknown_845B8E5, gUnknown_845B8F0, gUnknown_845B8F8, NULL, gUnknown_845B90A + .4byte gUnknown_845B92E, gUnknown_845B932, gUnknown_845B937, NULL, gUnknown_845B947 + .4byte NULL, gUnknown_845B96B, NULL, NULL, NULL + .4byte NULL, gUnknown_845B978, NULL, NULL, NULL + .4byte NULL, gUnknown_845B985, NULL, NULL, NULL + .4byte NULL, gUnknown_845B992, NULL, NULL, NULL + .4byte NULL, gUnknown_845B99F, NULL, NULL, NULL + .4byte NULL, gUnknown_845B9AC, NULL, NULL, NULL + .4byte NULL, gUnknown_845B9B2, NULL, NULL, NULL + .4byte NULL, gUnknown_845B9B8, NULL, NULL, NULL + .4byte NULL, NULL, NULL, NULL, NULL + +gUnknown_845BCB0:: @ 845BCC0 + .incbin "baserom.gba", 0x45BCB0, 0x800 gUnknown_845C4B0:: @ 845C4B0 - .incbin "baserom.gba", 0x45C4B0, 0x6 + .byte 0x03, 0x00, 0x01, 0x02, 0x04, 0x05 gUnknown_845C4B6:: @ 845C4B6 - .incbin "baserom.gba", 0x45C4B6, 0xDE + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .align 1 gUnknown_845C594:: @ 845C594 .2byte MAP_VIRIDIAN_CITY_MART .2byte MAP_PEWTER_CITY_MART diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index a6edae3bd..361ddbcf0 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -38,8 +38,8 @@ extern const u8 *const gUnknown_845B218[]; extern const u8 *const gUnknown_845B3A0[]; extern const u8 *const gUnknown_845B500[]; extern const u8 *const gUnknown_845B540[]; -extern const u8 *const gUnknown_845B9E0[]; extern const u8 gUnknown_845B9BE[]; +extern const u8 *const gUnknown_845B9E0[]; extern const u8 gUnknown_845C4B0[]; extern const u8 gUnknown_845C4B6[][6]; extern const u16 gUnknown_845C594[]; // marts -- cgit v1.2.3 From 2a784c9a5d95d5b50d03c0ae5b1a996287a895d1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 14:24:26 -0400 Subject: Disassemble help system strings --- asm/help_system.s | 18 +- asm/save_failed_screen.s | 2 +- charmap.txt | 49 +- data/data_83FECCC.s | 40 +- data/help_system_812B1E0.s | 391 ++++++- data/map_event_scripts.inc | 26 +- data/text/help_system.inc | 1879 ++++++++++++++++++++++++++++++++++ graphics/help_system/unk_845BCB0.bin | Bin 0 -> 2048 bytes src/fame_checker.c | 6 +- 9 files changed, 2333 insertions(+), 78 deletions(-) create mode 100644 data/text/help_system.inc create mode 100644 graphics/help_system/unk_845BCB0.bin diff --git a/asm/help_system.s b/asm/help_system.s index 7026c65d5..2ea845550 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -1031,8 +1031,8 @@ _0813C06A: _0813C074: .4byte 0x000001fd thumb_func_end sub_813C004 - thumb_func_start sub_813C078 -sub_813C078: @ 813C078 + thumb_func_start HelpSystemRenderText +HelpSystemRenderText: @ 813C078 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1421,7 +1421,7 @@ _0813C39C: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_813C078 + thumb_func_end HelpSystemRenderText thumb_func_start sub_813C3AC sub_813C3AC: @ 813C3AC @@ -1527,7 +1527,7 @@ sub_813C454: @ 813C454 movs r0, 0x5 adds r2, r4, 0 movs r3, 0x6 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0xC pop {r4} pop {r0} @@ -1562,7 +1562,7 @@ sub_813C488: @ 813C488 movs r0, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0xC pop {r4,r5} pop {r0} @@ -1595,7 +1595,7 @@ sub_813C4CC: @ 813C4CC movs r0, 0x2 adds r2, r6, 0 adds r3, r5, 0 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0xC pop {r4-r6} pop {r0} @@ -1636,7 +1636,7 @@ sub_813C50C: @ 813C50C adds r1, r4, 0 mov r2, r8 movs r3, 0 - bl sub_813C078 + bl HelpSystemRenderText movs r0, 0x9C lsls r0, 4 adds r4, r0 @@ -1648,7 +1648,7 @@ sub_813C50C: @ 813C50C adds r1, r4, 0 mov r2, r9 movs r3, 0 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0x10 pop {r3,r4} mov r8, r3 @@ -1690,7 +1690,7 @@ sub_813C584: @ 813C584 adds r1, r4, 0 adds r2, r5, 0 movs r3, 0x2 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0x10 pop {r4,r5} pop {r0} diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s index cbb07e4c7..4c2ac1f7e 100644 --- a/asm/save_failed_screen.s +++ b/asm/save_failed_screen.s @@ -419,7 +419,7 @@ sub_80F5404: @ 80F5404 adds r1, r4, 0 adds r2, r5, 0 movs r3, 0x2 - bl sub_813C078 + bl HelpSystemRenderText bl sub_80F5334 add sp, 0x10 pop {r4,r5} diff --git a/charmap.txt b/charmap.txt index 11941ca58..fe0747616 100644 --- a/charmap.txt +++ b/charmap.txt @@ -323,14 +323,47 @@ TALL_PLUS = FC 0C FB @ TODO: Identify and declare F7 control codes UNKNOWN_F7 = F7 -UNKNOWN_F8 = F8 -UNKNOWN_F9 = F9 +KEYGFX = F8 +EXTRA = F9 -KEYGFX_A_BUTTON = F8 00 -KEYGFX_B_BUTTON = F8 01 -KEYGFX_START_BUTTON = F8 04 -KEYGFX_DPAD_UP_DOWN = F8 0A -KEYGFX_DPAD_ANY = F8 0C +KEYGFX_A_BUTTON = F8 00 +KEYGFX_B_BUTTON = F8 01 +KEYGFX_L_BUTTON = F8 02 +KEYGFX_R_BUTTON = F8 03 +KEYGFX_START_BUTTON = F8 04 +KEYGFX_SELECT_BUTTON = F8 05 +KEYGFX_DPAD_UP = F8 06 +KEYGFX_DPAD_DOWN = F8 07 +KEYGFX_DPAD_LEFT = F8 08 +KEYGFX_DPAD_RIGHT = F8 09 +KEYGFX_DPAD_UP_DOWN = F8 0A +KEYGFX_DPAD_LEFT_RIGHT = F8 0B +KEYGFX_DPAD_ANY = F8 0C + +EXTRA_UPARROW = F9 00 +EXTRA_DOWNARROW = F9 01 +EXTRA_LEFTARROW = F9 02 +EXTRA_RIGHTARROW = F9 03 +EXTRA_PLUS = F9 04 +EXTRA_LV = F9 05 +EXTRA_PP = F9 06 +EXTRA_ID = F9 07 +EXTRA_NO = F9 08 +EXTRA_UNDERSCORE = F9 09 +EXTRA_CIRCLE_1 = F9 0A +EXTRA_CIRCLE_2 = F9 0B +EXTRA_CIRCLE_3 = F9 0C +EXTRA_CIRCLE_4 = F9 0D +EXTRA_CIRCLE_5 = F9 0E +EXTRA_CIRCLE_6 = F9 0F +EXTRA_CIRCLE_7 = F9 10 +EXTRA_CIRCLE_8 = F9 11 +EXTRA_CIRCLE_9 = F9 12 +EXTRA_LEFT_PAREN = F9 13 +EXTRA_RIGHT_PAREN = F9 14 +EXTRA_TARGET = F9 15 +EXTRA_TRIANGLE = F9 16 +EXTRA_X = F9 17 STRING = FD @@ -377,7 +410,7 @@ PAUSE_UNTIL_PRESS = FC 09 UNKNOWN_A = FC 0A PLAY_BGM = FC 0B ESCAPE = FC 0C -SHIFT_TEXT = FC 0D +SHIFT_TEXT = FC 0D UNKNOWN_E = FC 0E UNKNOWN_F = FC 0F PLAY_SE = FC 10 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index ffdaa8a67..f5066705e 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -818,22 +818,22 @@ gUnknown_8416221:: @ 8416221 .string "♀$" gText_Lv:: @ 8416223 - .string "{UNKNOWN_F9 0x05}$" + .string "{EXTRA_LV}$" gOtherText_UnkF9_08_Clear_01:: @ 8416226 - .string "{UNKNOWN_F9 0x08}{CLEAR 0x01}$" + .string "{EXTRA_NO}{CLEAR 0x01}$" gUnknown_841622C:: - .string "{UNKNOWN_F9 0x04}$" + .string "{EXTRA_PLUS}$" gUnknown_841622F:: .string "{ESCAPE 0x03}$" gUnknown_8416233:: - .string "{UNKNOWN_F9 0x07}{UNKNOWN_F9 0x08}$" + .string "{EXTRA_ID}{EXTRA_NO}$" gUnknown_8416238:: @ 8416238 - .string "{UNKNOWN_F9 0x06}$" + .string "{EXTRA_PP}$" gFameCheckerText_ListMenuCursor:: @ 841623B .string "▶$" @@ -1569,64 +1569,64 @@ gUnknown_841979D:: @ 841979D gUnknown_84197B8:: @ 84197B8 .string "{UNKNOWN_F7 0x00} nature.\n" .string "Met in a fateful encounter when\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_84197ED:: @ 84197ED .string "{UNKNOWN_F7 0x00} nature.\n" .string "Met in a fateful encounter when\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_8419822:: @ 8419822 .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in {UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "Met in {UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_8419841:: @ 8419841 .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in {UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "Met in {UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_8419860:: @ 8419860 .string "{UNKNOWN_F7 0x00} nature.\n" .string "Apparently met in {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_841988A:: @ 841988A .string "{UNKNOWN_F7 0x00} nature.\n" .string "Apparently met in {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_84198B4:: @ 84198B4 .string "{UNKNOWN_F7 0x00} nature.\n" .string "Hatched: {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_84198D5:: @ 84198D5 .string "{UNKNOWN_F7 0x00} nature.\n" .string "Hatched: {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" @ TODO: Replace this gibberish with the proper Hiragana gUnknown_84198F6:: @ 84198F6 - .string "{UNKNOWN_F7 0x00}ßÓÁÉË {UNKNOWN_F9 0x05}{UNKNOWN_F7 0x01}çÑÊ\n" + .string "{UNKNOWN_F7 0x00}ßÓÁÉË {EXTRA_LV}{UNKNOWN_F7 0x01}çÑÊ\n" .string "{UNKNOWN_F7 0x02}で ÉÇっŒ ùÂだ$" gUnknown_8419913:: @ 8419913 - .string "{UNKNOWN_F7 0x00}ÓÁÉË {UNKNOWN_F9 0x05}{UNKNOWN_F7 0x01}çÑÊ\n" + .string "{UNKNOWN_F7 0x00}ÓÁÉË {EXTRA_LV}{UNKNOWN_F7 0x01}çÑÊ\n" .string "{UNKNOWN_F7 0x02}で ÉÇっŒ ùÂだ$" gUnknown_841992F:: @ 841992F .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" gUnknown_841996D:: @ 841996D .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" gUnknown_84199AB:: @ 84199AB .string "{UNKNOWN_F7 0x00} nature. Apparently met in\n" .string "a fateful encounter (hatched:\n" - .string "{UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" + .string "{UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" gUnknown_84199F4:: @ 84199F4 .incbin "baserom.gba", 0x4199F4, 0x217 @@ -2283,7 +2283,7 @@ gUnknown_841E2F5:: @ 841E2F5 .incbin "baserom.gba", 0x41e2f5, 0x2d gUnknown_841E322:: @ 841E322 - .string "{UNKNOWN_F9 0x07}$" + .string "{EXTRA_ID}$" gUnknown_841E325:: @ 841E325 .string "Communication standby…$" @@ -2343,7 +2343,7 @@ gFameCheckerText_PickScreenUI:: @ 841E5B9 .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" gFameCheckerText_FlavorTextUI:: @ 841E5D2 - .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" + .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" gFameCheckerOakName:: @ 841E5E9 .string "OAK$" diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s index 51cdc2818..fcdaf935a 100644 --- a/data/help_system_812B1E0.s +++ b/data/help_system_812B1E0.s @@ -5,40 +5,404 @@ .section .rodata .align 2, 0 gUnknown_845B080:: @ 845B080 - .incbin "baserom.gba", 0x45B080, 0x18 + .4byte gUnknown_81B2DF8 + .4byte gUnknown_81B2E1C + .4byte gUnknown_81B2E2E + .4byte gUnknown_81B2E48 + .4byte gUnknown_81B2E58 + .4byte gUnknown_81B2E6A gUnknown_845B098:: @ 845B098 - .incbin "baserom.gba", 0x45B098, 0x18 + .4byte gUnknown_81B2E88 + .4byte gUnknown_81B2EC8 + .4byte gUnknown_81B2F00 + .4byte gUnknown_81B2F43 + .4byte gUnknown_81B2F74 + .4byte gUnknown_81B2FA9 gUnknown_845B0B0:: @ 845B0B0 - .incbin "baserom.gba", 0x45B0B0, 0xB4 + .4byte NULL + .4byte gUnknown_81B3083 + .4byte gUnknown_81B30A9 + .4byte gUnknown_81B30C1 + .4byte gUnknown_81B30DC + .4byte gUnknown_81B30FC + .4byte gUnknown_81B311F + .4byte gUnknown_81B3140 + .4byte gUnknown_81B314F + .4byte gUnknown_81B3168 + .4byte gUnknown_81B3189 + .4byte gUnknown_81B31AE + .4byte gUnknown_81B31D3 + .4byte gUnknown_81B31EC + .4byte gUnknown_81B31FF + .4byte gUnknown_81B3215 + .4byte gUnknown_81B3226 + .4byte gUnknown_81B3243 + .4byte gUnknown_81B3261 + .4byte gUnknown_81B3276 + .4byte gUnknown_81B3290 + .4byte gUnknown_81B32B6 + .4byte gUnknown_81B32CD + .4byte gUnknown_81B32E3 + .4byte gUnknown_81B32F9 + .4byte gUnknown_81B330B + .4byte gUnknown_81B332B + .4byte gUnknown_81B3344 + .4byte gUnknown_81B335C + .4byte gUnknown_81B3373 + .4byte gUnknown_81B338C + .4byte gUnknown_81B33A6 + .4byte gUnknown_81B33CA + .4byte gUnknown_81B33EA + .4byte gUnknown_81B3402 + .4byte gUnknown_81B3427 + .4byte gUnknown_81B3440 + .4byte gUnknown_81B3457 + .4byte gUnknown_81B346F + .4byte gUnknown_81B3481 + .4byte gUnknown_81B349B + .4byte gUnknown_81B34B7 + .4byte gUnknown_81B34D6 + .4byte gUnknown_81B34F6 + .4byte gUnknown_81B3516 gUnknown_845B164:: @ 845B164 - .incbin "baserom.gba", 0x45B164, 0xB4 + .4byte NULL + .4byte gUnknown_81B3525 + .4byte gUnknown_81B35E6 + .4byte gUnknown_81B36EB + .4byte gUnknown_81B379A + .4byte gUnknown_81B3849 + .4byte gUnknown_81B3876 + .4byte gUnknown_81B3972 + .4byte gUnknown_81B3A51 + .4byte gUnknown_81B3ACC + .4byte gUnknown_81B3BB6 + .4byte gUnknown_81B3C99 + .4byte gUnknown_81B3D1B + .4byte gUnknown_81B3DE3 + .4byte gUnknown_81B3EBC + .4byte gUnknown_81B3F7F + .4byte gUnknown_81B406C + .4byte gUnknown_81B410B + .4byte gUnknown_81B41D7 + .4byte gUnknown_81B42B3 + .4byte gUnknown_81B439D + .4byte gUnknown_81B4483 + .4byte gUnknown_81B457C + .4byte gUnknown_81B4645 + .4byte gUnknown_81B470A + .4byte gUnknown_81B47F0 + .4byte gUnknown_81B48C6 + .4byte gUnknown_81B497A + .4byte gUnknown_81B4A72 + .4byte gUnknown_81B4B65 + .4byte gUnknown_81B4C54 + .4byte gUnknown_81B4D26 + .4byte gUnknown_81B4E0B + .4byte gUnknown_81B4ED8 + .4byte gUnknown_81B4FB2 + .4byte gUnknown_81B4FFD + .4byte gUnknown_81B50FF + .4byte gUnknown_81B51B1 + .4byte gUnknown_81B5272 + .4byte gUnknown_81B5325 + .4byte gUnknown_81B5382 + .4byte gUnknown_81B547C + .4byte gUnknown_81B54E1 + .4byte gUnknown_81B5589 + .4byte gUnknown_81B55F4 gUnknown_845B218:: @ 845B218 - .incbin "baserom.gba", 0x45B218, 0xC4 + .4byte NULL + .4byte gUnknown_81B56E3 + .4byte gUnknown_81B56F4 + .4byte gUnknown_81B5705 + .4byte gUnknown_81B5717 + .4byte gUnknown_81B5728 + .4byte gUnknown_81B5737 + .4byte gUnknown_81B5744 + .4byte gUnknown_81B5754 + .4byte gUnknown_81B5767 + .4byte gUnknown_81B577B + .4byte gUnknown_81B5787 + .4byte gUnknown_81B5795 + .4byte gUnknown_81B57A5 + .4byte gUnknown_81B57B8 + .4byte gUnknown_81B57CF + .4byte gUnknown_81B57DE + .4byte gUnknown_81B57EE + .4byte gUnknown_81B580D + .4byte gUnknown_81B5824 + .4byte gUnknown_81B5834 + .4byte gUnknown_81B583F + .4byte gUnknown_81B5850 + .4byte gUnknown_81B5863 + .4byte gUnknown_81B5875 + .4byte gUnknown_81B5884 + .4byte gUnknown_81B5893 + .4byte gUnknown_81B58A4 + .4byte gUnknown_81B58BC + .4byte gUnknown_81B58D3 + .4byte gUnknown_81B58E5 + .4byte gUnknown_81B58FD + .4byte gUnknown_81B590E + .4byte gUnknown_81B591D + .4byte gUnknown_81B592E + .4byte gUnknown_81B593E + .4byte gUnknown_81B5950 + .4byte gUnknown_81B595D + .4byte gUnknown_81B5974 + .4byte gUnknown_81B5989 + .4byte gUnknown_81B59A7 + .4byte gUnknown_81B59BF + .4byte gUnknown_81B59D6 + .4byte gUnknown_81B59E8 + .4byte gUnknown_81B59F5 + .4byte gUnknown_81B5A0D + .4byte gUnknown_81B5A1B + .4byte gUnknown_81B5A29 + .4byte gUnknown_81B5A37 gUnknown_845B2DC:: @ 845B2DC - .incbin "baserom.gba", 0x45B2DC, 0xC4 + .4byte NULL + .4byte gUnknown_81B5A4D + .4byte gUnknown_81B5B0C + .4byte gUnknown_81B5B7D + .4byte gUnknown_81B5C13 + .4byte gUnknown_81B5CDF + .4byte gUnknown_81B5D87 + .4byte gUnknown_81B5E41 + .4byte gUnknown_81B5F10 + .4byte gUnknown_81B5FA6 + .4byte gUnknown_81B606C + .4byte gUnknown_81B6140 + .4byte gUnknown_81B6203 + .4byte gUnknown_81B62E4 + .4byte gUnknown_81B6397 + .4byte gUnknown_81B6478 + .4byte gUnknown_81B6525 + .4byte gUnknown_81B65E7 + .4byte gUnknown_81B66BA + .4byte gUnknown_81B678E + .4byte gUnknown_81B6883 + .4byte gUnknown_81B68CD + .4byte gUnknown_81B69B9 + .4byte gUnknown_81B6A9A + .4byte gUnknown_81B6B6E + .4byte gUnknown_81B6C4F + .4byte gUnknown_81B6D4A + .4byte gUnknown_81B6E02 + .4byte gUnknown_81B6EC1 + .4byte gUnknown_81B6FA8 + .4byte gUnknown_81B7075 + .4byte gUnknown_81B7108 + .4byte gUnknown_81B71EA + .4byte gUnknown_81B723B + .4byte gUnknown_81B7319 + .4byte gUnknown_81B73E8 + .4byte gUnknown_81B747E + .4byte gUnknown_81B752C + .4byte gUnknown_81B7611 + .4byte gUnknown_81B7692 + .4byte gUnknown_81B771E + .4byte gUnknown_81B77DD + .4byte gUnknown_81B7884 + .4byte gUnknown_81B7931 + .4byte gUnknown_81B79CB + .4byte gUnknown_81B7A60 + .4byte gUnknown_81B7AEE + .4byte gUnknown_81B7BBE + .4byte gUnknown_81B7C57 gUnknown_845B3A0:: @ 845B3A0 - .incbin "baserom.gba", 0x45B3A0, 0xB0 + .4byte NULL + .4byte gUnknown_81B7CC1 + .4byte gUnknown_81B7CC4 + .4byte gUnknown_81B7CD9 + .4byte gUnknown_81B7CDF + .4byte gUnknown_81B7CE6 + .4byte gUnknown_81B7CEE + .4byte gUnknown_81B7CF6 + .4byte gUnknown_81B7CFE + .4byte gUnknown_81B7D04 + .4byte gUnknown_81B7D12 + .4byte gUnknown_81B7D17 + .4byte gUnknown_81B7D1A + .4byte gUnknown_81B7D1F + .4byte gUnknown_81B7D27 + .4byte gUnknown_81B7D2D + .4byte gUnknown_81B7D37 + .4byte gUnknown_81B7D3E + .4byte gUnknown_81B7D45 + .4byte gUnknown_81B7D48 + .4byte gUnknown_81B7D4E + .4byte gUnknown_81B7D57 + .4byte gUnknown_81B7D5B + .4byte gUnknown_81B7D61 + .4byte gUnknown_81B7D6B + .4byte gUnknown_81B7D76 + .4byte gUnknown_81B7D7E + .4byte gUnknown_81B7D88 + .4byte gUnknown_81B7D8F + .4byte gUnknown_81B7D9A + .4byte gUnknown_81B7DA7 + .4byte gUnknown_81B7DB4 + .4byte gUnknown_81B7DBA + .4byte gUnknown_81B7DC6 + .4byte gUnknown_81B7DCC + .4byte gUnknown_81B7DD3 + .4byte gUnknown_81B7DD6 + .4byte gUnknown_81B7DD9 + .4byte gUnknown_81B7DE1 + .4byte gUnknown_81B7DEB + .4byte gUnknown_81B7DFA + .4byte gUnknown_81B7E02 + .4byte gUnknown_81B7E09 + .4byte gUnknown_81B7E0F gUnknown_845B450:: @ 845B450 - .incbin "baserom.gba", 0x45B450, 0xB0 + .4byte NULL + .4byte gUnknown_81B7E16 + .4byte gUnknown_81B7F0A + .4byte gUnknown_81B800A + .4byte gUnknown_81B80EC + .4byte gUnknown_81B81C2 + .4byte gUnknown_81B8256 + .4byte gUnknown_81B8348 + .4byte gUnknown_81B83EF + .4byte gUnknown_81B847B + .4byte gUnknown_81B8550 + .4byte gUnknown_81B8647 + .4byte gUnknown_81B86E2 + .4byte gUnknown_81B87B8 + .4byte gUnknown_81B8897 + .4byte gUnknown_81B8924 + .4byte gUnknown_81B8A04 + .4byte gUnknown_81B8A84 + .4byte gUnknown_81B8B62 + .4byte gUnknown_81B8C18 + .4byte gUnknown_81B8C94 + .4byte gUnknown_81B8D1D + .4byte gUnknown_81B8DD4 + .4byte gUnknown_81B8E67 + .4byte gUnknown_81B8F4D + .4byte gUnknown_81B901B + .4byte gUnknown_81B90A7 + .4byte gUnknown_81B90E8 + .4byte gUnknown_81B9170 + .4byte gUnknown_81B91C2 + .4byte gUnknown_81B91F9 + .4byte gUnknown_81B92B8 + .4byte gUnknown_81B92ED + .4byte gUnknown_81B93D8 + .4byte gUnknown_81B9439 + .4byte gUnknown_81B9497 + .4byte gUnknown_81B9560 + .4byte gUnknown_81B9656 + .4byte gUnknown_81B9749 + .4byte gUnknown_81B984F + .4byte gUnknown_81B991C + .4byte gUnknown_81B99C4 + .4byte gUnknown_81B9AA2 + .4byte gUnknown_81B9B2F gUnknown_845B500:: @ 845B500 - .incbin "baserom.gba", 0x45B500, 0x20 + .4byte NULL + .4byte gUnknown_81B9BB7 + .4byte gUnknown_81B9BC7 + .4byte gUnknown_81B9BD0 + .4byte gUnknown_81B9BE1 + .4byte gUnknown_81B9BF5 + .4byte gUnknown_81B9C09 + .4byte gUnknown_81B9C1D gUnknown_845B520:: @ 845B520 - .incbin "baserom.gba", 0x45B520, 0x20 + .4byte NULL + .4byte gUnknown_81B9C2F + .4byte gUnknown_81B9D04 + .4byte gUnknown_81B9DC5 + .4byte gUnknown_81B9E75 + .4byte gUnknown_81B9F09 + .4byte gUnknown_81B9FCE + .4byte gUnknown_81BA027 gUnknown_845B540:: @ 845B540 - .incbin "baserom.gba", 0x45B540, 0x90 + .4byte NULL + .4byte gUnknown_81BA0F1 + .4byte gUnknown_81BA10D + .4byte gUnknown_81BA121 + .4byte gUnknown_81BA138 + .4byte gUnknown_81BA14C + .4byte gUnknown_81BA163 + .4byte gUnknown_81BA17A + .4byte gUnknown_81BA194 + .4byte gUnknown_81BA1AC + .4byte gUnknown_81BA1C7 + .4byte gUnknown_81BA1DC + .4byte gUnknown_81BA1F4 + .4byte gUnknown_81BA209 + .4byte gUnknown_81BA221 + .4byte gUnknown_81BA234 + .4byte gUnknown_81BA24A + .4byte gUnknown_81BA260 + .4byte gUnknown_81BA279 + .4byte gUnknown_81BA291 + .4byte gUnknown_81BA2AC + .4byte gUnknown_81BA2C2 + .4byte gUnknown_81BA2DB + .4byte gUnknown_81BA2F1 + .4byte gUnknown_81BA30A + .4byte gUnknown_81BA320 + .4byte gUnknown_81BA339 + .4byte gUnknown_81BA34E + .4byte gUnknown_81BA366 + .4byte gUnknown_81BA37C + .4byte gUnknown_81BA395 + .4byte gUnknown_81BA3A9 + .4byte gUnknown_81BA3C0 + .4byte gUnknown_81BA3D5 + .4byte gUnknown_81BA3ED + .4byte gUnknown_81BA400 gUnknown_845B5D0:: - .incbin "baserom.gba", 0x45B5D0, 0x90 + .4byte NULL + .4byte gUnknown_81BA416 + .4byte gUnknown_81BA4E6 + .4byte gUnknown_81BA539 + .4byte gUnknown_81BA595 + .4byte gUnknown_81BA5F2 + .4byte gUnknown_81BA66F + .4byte gUnknown_81BA6C9 + .4byte gUnknown_81BA71F + .4byte gUnknown_81BA796 + .4byte gUnknown_81BA7E9 + .4byte gUnknown_81BA862 + .4byte gUnknown_81BA8D3 + .4byte gUnknown_81BA92A + .4byte gUnknown_81BA98D + .4byte gUnknown_81BA9F1 + .4byte gUnknown_81BAA44 + .4byte gUnknown_81BAAB6 + .4byte gUnknown_81BAB18 + .4byte gUnknown_81BAB7A + .4byte gUnknown_81BABCC + .4byte gUnknown_81BAC29 + .4byte gUnknown_81BAC89 + .4byte gUnknown_81BACC4 + .4byte gUnknown_81BAD20 + .4byte gUnknown_81BAD60 + .4byte gUnknown_81BADA2 + .4byte gUnknown_81BADF7 + .4byte gUnknown_81BAEA8 + .4byte gUnknown_81BAF01 + .4byte gUnknown_81BAF6B + .4byte gUnknown_81BAFCA + .4byte gUnknown_81BB02E + .4byte gUnknown_81BB084 + .4byte gUnknown_81BB0DF + .4byte gUnknown_81BB156 gUnknown_845B660:: .byte 0x01, 0x02, 0x03, 0xff @@ -305,8 +669,9 @@ gUnknown_845B9E0:: @ 845B9E0 .4byte NULL, gUnknown_845B9B8, NULL, NULL, NULL .4byte NULL, NULL, NULL, NULL, NULL + @ unreferenced tilemap gUnknown_845BCB0:: @ 845BCC0 - .incbin "baserom.gba", 0x45BCB0, 0x800 + .incbin "graphics/help_system/unk_845BCB0.bin" gUnknown_845C4B0:: @ 845C4B0 .byte 0x03, 0x00, 0x01, 0x02, 0x04, 0x05 diff --git a/data/map_event_scripts.inc b/data/map_event_scripts.inc index 9a41120b1..460477812 100644 --- a/data/map_event_scripts.inc +++ b/data/map_event_scripts.inc @@ -3257,31 +3257,9 @@ CeladonCity_GameCorner_EventScript_1B2867:: @ 81B2867 .incbin "baserom.gba", 0x1B2867, 0xD1 FourIsland_House2_EventScript_1B2938:: @ 81B2938 - .incbin "baserom.gba", 0x1B2938, 0x4E4 + .incbin "baserom.gba", 0x1B2938, 0x4C0 -gUnknown_81B2E1C:: @ 81B2E1C - .string "How do I do this?$" - -gUnknown_81B2E2E:: @ 81B2E2E - .string "What does this term mean?$" - -gUnknown_81B2E48:: @ 81B2E48 - .string "About this game$" - -gUnknown_81B2E58:: @ 81B2E58 - .string "Type Matchup List$" - -gUnknown_81B2E6A:: @ 81B2E6A - .string "EXIT$" - -gUnknown_81B2E6F:: @ 81B2E6F - .incbin "baserom.gba", 0x1B2E6F, 0x15A - -gUnknown_81B2FC9:: @ 81B2FC9 - .incbin "baserom.gba", 0x1B2FC9, 0x52 - -gUnknown_81B301B:: @ 81B301B - .incbin "baserom.gba", 0x1B301B, 0x8199 + .include "data/text/help_system.inc" CeladonCity_PokemonCenter_2F_MapScript4_1BB1B4:: @ 81BB1B4 CeruleanCity_PokemonCenter_2F_MapScript4_1BB1B4:: @ 81BB1B4 diff --git a/data/text/help_system.inc b/data/text/help_system.inc new file mode 100644 index 000000000..a85af88a8 --- /dev/null +++ b/data/text/help_system.inc @@ -0,0 +1,1879 @@ +gUnknown_81B2DF8:: @ 81B2DF8 + .string "What should I do in this situation?$" + +gUnknown_81B2E1C:: @ 81B2E1C + .string "How do I do this?$" + +gUnknown_81B2E2E:: @ 81B2E2E + .string "What does this term mean?$" + +gUnknown_81B2E48:: @ 81B2E48 + .string "About this game$" + +gUnknown_81B2E58:: @ 81B2E58 + .string "Type Matchup List$" + +gUnknown_81B2E6A:: @ 81B2E6A + .string "EXIT$" + +gUnknown_81B2E6F:: @ 81B2E6F + .string "CANCEL$" + +gUnknown_81B2E76:: + .string "じぶんの ちからで やってみよう!$" + +gUnknown_81B2E88:: @ 81B2E88 + .string "Select to obtain hints for getting\n" + .string "over challenging situations.$" + +gUnknown_81B2EC8:: @ 81B2EC8 + .string "Detailed instructions are given for\n" + .string "various operations.$" + +gUnknown_81B2F00:: @ 81B2F00 + .string "Detailed descriptions are given for\n" + .string "terms that appear in the game.$" + +gUnknown_81B2F43:: @ 81B2F43 + .string "Detailed descriptions are given\n" + .string "about this game.$" + +gUnknown_81B2F74:: @ 81B2F74 + .string "The matchups of POKéMON types\n" + .string "and moves are listed.$" + +gUnknown_81B2FA9:: @ 81B2FA9 + .string "Select to exit the HELP System.$" + +gUnknown_81B2FC9:: @ 81B2FC9 + .string "Greetings! This is the HELP System.\n" + .string "Call me up whenever and wherever you\l" + .string "need by p" + +gUnknown_81B301B:: @ 81B301B + .string "ressing the L or R Button.\l" + .string "The help messages change to suit the\l" + .string "situation, so check them often, please.$" + +gUnknown_81B3083:: @ 81B3083 + .string "I'm playing for the first time. Help!$" + +gUnknown_81B30A9:: @ 81B30A9 + .string "What should I be doing?$" + +gUnknown_81B30C1:: @ 81B30C1 + .string "I can't get out of a room!$" + +gUnknown_81B30DC:: @ 81B30DC + .string "I can't find the person I want.$" + +gUnknown_81B30FC:: @ 81B30FC + .string "I've talked to everyone. Now what?$" + +gUnknown_81B311F:: @ 81B311F + .string "There's someone blocking my way!$" + +gUnknown_81B3140:: @ 81B3140 + .string "I can't go on!$" + +gUnknown_81B314F:: @ 81B314F + .string "I'm out of things to do.$" + +gUnknown_81B3168:: @ 81B3168 + .string "What happened to the item I got?$" + +gUnknown_81B3189:: @ 81B3189 + .string "What are the basics of my adventure?$" + +gUnknown_81B31AE:: @ 81B31AE + .string "How are roads and forests different?$" + +gUnknown_81B31D3:: @ 81B31D3 + .string "How are caves different?$" + +gUnknown_81B31EC:: @ 81B31EC + .string "How do I progress?$" + +gUnknown_81B31FF:: @ 81B31FF + .string "When can I use items?$" + +gUnknown_81B3215:: @ 81B3215 + .string "What's a battle?$" + +gUnknown_81B3226:: @ 81B3226 + .string "How do I prepare for battle?$" + +gUnknown_81B3243:: @ 81B3243 + .string "What is a POKéMON's vitality?$" + +gUnknown_81B3261:: @ 81B3261 + .string "My POKéMON are hurt!$" + +gUnknown_81B3276:: @ 81B3276 + .string "What is a status problem?$" + +gUnknown_81B3290:: @ 81B3290 + .string "What happens if all my POKéMON faint?$" + +gUnknown_81B32B6:: @ 81B32B6 + .string "I can't catch POKéMON!$" + +gUnknown_81B32CD:: @ 81B32CD + .string "I ran out of POTIONS.$" + +gUnknown_81B32E3:: @ 81B32E3 + .string "Can I buy POKé BALLS?$" + +gUnknown_81B32F9:: @ 81B32F9 + .string "What's a TRAINER?$" + +gUnknown_81B330B:: @ 81B330B + .string "How do I win against a TRAINER?$" + +gUnknown_81B332B:: @ 81B332B + .string "Where do POKéMON appear?$" + +gUnknown_81B3344:: @ 81B3344 + .string "What are POKéMON moves?$" + +gUnknown_81B335C:: @ 81B335C + .string "What are HIDDEN moves?$" + +gUnknown_81B3373:: @ 81B3373 + .string "What moves should I use?$" + +gUnknown_81B338C:: @ 81B338C + .string "I want to add more moves.$" + +gUnknown_81B33A6:: @ 81B33A6 + .string "I want to make my POKéMON stronger.$" + +gUnknown_81B33CA:: @ 81B33CA + .string "The foe POKéMON are too strong!$" + +gUnknown_81B33EA:: @ 81B33EA + .string "What do I do in a cave?$" + +gUnknown_81B3402:: @ 81B3402 + .string "There's nothing that I want to know!$" + +gUnknown_81B3427:: @ 81B3427 + .string "What's a POKéMON CENTER?$" + +gUnknown_81B3440:: @ 81B3440 + .string "What's a POKéMON MART?$" + +gUnknown_81B3457:: @ 81B3457 + .string "I want to end the game.$" + +gUnknown_81B346F:: @ 81B346F + .string "What's a POKéMON?$" + +gUnknown_81B3481:: @ 81B3481 + .string "What is that person like?$" + +gUnknown_81B349B:: @ 81B349B + .string "What does a HIDDEN move do?$" + +gUnknown_81B34B7:: @ 81B34B7 + .string "What do I do in a SAFARI GAME?$" + +gUnknown_81B34D6:: @ 81B34D6 + .string "What are the SAFARI GAME rules?$" + +gUnknown_81B34F6:: @ 81B34F6 + .string "I want to end this SAFARI GAME!$" + +gUnknown_81B3516:: @ 81B3516 + .string "What is a GYM?$" + +gUnknown_81B3525:: @ 81B3525 + .string "You become the main character,\n" + .string "exploring the world of POKéMON.\l" + .string "By talking to people and solving\l" + .string "mysteries, new paths will open to you.\l" + .string "Strive for the goal together with your\l" + .string "wonderful POKéMON.$" + +gUnknown_81B35E6:: @ 81B35E6 + .string "When you come across another person,\n" + .string "go up to them and press the A Button.\l" + .string "That will get them to talk and interact\l" + .string "with your character. You may also\l" + .string "examine various items and objects in\l" + .string "the same way. Talk to people and check\l" + .string "things often to obtain information.$" + +gUnknown_81B36EB:: @ 81B36EB + .string "On the stairs or the exits of a\n" + .string "building is a red mat. Move your\l" + .string "character to stand on top of the\l" + .string "red mat. Press the {EXTRA_PLUS} Control Pad \l" + .string "toward the stairs or the exit to\l" + .string "advance.$" + +gUnknown_81B379A:: @ 81B379A + .string "This isn't something you should worry\n" + .string "about too much.\l" + .string "Talk to other people, check signs,\l" + .string "check things, and so on.\l" + .string "Sometimes, you may need to just move\l" + .string "to a new town or place.$" + +gUnknown_81B3849:: @ 81B3849 + .string "Try moving on to a new road, town, or\n" + .string "place.$" + +gUnknown_81B3876:: @ 81B3876 + .string "There could be something in the town\n" + .string "or inside a building that is the cause.\l" + .string "Try talking to the people in the area\l" + .string "again. If there is a problem that they\l" + .string "need solved, you may have to help.\l" + .string "Afterwards, try talking to the person\l" + .string "blocking your way again.$" + +gUnknown_81B3972:: @ 81B3972 + .string "Try talking to people by going up to\n" + .string "them and pressing the A Button.\l" + .string "Also, try checking things like odd trees\l" + .string "and strange rocks with the A Button.\l" + .string "Press the {EXTRA_PLUS} Control Pad and try going\l" + .string "to places that look impassable, too.$" + +gUnknown_81B3A51:: @ 81B3A51 + .string "Try going to places where you \n" + .string "haven't visited yet.\l" + .string "Also, check everything that looks\l" + .string "suspicious by pressing the A Button.$" + +gUnknown_81B3ACC:: @ 81B3ACC + .string "Any item that you are given by another\n" + .string "character goes in your BAG.\l" + .string "The item is automatically sorted and\l" + .string "placed in one of three pockets.\l" + .string "For instructions on the BAG's use,\l" + .string "please refer to the HELP System's\l" + .string "“How do I do this?” heading.$" + +gUnknown_81B3BB6:: @ 81B3BB6 + .string "If POKéMON are hurt in battle,\n" + .string "take them to a POKéMON CENTER and\l" + .string "have them healed by the staff.\l" + .string "Get in the habit of saving your\l" + .string "game and recording your progress.\l" + .string "Stock up on healing items at\l" + .string "POKéMON MARTS before traveling far.$" + +gUnknown_81B3C99:: @ 81B3C99 + .string "Forests are basically the same as\n" + .string "roads but they can be like mazes.\l" + .string "All forests have a way out, so don't\l" + .string "give up if you get lost.$" + +gUnknown_81B3D1B:: @ 81B3D1B + .string "Caves are dark and dangerous. Wild\n" + .string "POKéMON can appear anywhere in them.\l" + .string "If there is an emergency, rush to a\l" + .string "POKéMON CENTER or use items.\l" + .string "New towns await discovery beyond some\l" + .string "caves, so don't give up.$" + +gUnknown_81B3DE3:: @ 81B3DE3 + .string "The object of the game is to train\n" + .string "your POKéMON and move forward.\l" + .string "You must collect info and solve\l" + .string "problems. For example, what do you\l" + .string "need to get around an obstacle?\l" + .string "What would get that impeding\l" + .string "person out of the way?$" + +gUnknown_81B3EBC:: @ 81B3EBC + .string "There are several kinds of items.\n" + .string "Some can be used only on the field.\l" + .string "Some are only for use during battle.\l" + .string "Some can be used anytime.\l" + .string "Try using an item - if it can't be used,\l" + .string "you will be alerted.$" + +gUnknown_81B3F7F:: @ 81B3F7F + .string "In a battle, POKéMON try to reduce\n" + .string "one another's vitality, expressed as\l" + .string "HP. If a POKéMON's HP falls to zero,\l" + .string "it faints, and the other POKéMON\l" + .string "wins. By winning a battle, POKéMON\l" + .string "earn EXP. Points, which help them\l" + .string "level up (grow stronger).$" + +gUnknown_81B406C:: @ 81B406C + .string "First, fully heal the POKéMON in your\n" + .string "party (the POKéMON with you) at any\l" + .string "POKéMON CENTER.\l" + .string "You should also buy healing items for\l" + .string "emergencies at a POKéMON MART.$" + +gUnknown_81B410B:: @ 81B410B + .string "A POKéMON's vitality is expressed in HP.\n" + .string "If a POKéMON is hurt in battle, HP is\l" + .string "subtracted. If its HP drops to zero,\l" + .string "the POKéMON faints.\l" + .string "Heal hurt or fainted POKéMON at a\l" + .string "POKéMON CENTER or by using items.$" + +gUnknown_81B41D7:: @ 81B41D7 + .string "A POKéMON CENTER is like an inn for\n" + .string "POKéMON. It will fully heal POKéMON of\l" + .string "any status problems and fully restore\l" + .string "their HP using a special machine.\l" + .string "This service is free, so get in the\l" + .string "habit of healing your POKéMON often.$" + +gUnknown_81B42B3:: @ 81B42B3 + .string "A status problem refers to an ailment\n" + .string "that is inflicted on a POKéMON by its\l" + .string "foe's attack. These include burns,\l" + .string "paralysis, poisoning, sleep, and\l" + .string "freezing. These can be healed by\l" + .string "visiting a POKéMON CENTER or using\l" + .string "the appropriate item.$" + +gUnknown_81B439D:: @ 81B439D + .string "If all the POKéMON in your party\n" + .string "(all the POKéMON with you) faint, you\l" + .string "lose some MONEY, and you are\l" + .string "returned home or to a POKéMON\l" + .string "CENTER. To reduce that chance, visit\l" + .string "POKéMON CENTERS often. Also, get\l" + .string "in the habit of saving often.$" + +gUnknown_81B4483:: @ 81B4483 + .string "If a wild POKéMON escapes from a POKé\n" + .string "BALL, it's obviously still feisty.\l" + .string "Try reducing its HP some more, and\l" + .string "try to weaken it with paralysis or sleep\l" + .string "before trying to catch it.\l" + .string "If the POKé BALL rocks for a while,\l" + .string "the quarry is close to being caught!$" + +gUnknown_81B457C:: @ 81B457C + .string "There are shops, known as POKéMON\n" + .string "MARTS, that sell items.\l" + .string "You will not find POKéMON MARTS on\l" + .string "roads, in forests, or in caves.\l" + .string "Stock up on needed items while you are\l" + .string "visiting a town with a POKéMON MART.$" + +gUnknown_81B4645:: @ 81B4645 + .string "You may buy POKé BALLS at any\n" + .string "POKéMON MART in any town.\l" + .string "You will not find POKéMON MARTS on\l" + .string "roads, in forests, or in caves.\l" + .string "Stock up on POKé BALLS while you are\l" + .string "visiting a town with a POKéMON MART.$" + +gUnknown_81B470A:: @ 81B470A + .string "A TRAINER is a person who raises\n" + .string "POKéMON through battling.\l" + .string "TRAINERS will challenge you \l" + .string "wherever they are - it could be on\l" + .string "a road, in forests, caves, anywhere.\l" + .string "If your eyes meet, you have to accept\l" + .string "their challenge. So be careful!$" + +gUnknown_81B47F0:: @ 81B47F0 + .string "To beat a TRAINER in battle, use\n" + .string "POKéMON that have type advantages\l" + .string "over the foe's POKéMON. You may also\l" + .string "use highly trained POKéMON with\l" + .string "overwhelming power. Outnumbering the\l" + .string "foe's POKéMON is another obvious\l" + .string "tactic.$" + +gUnknown_81B48C6:: @ 81B48C6 + .string "Wild POKéMON will appear in tall grass,\n" + .string "on roads, and in forests. They will\l" + .string "appear anywhere in dark caves.\l" + .string "There are no wild POKéMON or TRAINERS\l" + .string "in towns, so they are safe places.$" + +gUnknown_81B497A:: @ 81B497A + .string "POKéMON may learn up to four different\n" + .string "techniques, or moves. There is a great\l" + .string "variety of moves including attacks and\l" + .string "those with special effects. The kinds\l" + .string "of moves that can be learned vary\l" + .string "for each POKéMON. Some moves\l" + .string "can be learned from machines.$" + +gUnknown_81B4A72:: @ 81B4A72 + .string "HIDDEN moves are those that are\n" + .string "especially important for your\l" + .string "adventure. To use such a move outside\l" + .string "of battle, open the “POKéMON” MENU\l" + .string "and make the POKéMON that knows the\l" + .string "move use it. A fainted POKéMON may use\l" + .string "a HIDDEN move outside of battle.$" + +gUnknown_81B4B65:: @ 81B4B65 + .string "Select “FIGHT,” and the MENU of moves\n" + .string "will appear. Consider the type\l" + .string "matchups, and use the most effective\l" + .string "moves. You can check the effects of\l" + .string "moves by opening “POKéMON,”\l" + .string "picking a POKéMON, opening “SUMMARY,”\l" + .string "then opening “POKéMON SKILLS.”$" + +gUnknown_81B4C54:: @ 81B4C54 + .string "The most a POKéMON can learn is four\n" + .string "moves. They are learned as the\l" + .string "POKéMON levels up. It can also be\l" + .string "taught a move using a TM (Technical\l" + .string "Machine) or HM (Hidden Machine).\l" + .string "There are also people who teach moves.$" + +gUnknown_81B4D26:: @ 81B4D26 + .string "The key to making your POKéMON\n" + .string "strong is to battle and win often.\l" + .string "The EXP. (Experience) Points earned\l" + .string "by winning battles accumulate to\l" + .string "level up POKéMON that participated in\l" + .string "them. Battle wild POKéMON often to\l" + .string "level up your party.$" + +gUnknown_81B4E0B:: @ 81B4E0B + .string "If your foes are too strong, try\n" + .string "leveling up your POKéMON some more.\l" + .string "Go back the way you came and battle\l" + .string "wild POKéMON to level up your party.\l" + .string "You may also battle TRAINERS whom you\l" + .string "have not battled before.$" + +gUnknown_81B4ED8:: @ 81B4ED8 + .string "Unlike roads and forests, wild POKéMON\n" + .string "can appear anywhere in caves.\l" + .string "If your POKéMON are hurt in a cave,\l" + .string "rush to a POKéMON CENTER or use items\l" + .string "to heal them right away. It is very\l" + .string "dangerous to force your luck in caves.$" + +gUnknown_81B4FB2:: @ 81B4FB2 + .string "Trust your own knowledge and power.\n" + .string "Believe in yourself and find your way!$" + +gUnknown_81B4FFD:: @ 81B4FFD + .string "A POKéMON CENTER is identified by its\n" + .string "red roof and a “P.C” sign. Every\l" + .string "POKéMON CENTER offers such services as\l" + .string "fully healing POKéMON and free PC use,\l" + .string "making it essential for your travels.\l" + .string "On the upper floor are facilities for\l" + .string "linking with friends and others.$" + +gUnknown_81B50FF:: @ 81B50FF + .string "A POKéMON MART is identified by its\n" + .string "blue roof and a “MART” sign.\l" + .string "Items can be bought and sold at any\l" + .string "POKéMON MART. Some MARTS carry items\l" + .string "that are available only in their towns.$" + +gUnknown_81B51B1:: @ 81B51B1 + .string "You can safely end your game by\n" + .string "selecting “SAVE” on the MENU.\l" + .string "Once you have saved, the game can be\l" + .string "safely turned off. When the game is\l" + .string "turned back on, you can resume from\l" + .string "where you last saved.$" + +gUnknown_81B5272:: @ 81B5272 + .string "POKéMON are living beings about which\n" + .string "many mysteries still remain. You may\l" + .string "see them in grass, the sea, and caves.\l" + .string "They appear to obey the wishes of the\l" + .string "TRAINERS that caught them.$" + +gUnknown_81B5325:: @ 81B5325 + .string "Use the FAME CHECKER among the\n" + .string "KEY ITEMS in your BAG.\l" + .string "It may give you a hint, so try it out.$" + +gUnknown_81B5382:: @ 81B5382 + .string "A HIDDEN move is taught to a POKéMON\n" + .string "using an HM (Hidden Machine).\l" + .string "A HIDDEN move is important for helping\l" + .string "your adventure. For example, one is\l" + .string "used to light up dark caves. Another\l" + .string "cuts down small trees. There is one\l" + .string "for traveling on water, and so on.$" + +gUnknown_81B547C:: @ 81B547C + .string "Try to catch wild POKéMON by throwing\n" + .string "the special SAFARI BALLS.\l" + .string "You may keep any item you find, too.$" + +gUnknown_81B54E1:: @ 81B54E1 + .string "Your SAFARI GAME ends once you have\n" + .string "traveled a certain distance or thrown\l" + .string "all your SAFARI BALLS.\l" + .string "Open the MENU to check the remaining\l" + .string "number of steps and SAFARI BALLS.$" + +gUnknown_81B5589:: @ 81B5589 + .string "If you would like to cut your SAFARI\n" + .string "GAME short, open the MENU and select\l" + .string "“RETIRE” at the top of the list.$" + +gUnknown_81B55F4:: @ 81B55F4 + .string "POKéMON GYMS are operated by the\n" + .string "POKéMON LEAGUE and are training\l" + .string "facilities for TRAINERS. They are all\l" + .string "across the land in cities and towns.\l" + .string "Each one is headed by a LEADER, who\l" + .string "is a very skilled TRAINER. Beat the\l" + .string "LEADER to collect a BADGE.$" + +gUnknown_81B56E3:: @ 81B56E3 + .string " Using “POKéDEX”$" + +gUnknown_81B56F4:: @ 81B56F4 + .string " Using “POKéMON”$" + +gUnknown_81B5705:: @ 81B5705 + .string " Using “SUMMARY”$" + +gUnknown_81B5717:: @ 81B5717 + .string " Using “SWITCH”$" + +gUnknown_81B5728:: @ 81B5728 + .string " Using “ITEM”$" + +gUnknown_81B5737:: @ 81B5737 + .string " Using “BAG”$" + +gUnknown_81B5744:: @ 81B5744 + .string " Using an item$" + +gUnknown_81B5754:: @ 81B5754 + .string " Using a key item$" + +gUnknown_81B5767:: @ 81B5767 + .string " Using a POKé BALL$" + +gUnknown_81B577B:: @ 81B577B + .string " Using “{PLAYER}”$" + +gUnknown_81B5787:: @ 81B5787 + .string " Using “SAVE”$" + +gUnknown_81B5795:: @ 81B5795 + .string " Using “OPTION”$" + +gUnknown_81B57A5:: @ 81B57A5 + .string " Using a POTION$" + +gUnknown_81B57B8:: @ 81B57B8 + .string " Using the TOWN MAP$" + +gUnknown_81B57CF:: @ 81B57CF + .string " Using a TM$" + +gUnknown_81B57DE:: @ 81B57DE + .string " Using an HM$" + +gUnknown_81B57EE:: @ 81B57EE + .string "Using a move outside of battle$" + +gUnknown_81B580D:: @ 81B580D + .string " Riding the BICYCLE$" + +gUnknown_81B5824:: @ 81B5824 + .string "Entering a name$" + +gUnknown_81B5834:: @ 81B5834 + .string "Using a PC$" + +gUnknown_81B583F:: @ 81B583F + .string " Using “{STR_VAR_1}'S PC”$" + +gUnknown_81B5850:: @ 81B5850 + .string " Using “WITHDRAW”$" + +gUnknown_81B5863:: @ 81B5863 + .string " Using “DEPOSIT”$" + +gUnknown_81B5875:: @ 81B5875 + .string " Using “MOVE”$" + +gUnknown_81B5884:: @ 81B5884 + .string " Moving items$" + +gUnknown_81B5893:: @ 81B5893 + .string " Using “{PLAYER}'s PC”$" + +gUnknown_81B58A4:: @ 81B58A4 + .string " Using “WITHDRAW ITEM”$" + +gUnknown_81B58BC:: @ 81B58BC + .string " Using “DEPOSIT ITEM”$" + +gUnknown_81B58D3:: @ 81B58D3 + .string " Using “MAILBOX”$" + +gUnknown_81B58E5:: @ 81B58E5 + .string " Using “PROF. OAK'S PC”$" + +gUnknown_81B58FD:: @ 81B58FD + .string "Opening the MENU$" + +gUnknown_81B590E:: @ 81B590E + .string " Using “FIGHT”$" + +gUnknown_81B591D:: @ 81B591D + .string " Using “POKéMON”$" + +gUnknown_81B592E:: @ 81B592E + .string " Using “SHIFT”$" + +gUnknown_81B593E:: @ 81B593E + .string " Using “SUMMARY”$" + +gUnknown_81B5950:: @ 81B5950 + .string " Using “BAG”$" + +gUnknown_81B595D:: @ 81B595D + .string " Reading the “POKéDEX”$" + +gUnknown_81B5974:: @ 81B5974 + .string "Using the PC at home$" + +gUnknown_81B5989:: @ 81B5989 + .string "Using the Item Storage System$" + +gUnknown_81B59A7:: @ 81B59A7 + .string " Using “WITHDRAW ITEM”$" + +gUnknown_81B59BF:: @ 81B59BF + .string " Using “DEPOSIT ITEM”$" + +gUnknown_81B59D6:: @ 81B59D6 + .string "Using the MAILBOX$" + +gUnknown_81B59E8:: @ 81B59E8 + .string " Using “RUN”$" + +gUnknown_81B59F5:: @ 81B59F5 + .string " “REGISTER” a key item$" + +gUnknown_81B5A0D:: @ 81B5A0D + .string " Using “BALL”$" + +gUnknown_81B5A1B:: @ 81B5A1B + .string " Using “BAIT”$" + +gUnknown_81B5A29:: @ 81B5A29 + .string " Using “ROCK”$" + +gUnknown_81B5A37:: @ 81B5A37 + .string " Using “HALL OF FAME”$" + +gUnknown_81B5A4D:: @ 81B5A4D + .string "{EXTRA_CIRCLE_1} Select “POKéDEX” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Choose POKéMON using commands such\n" + .string " as “POKéMON LIST,”\n" + .string " “HABITATS OF POKéMON,” and\n" + .string " “SEARCH.”\n" + .string "{EXTRA_CIRCLE_3} Select a POKéMON to obtain detailed\n" + .string " information.$" + +gUnknown_81B5B0C:: @ 81B5B0C + .string "{EXTRA_CIRCLE_1} Select “POKéMON” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Choose a POKéMON in your party.\n" + .string "{EXTRA_CIRCLE_3} Select “SUMMARY,” “SWITCH,”\n" + .string " or “ITEM.”$" + +gUnknown_81B5B7D:: @ 81B5B7D + .string "{EXTRA_CIRCLE_1} Select “SUMMARY.”\n" + .string "{EXTRA_CIRCLE_2} Press left or right on the {EXTRA_PLUS} Control\n" + .string " Pad to check the information:\n" + .string " “POKéMON INFO”\n" + .string " “POKéMON SKILLS”\n" + .string " “KNOWN MOVES”$" + +gUnknown_81B5C13:: @ 81B5C13 + .string "{EXTRA_CIRCLE_1} Choose the POKéMON you want to\n" + .string " switch around.\n" + .string "{EXTRA_CIRCLE_2} Select “SWITCH.”\n" + .string "{EXTRA_CIRCLE_3} Select the POKéMON to switch with\n" + .string " the first one.\n" + .string "The POKéMON at the left of the screen\n" + .string "will be the first one out in a battle.$" + +gUnknown_81B5CDF:: @ 81B5CDF + .string "{EXTRA_CIRCLE_1} Select “ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select whether you want to “GIVE”\n" + .string " an item to the POKéMON to hold,\n" + .string " or “TAKE” an item it is holding.\n" + .string "A POKéMON can hold no more than one\n" + .string "item!$" + +gUnknown_81B5D87:: @ 81B5D87 + .string "{EXTRA_CIRCLE_1} Select “BAG” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Press left or right on the {EXTRA_PLUS} Control\n" + .string " Pad to check the data headings:\n" + .string " “ITEMS”\n" + .string " “KEY ITEMS”\n" + .string " “POKé BALLS”\n" + .string " Press up or down to select an item.$" + +gUnknown_81B5E41:: @ 81B5E41 + .string "{EXTRA_CIRCLE_1} Select the “ITEMS” POCKET.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad to select an item.\n" + .string "{EXTRA_CIRCLE_3} Select “USE” to use the selected\n" + .string " item.\n" + .string "Some items may not be used depending\n" + .string "on the place and/or situation.$" + +gUnknown_81B5F10:: @ 81B5F10 + .string "{EXTRA_CIRCLE_1} Select the “KEY ITEMS” POCKET.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad to select a key item.\n" + .string "{EXTRA_CIRCLE_3} Select “USE” to use the selected\n" + .string " key item.$" + +gUnknown_81B5FA6:: @ 81B5FA6 + .string "{EXTRA_CIRCLE_1} While battling a wild POKéMON,\n" + .string " select the BAG's “POKé BALLS”\n" + .string " POCKET.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad to select a POKé BALL.\n" + .string "{EXTRA_CIRCLE_3} Select “USE” to throw the selected\n" + .string " POKé BALL.$" + +gUnknown_81B606C:: @ 81B606C + .string "{EXTRA_CIRCLE_1} Select “{PLAYER}” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Your TRAINER CARD is displayed face\n" + .string " up with basic information. Press the\n" + .string " A Button to turn the CARD over.\n" + .string "{EXTRA_CIRCLE_3} A variety of data can be found on\n" + .string " the reverse side of the CARD.$" + +gUnknown_81B6140:: @ 81B6140 + .string "{EXTRA_CIRCLE_1} Select “SAVE” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Select “YES” and your progress is\n" + .string " recorded in the save file.\n" + .string "Once the game is saved, you may turn\n" + .string "off the game. Your game can be resumed\n" + .string "from where you saved.$" + +gUnknown_81B6203:: @ 81B6203 + .string "{EXTRA_CIRCLE_1} Select “OPTION” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad to select an optional item, then\n" + .string " press left or right to alter the\n" + .string " settings.\n" + .string "{EXTRA_CIRCLE_3} Select “CANCEL” or press the\n" + .string " B Button after making changes.$" + +gUnknown_81B62E4:: @ 81B62E4 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad and select “BAG.”\n" + .string "{EXTRA_CIRCLE_3} Select “POTION” in the “ITEMS”\n" + .string " POCKET.\n" + .string "{EXTRA_CIRCLE_4} Select “USE.”\n" + .string "{EXTRA_CIRCLE_5} Select the POKéMON to be healed.$" + +gUnknown_81B6397:: @ 81B6397 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad and select “BAG.”\n" + .string "{EXTRA_CIRCLE_3} Press left or right to open the\n" + .string " “KEY ITEMS” POCKET, then press\n" + .string " up or down to select “TOWN MAP.” \n" + .string "{EXTRA_CIRCLE_4} Select “USE” to open the TOWN MAP.$" + +gUnknown_81B6478:: @ 81B6478 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Open the “KEY ITEMS” POCKET in the\n" + .string " “BAG.”\n" + .string "{EXTRA_CIRCLE_3} “OPEN” the TM CASE.\n" + .string "{EXTRA_CIRCLE_4} Select and “USE” a TM.\n" + .string "{EXTRA_CIRCLE_5} Select a POKéMON that can learn the\n" + .string " move in the TM.$" + +gUnknown_81B6525:: @ 81B6525 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Open the “KEY ITEMS” POCKET in the\n" + .string " “BAG.”\n" + .string "{EXTRA_CIRCLE_3} “OPEN” the TM CASE.\n" + .string "{EXTRA_CIRCLE_4} Select and “USE” an HM.\n" + .string "{EXTRA_CIRCLE_5} Select a POKéMON that can learn it.\n" + .string "HMs are hard to remove, so be careful!$" + +gUnknown_81B65E7:: @ 81B65E7 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Select “POKéMON.”\n" + .string "{EXTRA_CIRCLE_3} Select a POKéMON that knows an\n" + .string " HM move. The usable HM move(s)\n" + .string " will be shown in blue. Select and\n" + .string " use the desired move to destroy an\n" + .string " obstacle, fly, surf, etc.$" + +gUnknown_81B66BA:: @ 81B66BA + .string "{EXTRA_CIRCLE_1} Open the MENU. Open the\n" + .string " “KEY ITEMS” POCKET in the “BAG”\n" + .string " and select the “BICYCLE.”\n" + .string "{EXTRA_CIRCLE_2} The BICYCLE can be ridden by\n" + .string " selecting “USE.” You may also\n" + .string " “REGISTER” it for instant use by\n" + .string " pressing SELECT.$" + +gUnknown_81B678E:: @ 81B678E + .string "{EXTRA_CIRCLE_1} Move the cursor to the letter you\n" + .string " want with the {EXTRA_PLUS} Control Pad, then\n" + .string " press the A Button to enter it.\n" + .string "{EXTRA_CIRCLE_2} Press the B Button to back up.\n" + .string "{EXTRA_CIRCLE_3} Press SELECT to switch between\n" + .string " uppercase and lowercase letters.\n" + .string "{EXTRA_CIRCLE_4} Press the A Button on “OK.”$" + +gUnknown_81B6883:: @ 81B6883 + .string "{EXTRA_CIRCLE_1} Go to any POKéMON CENTER, go up\n" + .string " to the PC, then press the A Button.$" + +gUnknown_81B68CD:: @ 81B68CD + .string "{EXTRA_CIRCLE_1} Select “{STR_VAR_1}'S PC” on the PC.\n" + .string "{EXTRA_CIRCLE_2} Select from one of the top three\n" + .string " MENU items to access the POKéMON\n" + .string " Storage System.\n" + .string "If you catch a POKéMON when you have\n" + .string "six in your party, the POKéMON is sent\n" + .string "automatically to a BOX in the System!$" + +gUnknown_81B69B9:: @ 81B69B9 + .string "{EXTRA_CIRCLE_1} Select a POKéMON in the open BOX\n" + .string " with the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_2} Select “WITHDRAW” to remove the\n" + .string " POKéMON from the BOX and add it to\n" + .string " your party.\n" + .string "You may not withdraw a POKéMON if you\n" + .string "already have six POKéMON with you!$" + +gUnknown_81B6A9A:: @ 81B6A9A + .string "{EXTRA_CIRCLE_1} Select a POKéMON in your party with\n" + .string " the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_2} Select “DEPOSIT.”\n" + .string "{EXTRA_CIRCLE_3} Select the BOX, then press the\n" + .string " A Button to store the POKéMON.\n" + .string "If you have only one POKéMON with you,\n" + .string "it may not be stored!$" + +gUnknown_81B6B6E:: @ 81B6B6E + .string "{EXTRA_CIRCLE_1} Select a POKéMON in the open BOX.\n" + .string "{EXTRA_CIRCLE_2} Pick up the POKéMON by selecting\n" + .string " “MOVE” and move it anywhere with\n" + .string " the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_3} Move the POKéMON to the BOX name\n" + .string " and press left or right to move it\n" + .string " to another BOX.$" + +gUnknown_81B6C4F:: @ 81B6C4F + .string "{EXTRA_CIRCLE_1} Faintly shown POKéMON can be made\n" + .string " to hold an item by selecting it and\n" + .string " pressing the A Button.\n" + .string "{EXTRA_CIRCLE_2} Clearly shown POKéMON can be made\n" + .string " to give the item they are holding to\n" + .string " another POKéMON, or return the item\n" + .string " to the BAG with the A Button.$" + +gUnknown_81B6D4A:: @ 81B6D4A + .string "{EXTRA_CIRCLE_1} Select “{PLAYER}'s PC” on the PC.\n" + .string "{EXTRA_CIRCLE_2} Select either “ITEM STORAGE” or\n" + .string " “MAILBOX.”\n" + .string "You may store things in your own PC\n" + .string "if your BAG is full. You may also\n" + .string "withdraw items stored in your PC.$" + +gUnknown_81B6E02:: @ 81B6E02 + .string "{EXTRA_CIRCLE_1} Select “WITHDRAW ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select the item to be withdrawn.\n" + .string "{EXTRA_CIRCLE_3} The item can be withdrawn and\n" + .string " placed in the BAG's ITEMS POCKET.\n" + .string " It may also be directly given to a\n" + .string " POKéMON to hold.$" + +gUnknown_81B6EC1:: @ 81B6EC1 + .string "{EXTRA_CIRCLE_1} Select “DEPOSIT ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select the item in the BAG to be\n" + .string " deposited using the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_3} If there is more than one \n" + .string " item to be deposited, enter the\n" + .string " quantity with the {EXTRA_PLUS} Control Pad,\n" + .string " then press the A Button.$" + +gUnknown_81B6FA8:: @ 81B6FA8 + .string "When MAIL is taken from a POKéMON,\n" + .string "it is moved to the MAILBOX. If it has\n" + .string "no MAIL, the MAILBOX can't be used.\n" + .string "{EXTRA_CIRCLE_1} Select “{PLAYER}'S PC” on the PC.\n" + .string "{EXTRA_CIRCLE_2} Select “MAILBOX” to read MAIL or\n" + .string " make a POKéMON hold MAIL.$" + +gUnknown_81B7075:: @ 81B7075 + .string "{EXTRA_CIRCLE_1} Select “PROF. OAK'S PC” on the PC.\n" + .string "{EXTRA_CIRCLE_2} PROF. OAK will evaluate your\n" + .string " POKéDEX.\n" + .string "His evaluations should give you hints\n" + .string "for catching more POKéMON!$" + +gUnknown_81B7108:: @ 81B7108 + .string "{EXTRA_CIRCLE_1} Press START.\n" + .string "{EXTRA_CIRCLE_2} The MENU will open on the right.\n" + .string "{EXTRA_CIRCLE_3} Depending on the situation, the MENU\n" + .string " may feature different headings.\n" + .string "The MENU will not open in certain\n" + .string "situations such as when talking, doing\n" + .string "something, battling, etc.$" + +gUnknown_81B71EA:: @ 81B71EA + .string "{EXTRA_CIRCLE_1} Select “FIGHT.”\n" + .string "{EXTRA_CIRCLE_2} Select one of the moves shown,\n" + .string "and that move will be used!$" + +gUnknown_81B723B:: @ 81B723B + .string "{EXTRA_CIRCLE_1} Select “POKéMON.”\n" + .string "{EXTRA_CIRCLE_2} Select the POKéMON in your party\n" + .string " that you want to use.\n" + .string "{EXTRA_CIRCLE_3} If you have two or more POKéMON\n" + .string " with you, they may be switched by\n" + .string " selecting “SHIFT.” Check POKéMON\n" + .string " data by selecting “SUMMARY.”$" + +gUnknown_81B7319:: @ 81B7319 + .string "This command switches the POKéMON in\n" + .string "battle with another one in your party.\n" + .string "{EXTRA_CIRCLE_1} Select the POKéMON to be sent out.\n" + .string "{EXTRA_CIRCLE_2} Select “SHIFT.”\n" + .string "{EXTRA_CIRCLE_3} The selected POKéMON will switch\n" + .string " places with the POKéMON in battle!$" + +gUnknown_81B73E8:: @ 81B73E8 + .string "{EXTRA_CIRCLE_1} Select “SUMMARY.”\n" + .string "{EXTRA_CIRCLE_2} Press left or right on the {EXTRA_PLUS} Control\n" + .string " Pad to check the information:\n" + .string " “POKéMON INFO”\n" + .string " “POKéMON SKILLS”\n" + .string " “KNOWN MOVES”$" + +gUnknown_81B747E:: @ 81B747E + .string "{EXTRA_CIRCLE_1} Select “BAG.”\n" + .string "{EXTRA_CIRCLE_2} Press left or right on the {EXTRA_PLUS} Control\n" + .string " Pad to check the data headings:\n" + .string " “ITEMS”\n" + .string " “KEY ITEMS”\n" + .string " “POKé BALLS”\n" + .string " Press up or down to select an item.$" + +gUnknown_81B752C:: @ 81B752C + .string "{EXTRA_CIRCLE_1} POKéMON that you have caught are\n" + .string " identified by a POKé BALL mark on\n" + .string " the POKéDEX list.\n" + .string "{EXTRA_CIRCLE_2} A caught POKéMON will provide a\n" + .string " large amount of data.\n" + .string "{EXTRA_CIRCLE_3} Select “AREA” to display the TOWN\n" + .string " MAP with the POKéMON's habitat(s).$" + +gUnknown_81B7611:: @ 81B7611 + .string "{EXTRA_CIRCLE_1} Go up to the PC at home, then press\n" + .string " the A Button.\n" + .string "{EXTRA_CIRCLE_2} The PC will turn on.\n" + .string "{EXTRA_CIRCLE_3} Select either “ITEM STORAGE” or\n" + .string " “MAILBOX.”$" + +gUnknown_81B7692:: @ 81B7692 + .string "{EXTRA_CIRCLE_1} Select “WITHDRAW ITEM” to withdraw\n" + .string " an item stored on your PC.\n" + .string "{EXTRA_CIRCLE_2} Select “DEPOSIT ITEM” to put \n" + .string " an item from your BAG into your PC.$" + +gUnknown_81B771E:: @ 81B771E + .string "{EXTRA_CIRCLE_1} Select “WITHDRAW ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select the item to be withdrawn.\n" + .string "{EXTRA_CIRCLE_3} The item can be withdrawn and\n" + .string " placed in the BAG's ITEMS POCKET.\n" + .string " It may also be directly given to a\n" + .string " POKéMON to hold.$" + +gUnknown_81B77DD:: @ 81B77DD + .string "{EXTRA_CIRCLE_1} Select “DEPOSIT ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select the item in the BAG to be\n" + .string " deposited using the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_3} If there is nothing in the BAG, this\n" + .string " command can't be used!$" + +gUnknown_81B7884:: @ 81B7884 + .string "When MAIL is taken from a POKéMON,\n" + .string "it is moved to the MAILBOX. If it has\n" + .string "no MAIL, the MAILBOX can't be used.\n" + .string "{EXTRA_CIRCLE_1} Select MAIL by name to read it or\n" + .string " make a POKéMON hold it.$" + +gUnknown_81B7931:: @ 81B7931 + .string "You may not “RUN” from a TRAINER\n" + .string "battle!\n" + .string "{EXTRA_CIRCLE_1} You may “RUN” from a wild POKéMON.\n" + .string "{EXTRA_CIRCLE_2} Your chance of escape is improved\n" + .string " if your POKéMON in battle is fast.$" + +gUnknown_81B79CB:: @ 81B79CB + .string "You may “REGISTER” a key item for\n" + .string "instant use by pressing SELECT!\n" + .string "{EXTRA_CIRCLE_1} Open the “KEY ITEMS” POCKET.\n" + .string "{EXTRA_CIRCLE_2} Select the key item, then select\n" + .string " “REGISTER.”$" + +gUnknown_81B7A60:: @ 81B7A60 + .string "{EXTRA_CIRCLE_1} Select to throw the special POKé\n" + .string " BALL used only in the SAFARI ZONE.\n" + .string "When wild POKéMON appear, throw lots\n" + .string "of SAFARI BALLS to catch them!$" + +gUnknown_81B7AEE:: @ 81B7AEE + .string "{EXTRA_CIRCLE_1} Select to throw the special food\n" + .string " used only in the SAFARI ZONE.\n" + .string "It is POKéMON food rolled up into\n" + .string "a ball for easy eating. When BAIT is\n" + .string "thrown, the wild POKéMON may get\n" + .string "attracted by it, and may not flee!$" + +gUnknown_81B7BBE:: @ 81B7BBE + .string "{EXTRA_CIRCLE_1} Select to throw a rock lying on\n" + .string " the ground in the SAFARI ZONE.\n" + .string "Throwing a rock at a POKéMON may \n" + .string "make it run away, but it becomes easier\n" + .string "to catch!$" + +gUnknown_81B7C57:: @ 81B7C57 + .string "{EXTRA_CIRCLE_1} Select “HALL OF FAME” on the PC.\n" + .string "{EXTRA_CIRCLE_2} The POKéMON that have entered the\n" + .string " HALL OF FAME can be examined.$" + +gUnknown_81B7CC1:: @ 81B7CC1 + .string "HP$" + +gUnknown_81B7CC4:: @ 81B7CC4 + .string "EXP. {EXTRA_LEFT_PAREN}EXP. Points{EXTRA_RIGHT_PAREN}$" + +gUnknown_81B7CD9:: @ 81B7CD9 + .string "MOVES$" + +gUnknown_81B7CDF:: @ 81B7CDF + .string "ATTACK$" + +gUnknown_81B7CE6:: @ 81B7CE6 + .string "DEFENSE$" + +gUnknown_81B7CEE:: @ 81B7CEE + .string "SP. ATK$" + +gUnknown_81B7CF6:: @ 81B7CF6 + .string "SP. DEF$" + +gUnknown_81B7CFE:: @ 81B7CFE + .string "SPEED$" + +gUnknown_81B7D04:: @ 81B7D04 + .string "Lv. {EXTRA_LEFT_PAREN}Level{EXTRA_RIGHT_PAREN}$" + +gUnknown_81B7D12:: @ 81B7D12 + .string "TYPE$" + +gUnknown_81B7D17:: @ 81B7D17 + .string "OT$" + +gUnknown_81B7D1A:: @ 81B7D1A + .string "ITEM$" + +gUnknown_81B7D1F:: @ 81B7D1F + .string "ABILITY$" + +gUnknown_81B7D27:: @ 81B7D27 + .string "MONEY$" + +gUnknown_81B7D2D:: @ 81B7D2D + .string "MOVE TYPE$" + +gUnknown_81B7D37:: @ 81B7D37 + .string "NATURE$" + +gUnknown_81B7D3E:: @ 81B7D3E + .string "ID No.$" + +gUnknown_81B7D45:: @ 81B7D45 + .string "PP$" + +gUnknown_81B7D48:: @ 81B7D48 + .string "POWER$" + +gUnknown_81B7D4E:: @ 81B7D4E + .string "ACCURACY$" + +gUnknown_81B7D57:: @ 81B7D57 + .string "FNT$" + +gUnknown_81B7D5B:: @ 81B7D5B + .string "ITEMS$" + +gUnknown_81B7D61:: @ 81B7D61 + .string "KEY ITEMS$" + +gUnknown_81B7D6B:: @ 81B7D6B + .string "POKé BALLS$" + +gUnknown_81B7D76:: @ 81B7D76 + .string "POKéDEX$" + +gUnknown_81B7D7E:: @ 81B7D7E + .string "PLAY TIME$" + +gUnknown_81B7D88:: @ 81B7D88 + .string "BADGES$" + +gUnknown_81B7D8F:: @ 81B7D8F + .string "TEXT SPEED$" + +gUnknown_81B7D9A:: @ 81B7D9A + .string "BATTLE SCENE$" + +gUnknown_81B7DA7:: @ 81B7DA7 + .string "BATTLE STYLE$" + +gUnknown_81B7DB4:: @ 81B7DB4 + .string "SOUND$" + +gUnknown_81B7DBA:: @ 81B7DBA + .string "BUTTON MODE$" + +gUnknown_81B7DC6:: @ 81B7DC6 + .string "FRAME$" + +gUnknown_81B7DCC:: @ 81B7DCC + .string "CANCEL$" + +gUnknown_81B7DD3:: @ 81B7DD3 + .string "TM$" + +gUnknown_81B7DD6:: @ 81B7DD6 + .string "HM$" + +gUnknown_81B7DD9:: @ 81B7DD9 + .string "HM MOVE$" + +gUnknown_81B7DE1:: @ 81B7DE1 + .string "EVOLUTION$" + +gUnknown_81B7DEB:: @ 81B7DEB + .string "STATUS PROBLEM$" + +gUnknown_81B7DFA:: @ 81B7DFA + .string "POKéMON$" + +gUnknown_81B7E02:: @ 81B7E02 + .string "ID No.$" + +gUnknown_81B7E09:: @ 81B7E09 + .string "MONEY$" + +gUnknown_81B7E0F:: @ 81B7E0F + .string "BADGES$" + +gUnknown_81B7E16:: @ 81B7E16 + .string "HP indicates a POKéMON's vitality.\n" + .string "If a POKéMON's HP drops to zero, it\l" + .string "faints and is unable to battle.\l" + .string "So, the key in battle is to try to\l" + .string "reduce the foe's HP to zero.\l" + .string "If your POKéMON are hurt, restore their\l" + .string "HP at a POKéMON CENTER or use items.$" + +gUnknown_81B7F0A:: @ 81B7F0A + .string "EXP. Points stands for “Experience\n" + .string "Points.” POKéMON gain EXP. Points by\l" + .string "participating in winning battles.\l" + .string "When a POKéMON accumulates sufficient\l" + .string "EXP. Points, it levels up. The EXP. Bar\l" + .string "indicates accumulated EXP. Points.\l" + .string "It returns to zero upon leveling up.$" + +gUnknown_81B800A:: @ 81B800A + .string "POKéMON may learn up to four different\n" + .string "moves. There are many kinds of moves\l" + .string "including attacks and those with\l" + .string "special effects. The kinds of moves\l" + .string "that can be learned vary for each\l" + .string "POKéMON. Some moves can be learned\l" + .string "from items.$" + +gUnknown_81B80EC:: @ 81B80EC + .string "ATTACK indicates the power of an\n" + .string "offensive move. The higher this stat,\l" + .string "the more powerful the move.\l" + .string "It is applied for the following move\l" + .string "types: NORMAL, POISON, GROUND,\l" + .string "FLYING, BUG, FIGHTING, ROCK, GHOST,\l" + .string "and STEEL.$" + +gUnknown_81B81C2:: @ 81B81C2 + .string "DEFENSE indicates the resistance a\n" + .string "POKéMON has against physical attacks.\l" + .string "The higher this stat, the less damage\l" + .string "sustained from a foe's physical hit.$" + +gUnknown_81B8256:: @ 81B8256 + .string "SP. ATK (Special Attack) indicates the\n" + .string "power of a special attack move.\l" + .string "The higher this stat, the more powerful\l" + .string "the special attack move.\l" + .string "It is applied for the following move\l" + .string "types: FIRE, WATER, ELECTRIC, GRASS,\l" + .string "ICE, PSYCHIC, DRAGON, and DARK.$" + +gUnknown_81B8348:: @ 81B8348 + .string "SP. DEF (Special Defense) indicates\n" + .string "the resistance a POKéMON has against\l" + .string "special attacks.\l" + .string "The higher this stat, the less damage\l" + .string "sustained from a foe's special attack.$" + +gUnknown_81B83EF:: @ 81B83EF + .string "SPEED indicates the agility of a\n" + .string "POKéMON. If this stat exceeds the foe's\l" + .string "in battle, the POKéMON can make a move\l" + .string "before its slower opponent.$" + +gUnknown_81B847B:: @ 81B847B + .string "Lv. (Level) indicates the growth and\n" + .string "strength of a POKéMON.\l" + .string "In general, when a POKéMON levels up,\l" + .string "its stats such as HP, ATTACK, and\l" + .string "DEFENSE rise, making it stronger.\l" + .string "POKéMON may learn a new move upon\l" + .string "leveling up.$" + +gUnknown_81B8550:: @ 81B8550 + .string "POKéMON and moves are classified by\n" + .string "type. Every type has advantageous and\l" + .string "disadvantageous matchups against\l" + .string "other types. For example, like a rock-\l" + .string "paper-scissors game, the WATER type is\l" + .string "strong against the FIRE type and weak\l" + .string "against the GRASS type.$" + +gUnknown_81B8647:: @ 81B8647 + .string "OT stands for “Original TRAINER,”\n" + .string "the first TRAINER to have caught the\l" + .string "selected POKéMON.\l" + .string "Even if the POKéMON is traded, the OT\l" + .string "name will remain unchanged.$" + +gUnknown_81B86E2:: @ 81B86E2 + .string "All POKéMON can be made to hold one\n" + .string "item each. Some items will be used by\l" + .string "the POKéMON automatically in certain\l" + .string "situations. To make a POKéMON hold an\l" + .string "item, select the item from the BAG and\l" + .string "“GIVE” it to the POKéMON.$" + +gUnknown_81B87B8:: @ 81B87B8 + .string "All POKéMON have a special ABILITY.\n" + .string "There are many different kinds of these\l" + .string "abilities, some used in battle, some\l" + .string "elsewhere. The abilities differ from\l" + .string "species to species. Some species may\l" + .string "have more than one kind of ability.$" + +gUnknown_81B8897:: @ 81B8897 + .string "Whenever you win a battle against a\n" + .string "TRAINER, you are given prize money.\l" + .string "Save up your prize money so you can\l" + .string "enjoy shopping at POKéMON MARTS!$" + +gUnknown_81B8924:: @ 81B8924 + .string "Moves are also classified by types.\n" + .string "If a POKéMON of a certain type uses\l" + .string "a move of the same type, the move's\l" + .string "power is boosted. If the move's type\l" + .string "has a matchup advantage against the\l" + .string "target, its effectiveness is also\l" + .string "boosted.$" + +gUnknown_81B8A04:: @ 81B8A04 + .string "All POKéMON have a personality,\n" + .string "or “NATURE.” The POKéMON's\l" + .string "nature appears to affect how the\l" + .string "POKéMON will grow upon leveling up.$" + +gUnknown_81B8A84:: @ 81B8A84 + .string "The ID No. is a special number assigned\n" + .string "specifically to you as a TRAINER.\l" + .string "Together with the OT name, the ID No.\l" + .string "is used to precisely identify the\l" + .string "Original TRAINER.\l" + .string "The ID No. does not change even if the\l" + .string "POKéMON is traded.$" + +gUnknown_81B8B62:: @ 81B8B62 + .string "PP stands for “Power Points.”\n" + .string "It indicates the number of times a\l" + .string "certain move can be used in battle.\l" + .string "Like HP, PP can be restored by visiting\l" + .string "a POKéMON CENTER or using certain\l" + .string "items.$" + +gUnknown_81B8C18:: @ 81B8C18 + .string "POWER indicates the strength of an\n" + .string "attack. The higher this number, the\l" + .string "greater the damage that can be\l" + .string "inflicted on the foe!$" + +gUnknown_81B8C94:: @ 81B8C94 + .string "ACCURACY indicates the probability of\n" + .string "the move hitting the foe.\l" + .string "The higher this number, the more likely\l" + .string "the move will strike the target.$" + +gUnknown_81B8D1D:: @ 81B8D1D + .string "FNT stands for “fainted.”\n" + .string "A POKéMON faints if its HP is reduced\l" + .string "to zero. It becomes incapable of taking\l" + .string "part in battle.\l" + .string "Restore a fainted POKéMON at a POKéMON\l" + .string "CENTER, or use an item.$" + +gUnknown_81B8DD4:: @ 81B8DD4 + .string "Ordinary items bought at any POKéMON\n" + .string "MART are placed in the ITEMS POCKET.\l" + .string "Items may be used, given to a POKéMON\l" + .string "to hold, or tossed out as garbage.$" + +gUnknown_81B8E67:: @ 81B8E67 + .string "Important items that you find or \n" + .string "receive from people are placed in the\l" + .string "KEY ITEMS POCKET.\l" + .string "Key items may be used, or registered\l" + .string "for use instantly with SELECT. Once\l" + .string "registered, the item can be used\l" + .string "without opening the MENU and BAG.$" + +gUnknown_81B8F4D:: @ 81B8F4D + .string "POKé BALLS, which are used for\n" + .string "catching wild POKéMON, are placed in\l" + .string "the POKé BALLS POCKET.\l" + .string "POKé BALLS may be bought at POKéMON\l" + .string "MARTS. They may be used, given to a\l" + .string "POKéMON to hold, or tossed out as\l" + .string "garbage.$" + +gUnknown_81B901B:: @ 81B901B + .string "This indicates the number of species of\n" + .string "POKéMON you have caught and/or\l" + .string "evolved to fill the POKéDEX.\l" + .string "Try hard to catch all sorts of\l" + .string "POKéMON!$" + +gUnknown_81B90A7:: @ 81B90A7 + .string "This is the total amount of time that\n" + .string "you have played this game.$" + +gUnknown_81B90E8:: @ 81B90E8 + .string "The POKéMON LEAGUE BADGES that you\n" + .string "have won are registered and shown.\l" + .string "Earn BADGES by defeating GYM LEADERS\l" + .string "in various cities and towns.$" + +gUnknown_81B9170:: @ 81B9170 + .string "You can adjust how quickly the text is\n" + .string "displayed. Choose one: SLOW, MID,\l" + .string "or FAST.$" + +gUnknown_81B91C2:: @ 81B91C2 + .string "You can choose to turn the battle\n" + .string "animation ON or OFF.$" + +gUnknown_81B91F9:: @ 81B91F9 + .string "You can choose whether or not a\n" + .string "TRAINER can switch a POKéMON after\l" + .string "it has made its foe faint.\l" + .string "Set to “SHIFT” if you would like the\l" + .string "chance to switch a POKéMON after it\l" + .string "has made its foe faint.$" + +gUnknown_81B92B8:: @ 81B92B8 + .string "You can choose between MONO and\n" + .string "STEREO sound output.$" + +gUnknown_81B92ED:: @ 81B92ED + .string "Set to “HELP” to display help messages\n" + .string "by pressing the L or R Button.\l" + .string "Set to “LR” to enable the switching\l" + .string "of the POKéDEX pages and BAG POCKETS\l" + .string "using the L and R Buttons.\l" + .string "Set to “L=A” to make the L Button\l" + .string "work the same as the A Button.$" + +gUnknown_81B93D8:: @ 81B93D8 + .string "You may choose the design of the frame\n" + .string "around certain menus. Try them out and\l" + .string "see what you like.$" + +gUnknown_81B9439:: @ 81B9439 + .string "The settings will be changed to the\n" + .string "selections shown in red, and you will\l" + .string "return to the MENU.$" + +gUnknown_81B9497:: @ 81B9497 + .string "A TM (Technical Machine) is a device\n" + .string "used to teach a move to a POKéMON.\l" + .string "There are many different kinds.\l" + .string "Moves can be taught only to those\l" + .string "POKéMON capable of using them.\l" + .string "A TM breaks after a single use.$" + +gUnknown_81B9560:: @ 81B9560 + .string "An HM (Hidden Machine) is a device used\n" + .string "to teach a HIDDEN move to a POKéMON.\l" + .string "A HIDDEN move can be taught only to\l" + .string "those POKéMON capable of using it.\l" + .string "Unlike a TM, an HM can be used over\l" + .string "and over. A HIDDEN move can be tough\l" + .string "for a POKéMON to forget.$" + +gUnknown_81B9656:: @ 81B9656 + .string "HIDDEN moves are those that are\n" + .string "especially important for your\l" + .string "adventure. To use such a move outside\l" + .string "of battle, open the “POKéMON” MENU\l" + .string "and make the POKéMON that knows the\l" + .string "move use it. A fainted POKéMON may use\l" + .string "a HIDDEN move outside of battle.$" + +gUnknown_81B9749:: @ 81B9749 + .string "Among POKéMON, there are some that\n" + .string "undergo major changes (evolution) upon\l" + .string "growing to certain levels. Evolution\l" + .string "causes a POKéMON to alter form, change\l" + .string "its name, and perhaps change the moves\l" + .string "it may learn. Some POKéMON evolve\l" + .string "due to reasons other than leveling up.$" + +gUnknown_81B984F:: @ 81B984F + .string "Status problems include:\n" + .string "Sleep: Can't use moves.\l" + .string "Poison: Causes steady HP loss.\l" + .string "Paralysis: May prevent moves.\l" + .string "Burn: HP loss and lowers ATTACK.\l" + .string "Freeze: Can't use moves.\l" + .string "These can be healed with items, etc.$" + +gUnknown_81B991C:: @ 81B991C + .string "POKéMON is a name given to describe\n" + .string "wondrous creatures that inhabit all\l" + .string "corners of this world.\l" + .string "People raise POKéMON to be their pets,\l" + .string "use them for battling, and so on.$" + +gUnknown_81B99C4:: @ 81B99C4 + .string "The ID No. is a special number assigned\n" + .string "specifically to you as a TRAINER.\l" + .string "Together with the OT name, the ID No.\l" + .string "is used to precisely identify the\l" + .string "Original TRAINER.\l" + .string "The ID No. does not change even if the\l" + .string "POKéMON is traded.$" + +gUnknown_81B9AA2:: @ 81B9AA2 + .string "Whenever you win a battle against a\n" + .string "TRAINER, you are given prize money.\l" + .string "Save up your prize money so you can\l" + .string "enjoy shopping at POKéMON MARTS!$" + +gUnknown_81B9B2F:: @ 81B9B2F + .string "This indicates the number of POKéMON\n" + .string "LEAGUE BADGES that you have won.\l" + .string "Earn BADGES by defeating GYM LEADERS\l" + .string "in various cities and towns.$" + +gUnknown_81B9BB7:: @ 81B9BB7 + .string "The HELP System$" + +gUnknown_81B9BC7:: @ 81B9BC7 + .string "The game$" + +gUnknown_81B9BD0:: @ 81B9BD0 + .string "Wireless Adapter$" + +gUnknown_81B9BE1:: @ 81B9BE1 + .string "Game fundamentals 1$" + +gUnknown_81B9BF5:: @ 81B9BF5 + .string "Game fundamentals 2$" + +gUnknown_81B9C09:: @ 81B9C09 + .string "Game fundamentals 3$" + +gUnknown_81B9C1D:: @ 81B9C1D + .string "What are POKéMON?$" + +gUnknown_81B9C2F:: @ 81B9C2F + .string "The help messages change depending on\n" + .string "how much you have progressed in the\l" + .string "game. They are designed to support you\l" + .string "when you need them. If there is\l" + .string "anything that you don't understand,\l" + .string "please look up the HELP System!$" + +gUnknown_81B9D04:: @ 81B9D04 + .string "You become the main character to\n" + .string "explore the world of POKéMON!\l" + .string "By talking to people and solving\l" + .string "mysteries, new paths will open to you.\l" + .string "Strive for the goal together with your\l" + .string "wonderful POKéMON!$" + +gUnknown_81B9DC5:: @ 81B9DC5 + .string "This game communicates over a wireless\n" + .string "link using the Wireless Adapter.\p" + .string "Go wireless anywhere, anytime, and\n" + .string "with anybody!\p" + .string "Try playing with the Wireless Adapter\n" + .string "always attached!$" + +gUnknown_81B9E75:: @ 81B9E75 + .string "Visit every city and town, travel every\n" + .string "road, explore every cave, and face\l" + .string "every challenge as you strive to\l" + .string "become the greatest TRAINER of\l" + .string "POKéMON!$" + +gUnknown_81B9F09:: @ 81B9F09 + .string "On your adventure, you will be faced\n" + .string "with many obstacles. Every obstacle\l" + .string "can be overcome by doing something\l" + .string "or by solving mysteries. Some obstacles\l" + .string "are affected by something that happens\l" + .string "far away.$" + +gUnknown_81B9FCE:: @ 81B9FCE + .string "Some of the obstacles in your way can\n" + .string "be removed once your POKéMON learn\l" + .string "specific moves.$" + +gUnknown_81BA027:: @ 81BA027 + .string "POKéMON are wondrous creatures that\n" + .string "are shrouded in mystery. You may meet\l" + .string "them all over the world…in tall\l" + .string "grass, caves, the sea, and more.\l" + .string "They appear to grow obedient to the\l" + .string "TRAINERS that caught them.$" + +gUnknown_81BA0F1:: @ 81BA0F1 + .string "Using the Type Matchup List$" + +gUnknown_81BA10D:: @ 81BA10D + .string "Own move type: DARK$" + +gUnknown_81BA121:: @ 81BA121 + .string "Own POKéMON type: DARK$" + +gUnknown_81BA138:: @ 81BA138 + .string "Own move type: ROCK$" + +gUnknown_81BA14C:: @ 81BA14C + .string "Own POKéMON type: ROCK$" + +gUnknown_81BA163:: @ 81BA163 + .string "Own move type: PSYCHIC$" + +gUnknown_81BA17A:: @ 81BA17A + .string "Own POKéMON type: PSYCHIC$" + +gUnknown_81BA194:: @ 81BA194 + .string "Own move type: FIGHTING$" + +gUnknown_81BA1AC:: @ 81BA1AC + .string "Own POKéMON type: FIGHTING$" + +gUnknown_81BA1C7:: @ 81BA1C7 + .string "Own move type: GRASS$" + +gUnknown_81BA1DC:: @ 81BA1DC + .string "Own POKéMON type: GRASS$" + +gUnknown_81BA1F4:: @ 81BA1F4 + .string "Own move type: GHOST$" + +gUnknown_81BA209:: @ 81BA209 + .string "Own POKéMON type: GHOST$" + +gUnknown_81BA221:: @ 81BA221 + .string "Own move type: ICE$" + +gUnknown_81BA234:: @ 81BA234 + .string "Own POKéMON type: ICE$" + +gUnknown_81BA24A:: @ 81BA24A + .string "Own move type: GROUND$" + +gUnknown_81BA260:: @ 81BA260 + .string "Own POKéMON type: GROUND$" + +gUnknown_81BA279:: @ 81BA279 + .string "Own move type: ELECTRIC$" + +gUnknown_81BA291:: @ 81BA291 + .string "Own POKéMON type: ELECTRIC$" + +gUnknown_81BA2AC:: @ 81BA2AC + .string "Own move type: POISON$" + +gUnknown_81BA2C2:: @ 81BA2C2 + .string "Own POKéMON type: POISON$" + +gUnknown_81BA2DB:: @ 81BA2DB + .string "Own move type: DRAGON$" + +gUnknown_81BA2F1:: @ 81BA2F1 + .string "Own POKéMON type: DRAGON$" + +gUnknown_81BA30A:: @ 81BA30A + .string "Own move type: NORMAL$" + +gUnknown_81BA320:: @ 81BA320 + .string "Own POKéMON type: NORMAL$" + +gUnknown_81BA339:: @ 81BA339 + .string "Own move type: STEEL$" + +gUnknown_81BA34E:: @ 81BA34E + .string "Own POKéMON type: STEEL$" + +gUnknown_81BA366:: @ 81BA366 + .string "Own move type: FLYING$" + +gUnknown_81BA37C:: @ 81BA37C + .string "Own POKéMON type: FLYING$" + +gUnknown_81BA395:: @ 81BA395 + .string "Own move type: FIRE$" + +gUnknown_81BA3A9:: @ 81BA3A9 + .string "Own POKéMON type: FIRE$" + +gUnknown_81BA3C0:: @ 81BA3C0 + .string "Own move type: WATER$" + +gUnknown_81BA3D5:: @ 81BA3D5 + .string "Own POKéMON type: WATER$" + +gUnknown_81BA3ED:: @ 81BA3ED + .string "Own move type: BUG$" + +gUnknown_81BA400:: @ 81BA400 + .string "Own POKéMON type: BUG$" + +gUnknown_81BA416:: @ 81BA416 + .string "Depending on the matchup of the\n" + .string "move type and the target POKéMON's\l" + .string "type, the move's effectiveness varies:\l" + .string "{EXTRA_TARGET}: Super effective!\l" + .string "{EXTRA_TRIANGLE}: Not very effective\l" + .string "{EXTRA_X}: Not effective at all\l" + .string "(No changes for other matchups.)$" + +gUnknown_81BA4E6:: @ 81BA4E6 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: PSYCHIC, GHOST\p" + .string " {EXTRA_TRIANGLE}: FIGHTING, DARK, STEEL$" + +gUnknown_81BA539:: @ 81BA539 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIGHTING, BUG\p" + .string " {EXTRA_TRIANGLE}: GHOST, DARK\p" + .string " {EXTRA_X}: PSYCHIC$" + +gUnknown_81BA595:: @ 81BA595 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, ICE, FLYING, BUG\p" + .string " {EXTRA_TRIANGLE}: FIGHTING, GROUND, STEEL$" + +gUnknown_81BA5F2:: @ 81BA5F2 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, GRASS, FIGHTING,\n" + .string " GROUND, STEEL\p" + .string " {EXTRA_TRIANGLE}: NORMAL, FIRE, POISON, FLYING$" + +gUnknown_81BA66F:: @ 81BA66F + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: FIGHTING, POISON\p" + .string " {EXTRA_TRIANGLE}: PSYCHIC, STEEL\p" + .string " {EXTRA_X}: DARK$" + +gUnknown_81BA6C9:: @ 81BA6C9 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: BUG, GHOST, DARK\p" + .string " {EXTRA_TRIANGLE}: FIGHTING, PSYCHIC$" + +gUnknown_81BA71F:: @ 81BA71F + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: NORMAL, ICE, ROCK, DARK, STEEL\p" + .string " {EXTRA_TRIANGLE}: POISON, FLYING, PSYCHIC, BUG\p" + .string " {EXTRA_X}: GHOST$" + +gUnknown_81BA796:: @ 81BA796 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FLYING, PSYCHIC\p" + .string " {EXTRA_TRIANGLE}: BUG, ROCK, DARK$" + +gUnknown_81BA7E9:: @ 81BA7E9 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, GROUND, ROCK\p" + .string " {EXTRA_TRIANGLE}: FIRE, GRASS, POISON, FLYING,\n" + .string " BUG, DRAGON, STEEL$" + +gUnknown_81BA862:: @ 81BA862 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, ICE, POISON, FLYING, BUG\p" + .string " {EXTRA_TRIANGLE}: WATER, ELECTRIC, GRASS, GROUND$" + +gUnknown_81BA8D3:: @ 81BA8D3 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: PSYCHIC, GHOST\p" + .string " {EXTRA_TRIANGLE}: DARK, STEEL\p" + .string " {EXTRA_X}: NORMAL$" + +gUnknown_81BA92A:: @ 81BA92A + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: GHOST, DARK\p" + .string " {EXTRA_TRIANGLE}: POISON, BUG\p" + .string " {EXTRA_X}: NORMAL, FIGHTING$" + +gUnknown_81BA98D:: @ 81BA98D + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS, GROUND, FLYING, DRAGON\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ICE, STEEL$" + +gUnknown_81BA9F1:: @ 81BA9F1 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, FIGHTING, ROCK, STEEL\p" + .string " {EXTRA_TRIANGLE}: ICE$" + +gUnknown_81BAA44:: @ 81BAA44 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, ELECTRIC, POISON, ROCK,\n" + .string " STEEL\p" + .string " {EXTRA_TRIANGLE}: GRASS, BUG\n" + .string " {EXTRA_X}: FLYING$" + +gUnknown_81BAAB6:: @ 81BAAB6 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, GRASS, ICE\p" + .string " {EXTRA_TRIANGLE}: POISON, ROCK\p" + .string " {EXTRA_X}: ELECTRIC$" + +gUnknown_81BAB18:: @ 81BAB18 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, FLYING\p" + .string " {EXTRA_TRIANGLE}: ELECTRIC, GRASS, DRAGON\p" + .string " {EXTRA_X}: GROUND$" + +gUnknown_81BAB7A:: @ 81BAB7A + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: GROUND\p" + .string " {EXTRA_TRIANGLE}: ELECTRIC, FLYING, STEEL$" + +gUnknown_81BABCC:: @ 81BABCC + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS\p" + .string " {EXTRA_TRIANGLE}: POISON, GROUND, ROCK, GHOST\p" + .string " {EXTRA_X}: STEEL$" + +gUnknown_81BAC29:: @ 81BAC29 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: GROUND, PSYCHIC\p" + .string " {EXTRA_TRIANGLE}: GRASS, FIGHTING, POISON, BUG$" + +gUnknown_81BAC89:: @ 81BAC89 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: DRAGON\p" + .string " {EXTRA_TRIANGLE}: STEEL$" + +gUnknown_81BACC4:: @ 81BACC4 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: ICE, DRAGON\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ELECTRIC, GRASS$" + +gUnknown_81BAD20:: @ 81BAD20 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TRIANGLE}: ROCK, STEEL\p" + .string " {EXTRA_X}: GHOST$" + +gUnknown_81BAD60:: @ 81BAD60 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIGHTING\p" + .string " {EXTRA_X}: GHOST$" + +gUnknown_81BADA2:: @ 81BADA2 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: ICE, ROCK\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ELECTRIC, STEEL$" + +gUnknown_81BADF7:: @ 81BADF7 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, FIGHTING, GROUND\n" + .string " {EXTRA_TRIANGLE}: NORMAL, GRASS, ICE, FLYING,\l" + .string " PSYCHIC, BUG, ROCK, GHOST,\l" + .string " DRAGON, DARK, STEEL\l" + .string " {EXTRA_X}: POISON$" + +gUnknown_81BAEA8:: @ 81BAEA8 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS, FIGHTING, BUG\p" + .string " {EXTRA_TRIANGLE}: ELECTRIC, ROCK, STEEL$" + +gUnknown_81BAF01:: @ 81BAF01 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: ELECTRIC, ICE, ROCK\p" + .string " {EXTRA_TRIANGLE}: GRASS, FIGHTING, BUG\p" + .string " {EXTRA_X}: GROUND$" + +gUnknown_81BAF6B:: @ 81BAF6B + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS, ICE, BUG, STEEL\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ROCK, DRAGON$" + +gUnknown_81BAFCA:: @ 81BAFCA + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, GROUND, ROCK\p" + .string " {EXTRA_TRIANGLE}: FIRE, GRASS, ICE, BUG, STEEL$" + +gUnknown_81BB02E:: @ 81BB02E + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, GROUND, ROCK\p" + .string " {EXTRA_TRIANGLE}: WATER, GRASS, DRAGON$" + +gUnknown_81BB084:: @ 81BB084 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: ELECTRIC, GRASS\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ICE, STEEL$" + +gUnknown_81BB0DF:: @ 81BB0DF + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS, PSYCHIC, DARK\p" + .string " {EXTRA_TRIANGLE}: FIRE, FIGHTING, POISON,\n" + .string " FLYING, GHOST, STEEL$" + +gUnknown_81BB156:: @ 81BB156 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, FLYING, ROCK\p" + .string " {EXTRA_TRIANGLE}: GRASS, FIGHTING, GROUND$" + diff --git a/graphics/help_system/unk_845BCB0.bin b/graphics/help_system/unk_845BCB0.bin new file mode 100644 index 000000000..b7ceb5080 Binary files /dev/null and b/graphics/help_system/unk_845BCB0.bin differ diff --git a/src/fame_checker.c b/src/fame_checker.c index b2ee17c93..b3988d156 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -127,9 +127,9 @@ extern const u8 gFameCheckerText_Cancel[]; extern const u8 gFameCheckerText_ListMenuCursor[]; extern const u8 gFameCheckerText_FameCheckerWillBeClosed[]; extern const u8 gFameCheckerText_ClearTextbox[]; -extern const u8 gFameCheckerText_MainScreenUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" -extern const u8 gFameCheckerText_PickScreenUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" -extern const u8 gFameCheckerText_FlavorTextUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" +extern const u8 gFameCheckerText_MainScreenUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" +extern const u8 gFameCheckerText_PickScreenUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" +extern const u8 gFameCheckerText_FlavorTextUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" extern const u8 gFameCheckerOakName[]; // "OAK$" extern const u8 gFameCheckerDaisyName[]; // "DAISY$" extern const u8 gFameCheckerBillName[]; // "BILL$" -- cgit v1.2.3 From 12c62c656b71cf385dce6f70c5b308f86ad02242 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 14:46:42 -0400 Subject: Decompile help system rodata --- data/data_83FECCC.s | 135 ++++--- data/help_system_812B1E0.s | 768 ---------------------------------------- include/event_scripts.h | 372 +++++++++++++++++++ include/strings.h | 4 + ld_script.txt | 1 - src/help_system_812B1E0.c | 863 ++++++++++++++++++++++++++++++++++++++++++++- 6 files changed, 1310 insertions(+), 833 deletions(-) delete mode 100644 data/help_system_812B1E0.s diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index f5066705e..eb922b028 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -839,10 +839,12 @@ gFameCheckerText_ListMenuCursor:: @ 841623B .string "▶$" gUnknown_841623D:: @ 841623D - .string "YES\nNO$" + .string "YES\n" + .string "NO$" gUnknown_8416244:: - .string "Go back to the\nprevious menu.$" + .string "Go back to the\n" + .string "previous menu.$" gUnknown_8416262:: @ 8416262 .string "What would you like to do?$" @@ -872,7 +874,8 @@ gUnknown_84162A2:: .string "RETIRE$" gUnknown_84162A9:: @ 84162A9 - .string "{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}$" + .string "{STR_VAR_1}/{STR_VAR_2}\n" + .string "BALLS {STR_VAR_3}$" gText_TimesStrVar1:: @ 84162B9 .string "×{STR_VAR_1}$" @@ -893,7 +896,8 @@ gUnknown_84162FF:: @ 84162FF .incbin "baserom.gba", 0x4162FF, 0x2 gText_IsSelected:: @ 8416301 - .string " is\nselected.$" + .string " is\n" + .string "selected.$" gUnknown_841630F:: @ 841630F .incbin "baserom.gba", 0x41630F, 0x1B @@ -1344,7 +1348,8 @@ gFameCheckerText_FameCheckerWillBeClosed:: @ 84181C3 .string "The FAME CHECKER will be closed.$" gFameCheckerText_ClearTextbox:: @ 84181E4 - .string "\n $" + .string "\n" + .string " $" gUnknown_8418204:: @ 8418204 .incbin "baserom.gba", 0x00418204, 0x48c @@ -2192,14 +2197,19 @@ gUnknown_841E0A5:: @ 841E0A5 .string "Press the B Button to exit.$" .string "SUMMARY$" .string "TRADE$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\nPlease wait.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\n" + .string "Please wait.$" .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled.$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\nfor battle.$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\nto finish…$" - .string "Your friend wants\nto trade POKéMON.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\n" + .string "for battle.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\n" + .string "to finish…$" + .string "Your friend wants\n" + .string "to trade POKéMON.$" gUnknown_841E1E9:: @ 841E1E9 - .string "{STR_VAR_2} will be\nsent to {STR_VAR_1}.$" + .string "{STR_VAR_2} will be\n" + .string "sent to {STR_VAR_1}.$" gUnknown_841E200:: @ 841E200 .string "Bye-bye, {STR_VAR_2}!$" @@ -2289,16 +2299,19 @@ gUnknown_841E325:: @ 841E325 .string "Communication standby…$" gDaycareText_GetAlongVeryWell:: @ 841E33C - .string "The two seem to get along\nvery well.$" + .string "The two seem to get along\n" + .string "very well.$" gDaycareText_GetAlong:: @ 841E361 .string "The two seem to get along.$" gDaycareText_DontLikeOther:: @ 841E37C - .string "The two don't seem to like\neach other much.$" + .string "The two don't seem to like\n" + .string "each other much.$" gDaycareText_PlayOther:: @ 841E3A8 - .string "The two prefer to play with other\nPOKéMON than each other.$" + .string "The two prefer to play with other\n" + .string "POKéMON than each other.$" gUnknown_841E3E3:: @ 841E3E3 .incbin "baserom.gba", 0x41E3E3, 0x18 @@ -2372,19 +2385,24 @@ gText_ReturnToTitle:: @ 841E685 .string "Return to the title screen.$" gText_DontHaveCardNewOneInput:: @ 841E6A1 - .string "You don't have a WONDER CARD,\nso a new CARD will be input.$" + .string "You don't have a WONDER CARD,\n" + .string "so a new CARD will be input.$" gText_DontHaveNewsNewOneInput:: @ 841E6DC - .string "You don't have any WONDER NEWS,\nso new NEWS will be input.$" + .string "You don't have any WONDER NEWS,\n" + .string "so new NEWS will be input.$" gText_WhereShouldCardBeAccessed:: @ 841E717 - .string "Where should the WONDER CARD\nbe accessed?$" + .string "Where should the WONDER CARD\n" + .string "be accessed?$" gText_WhereShouldNewsBeAccessed:: @ 841E741 - .string "Where should the WONDER NEWS\nbe accessed?$" + .string "Where should the WONDER NEWS\n" + .string "be accessed?$" gUnknown_841E76B:: @ 841E76B - .string "Link standby...\n... ... B Button: Cancel$" + .string "Link standby...\n" + .string "... ... B Button: Cancel$" gText_Communicating:: @ 841E794 .string "Communicating…$" @@ -2399,22 +2417,28 @@ gText_CommunicationCanceled:: @ 841E7D1 .string "Communication has been canceled.$" gText_ThrowAwayWonderCard:: @ 841E7F2 - .string "Throw away the WONDER CARD\nand input a new CARD?$" + .string "Throw away the WONDER CARD\n" + .string "and input a new CARD?$" gText_HaventReceivedCardsGift:: @ 841E823 - .string "You haven't received the CARD's gift\nyet. Input a new CARD anyway?$" + .string "You haven't received the CARD's gift\n" + .string "yet. Input a new CARD anyway?$" gText_WonderCardReceivedFrom:: @ 841E866 - .string "A WONDER CARD has been received\nfrom {STR_VAR_1}.$" + .string "A WONDER CARD has been received\n" + .string "from {STR_VAR_1}.$" gText_WonderNewsReceivedFrom:: @ 841E88F - .string "A WONDER NEWS item has been\nreceived from {STR_VAR_1}.$" + .string "A WONDER NEWS item has been\n" + .string "received from {STR_VAR_1}.$" gText_WonderCardReceived:: @ 841E8BD - .string "A new WONDER CARD has been\nreceived.$" + .string "A new WONDER CARD has been\n" + .string "received.$" gText_WonderNewsReceived:: @ 841E8E2 - .string "A new WONDER NEWS item has been\nreceived.$" + .string "A new WONDER NEWS item has been\n" + .string "received.$" gText_NewStampReceived:: @ 841E90C .string "A new STAMP has been received.$" @@ -2423,34 +2447,43 @@ gText_NewTrainerReceived:: @ 841E92B .string "A new TRAINER has arrived.$" gText_AlreadyHadCard:: @ 841E946 - .string "You already had that\nWONDER CARD.$" + .string "You already had that\n" + .string "WONDER CARD.$" gText_AlreadyHadNews:: @ 841E968 - .string "You already had that\nWONDER NEWS item.$" + .string "You already had that\n" + .string "WONDER NEWS item.$" gText_AlreadyHadStamp:: @ 841E98F - .string "You already had that\nSTAMP.$" + .string "You already had that\n" + .string "STAMP.$" gText_NoMoreRoomForStamps:: @ 841E9AB - .string "There's no more room for adding\nSTAMPS.$" + .string "There's no more room for adding\n" + .string "STAMPS.$" gText_RecordUploadedViaWireless:: @ 841E9D3 - .string "Your record has been uploaded via\nWIRELESS COMMUNICATION.$" + .string "Your record has been uploaded via\n" + .string "WIRELESS COMMUNICATION.$" gText_CantAcceptCardFromTrainer:: @ 841EA0D - .string "You can't accept a WONDER CARD\nfrom this TRAINER.$" + .string "You can't accept a WONDER CARD\n" + .string "from this TRAINER.$" gText_CantAcceptNewsFromTrainer:: @ 841EA3F - .string "You can't accept WONDER NEWS\nfrom this TRAINER.$" + .string "You can't accept WONDER NEWS\n" + .string "from this TRAINER.$" gText_NothingSentOver:: @ 841EA6F .string "Nothing was sent over…$" gText_WhatToDoWithCards:: @ 841EA86 - .string "What would you like to do\nwith the WONDER CARDS?$" + .string "What would you like to do\n" + .string "with the WONDER CARDS?$" gText_WhatToDoWithNews:: @ 841EAB7 - .string "What would you like to do\nwith the WONDER NEWS?$" + .string "What would you like to do\n" + .string "with the WONDER NEWS?$" gText_SendingWonderCard:: @ 841EAE7 .string "Sending your WONDER CARD…$" @@ -2459,10 +2492,12 @@ gText_SendingWonderNews:: @ 841EB01 .string "Sending your WONDER NEWS item…$" gText_WonderCardSentTo:: @ 841EB20 - .string "Your WONDER CARD has been sent\nto {STR_VAR_1}.$" + .string "Your WONDER CARD has been sent\n" + .string "to {STR_VAR_1}.$" gText_WonderNewsSentTo:: @ 841EB46 - .string "Your WONDER NEWS item has been\nsent to {STR_VAR_1}.$" + .string "Your WONDER NEWS item has been\n" + .string "sent to {STR_VAR_1}.$" gText_StampSentTo:: @ 841EB71 .string "A STAMP has been sent to {STR_VAR_1}.$" @@ -2471,34 +2506,44 @@ gText_GiftSentTo:: @ 841EB8E .string "A GIFT has been sent to {STR_VAR_1}.$" gText_OtherTrainerHasCard:: @ 841EBAA - .string "The other TRAINER has the same\nWONDER CARD already.$" + .string "The other TRAINER has the same\n" + .string "WONDER CARD already.$" gText_OtherTrainerHasNews:: @ 841EBDE - .string "The other TRAINER has the same\nWONDER NEWS already.$" + .string "The other TRAINER has the same\n" + .string "WONDER NEWS already.$" gText_OtherTrainerHasStamp:: @ 841EC12 - .string "The other TRAINER has the same\nSTAMP already.$" + .string "The other TRAINER has the same\n" + .string "STAMP already.$" gText_OtherTrainerCanceled:: @ 841EC40 - .string "The other TRAINER canceled\ncommunication.$" + .string "The other TRAINER canceled\n" + .string "communication.$" gText_CantSendGiftToTrainer:: @ 841EC6A - .string "You can't send a MYSTERY GIFT to\nthis TRAINER.$" + .string "You can't send a MYSTERY GIFT to\n" + .string "this TRAINER.$" gText_IfThrowAwayCardEventWontHappen:: @ 841EC99 - .string "If you throw away the CARD,\nits event won't happen. Okay?$" + .string "If you throw away the CARD,\n" + .string "its event won't happen. Okay?$" gText_OkayToDiscardNews:: @ 841ECD3 - .string "Is it okay to discard this\nNEWS item?$" + .string "Is it okay to discard this\n" + .string "NEWS item?$" gText_HaventReceivedGiftOkayToDiscard:: @ 841ECF9 - .string "You haven't received the\nGIFT. Is it okay to discard?$" + .string "You haven't received the\n" + .string "GIFT. Is it okay to discard?$" gText_DataWillBeSaved:: @ 841ED2F - .string "Data will be saved.\nPlease wait.$" + .string "Data will be saved.\n" + .string "Please wait.$" gText_SaveCompletedPressA:: @ 841ED50 - .string "Save completed.\nPlease press the A Button.$" + .string "Save completed.\n" + .string "Please press the A Button.$" gText_WonderCardThrownAway:: @ 841ED7B .string "The WONDER CARD was thrown away.$" diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s deleted file mode 100644 index fcdaf935a..000000000 --- a/data/help_system_812B1E0.s +++ /dev/null @@ -1,768 +0,0 @@ -#include "constants/maps.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 -gUnknown_845B080:: @ 845B080 - .4byte gUnknown_81B2DF8 - .4byte gUnknown_81B2E1C - .4byte gUnknown_81B2E2E - .4byte gUnknown_81B2E48 - .4byte gUnknown_81B2E58 - .4byte gUnknown_81B2E6A - -gUnknown_845B098:: @ 845B098 - .4byte gUnknown_81B2E88 - .4byte gUnknown_81B2EC8 - .4byte gUnknown_81B2F00 - .4byte gUnknown_81B2F43 - .4byte gUnknown_81B2F74 - .4byte gUnknown_81B2FA9 - -gUnknown_845B0B0:: @ 845B0B0 - .4byte NULL - .4byte gUnknown_81B3083 - .4byte gUnknown_81B30A9 - .4byte gUnknown_81B30C1 - .4byte gUnknown_81B30DC - .4byte gUnknown_81B30FC - .4byte gUnknown_81B311F - .4byte gUnknown_81B3140 - .4byte gUnknown_81B314F - .4byte gUnknown_81B3168 - .4byte gUnknown_81B3189 - .4byte gUnknown_81B31AE - .4byte gUnknown_81B31D3 - .4byte gUnknown_81B31EC - .4byte gUnknown_81B31FF - .4byte gUnknown_81B3215 - .4byte gUnknown_81B3226 - .4byte gUnknown_81B3243 - .4byte gUnknown_81B3261 - .4byte gUnknown_81B3276 - .4byte gUnknown_81B3290 - .4byte gUnknown_81B32B6 - .4byte gUnknown_81B32CD - .4byte gUnknown_81B32E3 - .4byte gUnknown_81B32F9 - .4byte gUnknown_81B330B - .4byte gUnknown_81B332B - .4byte gUnknown_81B3344 - .4byte gUnknown_81B335C - .4byte gUnknown_81B3373 - .4byte gUnknown_81B338C - .4byte gUnknown_81B33A6 - .4byte gUnknown_81B33CA - .4byte gUnknown_81B33EA - .4byte gUnknown_81B3402 - .4byte gUnknown_81B3427 - .4byte gUnknown_81B3440 - .4byte gUnknown_81B3457 - .4byte gUnknown_81B346F - .4byte gUnknown_81B3481 - .4byte gUnknown_81B349B - .4byte gUnknown_81B34B7 - .4byte gUnknown_81B34D6 - .4byte gUnknown_81B34F6 - .4byte gUnknown_81B3516 - -gUnknown_845B164:: @ 845B164 - .4byte NULL - .4byte gUnknown_81B3525 - .4byte gUnknown_81B35E6 - .4byte gUnknown_81B36EB - .4byte gUnknown_81B379A - .4byte gUnknown_81B3849 - .4byte gUnknown_81B3876 - .4byte gUnknown_81B3972 - .4byte gUnknown_81B3A51 - .4byte gUnknown_81B3ACC - .4byte gUnknown_81B3BB6 - .4byte gUnknown_81B3C99 - .4byte gUnknown_81B3D1B - .4byte gUnknown_81B3DE3 - .4byte gUnknown_81B3EBC - .4byte gUnknown_81B3F7F - .4byte gUnknown_81B406C - .4byte gUnknown_81B410B - .4byte gUnknown_81B41D7 - .4byte gUnknown_81B42B3 - .4byte gUnknown_81B439D - .4byte gUnknown_81B4483 - .4byte gUnknown_81B457C - .4byte gUnknown_81B4645 - .4byte gUnknown_81B470A - .4byte gUnknown_81B47F0 - .4byte gUnknown_81B48C6 - .4byte gUnknown_81B497A - .4byte gUnknown_81B4A72 - .4byte gUnknown_81B4B65 - .4byte gUnknown_81B4C54 - .4byte gUnknown_81B4D26 - .4byte gUnknown_81B4E0B - .4byte gUnknown_81B4ED8 - .4byte gUnknown_81B4FB2 - .4byte gUnknown_81B4FFD - .4byte gUnknown_81B50FF - .4byte gUnknown_81B51B1 - .4byte gUnknown_81B5272 - .4byte gUnknown_81B5325 - .4byte gUnknown_81B5382 - .4byte gUnknown_81B547C - .4byte gUnknown_81B54E1 - .4byte gUnknown_81B5589 - .4byte gUnknown_81B55F4 - -gUnknown_845B218:: @ 845B218 - .4byte NULL - .4byte gUnknown_81B56E3 - .4byte gUnknown_81B56F4 - .4byte gUnknown_81B5705 - .4byte gUnknown_81B5717 - .4byte gUnknown_81B5728 - .4byte gUnknown_81B5737 - .4byte gUnknown_81B5744 - .4byte gUnknown_81B5754 - .4byte gUnknown_81B5767 - .4byte gUnknown_81B577B - .4byte gUnknown_81B5787 - .4byte gUnknown_81B5795 - .4byte gUnknown_81B57A5 - .4byte gUnknown_81B57B8 - .4byte gUnknown_81B57CF - .4byte gUnknown_81B57DE - .4byte gUnknown_81B57EE - .4byte gUnknown_81B580D - .4byte gUnknown_81B5824 - .4byte gUnknown_81B5834 - .4byte gUnknown_81B583F - .4byte gUnknown_81B5850 - .4byte gUnknown_81B5863 - .4byte gUnknown_81B5875 - .4byte gUnknown_81B5884 - .4byte gUnknown_81B5893 - .4byte gUnknown_81B58A4 - .4byte gUnknown_81B58BC - .4byte gUnknown_81B58D3 - .4byte gUnknown_81B58E5 - .4byte gUnknown_81B58FD - .4byte gUnknown_81B590E - .4byte gUnknown_81B591D - .4byte gUnknown_81B592E - .4byte gUnknown_81B593E - .4byte gUnknown_81B5950 - .4byte gUnknown_81B595D - .4byte gUnknown_81B5974 - .4byte gUnknown_81B5989 - .4byte gUnknown_81B59A7 - .4byte gUnknown_81B59BF - .4byte gUnknown_81B59D6 - .4byte gUnknown_81B59E8 - .4byte gUnknown_81B59F5 - .4byte gUnknown_81B5A0D - .4byte gUnknown_81B5A1B - .4byte gUnknown_81B5A29 - .4byte gUnknown_81B5A37 - -gUnknown_845B2DC:: @ 845B2DC - .4byte NULL - .4byte gUnknown_81B5A4D - .4byte gUnknown_81B5B0C - .4byte gUnknown_81B5B7D - .4byte gUnknown_81B5C13 - .4byte gUnknown_81B5CDF - .4byte gUnknown_81B5D87 - .4byte gUnknown_81B5E41 - .4byte gUnknown_81B5F10 - .4byte gUnknown_81B5FA6 - .4byte gUnknown_81B606C - .4byte gUnknown_81B6140 - .4byte gUnknown_81B6203 - .4byte gUnknown_81B62E4 - .4byte gUnknown_81B6397 - .4byte gUnknown_81B6478 - .4byte gUnknown_81B6525 - .4byte gUnknown_81B65E7 - .4byte gUnknown_81B66BA - .4byte gUnknown_81B678E - .4byte gUnknown_81B6883 - .4byte gUnknown_81B68CD - .4byte gUnknown_81B69B9 - .4byte gUnknown_81B6A9A - .4byte gUnknown_81B6B6E - .4byte gUnknown_81B6C4F - .4byte gUnknown_81B6D4A - .4byte gUnknown_81B6E02 - .4byte gUnknown_81B6EC1 - .4byte gUnknown_81B6FA8 - .4byte gUnknown_81B7075 - .4byte gUnknown_81B7108 - .4byte gUnknown_81B71EA - .4byte gUnknown_81B723B - .4byte gUnknown_81B7319 - .4byte gUnknown_81B73E8 - .4byte gUnknown_81B747E - .4byte gUnknown_81B752C - .4byte gUnknown_81B7611 - .4byte gUnknown_81B7692 - .4byte gUnknown_81B771E - .4byte gUnknown_81B77DD - .4byte gUnknown_81B7884 - .4byte gUnknown_81B7931 - .4byte gUnknown_81B79CB - .4byte gUnknown_81B7A60 - .4byte gUnknown_81B7AEE - .4byte gUnknown_81B7BBE - .4byte gUnknown_81B7C57 - -gUnknown_845B3A0:: @ 845B3A0 - .4byte NULL - .4byte gUnknown_81B7CC1 - .4byte gUnknown_81B7CC4 - .4byte gUnknown_81B7CD9 - .4byte gUnknown_81B7CDF - .4byte gUnknown_81B7CE6 - .4byte gUnknown_81B7CEE - .4byte gUnknown_81B7CF6 - .4byte gUnknown_81B7CFE - .4byte gUnknown_81B7D04 - .4byte gUnknown_81B7D12 - .4byte gUnknown_81B7D17 - .4byte gUnknown_81B7D1A - .4byte gUnknown_81B7D1F - .4byte gUnknown_81B7D27 - .4byte gUnknown_81B7D2D - .4byte gUnknown_81B7D37 - .4byte gUnknown_81B7D3E - .4byte gUnknown_81B7D45 - .4byte gUnknown_81B7D48 - .4byte gUnknown_81B7D4E - .4byte gUnknown_81B7D57 - .4byte gUnknown_81B7D5B - .4byte gUnknown_81B7D61 - .4byte gUnknown_81B7D6B - .4byte gUnknown_81B7D76 - .4byte gUnknown_81B7D7E - .4byte gUnknown_81B7D88 - .4byte gUnknown_81B7D8F - .4byte gUnknown_81B7D9A - .4byte gUnknown_81B7DA7 - .4byte gUnknown_81B7DB4 - .4byte gUnknown_81B7DBA - .4byte gUnknown_81B7DC6 - .4byte gUnknown_81B7DCC - .4byte gUnknown_81B7DD3 - .4byte gUnknown_81B7DD6 - .4byte gUnknown_81B7DD9 - .4byte gUnknown_81B7DE1 - .4byte gUnknown_81B7DEB - .4byte gUnknown_81B7DFA - .4byte gUnknown_81B7E02 - .4byte gUnknown_81B7E09 - .4byte gUnknown_81B7E0F - -gUnknown_845B450:: @ 845B450 - .4byte NULL - .4byte gUnknown_81B7E16 - .4byte gUnknown_81B7F0A - .4byte gUnknown_81B800A - .4byte gUnknown_81B80EC - .4byte gUnknown_81B81C2 - .4byte gUnknown_81B8256 - .4byte gUnknown_81B8348 - .4byte gUnknown_81B83EF - .4byte gUnknown_81B847B - .4byte gUnknown_81B8550 - .4byte gUnknown_81B8647 - .4byte gUnknown_81B86E2 - .4byte gUnknown_81B87B8 - .4byte gUnknown_81B8897 - .4byte gUnknown_81B8924 - .4byte gUnknown_81B8A04 - .4byte gUnknown_81B8A84 - .4byte gUnknown_81B8B62 - .4byte gUnknown_81B8C18 - .4byte gUnknown_81B8C94 - .4byte gUnknown_81B8D1D - .4byte gUnknown_81B8DD4 - .4byte gUnknown_81B8E67 - .4byte gUnknown_81B8F4D - .4byte gUnknown_81B901B - .4byte gUnknown_81B90A7 - .4byte gUnknown_81B90E8 - .4byte gUnknown_81B9170 - .4byte gUnknown_81B91C2 - .4byte gUnknown_81B91F9 - .4byte gUnknown_81B92B8 - .4byte gUnknown_81B92ED - .4byte gUnknown_81B93D8 - .4byte gUnknown_81B9439 - .4byte gUnknown_81B9497 - .4byte gUnknown_81B9560 - .4byte gUnknown_81B9656 - .4byte gUnknown_81B9749 - .4byte gUnknown_81B984F - .4byte gUnknown_81B991C - .4byte gUnknown_81B99C4 - .4byte gUnknown_81B9AA2 - .4byte gUnknown_81B9B2F - -gUnknown_845B500:: @ 845B500 - .4byte NULL - .4byte gUnknown_81B9BB7 - .4byte gUnknown_81B9BC7 - .4byte gUnknown_81B9BD0 - .4byte gUnknown_81B9BE1 - .4byte gUnknown_81B9BF5 - .4byte gUnknown_81B9C09 - .4byte gUnknown_81B9C1D - -gUnknown_845B520:: @ 845B520 - .4byte NULL - .4byte gUnknown_81B9C2F - .4byte gUnknown_81B9D04 - .4byte gUnknown_81B9DC5 - .4byte gUnknown_81B9E75 - .4byte gUnknown_81B9F09 - .4byte gUnknown_81B9FCE - .4byte gUnknown_81BA027 - -gUnknown_845B540:: @ 845B540 - .4byte NULL - .4byte gUnknown_81BA0F1 - .4byte gUnknown_81BA10D - .4byte gUnknown_81BA121 - .4byte gUnknown_81BA138 - .4byte gUnknown_81BA14C - .4byte gUnknown_81BA163 - .4byte gUnknown_81BA17A - .4byte gUnknown_81BA194 - .4byte gUnknown_81BA1AC - .4byte gUnknown_81BA1C7 - .4byte gUnknown_81BA1DC - .4byte gUnknown_81BA1F4 - .4byte gUnknown_81BA209 - .4byte gUnknown_81BA221 - .4byte gUnknown_81BA234 - .4byte gUnknown_81BA24A - .4byte gUnknown_81BA260 - .4byte gUnknown_81BA279 - .4byte gUnknown_81BA291 - .4byte gUnknown_81BA2AC - .4byte gUnknown_81BA2C2 - .4byte gUnknown_81BA2DB - .4byte gUnknown_81BA2F1 - .4byte gUnknown_81BA30A - .4byte gUnknown_81BA320 - .4byte gUnknown_81BA339 - .4byte gUnknown_81BA34E - .4byte gUnknown_81BA366 - .4byte gUnknown_81BA37C - .4byte gUnknown_81BA395 - .4byte gUnknown_81BA3A9 - .4byte gUnknown_81BA3C0 - .4byte gUnknown_81BA3D5 - .4byte gUnknown_81BA3ED - .4byte gUnknown_81BA400 - -gUnknown_845B5D0:: - .4byte NULL - .4byte gUnknown_81BA416 - .4byte gUnknown_81BA4E6 - .4byte gUnknown_81BA539 - .4byte gUnknown_81BA595 - .4byte gUnknown_81BA5F2 - .4byte gUnknown_81BA66F - .4byte gUnknown_81BA6C9 - .4byte gUnknown_81BA71F - .4byte gUnknown_81BA796 - .4byte gUnknown_81BA7E9 - .4byte gUnknown_81BA862 - .4byte gUnknown_81BA8D3 - .4byte gUnknown_81BA92A - .4byte gUnknown_81BA98D - .4byte gUnknown_81BA9F1 - .4byte gUnknown_81BAA44 - .4byte gUnknown_81BAAB6 - .4byte gUnknown_81BAB18 - .4byte gUnknown_81BAB7A - .4byte gUnknown_81BABCC - .4byte gUnknown_81BAC29 - .4byte gUnknown_81BAC89 - .4byte gUnknown_81BACC4 - .4byte gUnknown_81BAD20 - .4byte gUnknown_81BAD60 - .4byte gUnknown_81BADA2 - .4byte gUnknown_81BADF7 - .4byte gUnknown_81BAEA8 - .4byte gUnknown_81BAF01 - .4byte gUnknown_81BAF6B - .4byte gUnknown_81BAFCA - .4byte gUnknown_81BB02E - .4byte gUnknown_81BB084 - .4byte gUnknown_81BB0DF - .4byte gUnknown_81BB156 - -gUnknown_845B660:: - .byte 0x01, 0x02, 0x03, 0xff - -gUnknown_845B664:: - .byte 0x01, 0x02, 0x03, 0xff - -gUnknown_845B668:: - .byte 0x13, 0xff - -gUnknown_845B66A:: - .byte 0x01, 0x02, 0x03, 0xff - -gUnknown_845B66E:: - .byte 0x01, 0x25, 0xff - -gUnknown_845B671:: - .byte 0x02, 0x03, 0x04, 0x05, 0x11, 0xff - -gUnknown_845B677:: - .byte 0x09, 0x01, 0xff - -gUnknown_845B67A:: - .byte 0x02, 0x03, 0xff - -gUnknown_845B67D:: - .byte 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff - -gUnknown_845B684:: - .byte 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff - -gUnknown_845B68E:: - .byte 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff - -gUnknown_845B696:: - .byte 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff - -gUnknown_845B6A1:: - .byte 0x16, 0x17, 0x18, 0xff - -gUnknown_845B6A5:: - .byte 0x0a, 0xff - -gUnknown_845B6A7:: - .byte 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff - -gUnknown_845B6AD:: - .byte 0x0a, 0xff - -gUnknown_845B6AF:: - .byte 0x0b, 0xff - -gUnknown_845B6B1:: - .byte 0x2b, 0x19, 0x1a, 0xff - -gUnknown_845B6B5:: - .byte 0x0c, 0xff - -gUnknown_845B6B7:: - .byte 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff - -gUnknown_845B6BF:: - .byte 0x02, 0x03, 0x04, 0xff - -gUnknown_845B6C3:: - .byte 0x01, 0x02, 0x03, 0x07, 0xff - -gUnknown_845B6C8:: - .byte 0x02, 0x04, 0x05, 0x09, 0x25, 0xff - -gUnknown_845B6CE:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B6E2:: - .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff - -gUnknown_845B6E9:: - .byte 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff - -gUnknown_845B6F2:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff - -gUnknown_845B707:: - .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff - -gUnknown_845B70E:: - .byte 0x03, 0x07, 0x04, 0x05, 0x06, 0xff - -gUnknown_845B714:: - .byte 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff - -gUnknown_845B71D:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B731:: - .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff - -gUnknown_845B73D:: - .byte 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff - -gUnknown_845B744:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B758:: - .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff - -gUnknown_845B75F:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B783:: - .byte 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e - .byte 0x1c, 0x28, 0x25, 0xff - -gUnknown_845B7A7:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B7BB:: - .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff - -gUnknown_845B7C4:: - .byte 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e - .byte 0x1c, 0x28, 0x25, 0xff - -gUnknown_845B7E8:: - .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B7F1:: - .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff - -gUnknown_845B7FB:: - .byte 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff - -gUnknown_845B81A:: - .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B823:: - .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff - -gUnknown_845B82C:: - .byte 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff - -gUnknown_845B83E:: - .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B847:: - .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff - -gUnknown_845B850:: - .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff - -gUnknown_845B85D:: - .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff - -gUnknown_845B866:: - .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff - -gUnknown_845B878:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B89C:: - .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff - -gUnknown_845B8A7:: - .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff - -gUnknown_845B8AF:: - .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff - -gUnknown_845B8C1:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B8E5:: - .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff - -gUnknown_845B8F0:: - .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff - -gUnknown_845B8F8:: - .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff - -gUnknown_845B90A:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B92E:: - .byte 0x29, 0x2a, 0x2b, 0xff - -gUnknown_845B932:: - .byte 0x2d, 0x2e, 0x2f, 0x2b, 0xff - -gUnknown_845B937:: - .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff - -gUnknown_845B947:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B96B:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B978:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B985:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B992:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B99F:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B9AC:: - .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff - -gUnknown_845B9B2:: - .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff - -gUnknown_845B9B8:: - .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff - -gUnknown_845B9BE:: @ 845B9BE - .byte 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff - - .align 2 -gUnknown_845B9E0:: @ 845B9E0 - .4byte NULL, NULL, NULL, NULL, NULL - .4byte NULL, NULL, NULL, gUnknown_845B660, NULL - .4byte NULL, NULL, NULL, gUnknown_845B664, NULL - .4byte NULL, gUnknown_845B668, NULL, gUnknown_845B66A, NULL - .4byte NULL, gUnknown_845B66E, NULL, NULL, NULL - .4byte NULL, gUnknown_845B671, gUnknown_845B677, NULL, NULL - .4byte NULL, gUnknown_845B67A, gUnknown_845B67D, NULL, NULL - .4byte NULL, NULL, gUnknown_845B684, NULL, NULL - .4byte NULL, NULL, gUnknown_845B68E, NULL, NULL - .4byte NULL, gUnknown_845B696, gUnknown_845B6A1, NULL, NULL - .4byte NULL, gUnknown_845B6A5, gUnknown_845B6A7, NULL, NULL - .4byte NULL, gUnknown_845B6AD, NULL, NULL, NULL - .4byte NULL, gUnknown_845B6AF, gUnknown_845B6B1, NULL, NULL - .4byte NULL, gUnknown_845B6B5, gUnknown_845B6B7, NULL, NULL - .4byte gUnknown_845B6BF, NULL, NULL, gUnknown_845B6C3, NULL - .4byte gUnknown_845B6C8, gUnknown_845B6CE, gUnknown_845B6E2, NULL, NULL - .4byte gUnknown_845B6E9, gUnknown_845B6F2, gUnknown_845B707, gUnknown_845B70E, NULL - .4byte gUnknown_845B714, gUnknown_845B71D, gUnknown_845B731, NULL, NULL - .4byte gUnknown_845B73D, gUnknown_845B744, gUnknown_845B758, NULL, gUnknown_845B75F - .4byte gUnknown_845B783, gUnknown_845B7A7, gUnknown_845B7BB, NULL, NULL - .4byte gUnknown_845B7C4, gUnknown_845B7E8, gUnknown_845B7F1, NULL, NULL - .4byte gUnknown_845B7FB, gUnknown_845B81A, gUnknown_845B823, NULL, NULL - .4byte gUnknown_845B82C, gUnknown_845B83E, gUnknown_845B847, NULL, NULL - .4byte gUnknown_845B850, gUnknown_845B85D, gUnknown_845B866, NULL, gUnknown_845B878 - .4byte gUnknown_845B89C, gUnknown_845B8A7, gUnknown_845B8AF, NULL, gUnknown_845B8C1 - .4byte gUnknown_845B8E5, gUnknown_845B8F0, gUnknown_845B8F8, NULL, gUnknown_845B90A - .4byte gUnknown_845B92E, gUnknown_845B932, gUnknown_845B937, NULL, gUnknown_845B947 - .4byte NULL, gUnknown_845B96B, NULL, NULL, NULL - .4byte NULL, gUnknown_845B978, NULL, NULL, NULL - .4byte NULL, gUnknown_845B985, NULL, NULL, NULL - .4byte NULL, gUnknown_845B992, NULL, NULL, NULL - .4byte NULL, gUnknown_845B99F, NULL, NULL, NULL - .4byte NULL, gUnknown_845B9AC, NULL, NULL, NULL - .4byte NULL, gUnknown_845B9B2, NULL, NULL, NULL - .4byte NULL, gUnknown_845B9B8, NULL, NULL, NULL - .4byte NULL, NULL, NULL, NULL, NULL - - @ unreferenced tilemap -gUnknown_845BCB0:: @ 845BCC0 - .incbin "graphics/help_system/unk_845BCB0.bin" - -gUnknown_845C4B0:: @ 845C4B0 - .byte 0x03, 0x00, 0x01, 0x02, 0x04, 0x05 - -gUnknown_845C4B6:: @ 845C4B6 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .align 1 -gUnknown_845C594:: @ 845C594 - .2byte MAP_VIRIDIAN_CITY_MART - .2byte MAP_PEWTER_CITY_MART - .2byte MAP_CERULEAN_CITY_MART - .2byte MAP_LAVENDER_TOWN_MART - .2byte MAP_VERMILION_CITY_MART - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_1F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_2F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_3F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_4F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_5F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR - .2byte MAP_FUCHSIA_CITY_MART - .2byte MAP_CINNABAR_ISLAND_MART - .2byte MAP_SAFFRON_CITY_MART - .2byte MAP_THREE_ISLAND_MART - .2byte MAP_FOUR_ISLAND_MART - .2byte MAP_SEVEN_ISLAND_MART - .2byte MAP_SIX_ISLAND_MART - .2byte MAP_UNDEFINED - -gUnknown_845C5BC:: @ 845C5BC - .2byte MAP_PEWTER_CITY_GYM - .2byte MAP_CERULEAN_CITY_GYM - .2byte MAP_VERMILION_CITY_GYM - .2byte MAP_CELADON_CITY_GYM - .2byte MAP_FUCHSIA_CITY_GYM - .2byte MAP_SAFFRON_CITY_GYM - .2byte MAP_CINNABAR_ISLAND_GYM - .2byte MAP_VIRIDIAN_CITY_GYM - .2byte MAP_UNDEFINED - -gUnknown_845C5CE:: @ 845C5CE - .byte 0x01, 0x00, 0x01 @ MAP_VIRIDIAN_FOREST - .byte 0x01, 0x01, 0x03 @ MAP_MT_MOON_1F - .byte 0x01, 0x51, 0x02 @ MAP_ROCK_TUNNEL_1F - .byte 0x01, 0x24, 0x03 @ MAP_DIGLETTS_CAVE_NORTH_ENTRANCE - .byte 0x01, 0x53, 0x05 @ MAP_SEAFOAM_ISLANDS_1F - .byte 0x01, 0x27, 0x03 @ MAP_VICTORY_ROAD_1F - .byte 0x01, 0x48, 0x03 @ MAP_CERULEAN_CAVE_1F - .byte 0x01, 0x60, 0x01 @ MAP_MT_EMBER_RUBY_PATH_B4F - .byte 0x01, 0x62, 0x03 @ MAP_MT_EMBER_SUMMIT_PATH_1F - .byte 0x01, 0x66, 0x07 @ MAP_MT_EMBER_RUBY_PATH_B5F - .byte 0x01, 0x6d, 0x01 @ MAP_THREE_ISLAND_BERRY_FOREST - .byte 0x01, 0x79, 0x01 @ MAP_SIX_ISLAND_PATTERN_BUSH - .byte 0x02, 0x0c, 0x0f @ MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE - .byte 0x01, 0x6e, 0x04 @ MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE - .byte 0x01, 0x7a, 0x01 @ MAP_SIX_ISLAND_ALTERING_CAVE - .byte 0x02, 0x1b, 0x07 @ MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER diff --git a/include/event_scripts.h b/include/event_scripts.h index 1762faf8e..d5ee57d56 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -772,4 +772,376 @@ extern const u8 gOakText_ConfirmRivalName[]; extern const u8 gOakText_RememberRivalName[]; extern const u8 gOakText_LegendAboutToUnfold[]; +// Help System +extern const u8 gUnknown_81B2DF8[]; +extern const u8 gUnknown_81B2E1C[]; +extern const u8 gUnknown_81B2E2E[]; +extern const u8 gUnknown_81B2E48[]; +extern const u8 gUnknown_81B2E58[]; +extern const u8 gUnknown_81B2E6A[]; +extern const u8 gUnknown_81B2E6F[]; +extern const u8 gUnknown_81B2E76[]; +extern const u8 gUnknown_81B2E88[]; +extern const u8 gUnknown_81B2EC8[]; +extern const u8 gUnknown_81B2F00[]; +extern const u8 gUnknown_81B2F43[]; +extern const u8 gUnknown_81B2F74[]; +extern const u8 gUnknown_81B2FA9[]; +extern const u8 gUnknown_81B2FC9[]; +extern const u8 gUnknown_81B301B[]; +extern const u8 gUnknown_81B3083[]; +extern const u8 gUnknown_81B30A9[]; +extern const u8 gUnknown_81B30C1[]; +extern const u8 gUnknown_81B30DC[]; +extern const u8 gUnknown_81B30FC[]; +extern const u8 gUnknown_81B311F[]; +extern const u8 gUnknown_81B3140[]; +extern const u8 gUnknown_81B314F[]; +extern const u8 gUnknown_81B3168[]; +extern const u8 gUnknown_81B3189[]; +extern const u8 gUnknown_81B31AE[]; +extern const u8 gUnknown_81B31D3[]; +extern const u8 gUnknown_81B31EC[]; +extern const u8 gUnknown_81B31FF[]; +extern const u8 gUnknown_81B3215[]; +extern const u8 gUnknown_81B3226[]; +extern const u8 gUnknown_81B3243[]; +extern const u8 gUnknown_81B3261[]; +extern const u8 gUnknown_81B3276[]; +extern const u8 gUnknown_81B3290[]; +extern const u8 gUnknown_81B32B6[]; +extern const u8 gUnknown_81B32CD[]; +extern const u8 gUnknown_81B32E3[]; +extern const u8 gUnknown_81B32F9[]; +extern const u8 gUnknown_81B330B[]; +extern const u8 gUnknown_81B332B[]; +extern const u8 gUnknown_81B3344[]; +extern const u8 gUnknown_81B335C[]; +extern const u8 gUnknown_81B3373[]; +extern const u8 gUnknown_81B338C[]; +extern const u8 gUnknown_81B33A6[]; +extern const u8 gUnknown_81B33CA[]; +extern const u8 gUnknown_81B33EA[]; +extern const u8 gUnknown_81B3402[]; +extern const u8 gUnknown_81B3427[]; +extern const u8 gUnknown_81B3440[]; +extern const u8 gUnknown_81B3457[]; +extern const u8 gUnknown_81B346F[]; +extern const u8 gUnknown_81B3481[]; +extern const u8 gUnknown_81B349B[]; +extern const u8 gUnknown_81B34B7[]; +extern const u8 gUnknown_81B34D6[]; +extern const u8 gUnknown_81B34F6[]; +extern const u8 gUnknown_81B3516[]; +extern const u8 gUnknown_81B3525[]; +extern const u8 gUnknown_81B35E6[]; +extern const u8 gUnknown_81B36EB[]; +extern const u8 gUnknown_81B379A[]; +extern const u8 gUnknown_81B3849[]; +extern const u8 gUnknown_81B3876[]; +extern const u8 gUnknown_81B3972[]; +extern const u8 gUnknown_81B3A51[]; +extern const u8 gUnknown_81B3ACC[]; +extern const u8 gUnknown_81B3BB6[]; +extern const u8 gUnknown_81B3C99[]; +extern const u8 gUnknown_81B3D1B[]; +extern const u8 gUnknown_81B3DE3[]; +extern const u8 gUnknown_81B3EBC[]; +extern const u8 gUnknown_81B3F7F[]; +extern const u8 gUnknown_81B406C[]; +extern const u8 gUnknown_81B410B[]; +extern const u8 gUnknown_81B41D7[]; +extern const u8 gUnknown_81B42B3[]; +extern const u8 gUnknown_81B439D[]; +extern const u8 gUnknown_81B4483[]; +extern const u8 gUnknown_81B457C[]; +extern const u8 gUnknown_81B4645[]; +extern const u8 gUnknown_81B470A[]; +extern const u8 gUnknown_81B47F0[]; +extern const u8 gUnknown_81B48C6[]; +extern const u8 gUnknown_81B497A[]; +extern const u8 gUnknown_81B4A72[]; +extern const u8 gUnknown_81B4B65[]; +extern const u8 gUnknown_81B4C54[]; +extern const u8 gUnknown_81B4D26[]; +extern const u8 gUnknown_81B4E0B[]; +extern const u8 gUnknown_81B4ED8[]; +extern const u8 gUnknown_81B4FB2[]; +extern const u8 gUnknown_81B4FFD[]; +extern const u8 gUnknown_81B50FF[]; +extern const u8 gUnknown_81B51B1[]; +extern const u8 gUnknown_81B5272[]; +extern const u8 gUnknown_81B5325[]; +extern const u8 gUnknown_81B5382[]; +extern const u8 gUnknown_81B547C[]; +extern const u8 gUnknown_81B54E1[]; +extern const u8 gUnknown_81B5589[]; +extern const u8 gUnknown_81B55F4[]; +extern const u8 gUnknown_81B56E3[]; +extern const u8 gUnknown_81B56F4[]; +extern const u8 gUnknown_81B5705[]; +extern const u8 gUnknown_81B5717[]; +extern const u8 gUnknown_81B5728[]; +extern const u8 gUnknown_81B5737[]; +extern const u8 gUnknown_81B5744[]; +extern const u8 gUnknown_81B5754[]; +extern const u8 gUnknown_81B5767[]; +extern const u8 gUnknown_81B577B[]; +extern const u8 gUnknown_81B5787[]; +extern const u8 gUnknown_81B5795[]; +extern const u8 gUnknown_81B57A5[]; +extern const u8 gUnknown_81B57B8[]; +extern const u8 gUnknown_81B57CF[]; +extern const u8 gUnknown_81B57DE[]; +extern const u8 gUnknown_81B57EE[]; +extern const u8 gUnknown_81B580D[]; +extern const u8 gUnknown_81B5824[]; +extern const u8 gUnknown_81B5834[]; +extern const u8 gUnknown_81B583F[]; +extern const u8 gUnknown_81B5850[]; +extern const u8 gUnknown_81B5863[]; +extern const u8 gUnknown_81B5875[]; +extern const u8 gUnknown_81B5884[]; +extern const u8 gUnknown_81B5893[]; +extern const u8 gUnknown_81B58A4[]; +extern const u8 gUnknown_81B58BC[]; +extern const u8 gUnknown_81B58D3[]; +extern const u8 gUnknown_81B58E5[]; +extern const u8 gUnknown_81B58FD[]; +extern const u8 gUnknown_81B590E[]; +extern const u8 gUnknown_81B591D[]; +extern const u8 gUnknown_81B592E[]; +extern const u8 gUnknown_81B593E[]; +extern const u8 gUnknown_81B5950[]; +extern const u8 gUnknown_81B595D[]; +extern const u8 gUnknown_81B5974[]; +extern const u8 gUnknown_81B5989[]; +extern const u8 gUnknown_81B59A7[]; +extern const u8 gUnknown_81B59BF[]; +extern const u8 gUnknown_81B59D6[]; +extern const u8 gUnknown_81B59E8[]; +extern const u8 gUnknown_81B59F5[]; +extern const u8 gUnknown_81B5A0D[]; +extern const u8 gUnknown_81B5A1B[]; +extern const u8 gUnknown_81B5A29[]; +extern const u8 gUnknown_81B5A37[]; +extern const u8 gUnknown_81B5A4D[]; +extern const u8 gUnknown_81B5B0C[]; +extern const u8 gUnknown_81B5B7D[]; +extern const u8 gUnknown_81B5C13[]; +extern const u8 gUnknown_81B5CDF[]; +extern const u8 gUnknown_81B5D87[]; +extern const u8 gUnknown_81B5E41[]; +extern const u8 gUnknown_81B5F10[]; +extern const u8 gUnknown_81B5FA6[]; +extern const u8 gUnknown_81B606C[]; +extern const u8 gUnknown_81B6140[]; +extern const u8 gUnknown_81B6203[]; +extern const u8 gUnknown_81B62E4[]; +extern const u8 gUnknown_81B6397[]; +extern const u8 gUnknown_81B6478[]; +extern const u8 gUnknown_81B6525[]; +extern const u8 gUnknown_81B65E7[]; +extern const u8 gUnknown_81B66BA[]; +extern const u8 gUnknown_81B678E[]; +extern const u8 gUnknown_81B6883[]; +extern const u8 gUnknown_81B68CD[]; +extern const u8 gUnknown_81B69B9[]; +extern const u8 gUnknown_81B6A9A[]; +extern const u8 gUnknown_81B6B6E[]; +extern const u8 gUnknown_81B6C4F[]; +extern const u8 gUnknown_81B6D4A[]; +extern const u8 gUnknown_81B6E02[]; +extern const u8 gUnknown_81B6EC1[]; +extern const u8 gUnknown_81B6FA8[]; +extern const u8 gUnknown_81B7075[]; +extern const u8 gUnknown_81B7108[]; +extern const u8 gUnknown_81B71EA[]; +extern const u8 gUnknown_81B723B[]; +extern const u8 gUnknown_81B7319[]; +extern const u8 gUnknown_81B73E8[]; +extern const u8 gUnknown_81B747E[]; +extern const u8 gUnknown_81B752C[]; +extern const u8 gUnknown_81B7611[]; +extern const u8 gUnknown_81B7692[]; +extern const u8 gUnknown_81B771E[]; +extern const u8 gUnknown_81B77DD[]; +extern const u8 gUnknown_81B7884[]; +extern const u8 gUnknown_81B7931[]; +extern const u8 gUnknown_81B79CB[]; +extern const u8 gUnknown_81B7A60[]; +extern const u8 gUnknown_81B7AEE[]; +extern const u8 gUnknown_81B7BBE[]; +extern const u8 gUnknown_81B7C57[]; +extern const u8 gUnknown_81B7CC1[]; +extern const u8 gUnknown_81B7CC4[]; +extern const u8 gUnknown_81B7CD9[]; +extern const u8 gUnknown_81B7CDF[]; +extern const u8 gUnknown_81B7CE6[]; +extern const u8 gUnknown_81B7CEE[]; +extern const u8 gUnknown_81B7CF6[]; +extern const u8 gUnknown_81B7CFE[]; +extern const u8 gUnknown_81B7D04[]; +extern const u8 gUnknown_81B7D12[]; +extern const u8 gUnknown_81B7D17[]; +extern const u8 gUnknown_81B7D1A[]; +extern const u8 gUnknown_81B7D1F[]; +extern const u8 gUnknown_81B7D27[]; +extern const u8 gUnknown_81B7D2D[]; +extern const u8 gUnknown_81B7D37[]; +extern const u8 gUnknown_81B7D3E[]; +extern const u8 gUnknown_81B7D45[]; +extern const u8 gUnknown_81B7D48[]; +extern const u8 gUnknown_81B7D4E[]; +extern const u8 gUnknown_81B7D57[]; +extern const u8 gUnknown_81B7D5B[]; +extern const u8 gUnknown_81B7D61[]; +extern const u8 gUnknown_81B7D6B[]; +extern const u8 gUnknown_81B7D76[]; +extern const u8 gUnknown_81B7D7E[]; +extern const u8 gUnknown_81B7D88[]; +extern const u8 gUnknown_81B7D8F[]; +extern const u8 gUnknown_81B7D9A[]; +extern const u8 gUnknown_81B7DA7[]; +extern const u8 gUnknown_81B7DB4[]; +extern const u8 gUnknown_81B7DBA[]; +extern const u8 gUnknown_81B7DC6[]; +extern const u8 gUnknown_81B7DCC[]; +extern const u8 gUnknown_81B7DD3[]; +extern const u8 gUnknown_81B7DD6[]; +extern const u8 gUnknown_81B7DD9[]; +extern const u8 gUnknown_81B7DE1[]; +extern const u8 gUnknown_81B7DEB[]; +extern const u8 gUnknown_81B7DFA[]; +extern const u8 gUnknown_81B7E02[]; +extern const u8 gUnknown_81B7E09[]; +extern const u8 gUnknown_81B7E0F[]; +extern const u8 gUnknown_81B7E16[]; +extern const u8 gUnknown_81B7F0A[]; +extern const u8 gUnknown_81B800A[]; +extern const u8 gUnknown_81B80EC[]; +extern const u8 gUnknown_81B81C2[]; +extern const u8 gUnknown_81B8256[]; +extern const u8 gUnknown_81B8348[]; +extern const u8 gUnknown_81B83EF[]; +extern const u8 gUnknown_81B847B[]; +extern const u8 gUnknown_81B8550[]; +extern const u8 gUnknown_81B8647[]; +extern const u8 gUnknown_81B86E2[]; +extern const u8 gUnknown_81B87B8[]; +extern const u8 gUnknown_81B8897[]; +extern const u8 gUnknown_81B8924[]; +extern const u8 gUnknown_81B8A04[]; +extern const u8 gUnknown_81B8A84[]; +extern const u8 gUnknown_81B8B62[]; +extern const u8 gUnknown_81B8C18[]; +extern const u8 gUnknown_81B8C94[]; +extern const u8 gUnknown_81B8D1D[]; +extern const u8 gUnknown_81B8DD4[]; +extern const u8 gUnknown_81B8E67[]; +extern const u8 gUnknown_81B8F4D[]; +extern const u8 gUnknown_81B901B[]; +extern const u8 gUnknown_81B90A7[]; +extern const u8 gUnknown_81B90E8[]; +extern const u8 gUnknown_81B9170[]; +extern const u8 gUnknown_81B91C2[]; +extern const u8 gUnknown_81B91F9[]; +extern const u8 gUnknown_81B92B8[]; +extern const u8 gUnknown_81B92ED[]; +extern const u8 gUnknown_81B93D8[]; +extern const u8 gUnknown_81B9439[]; +extern const u8 gUnknown_81B9497[]; +extern const u8 gUnknown_81B9560[]; +extern const u8 gUnknown_81B9656[]; +extern const u8 gUnknown_81B9749[]; +extern const u8 gUnknown_81B984F[]; +extern const u8 gUnknown_81B991C[]; +extern const u8 gUnknown_81B99C4[]; +extern const u8 gUnknown_81B9AA2[]; +extern const u8 gUnknown_81B9B2F[]; +extern const u8 gUnknown_81B9BB7[]; +extern const u8 gUnknown_81B9BC7[]; +extern const u8 gUnknown_81B9BD0[]; +extern const u8 gUnknown_81B9BE1[]; +extern const u8 gUnknown_81B9BF5[]; +extern const u8 gUnknown_81B9C09[]; +extern const u8 gUnknown_81B9C1D[]; +extern const u8 gUnknown_81B9C2F[]; +extern const u8 gUnknown_81B9D04[]; +extern const u8 gUnknown_81B9DC5[]; +extern const u8 gUnknown_81B9E75[]; +extern const u8 gUnknown_81B9F09[]; +extern const u8 gUnknown_81B9FCE[]; +extern const u8 gUnknown_81BA027[]; +extern const u8 gUnknown_81BA0F1[]; +extern const u8 gUnknown_81BA10D[]; +extern const u8 gUnknown_81BA121[]; +extern const u8 gUnknown_81BA138[]; +extern const u8 gUnknown_81BA14C[]; +extern const u8 gUnknown_81BA163[]; +extern const u8 gUnknown_81BA17A[]; +extern const u8 gUnknown_81BA194[]; +extern const u8 gUnknown_81BA1AC[]; +extern const u8 gUnknown_81BA1C7[]; +extern const u8 gUnknown_81BA1DC[]; +extern const u8 gUnknown_81BA1F4[]; +extern const u8 gUnknown_81BA209[]; +extern const u8 gUnknown_81BA221[]; +extern const u8 gUnknown_81BA234[]; +extern const u8 gUnknown_81BA24A[]; +extern const u8 gUnknown_81BA260[]; +extern const u8 gUnknown_81BA279[]; +extern const u8 gUnknown_81BA291[]; +extern const u8 gUnknown_81BA2AC[]; +extern const u8 gUnknown_81BA2C2[]; +extern const u8 gUnknown_81BA2DB[]; +extern const u8 gUnknown_81BA2F1[]; +extern const u8 gUnknown_81BA30A[]; +extern const u8 gUnknown_81BA320[]; +extern const u8 gUnknown_81BA339[]; +extern const u8 gUnknown_81BA34E[]; +extern const u8 gUnknown_81BA366[]; +extern const u8 gUnknown_81BA37C[]; +extern const u8 gUnknown_81BA395[]; +extern const u8 gUnknown_81BA3A9[]; +extern const u8 gUnknown_81BA3C0[]; +extern const u8 gUnknown_81BA3D5[]; +extern const u8 gUnknown_81BA3ED[]; +extern const u8 gUnknown_81BA400[]; +extern const u8 gUnknown_81BA416[]; +extern const u8 gUnknown_81BA4E6[]; +extern const u8 gUnknown_81BA539[]; +extern const u8 gUnknown_81BA595[]; +extern const u8 gUnknown_81BA5F2[]; +extern const u8 gUnknown_81BA66F[]; +extern const u8 gUnknown_81BA6C9[]; +extern const u8 gUnknown_81BA71F[]; +extern const u8 gUnknown_81BA796[]; +extern const u8 gUnknown_81BA7E9[]; +extern const u8 gUnknown_81BA862[]; +extern const u8 gUnknown_81BA8D3[]; +extern const u8 gUnknown_81BA92A[]; +extern const u8 gUnknown_81BA98D[]; +extern const u8 gUnknown_81BA9F1[]; +extern const u8 gUnknown_81BAA44[]; +extern const u8 gUnknown_81BAAB6[]; +extern const u8 gUnknown_81BAB18[]; +extern const u8 gUnknown_81BAB7A[]; +extern const u8 gUnknown_81BABCC[]; +extern const u8 gUnknown_81BAC29[]; +extern const u8 gUnknown_81BAC89[]; +extern const u8 gUnknown_81BACC4[]; +extern const u8 gUnknown_81BAD20[]; +extern const u8 gUnknown_81BAD60[]; +extern const u8 gUnknown_81BADA2[]; +extern const u8 gUnknown_81BADF7[]; +extern const u8 gUnknown_81BAEA8[]; +extern const u8 gUnknown_81BAF01[]; +extern const u8 gUnknown_81BAF6B[]; +extern const u8 gUnknown_81BAFCA[]; +extern const u8 gUnknown_81BB02E[]; +extern const u8 gUnknown_81BB084[]; +extern const u8 gUnknown_81BB0DF[]; +extern const u8 gUnknown_81BB156[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/strings.h b/include/strings.h index edc5136f8..1e3d4c39b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -136,4 +136,8 @@ extern const u8 gTeachyTvText_CatchingScript2[]; extern const u8 gTeachyTvText_TMsScript2[]; extern const u8 gTeachyTvText_RegisterScript2[]; +// help_system_812B1E0 +extern const u8 gUnknown_841DFAC[]; +extern const u8 gUnknown_841DFC9[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index d7e81d837..196e0163f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -421,7 +421,6 @@ SECTIONS { src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); src/help_system_812B1E0.o(.rodata); - data/help_system_812B1E0.o(.rodata); src/fame_checker.o(.rodata); src/menu2.o(.rodata); src/oak_speech.o(.rodata); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 361ddbcf0..c8cee9676 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -1,5 +1,6 @@ #include "global.h" #include "event_data.h" +#include "event_scripts.h" #include "field_player_avatar.h" #include "help_system.h" #include "link.h" @@ -7,6 +8,7 @@ #include "quest_log.h" #include "save.h" #include "save_location.h" +#include "strings.h" #include "constants/maps.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; @@ -24,27 +26,850 @@ bool8 sub_812B780(u8); void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF74(const u8 *); -// event_scripts.h -extern const u8 gUnknown_81B2E6F[]; +// this file +const u8 *const gUnknown_845B080[] = { + gUnknown_81B2DF8, + gUnknown_81B2E1C, + gUnknown_81B2E2E, + gUnknown_81B2E48, + gUnknown_81B2E58, + gUnknown_81B2E6A +}; -// strings.h -extern const u8 gUnknown_841DFAC[]; -extern const u8 gUnknown_841DFC9[]; +const u8 *const gUnknown_845B098[] = { + gUnknown_81B2E88, + gUnknown_81B2EC8, + gUnknown_81B2F00, + gUnknown_81B2F43, + gUnknown_81B2F74, + gUnknown_81B2FA9 +}; -// this file -extern const u8 *const gUnknown_845B080[]; -extern const u8 *const gUnknown_845B0B0[]; -extern const u8 *const gUnknown_845B218[]; -extern const u8 *const gUnknown_845B3A0[]; -extern const u8 *const gUnknown_845B500[]; -extern const u8 *const gUnknown_845B540[]; -extern const u8 gUnknown_845B9BE[]; -extern const u8 *const gUnknown_845B9E0[]; -extern const u8 gUnknown_845C4B0[]; -extern const u8 gUnknown_845C4B6[][6]; -extern const u16 gUnknown_845C594[]; // marts -extern const u16 gUnknown_845C5BC[]; // gyms -extern const u8 gUnknown_845C5CE[][3]; +const u8 *const gUnknown_845B0B0[] = { + NULL, + gUnknown_81B3083, + gUnknown_81B30A9, + gUnknown_81B30C1, + gUnknown_81B30DC, + gUnknown_81B30FC, + gUnknown_81B311F, + gUnknown_81B3140, + gUnknown_81B314F, + gUnknown_81B3168, + gUnknown_81B3189, + gUnknown_81B31AE, + gUnknown_81B31D3, + gUnknown_81B31EC, + gUnknown_81B31FF, + gUnknown_81B3215, + gUnknown_81B3226, + gUnknown_81B3243, + gUnknown_81B3261, + gUnknown_81B3276, + gUnknown_81B3290, + gUnknown_81B32B6, + gUnknown_81B32CD, + gUnknown_81B32E3, + gUnknown_81B32F9, + gUnknown_81B330B, + gUnknown_81B332B, + gUnknown_81B3344, + gUnknown_81B335C, + gUnknown_81B3373, + gUnknown_81B338C, + gUnknown_81B33A6, + gUnknown_81B33CA, + gUnknown_81B33EA, + gUnknown_81B3402, + gUnknown_81B3427, + gUnknown_81B3440, + gUnknown_81B3457, + gUnknown_81B346F, + gUnknown_81B3481, + gUnknown_81B349B, + gUnknown_81B34B7, + gUnknown_81B34D6, + gUnknown_81B34F6, + gUnknown_81B3516 +}; + +const u8 *const gUnknown_845B164[] = { + NULL, + gUnknown_81B3525, + gUnknown_81B35E6, + gUnknown_81B36EB, + gUnknown_81B379A, + gUnknown_81B3849, + gUnknown_81B3876, + gUnknown_81B3972, + gUnknown_81B3A51, + gUnknown_81B3ACC, + gUnknown_81B3BB6, + gUnknown_81B3C99, + gUnknown_81B3D1B, + gUnknown_81B3DE3, + gUnknown_81B3EBC, + gUnknown_81B3F7F, + gUnknown_81B406C, + gUnknown_81B410B, + gUnknown_81B41D7, + gUnknown_81B42B3, + gUnknown_81B439D, + gUnknown_81B4483, + gUnknown_81B457C, + gUnknown_81B4645, + gUnknown_81B470A, + gUnknown_81B47F0, + gUnknown_81B48C6, + gUnknown_81B497A, + gUnknown_81B4A72, + gUnknown_81B4B65, + gUnknown_81B4C54, + gUnknown_81B4D26, + gUnknown_81B4E0B, + gUnknown_81B4ED8, + gUnknown_81B4FB2, + gUnknown_81B4FFD, + gUnknown_81B50FF, + gUnknown_81B51B1, + gUnknown_81B5272, + gUnknown_81B5325, + gUnknown_81B5382, + gUnknown_81B547C, + gUnknown_81B54E1, + gUnknown_81B5589, + gUnknown_81B55F4 +}; + +const u8 *const gUnknown_845B218[] = { + NULL, + gUnknown_81B56E3, + gUnknown_81B56F4, + gUnknown_81B5705, + gUnknown_81B5717, + gUnknown_81B5728, + gUnknown_81B5737, + gUnknown_81B5744, + gUnknown_81B5754, + gUnknown_81B5767, + gUnknown_81B577B, + gUnknown_81B5787, + gUnknown_81B5795, + gUnknown_81B57A5, + gUnknown_81B57B8, + gUnknown_81B57CF, + gUnknown_81B57DE, + gUnknown_81B57EE, + gUnknown_81B580D, + gUnknown_81B5824, + gUnknown_81B5834, + gUnknown_81B583F, + gUnknown_81B5850, + gUnknown_81B5863, + gUnknown_81B5875, + gUnknown_81B5884, + gUnknown_81B5893, + gUnknown_81B58A4, + gUnknown_81B58BC, + gUnknown_81B58D3, + gUnknown_81B58E5, + gUnknown_81B58FD, + gUnknown_81B590E, + gUnknown_81B591D, + gUnknown_81B592E, + gUnknown_81B593E, + gUnknown_81B5950, + gUnknown_81B595D, + gUnknown_81B5974, + gUnknown_81B5989, + gUnknown_81B59A7, + gUnknown_81B59BF, + gUnknown_81B59D6, + gUnknown_81B59E8, + gUnknown_81B59F5, + gUnknown_81B5A0D, + gUnknown_81B5A1B, + gUnknown_81B5A29, + gUnknown_81B5A37 +}; + +const u8 *const gUnknown_845B2DC[] = { + NULL, + gUnknown_81B5A4D, + gUnknown_81B5B0C, + gUnknown_81B5B7D, + gUnknown_81B5C13, + gUnknown_81B5CDF, + gUnknown_81B5D87, + gUnknown_81B5E41, + gUnknown_81B5F10, + gUnknown_81B5FA6, + gUnknown_81B606C, + gUnknown_81B6140, + gUnknown_81B6203, + gUnknown_81B62E4, + gUnknown_81B6397, + gUnknown_81B6478, + gUnknown_81B6525, + gUnknown_81B65E7, + gUnknown_81B66BA, + gUnknown_81B678E, + gUnknown_81B6883, + gUnknown_81B68CD, + gUnknown_81B69B9, + gUnknown_81B6A9A, + gUnknown_81B6B6E, + gUnknown_81B6C4F, + gUnknown_81B6D4A, + gUnknown_81B6E02, + gUnknown_81B6EC1, + gUnknown_81B6FA8, + gUnknown_81B7075, + gUnknown_81B7108, + gUnknown_81B71EA, + gUnknown_81B723B, + gUnknown_81B7319, + gUnknown_81B73E8, + gUnknown_81B747E, + gUnknown_81B752C, + gUnknown_81B7611, + gUnknown_81B7692, + gUnknown_81B771E, + gUnknown_81B77DD, + gUnknown_81B7884, + gUnknown_81B7931, + gUnknown_81B79CB, + gUnknown_81B7A60, + gUnknown_81B7AEE, + gUnknown_81B7BBE, + gUnknown_81B7C57 +}; + +const u8 *const gUnknown_845B3A0[] = { + NULL, + gUnknown_81B7CC1, + gUnknown_81B7CC4, + gUnknown_81B7CD9, + gUnknown_81B7CDF, + gUnknown_81B7CE6, + gUnknown_81B7CEE, + gUnknown_81B7CF6, + gUnknown_81B7CFE, + gUnknown_81B7D04, + gUnknown_81B7D12, + gUnknown_81B7D17, + gUnknown_81B7D1A, + gUnknown_81B7D1F, + gUnknown_81B7D27, + gUnknown_81B7D2D, + gUnknown_81B7D37, + gUnknown_81B7D3E, + gUnknown_81B7D45, + gUnknown_81B7D48, + gUnknown_81B7D4E, + gUnknown_81B7D57, + gUnknown_81B7D5B, + gUnknown_81B7D61, + gUnknown_81B7D6B, + gUnknown_81B7D76, + gUnknown_81B7D7E, + gUnknown_81B7D88, + gUnknown_81B7D8F, + gUnknown_81B7D9A, + gUnknown_81B7DA7, + gUnknown_81B7DB4, + gUnknown_81B7DBA, + gUnknown_81B7DC6, + gUnknown_81B7DCC, + gUnknown_81B7DD3, + gUnknown_81B7DD6, + gUnknown_81B7DD9, + gUnknown_81B7DE1, + gUnknown_81B7DEB, + gUnknown_81B7DFA, + gUnknown_81B7E02, + gUnknown_81B7E09, + gUnknown_81B7E0F +}; + +const u8 *const gUnknown_845B450[] = { + NULL, + gUnknown_81B7E16, + gUnknown_81B7F0A, + gUnknown_81B800A, + gUnknown_81B80EC, + gUnknown_81B81C2, + gUnknown_81B8256, + gUnknown_81B8348, + gUnknown_81B83EF, + gUnknown_81B847B, + gUnknown_81B8550, + gUnknown_81B8647, + gUnknown_81B86E2, + gUnknown_81B87B8, + gUnknown_81B8897, + gUnknown_81B8924, + gUnknown_81B8A04, + gUnknown_81B8A84, + gUnknown_81B8B62, + gUnknown_81B8C18, + gUnknown_81B8C94, + gUnknown_81B8D1D, + gUnknown_81B8DD4, + gUnknown_81B8E67, + gUnknown_81B8F4D, + gUnknown_81B901B, + gUnknown_81B90A7, + gUnknown_81B90E8, + gUnknown_81B9170, + gUnknown_81B91C2, + gUnknown_81B91F9, + gUnknown_81B92B8, + gUnknown_81B92ED, + gUnknown_81B93D8, + gUnknown_81B9439, + gUnknown_81B9497, + gUnknown_81B9560, + gUnknown_81B9656, + gUnknown_81B9749, + gUnknown_81B984F, + gUnknown_81B991C, + gUnknown_81B99C4, + gUnknown_81B9AA2, + gUnknown_81B9B2F +}; + +const u8 *const gUnknown_845B500[] = { + NULL, + gUnknown_81B9BB7, + gUnknown_81B9BC7, + gUnknown_81B9BD0, + gUnknown_81B9BE1, + gUnknown_81B9BF5, + gUnknown_81B9C09, + gUnknown_81B9C1D +}; + +const u8 *const gUnknown_845B520[] = { + NULL, + gUnknown_81B9C2F, + gUnknown_81B9D04, + gUnknown_81B9DC5, + gUnknown_81B9E75, + gUnknown_81B9F09, + gUnknown_81B9FCE, + gUnknown_81BA027 +}; + +const u8 *const gUnknown_845B540[] = { + NULL, + gUnknown_81BA0F1, + gUnknown_81BA10D, + gUnknown_81BA121, + gUnknown_81BA138, + gUnknown_81BA14C, + gUnknown_81BA163, + gUnknown_81BA17A, + gUnknown_81BA194, + gUnknown_81BA1AC, + gUnknown_81BA1C7, + gUnknown_81BA1DC, + gUnknown_81BA1F4, + gUnknown_81BA209, + gUnknown_81BA221, + gUnknown_81BA234, + gUnknown_81BA24A, + gUnknown_81BA260, + gUnknown_81BA279, + gUnknown_81BA291, + gUnknown_81BA2AC, + gUnknown_81BA2C2, + gUnknown_81BA2DB, + gUnknown_81BA2F1, + gUnknown_81BA30A, + gUnknown_81BA320, + gUnknown_81BA339, + gUnknown_81BA34E, + gUnknown_81BA366, + gUnknown_81BA37C, + gUnknown_81BA395, + gUnknown_81BA3A9, + gUnknown_81BA3C0, + gUnknown_81BA3D5, + gUnknown_81BA3ED, + gUnknown_81BA400 +}; + +const u8 *const gUnknown_845B5D0[] = { + NULL, + gUnknown_81BA416, + gUnknown_81BA4E6, + gUnknown_81BA539, + gUnknown_81BA595, + gUnknown_81BA5F2, + gUnknown_81BA66F, + gUnknown_81BA6C9, + gUnknown_81BA71F, + gUnknown_81BA796, + gUnknown_81BA7E9, + gUnknown_81BA862, + gUnknown_81BA8D3, + gUnknown_81BA92A, + gUnknown_81BA98D, + gUnknown_81BA9F1, + gUnknown_81BAA44, + gUnknown_81BAAB6, + gUnknown_81BAB18, + gUnknown_81BAB7A, + gUnknown_81BABCC, + gUnknown_81BAC29, + gUnknown_81BAC89, + gUnknown_81BACC4, + gUnknown_81BAD20, + gUnknown_81BAD60, + gUnknown_81BADA2, + gUnknown_81BADF7, + gUnknown_81BAEA8, + gUnknown_81BAF01, + gUnknown_81BAF6B, + gUnknown_81BAFCA, + gUnknown_81BB02E, + gUnknown_81BB084, + gUnknown_81BB0DF, + gUnknown_81BB156 +}; + + +const u8 gUnknown_845B660[] = { + 0x01, 0x02, 0x03, 0xff +}; + +const u8 gUnknown_845B664[] = { + 0x01, 0x02, 0x03, 0xff +}; + +const u8 gUnknown_845B668[] = { + 0x13, 0xff +}; + +const u8 gUnknown_845B66A[] = { + 0x01, 0x02, 0x03, 0xff +}; + +const u8 gUnknown_845B66E[] = { + 0x01, 0x25, 0xff +}; + +const u8 gUnknown_845B671[] = { + 0x02, 0x03, 0x04, 0x05, 0x11, 0xff +}; + +const u8 gUnknown_845B677[] = { + 0x09, 0x01, 0xff +}; + +const u8 gUnknown_845B67A[] = { + 0x02, 0x03, 0xff +}; + +const u8 gUnknown_845B67D[] = { + 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff +}; + +const u8 gUnknown_845B684[] = { + 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff +}; + +const u8 gUnknown_845B68E[] = { + 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B696[] = { + 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff +}; + +const u8 gUnknown_845B6A1[] = { + 0x16, 0x17, 0x18, 0xff +}; + +const u8 gUnknown_845B6A5[] = { + 0x0a, 0xff +}; + +const u8 gUnknown_845B6A7[] = { + 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff +}; + +const u8 gUnknown_845B6AD[] = { + 0x0a, 0xff +}; + +const u8 gUnknown_845B6AF[] = { + 0x0b, 0xff +}; + +const u8 gUnknown_845B6B1[] = { + 0x2b, 0x19, 0x1a, 0xff +}; + +const u8 gUnknown_845B6B5[] = { + 0x0c, 0xff +}; + +const u8 gUnknown_845B6B7[] = { + 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff +}; + +const u8 gUnknown_845B6BF[] = { + 0x02, 0x03, 0x04, 0xff +}; + +const u8 gUnknown_845B6C3[] = { + 0x01, 0x02, 0x03, 0x07, 0xff +}; + +const u8 gUnknown_845B6C8[] = { + 0x02, 0x04, 0x05, 0x09, 0x25, 0xff +}; + +const u8 gUnknown_845B6CE[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B6E2[] = { + 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff +}; + +const u8 gUnknown_845B6E9[] = { + 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff +}; + +const u8 gUnknown_845B6F2[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff +}; + +const u8 gUnknown_845B707[] = { + 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff +}; + +const u8 gUnknown_845B70E[] = { + 0x03, 0x07, 0x04, 0x05, 0x06, 0xff +}; + +const u8 gUnknown_845B714[] = { + 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff +}; + +const u8 gUnknown_845B71D[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B731[] = { + 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff +}; + +const u8 gUnknown_845B73D[] = { + 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff +}; + +const u8 gUnknown_845B744[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B758[] = { + 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff +}; + +const u8 gUnknown_845B75F[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B783[] = { + 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff +}; + +const u8 gUnknown_845B7A7[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B7BB[] = { + 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff +}; + +const u8 gUnknown_845B7C4[] = { + 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff +}; + +const u8 gUnknown_845B7E8[] = { + 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B7F1[] = { + 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff +}; + +const u8 gUnknown_845B7FB[] = { + 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff +}; + +const u8 gUnknown_845B81A[] = { + 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B823[] = { + 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff +}; + +const u8 gUnknown_845B82C[] = { + 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff +}; + +const u8 gUnknown_845B83E[] = { + 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B847[] = { + 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff +}; + +const u8 gUnknown_845B850[] = { + 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B85D[] = { + 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff +}; + +const u8 gUnknown_845B866[] = { + 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff +}; + +const u8 gUnknown_845B878[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B89C[] = { + 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B8A7[] = { + 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff +}; + +const u8 gUnknown_845B8AF[] = { + 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff +}; + +const u8 gUnknown_845B8C1[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B8E5[] = { + 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B8F0[] = { + 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff +}; + +const u8 gUnknown_845B8F8[] = { + 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff +}; + +const u8 gUnknown_845B90A[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B92E[] = { + 0x29, 0x2a, 0x2b, 0xff +}; + +const u8 gUnknown_845B932[] = { + 0x2d, 0x2e, 0x2f, 0x2b, 0xff +}; + +const u8 gUnknown_845B937[] = { + 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B947[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B96B[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B978[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B985[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B992[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B99F[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B9AC[] = { + 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff +}; + +const u8 gUnknown_845B9B2[] = { + 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff +}; + +const u8 gUnknown_845B9B8[] = { + 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff +}; + +const u8 gUnknown_845B9BE[] = { + 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff +}; + +const u8 *const gUnknown_845B9E0[] = { + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, gUnknown_845B660, NULL, + NULL, NULL, NULL, gUnknown_845B664, NULL, + NULL, gUnknown_845B668, NULL, gUnknown_845B66A, NULL, + NULL, gUnknown_845B66E, NULL, NULL, NULL, + NULL, gUnknown_845B671, gUnknown_845B677, NULL, NULL, + NULL, gUnknown_845B67A, gUnknown_845B67D, NULL, NULL, + NULL, NULL, gUnknown_845B684, NULL, NULL, + NULL, NULL, gUnknown_845B68E, NULL, NULL, + NULL, gUnknown_845B696, gUnknown_845B6A1, NULL, NULL, + NULL, gUnknown_845B6A5, gUnknown_845B6A7, NULL, NULL, + NULL, gUnknown_845B6AD, NULL, NULL, NULL, + NULL, gUnknown_845B6AF, gUnknown_845B6B1, NULL, NULL, + NULL, gUnknown_845B6B5, gUnknown_845B6B7, NULL, NULL, + gUnknown_845B6BF, NULL, NULL, gUnknown_845B6C3, NULL, + gUnknown_845B6C8, gUnknown_845B6CE, gUnknown_845B6E2, NULL, NULL, + gUnknown_845B6E9, gUnknown_845B6F2, gUnknown_845B707, gUnknown_845B70E, NULL, + gUnknown_845B714, gUnknown_845B71D, gUnknown_845B731, NULL, NULL, + gUnknown_845B73D, gUnknown_845B744, gUnknown_845B758, NULL, gUnknown_845B75F, + gUnknown_845B783, gUnknown_845B7A7, gUnknown_845B7BB, NULL, NULL, + gUnknown_845B7C4, gUnknown_845B7E8, gUnknown_845B7F1, NULL, NULL, + gUnknown_845B7FB, gUnknown_845B81A, gUnknown_845B823, NULL, NULL, + gUnknown_845B82C, gUnknown_845B83E, gUnknown_845B847, NULL, NULL, + gUnknown_845B850, gUnknown_845B85D, gUnknown_845B866, NULL, gUnknown_845B878, + gUnknown_845B89C, gUnknown_845B8A7, gUnknown_845B8AF, NULL, gUnknown_845B8C1, + gUnknown_845B8E5, gUnknown_845B8F0, gUnknown_845B8F8, NULL, gUnknown_845B90A, + gUnknown_845B92E, gUnknown_845B932, gUnknown_845B937, NULL, gUnknown_845B947, + NULL, gUnknown_845B96B, NULL, NULL, NULL, + NULL, gUnknown_845B978, NULL, NULL, NULL, + NULL, gUnknown_845B985, NULL, NULL, NULL, + NULL, gUnknown_845B992, NULL, NULL, NULL, + NULL, gUnknown_845B99F, NULL, NULL, NULL, + NULL, gUnknown_845B9AC, NULL, NULL, NULL, + NULL, gUnknown_845B9B2, NULL, NULL, NULL, + NULL, gUnknown_845B9B8, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL +}; + +const u16 unref_845BCB0[] = INCBIN_U16("graphics/help_system/unk_845BCB0.bin"); + +const u8 gUnknown_845C4B0[] = { + 3, 0, 1, 2, 4, 5 +}; + +const u8 gUnknown_845C4B6[][6] = { + {0, 0, 0, 0, 0, 1}, + {0, 0, 0, 1, 0, 1}, + {0, 0, 0, 1, 0, 1}, + {0, 1, 0, 1, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 0, 1, 0, 0, 1}, + {0, 0, 1, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {1, 0, 0, 1, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 1, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 1, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 1, 1}, + {1, 1, 1, 0, 1, 1}, + {1, 1, 1, 0, 1, 1}, + {1, 1, 1, 0, 1, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0} +}; + +const u16 gUnknown_845C594[] = { + MAP_VIRIDIAN_CITY_MART, + MAP_PEWTER_CITY_MART, + MAP_CERULEAN_CITY_MART, + MAP_LAVENDER_TOWN_MART, + MAP_VERMILION_CITY_MART, + MAP_CELADON_CITY_DEPARTMENT_STORE_1F, + MAP_CELADON_CITY_DEPARTMENT_STORE_2F, + MAP_CELADON_CITY_DEPARTMENT_STORE_3F, + MAP_CELADON_CITY_DEPARTMENT_STORE_4F, + MAP_CELADON_CITY_DEPARTMENT_STORE_5F, + MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF, + MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR, + MAP_FUCHSIA_CITY_MART, + MAP_CINNABAR_ISLAND_MART, + MAP_SAFFRON_CITY_MART, + MAP_THREE_ISLAND_MART, + MAP_FOUR_ISLAND_MART, + MAP_SEVEN_ISLAND_MART, + MAP_SIX_ISLAND_MART, + MAP_UNDEFINED +}; + +const u16 gUnknown_845C5BC[] = { + MAP_PEWTER_CITY_GYM, + MAP_CERULEAN_CITY_GYM, + MAP_VERMILION_CITY_GYM, + MAP_CELADON_CITY_GYM, + MAP_FUCHSIA_CITY_GYM, + MAP_SAFFRON_CITY_GYM, + MAP_CINNABAR_ISLAND_GYM, + MAP_VIRIDIAN_CITY_GYM, + MAP_UNDEFINED +}; + +const u8 gUnknown_845C5CE[][3] = { + { MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), 1 }, + { MAP_GROUP(MT_MOON_1F), MAP_NUM(MT_MOON_1F), 3 }, + { MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), 2 }, + { MAP_GROUP(DIGLETTS_CAVE_NORTH_ENTRANCE), MAP_NUM(DIGLETTS_CAVE_NORTH_ENTRANCE), 3 }, + { MAP_GROUP(SEAFOAM_ISLANDS_1F), MAP_NUM(SEAFOAM_ISLANDS_1F), 5 }, + { MAP_GROUP(VICTORY_ROAD_1F), MAP_NUM(VICTORY_ROAD_1F), 3 }, + { MAP_GROUP(CERULEAN_CAVE_1F), MAP_NUM(CERULEAN_CAVE_1F), 3 }, + { MAP_GROUP(MT_EMBER_RUBY_PATH_B4F), MAP_NUM(MT_EMBER_RUBY_PATH_B4F), 1 }, + { MAP_GROUP(MT_EMBER_SUMMIT_PATH_1F), MAP_NUM(MT_EMBER_SUMMIT_PATH_1F), 3 }, + { MAP_GROUP(MT_EMBER_RUBY_PATH_B5F), MAP_NUM(MT_EMBER_RUBY_PATH_B5F), 7 }, + { MAP_GROUP(THREE_ISLAND_BERRY_FOREST), MAP_NUM(THREE_ISLAND_BERRY_FOREST), 1 }, + { MAP_GROUP(SIX_ISLAND_PATTERN_BUSH), MAP_NUM(SIX_ISLAND_PATTERN_BUSH), 1 }, + { MAP_GROUP(FIVE_ISLAND_LOST_CAVE_ENTRANCE), MAP_NUM(FIVE_ISLAND_LOST_CAVE_ENTRANCE), 15 }, + { MAP_GROUP(FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE), MAP_NUM(FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE), 4 }, + { MAP_GROUP(SIX_ISLAND_ALTERING_CAVE), MAP_NUM(SIX_ISLAND_ALTERING_CAVE), 1 }, + { MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER), MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER), 7 } +}; void sub_812B1E0(u8 a0) { -- cgit v1.2.3 From 5f41304d75c6ea2091acc57a8cfb775fb376a784 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 15:51:45 -0400 Subject: help_system_812B1E0: sub_812B780 --- asm/help_system_812B1E0.s | 364 ---------------------------------------------- src/help_system_812B1E0.c | 214 ++++++++++++++++++++++++++- 2 files changed, 213 insertions(+), 365 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index c41eb680f..b396180be 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,370 +5,6 @@ .text - thumb_func_start sub_812B780 -sub_812B780: @ 812B780 - push {r4,r5,lr} - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - movs r4, 0 - ldr r0, _0812B7A8 @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0812B794 - b _0812B8AC -_0812B794: - subs r0, r1, 0x1 - cmp r0, 0x2B - bls _0812B79C - b _0812BB04 -_0812B79C: - lsls r0, 2 - ldr r1, _0812B7AC @ =_0812B7B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812B7A8: .4byte gUnknown_3005E9C -_0812B7AC: .4byte _0812B7B0 - .align 2, 0 -_0812B7B0: - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B860 - .4byte _0812BB08 - .4byte _0812B868 - .4byte _0812B870 - .4byte _0812BB08 - .4byte _0812B880 - .4byte _0812B868 - .4byte _0812B878 - .4byte _0812B890 - .4byte _0812B880 - .4byte _0812B880 - .4byte _0812B880 - .4byte _0812B868 - .4byte _0812B880 - .4byte _0812B880 - .4byte _0812B868 - .4byte _0812B880 - .4byte _0812B888 - .4byte _0812B868 - .4byte _0812B888 - .4byte _0812B878 - .4byte _0812B890 - .4byte _0812B880 - .4byte _0812B890 - .4byte _0812B896 - .4byte _0812B880 - .4byte _0812B890 - .4byte _0812B880 - .4byte _0812B890 - .4byte _0812B890 - .4byte _0812BB08 - .4byte _0812B868 - .4byte _0812B868 - .4byte _0812B880 - .4byte _0812BB08 - .4byte _0812B89C - .4byte _0812B896 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B8A4 -_0812B860: - ldr r0, _0812B864 @ =0x000002cf - b _0812BAF2 - .align 2, 0 -_0812B864: .4byte 0x000002cf -_0812B868: - ldr r0, _0812B86C @ =0x00000891 - b _0812BAF2 - .align 2, 0 -_0812B86C: .4byte 0x00000891 -_0812B870: - ldr r0, _0812B874 @ =0x00000895 - b _0812BAF2 - .align 2, 0 -_0812B874: .4byte 0x00000895 -_0812B878: - ldr r0, _0812B87C @ =0x000008a4 - b _0812BAF2 - .align 2, 0 -_0812B87C: .4byte 0x000008a4 -_0812B880: - ldr r0, _0812B884 @ =0x00000828 - b _0812BAF2 - .align 2, 0 -_0812B884: .4byte 0x00000828 -_0812B888: - ldr r0, _0812B88C @ =0x00000829 - b _0812BAF2 - .align 2, 0 -_0812B88C: .4byte 0x00000829 -_0812B890: - movs r0, 0x82 - lsls r0, 4 - b _0812BAF2 -_0812B896: - bl sub_812BB10 - b _0812BAF6 -_0812B89C: - ldr r0, _0812B8A0 @ =0x0000029b - b _0812BAF2 - .align 2, 0 -_0812B8A0: .4byte 0x0000029b -_0812B8A4: - ldr r0, _0812B8A8 @ =0x00000892 - b _0812BAF2 - .align 2, 0 -_0812B8A8: .4byte 0x00000892 -_0812B8AC: - cmp r0, 0x1 - beq _0812B8B2 - b _0812B9D8 -_0812B8B2: - subs r0, r1, 0x1 - cmp r0, 0x2F - bls _0812B8BA - b _0812BB04 -_0812B8BA: - lsls r0, 2 - ldr r1, _0812B8C4 @ =_0812B8C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812B8C4: .4byte _0812B8C8 - .align 2, 0 -_0812B8C8: - .4byte _0812B988 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812B9A8 - .4byte _0812B9A0 - .4byte _0812BB08 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B9A0 - .4byte _0812B990 - .4byte _0812B9BA - .4byte _0812B9C0 - .4byte _0812B9C0 - .4byte _0812B9C6 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B988 - .4byte _0812BB08 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812B9A8 - .4byte _0812B9A0 - .4byte _0812BB08 - .4byte _0812B988 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B9D0 -_0812B988: - ldr r0, _0812B98C @ =0x00000829 - b _0812BAF2 - .align 2, 0 -_0812B98C: .4byte 0x00000829 -_0812B990: - ldr r0, _0812B99C @ =0x00000169 - movs r1, 0x1 - bl CheckBagHasItem - b _0812BAF6 - .align 2, 0 -_0812B99C: .4byte 0x00000169 -_0812B9A0: - ldr r0, _0812B9A4 @ =0x00000828 - b _0812BAF2 - .align 2, 0 -_0812B9A4: .4byte 0x00000828 -_0812B9A8: - movs r0, 0x1 - bl sub_8088EDC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0812B9B8 - b _0812BB08 -_0812B9B8: - b _0812BB04 -_0812B9BA: - movs r0, 0x82 - lsls r0, 4 - b _0812BAF2 -_0812B9C0: - bl sub_812BB10 - b _0812BAF6 -_0812B9C6: - ldr r0, _0812B9CC @ =0x00000271 - b _0812BAF2 - .align 2, 0 -_0812B9CC: .4byte 0x00000271 -_0812B9D0: - ldr r0, _0812B9D4 @ =0x0000082c - b _0812BAF2 - .align 2, 0 -_0812B9D4: .4byte 0x0000082c -_0812B9D8: - cmp r0, 0x2 - beq _0812B9DE - b _0812BADC -_0812B9DE: - bl sub_812B754 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812BA0E - ldr r0, _0812BA20 @ =gUnknown_845B9BE - ldrb r1, [r0] - adds r2, r0, 0 - cmp r1, 0xFF - beq _0812BA0E - adds r1, r2, 0 -_0812B9F6: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, r5 - bne _0812BA00 - b _0812BB04 -_0812BA00: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812B9F6 -_0812BA0E: - subs r0, r5, 0x1 - cmp r0, 0x26 - bls _0812BA16 - b _0812BB08 -_0812BA16: - lsls r0, 2 - ldr r1, _0812BA24 @ =_0812BA28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812BA20: .4byte gUnknown_845B9BE -_0812BA24: .4byte _0812BA28 - .align 2, 0 -_0812BA28: - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAD2 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BB08 - .4byte _0812BAD2 - .4byte _0812BAC4 - .4byte _0812BB08 - .4byte _0812BAD2 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BACC - .4byte _0812BACC - .4byte _0812BB08 - .4byte _0812BAD2 -_0812BAC4: - ldr r0, _0812BAC8 @ =0x00000828 - b _0812BAF2 - .align 2, 0 -_0812BAC8: .4byte 0x00000828 -_0812BACC: - bl sub_812BB10 - b _0812BAF6 -_0812BAD2: - ldr r0, _0812BAD8 @ =0x000008a4 - b _0812BAF2 - .align 2, 0 -_0812BAD8: .4byte 0x000008a4 -_0812BADC: - cmp r0, 0x3 - bne _0812BB00 - cmp r5, 0x5 - beq _0812BAEA - cmp r5, 0x6 - beq _0812BAF0 - b _0812BB08 -_0812BAEA: - movs r0, 0x82 - lsls r0, 4 - b _0812BAF2 -_0812BAF0: - ldr r0, _0812BAFC @ =0x00000821 -_0812BAF2: - bl FlagGet -_0812BAF6: - lsls r0, 24 - lsrs r0, 24 - b _0812BB0A - .align 2, 0 -_0812BAFC: .4byte 0x00000821 -_0812BB00: - cmp r0, 0x4 - beq _0812BB08 -_0812BB04: - movs r0, 0 - b _0812BB0A -_0812BB08: - movs r0, 0x1 -_0812BB0A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812B780 - thumb_func_start sub_812BB10 sub_812BB10: @ 812BB10 push {lr} diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index c8cee9676..b04876c2a 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -3,12 +3,15 @@ #include "event_scripts.h" #include "field_player_avatar.h" #include "help_system.h" +#include "item.h" #include "link.h" #include "overworld.h" +#include "pokedex.h" #include "quest_log.h" #include "save.h" #include "save_location.h" #include "strings.h" +#include "constants/items.h" #include "constants/maps.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; @@ -23,10 +26,10 @@ void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812B754(void); bool8 sub_812B780(u8); +bool8 sub_812BB10(void); void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF74(const u8 *); -// this file const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, gUnknown_81B2E1C, @@ -1122,3 +1125,212 @@ bool8 sub_812B754(void) return TRUE; return FALSE; } + +bool8 sub_812B780(u8 id) +{ + u8 i = 0; + + if (gUnknown_3005E9C[1] == 0) + { + switch (id) + { + case 1: + case 2: + case 3: + case 5: + case 8: + case 34: + case 38: + case 41: + case 42: + case 43: + return TRUE; + case 4: + return FlagGet(FLAG_0x2CF); + case 6: + case 10: + case 16: + case 19: + case 22: + case 35: + case 36: + return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_CITY); + case 7: + return FlagGet(FLAG_WORLD_MAP_VERMILION_CITY); + case 11: + case 24: + return FlagGet(FLAG_0x8A4); + case 9: + case 13: + case 14: + case 15: + case 17: + case 18: + case 20: + case 26: + case 29: + case 31: + case 37: + return FlagGet(FLAG_0x828); + case 21: + case 23: + return FlagGet(FLAG_0x829); + case 12: + case 25: + case 27: + case 30: + case 32: + case 33: + return FlagGet(FLAG_UNK820); + case 28: + case 40: + return sub_812BB10(); + case 39: + return FlagGet(FLAG_0x29B); + case 44: + return FlagGet(FLAG_WORLD_MAP_PEWTER_CITY); + } + return FALSE; + } + if (gUnknown_3005E9C[1] == 1) + { + switch (id) + { + case 06: + case 10: + case 11: + case 12: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 31: + case 36: + case 38: + case 39: + case 40: + case 41: + case 42: + case 45: + case 46: + case 47: + return TRUE; + case 1: + case 30: + case 37: + return FlagGet(FLAG_0x829); + case 14: + return CheckBagHasItem(ITEM_TOWN_MAP, 1); + case 2: + case 3: + case 5: + case 7: + case 8: + case 9: + case 13: + case 32: + case 33: + case 35: + case 43: + case 44: + return FlagGet(FLAG_0x828); + case 4: + case 34: + if (sub_8088EDC(1) > 1) + return TRUE; + return FALSE; + case 15: + return FlagGet(FLAG_UNK820); + case 16: + case 17: + return sub_812BB10(); + case 18: + return FlagGet(FLAG_0x271); + case 48: + return FlagGet(FLAG_0x82C); + } + return FALSE; + } + if (gUnknown_3005E9C[1] == 2) + { + if (sub_812B754() == TRUE) + { + for (i = 0; gUnknown_845B9BE[i] != 0xFF; i++) + { + if (gUnknown_845B9BE[i] == id) + return FALSE; + } + } + switch (id) + { + case 14: + case 17: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 38: + return TRUE; + case 1: + case 2: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 16: + case 19: + case 20: + case 21: + return FlagGet(FLAG_0x828); + case 36: + case 37: + return sub_812BB10(); + case 3: + case 15: + case 18: + case 39: + return FlagGet(FLAG_0x8A4); + } + return TRUE; + } + if (gUnknown_3005E9C[1] == 3) + { + switch (id) + { + case 5: + return FlagGet(FLAG_UNK820); + case 6: + return FlagGet(FLAG_0x821); + } + return TRUE; + } + if (gUnknown_3005E9C[1] == 4) + { + return TRUE; + } + + return FALSE; +} -- cgit v1.2.3 From 85aeb8d476459da4615949e287294658c8e9e3c5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 16:43:34 -0400 Subject: help_system_812B1E0: through sub_812BDEC --- asm/help_system_812B1E0.s | 383 ---------------------------------------------- include/help_system.h | 5 + include/strings.h | 2 + src/help_system_812B1E0.c | 163 ++++++++++++++++++++ 4 files changed, 170 insertions(+), 383 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index b396180be..7f2459190 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,389 +5,6 @@ .text - thumb_func_start sub_812BB10 -sub_812BB10: @ 812BB10 - push {lr} - ldr r0, _0812BB7C @ =0x00000237 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - movs r0, 0x8E - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB80 @ =0x00000239 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB84 @ =0x0000023a - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB88 @ =0x0000023b - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB8C @ =0x000002ef - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB90 @ =0x000001f1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - movs r0, 0 - b _0812BB96 - .align 2, 0 -_0812BB7C: .4byte 0x00000237 -_0812BB80: .4byte 0x00000239 -_0812BB84: .4byte 0x0000023a -_0812BB88: .4byte 0x0000023b -_0812BB8C: .4byte 0x000002ef -_0812BB90: .4byte 0x000001f1 -_0812BB94: - movs r0, 0x1 -_0812BB96: - pop {r1} - bx r1 - thumb_func_end sub_812BB10 - - thumb_func_start sub_812BB9C -sub_812BB9C: @ 812BB9C - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r0, [r2, 0xE] - cmp r0, 0xA - bhi _0812BC4C - lsls r0, 2 - ldr r1, _0812BBB4 @ =_0812BBB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812BBB4: .4byte _0812BBB8 - .align 2, 0 -_0812BBB8: - .4byte _0812BC02 - .4byte _0812BC0C - .4byte _0812BC16 - .4byte _0812BC20 - .4byte _0812BC2A - .4byte _0812BC34 - .4byte _0812BC3E - .4byte _0812BC4C - .4byte _0812BBE4 - .4byte _0812BBEE - .4byte _0812BBF8 -_0812BBE4: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BC54 - b _0812BC46 -_0812BBEE: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BC80 - b _0812BC46 -_0812BBF8: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BCA8 - b _0812BC46 -_0812BC02: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BCD0 - b _0812BC46 -_0812BC0C: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BD2C - b _0812BC46 -_0812BC16: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BD64 - b _0812BC46 -_0812BC20: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BD98 - b _0812BC46 -_0812BC2A: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BE10 - b _0812BC46 -_0812BC34: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BEEC - b _0812BC46 -_0812BC3E: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BF18 -_0812BC46: - lsls r0, 24 - lsrs r0, 24 - b _0812BC4E -_0812BC4C: - movs r0, 0 -_0812BC4E: - pop {r1} - bx r1 - thumb_func_end sub_812BB9C - - thumb_func_start sub_812BC54 -sub_812BC54: @ 812BC54 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812BC7C @ =gUnknown_841DFA5 - bl sub_812BF74 - bl sub_812BF5C - movs r0, 0x1 - bl sub_813BDA4 - movs r0, 0x1 - bl sub_813BD5C - movs r0, 0x9 - strb r0, [r4, 0xE] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812BC7C: .4byte gUnknown_841DFA5 - thumb_func_end sub_812BC54 - - thumb_func_start sub_812BC80 -sub_812BC80: @ 812BC80 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812BCA4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812BC9A - movs r0, 0x5 - bl PlaySE - movs r0, 0xA - strb r0, [r4, 0xE] -_0812BC9A: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812BCA4: .4byte gMain - thumb_func_end sub_812BC80 - - thumb_func_start sub_812BCA8 -sub_812BCA8: @ 812BCA8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - ldr r0, _0812BCCC @ =gUnknown_3005E9C - movs r5, 0 - strb r5, [r0, 0x2] - adds r0, r4, 0 - bl sub_812BF94 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_812B4D8 - strb r5, [r4, 0xE] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0812BCCC: .4byte gUnknown_3005E9C - thumb_func_end sub_812BCA8 - - thumb_func_start sub_812BCD0 -sub_812BCD0: @ 812BCD0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_813C690 - adds r1, r0, 0 - adds r0, r1, 0x6 - cmp r0, 0x5 - bhi _0812BD16 - lsls r0, 2 - ldr r1, _0812BCEC @ =_0812BCF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812BCEC: .4byte _0812BCF0 - .align 2, 0 -_0812BCF0: - .4byte _0812BD08 - .4byte _0812BD0C - .4byte _0812BD0C - .4byte _0812BD1E - .4byte _0812BD08 - .4byte _0812BD1E -_0812BD08: - movs r0, 0 - b _0812BD20 -_0812BD0C: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812BF9C - b _0812BD1E -_0812BD16: - ldr r0, _0812BD28 @ =gUnknown_3005E9C - strb r1, [r0, 0x1] - movs r0, 0x1 - strb r0, [r4, 0xE] -_0812BD1E: - movs r0, 0x1 -_0812BD20: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812BD28: .4byte gUnknown_3005E9C - thumb_func_end sub_812BCD0 - - thumb_func_start sub_812BD2C -sub_812BD2C: @ 812BD2C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _0812BD60 @ =gUnknown_3005E9C - movs r0, 0x1 - strb r0, [r1] - ldrb r0, [r4, 0xD] - strb r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_812BF94 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812B5A8 - bl sub_813C75C - movs r0, 0x2 - bl sub_813C684 - movs r0, 0x3 - strb r0, [r4, 0xE] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812BD60: .4byte gUnknown_3005E9C - thumb_func_end sub_812BD2C - - thumb_func_start sub_812BD64 -sub_812BD64: @ 812BD64 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0 - movs r1, 0 - bl sub_813C004 - movs r0, 0x1 - movs r1, 0 - bl sub_813C004 - ldr r0, _0812BD94 @ =gUnknown_3005E9C - movs r4, 0 - strb r4, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_812B4D8 - strb r4, [r5, 0xE] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0812BD94: .4byte gUnknown_3005E9C - thumb_func_end sub_812BD64 - - thumb_func_start sub_812BD98 -sub_812BD98: @ 812BD98 - push {r4,lr} - adds r4, r0, 0 - bl sub_813C690 - adds r1, r0, 0 - adds r0, r1, 0x6 - cmp r0, 0x5 - bhi _0812BDD8 - lsls r0, 2 - ldr r1, _0812BDB4 @ =_0812BDB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812BDB4: .4byte _0812BDB8 - .align 2, 0 -_0812BDB8: - .4byte _0812BDD0 - .4byte _0812BDE0 - .4byte _0812BDE0 - .4byte _0812BDE0 - .4byte _0812BDD4 - .4byte _0812BDE0 -_0812BDD0: - movs r0, 0 - b _0812BDE2 -_0812BDD4: - movs r0, 0x2 - b _0812BDDE -_0812BDD8: - ldr r0, _0812BDE8 @ =gUnknown_3005E9C - strb r1, [r0, 0x3] - movs r0, 0x4 -_0812BDDE: - strb r0, [r4, 0xE] -_0812BDE0: - movs r0, 0x1 -_0812BDE2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812BDE8: .4byte gUnknown_3005E9C - thumb_func_end sub_812BD98 - - thumb_func_start sub_812BDEC -sub_812BDEC: @ 812BDEC - push {lr} - ldr r1, _0812BE08 @ =gUnknown_845B080 - ldr r0, _0812BE0C @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_813C4CC - pop {r0} - bx r0 - .align 2, 0 -_0812BE08: .4byte gUnknown_845B080 -_0812BE0C: .4byte gUnknown_3005E9C - thumb_func_end sub_812BDEC - thumb_func_start sub_812BE10 sub_812BE10: @ 812BE10 push {r4,r5,lr} diff --git a/include/help_system.h b/include/help_system.h index f9aaba907..2f82c4cf0 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -18,6 +18,7 @@ struct HelpSystemStruct_203F190 struct HelpSystemStruct_203F190_sub sub; u8 field_0C; u8 field_0D; + u8 field_0E; u8 filler_10[0xC]; }; @@ -37,5 +38,9 @@ void sub_813BD5C(u8); void sub_813BDE8(u8); void sub_813BFC0(u8); void sub_813BE78(u8); +s32 sub_813C690(void); +void sub_813C75C(void); +void sub_813C684(u8); +void sub_813C004(u8, u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/strings.h b/include/strings.h index 1e3d4c39b..6cc6b93c1 100644 --- a/include/strings.h +++ b/include/strings.h @@ -137,7 +137,9 @@ extern const u8 gTeachyTvText_TMsScript2[]; extern const u8 gTeachyTvText_RegisterScript2[]; // help_system_812B1E0 +extern const u8 gUnknown_841DFA5[]; extern const u8 gUnknown_841DFAC[]; +extern const u8 gUnknown_841DFBE[]; extern const u8 gUnknown_841DFC9[]; #endif //GUARD_STRINGS_H diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index b04876c2a..5ac571e26 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -10,9 +10,11 @@ #include "quest_log.h" #include "save.h" #include "save_location.h" +#include "sound.h" #include "strings.h" #include "constants/items.h" #include "constants/maps.h" +#include "constants/songs.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; EWRAM_DATA u8 gUnknown_203B0EE = 0; @@ -27,8 +29,20 @@ void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) bool8 sub_812B754(void); bool8 sub_812B780(u8); bool8 sub_812BB10(void); +bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +void sub_812BF5C(void); void sub_812BF74(const u8 *); +void sub_812BF94(struct HelpSystemStruct_203F190 * a0); const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, @@ -1334,3 +1348,152 @@ bool8 sub_812B780(u8 id) return FALSE; } + +bool8 sub_812BB10(void) +{ + if (FlagGet(FLAG_0x237) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x238) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x239) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x23A) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x23B) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x2EF) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x1F1) == TRUE) + return TRUE; + return FALSE; +} + +bool8 sub_812BB9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + switch (a0->field_0E) + { + case 8: + return sub_812BC54(a0, a1); + case 9: + return sub_812BC80(a0, a1); + case 10: + return sub_812BCA8(a0, a1); + case 0: + return sub_812BCD0(a0, a1); + case 1: + return sub_812BD2C(a0, a1); + case 2: + return sub_812BD64(a0, a1); + case 3: + return sub_812BD98(a0, a1); + case 4: + return sub_812BE10(a0, a1); + case 5: + return sub_812BEEC(a0, a1); + case 6: + return sub_812BF18(a0, a1); + } + return FALSE; +} + +bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + sub_812BF74(gUnknown_841DFA5); + sub_812BF5C(); + sub_813BDA4(1); + sub_813BD5C(1); + a0->field_0E = 9; + return TRUE; +} + +bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + a0->field_0E = 10; + } + return TRUE; +} + +bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + gUnknown_3005E9C[2] = 0; + sub_812BF94(a0); + sub_812B4D8(a0, a1); + a0->field_0E = 0; + return TRUE; +} + +bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + s32 v0 = sub_813C690(); + switch (v0) + { + case -6: + case -2: + return FALSE; + case -5: + case -4: + sub_812BF9C(a0, a1); + break; + case -3: + case -1: + break; + default: + gUnknown_3005E9C[1] = v0; + a0->field_0E = 1; + break; + } + return TRUE; +} + +bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + gUnknown_3005E9C[0] = 1; + gUnknown_3005E9C[2] = a0->field_0D; + sub_812BF94(a0); + sub_812B5A8(a0, a1); + sub_813C75C(); + sub_813C684(2); + a0->field_0E = 3; + return TRUE; +} + +bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + sub_813C004(0, 0); + sub_813C004(1, 0); + gUnknown_3005E9C[0] = 0; + sub_812B4D8(a0, a1); + a0->field_0E = 0; + return TRUE; +} + +bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + s32 v0 = sub_813C690(); + switch (v0) + { + case -6: + return FALSE; + case -2: + a0->field_0E = 2; + break; + case -5: + case -4: + case -3: + case -1: + break; + default: + gUnknown_3005E9C[3] = v0; + a0->field_0E = 4; + break; + } + return TRUE; +} + +void sub_812BDEC(void) +{ + sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); +} \ No newline at end of file -- cgit v1.2.3 From 63defaa95f88bf4e296eb9f9b4be64bf847f9157 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 17:08:46 -0400 Subject: Finish help_system_812B1E0 decomp --- asm/help_system_812B1E0.s | 246 ---------------------------------------------- include/help_system.h | 7 ++ ld_script.txt | 1 - src/help_system_812B1E0.c | 95 +++++++++++++++++- 4 files changed, 100 insertions(+), 249 deletions(-) delete mode 100644 asm/help_system_812B1E0.s diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s deleted file mode 100644 index 7f2459190..000000000 --- a/asm/help_system_812B1E0.s +++ /dev/null @@ -1,246 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_812BE10 -sub_812BE10: @ 812BE10 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0812BE4C @ =gUnknown_3005E9C - movs r0, 0x2 - strb r0, [r4] - movs r0, 0 - bl sub_813BDA4 - bl sub_813C624 - ldr r0, _0812BE50 @ =gUnknown_841DFBE - bl sub_812BF74 - movs r0, 0x1 - bl sub_813BDE8 - movs r0, 0x1 - bl sub_813BEE4 - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _0812BE5C - ldr r0, _0812BE54 @ =gUnknown_845B0B0 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BE58 @ =gUnknown_845B164 - b _0812BEA4 - .align 2, 0 -_0812BE4C: .4byte gUnknown_3005E9C -_0812BE50: .4byte gUnknown_841DFBE -_0812BE54: .4byte gUnknown_845B0B0 -_0812BE58: .4byte gUnknown_845B164 -_0812BE5C: - cmp r0, 0x1 - bne _0812BE78 - ldr r0, _0812BE70 @ =gUnknown_845B218 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BE74 @ =gUnknown_845B2DC - b _0812BEA4 - .align 2, 0 -_0812BE70: .4byte gUnknown_845B218 -_0812BE74: .4byte gUnknown_845B2DC -_0812BE78: - cmp r0, 0x2 - bne _0812BE94 - ldr r0, _0812BE8C @ =gUnknown_845B3A0 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BE90 @ =gUnknown_845B450 - b _0812BEA4 - .align 2, 0 -_0812BE8C: .4byte gUnknown_845B3A0 -_0812BE90: .4byte gUnknown_845B450 -_0812BE94: - cmp r0, 0x3 - bne _0812BEB8 - ldr r0, _0812BEB0 @ =gUnknown_845B500 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BEB4 @ =gUnknown_845B520 -_0812BEA4: - adds r1, r2 - ldr r1, [r1] - bl sub_813C50C - b _0812BECC - .align 2, 0 -_0812BEB0: .4byte gUnknown_845B500 -_0812BEB4: .4byte gUnknown_845B520 -_0812BEB8: - ldr r0, _0812BEE4 @ =gUnknown_845B540 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BEE8 @ =gUnknown_845B5D0 - adds r1, r2 - ldr r1, [r1] - bl sub_813C50C -_0812BECC: - movs r0, 0x1 - bl sub_813BDA4 - movs r0, 0x1 - bl sub_813BD5C - movs r0, 0x6 - strb r0, [r5, 0xE] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812BEE4: .4byte gUnknown_845B540 -_0812BEE8: .4byte gUnknown_845B5D0 - thumb_func_end sub_812BE10 - - thumb_func_start sub_812BEEC -sub_812BEEC: @ 812BEEC - push {r4,lr} - adds r4, r0, 0 - ldr r2, _0812BF14 @ =gUnknown_3005E9C - movs r0, 0x1 - strb r0, [r2] - adds r0, r4, 0 - bl sub_812B5A8 - bl sub_813C75C - movs r0, 0x2 - bl sub_813C684 - movs r0, 0x3 - strb r0, [r4, 0xE] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812BF14: .4byte gUnknown_3005E9C - thumb_func_end sub_812BEEC - - thumb_func_start sub_812BF18 -sub_812BF18: @ 812BF18 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812BF40 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0812BF30 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812BF44 -_0812BF30: - movs r0, 0x5 - bl PlaySE - movs r0, 0x5 - strb r0, [r4, 0xE] - movs r0, 0x1 - b _0812BF54 - .align 2, 0 -_0812BF40: .4byte gMain -_0812BF44: - movs r0, 0xC0 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0812BF52 - movs r0, 0x1 - b _0812BF54 -_0812BF52: - movs r0, 0 -_0812BF54: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812BF18 - - thumb_func_start sub_812BF5C -sub_812BF5C: @ 812BF5C - push {lr} - bl sub_813C624 - ldr r0, _0812BF70 @ =gUnknown_81B2FC9 - movs r1, 0 - movs r2, 0 - bl sub_813C4CC - pop {r0} - bx r0 - .align 2, 0 -_0812BF70: .4byte gUnknown_81B2FC9 - thumb_func_end sub_812BF5C - - thumb_func_start sub_812BF74 -sub_812BF74: @ 812BF74 - push {r4,lr} - adds r4, r0, 0 - bl sub_813C5FC - adds r0, r4, 0 - bl sub_813C488 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812BF74 - - thumb_func_start sub_812BF88 -sub_812BF88: @ 812BF88 - ldr r0, _0812BF90 @ =gUnknown_3005E9C - ldrb r0, [r0] - bx lr - .align 2, 0 -_0812BF90: .4byte gUnknown_3005E9C - thumb_func_end sub_812BF88 - - thumb_func_start sub_812BF94 -sub_812BF94: @ 812BF94 - movs r1, 0 - strb r1, [r0, 0xC] - strb r1, [r0, 0xD] - bx lr - thumb_func_end sub_812BF94 - - thumb_func_start sub_812BF9C -sub_812BF9C: @ 812BF9C - push {lr} - ldrb r2, [r0, 0xC] - ldrb r0, [r0, 0xD] - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldr r1, [r2, 0x4] - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - bne _0812BFC0 - ldr r0, _0812BFBC @ =gUnknown_845B098 - ldr r0, [r0, 0x14] - bl sub_813C584 - b _0812BFCC - .align 2, 0 -_0812BFBC: .4byte gUnknown_845B098 -_0812BFC0: - ldr r0, _0812BFD8 @ =gUnknown_845B098 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_813C584 -_0812BFCC: - movs r0, 0x1 - bl sub_813BE30 - pop {r0} - bx r0 - .align 2, 0 -_0812BFD8: .4byte gUnknown_845B098 - thumb_func_end sub_812BF9C - - .align 2, 0 @ Don't pad with nop. diff --git a/include/help_system.h b/include/help_system.h index 2f82c4cf0..1c8fb643e 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -42,5 +42,12 @@ s32 sub_813C690(void); void sub_813C75C(void); void sub_813C684(u8); void sub_813C004(u8, u8); +void sub_813C50C(const u8 *a0, const u8 *a1); +void sub_813BEE4(u8); +void sub_813C624(void); +void sub_813C5FC(void); +void sub_813C488(const u8 *str); +void sub_813C584(const u8 *str); +void sub_813BE30(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/ld_script.txt b/ld_script.txt index 196e0163f..5abc25e98 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -240,7 +240,6 @@ SECTIONS { asm/party_menu.o(.text); asm/union_room_chat.o(.text); src/help_system_812B1E0.o(.text); - asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); src/fame_checker.o(.text); src/menu2.o(.text); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 5ac571e26..1626ee660 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -39,10 +39,10 @@ bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF5C(void); void sub_812BF74(const u8 *); void sub_812BF94(struct HelpSystemStruct_203F190 * a0); +void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, @@ -1496,4 +1496,95 @@ bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 void sub_812BDEC(void) { sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); -} \ No newline at end of file +} + +bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + gUnknown_3005E9C[0] = 2; + sub_813BDA4(0); + sub_813C624(); + sub_812BF74(gUnknown_841DFBE); + sub_813BDE8(1); + sub_813BEE4(1); + + if (gUnknown_3005E9C[1] == 0) + { + sub_813C50C(gUnknown_845B0B0[gUnknown_3005E9C[3]], gUnknown_845B164[gUnknown_3005E9C[3]]); + } + else if (gUnknown_3005E9C[1] == 1) + { + sub_813C50C(gUnknown_845B218[gUnknown_3005E9C[3]], gUnknown_845B2DC[gUnknown_3005E9C[3]]); + } + else if (gUnknown_3005E9C[1] == 2) + { + sub_813C50C(gUnknown_845B3A0[gUnknown_3005E9C[3]], gUnknown_845B450[gUnknown_3005E9C[3]]); + } + else if (gUnknown_3005E9C[1] == 3) + { + sub_813C50C(gUnknown_845B500[gUnknown_3005E9C[3]], gUnknown_845B520[gUnknown_3005E9C[3]]); + } + else + { + sub_813C50C(gUnknown_845B540[gUnknown_3005E9C[3]], gUnknown_845B5D0[gUnknown_3005E9C[3]]); + } + sub_813BDA4(1); + sub_813BD5C(1); + a0->field_0E = 6; + return TRUE; +} + +bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + gUnknown_3005E9C[0] = 1; + sub_812B5A8(a0, a1); + sub_813C75C(); + sub_813C684(2); + a0->field_0E = 3; + return TRUE; +} + +bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + a0->field_0E = 5; + return TRUE; + } + if (JOY_NEW(L_BUTTON | R_BUTTON)) + return FALSE; + return TRUE; +} + +void sub_812BF5C(void) +{ + sub_813C624(); + sub_813C4CC(gUnknown_81B2FC9, 0, 0); +} + +void sub_812BF74(const u8 * str) +{ + sub_813C5FC(); + sub_813C488(str); +} + +u8 sub_812BF88(void) +{ + return gUnknown_3005E9C[0]; +} + +void sub_812BF94(struct HelpSystemStruct_203F190 * a0) +{ + a0->field_0C = 0; + a0->field_0D = 0; +} + +void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + s32 index = a1[a0->field_0C + a0->field_0D].index; + if (index == -2) + sub_813C584(gUnknown_845B098[5]); + else + sub_813C584(gUnknown_845B098[index]); + sub_813BE30(1); +} -- cgit v1.2.3 From c993f5db4e0ab8052875ab80f980d4100b809764 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 17:25:36 -0400 Subject: A little bit of cleanup --- include/help_system.h | 11 ++ src/help_system_812B1E0.c | 254 ++++++++++++++++++++++------------------------ 2 files changed, 133 insertions(+), 132 deletions(-) diff --git a/include/help_system.h b/include/help_system.h index 1c8fb643e..1f8b7bbbb 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -29,8 +29,19 @@ extern u8 gUnknown_203F175; void sub_812B1E0(u8); void sub_812B484(void); +void sub_812B4B8(void); void HelpSystem_SetSomeVariable2(u8); void sub_812B478(void); +bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_813C64C(struct HelpSystemStruct_203F190 *, u8, u8); void sub_813C4CC(const u8 *, u8, u8); void sub_813BDA4(u8); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 1626ee660..1356db7d0 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -16,35 +16,25 @@ #include "constants/maps.h" #include "constants/songs.h" -EWRAM_DATA u16 gUnknown_203B0EC = 0; -EWRAM_DATA u8 gUnknown_203B0EE = 0; +static EWRAM_DATA u16 gUnknown_203B0EC = 0; +static EWRAM_DATA u8 gUnknown_203B0EE = 0; u8 gUnknown_3005E9C[4]; u16 gUnknown_3005EA0; -bool32 sub_812B27C(const u16 * mapIdxs); -void sub_812B4B8(void); -void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812B754(void); -bool8 sub_812B780(u8); -bool8 sub_812BB10(void); -bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -void sub_812BF5C(void); -void sub_812BF74(const u8 *); -void sub_812BF94(struct HelpSystemStruct_203F190 * a0); -void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); - -const u8 *const gUnknown_845B080[] = { +static bool32 sub_812B27C(const u16 * mapIdxs); +static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +static bool8 sub_812B754(void); +static bool8 sub_812B780(u8); +static bool8 sub_812BB10(void); + +static void sub_812BF5C(void); +static void sub_812BF74(const u8 *); +static void sub_812BF94(struct HelpSystemStruct_203F190 * a0); +static void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); + +static const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, gUnknown_81B2E1C, gUnknown_81B2E2E, @@ -53,7 +43,7 @@ const u8 *const gUnknown_845B080[] = { gUnknown_81B2E6A }; -const u8 *const gUnknown_845B098[] = { +static const u8 *const gUnknown_845B098[] = { gUnknown_81B2E88, gUnknown_81B2EC8, gUnknown_81B2F00, @@ -62,7 +52,7 @@ const u8 *const gUnknown_845B098[] = { gUnknown_81B2FA9 }; -const u8 *const gUnknown_845B0B0[] = { +static const u8 *const gUnknown_845B0B0[] = { NULL, gUnknown_81B3083, gUnknown_81B30A9, @@ -110,7 +100,7 @@ const u8 *const gUnknown_845B0B0[] = { gUnknown_81B3516 }; -const u8 *const gUnknown_845B164[] = { +static const u8 *const gUnknown_845B164[] = { NULL, gUnknown_81B3525, gUnknown_81B35E6, @@ -158,7 +148,7 @@ const u8 *const gUnknown_845B164[] = { gUnknown_81B55F4 }; -const u8 *const gUnknown_845B218[] = { +static const u8 *const gUnknown_845B218[] = { NULL, gUnknown_81B56E3, gUnknown_81B56F4, @@ -210,7 +200,7 @@ const u8 *const gUnknown_845B218[] = { gUnknown_81B5A37 }; -const u8 *const gUnknown_845B2DC[] = { +static const u8 *const gUnknown_845B2DC[] = { NULL, gUnknown_81B5A4D, gUnknown_81B5B0C, @@ -262,7 +252,7 @@ const u8 *const gUnknown_845B2DC[] = { gUnknown_81B7C57 }; -const u8 *const gUnknown_845B3A0[] = { +static const u8 *const gUnknown_845B3A0[] = { NULL, gUnknown_81B7CC1, gUnknown_81B7CC4, @@ -309,7 +299,7 @@ const u8 *const gUnknown_845B3A0[] = { gUnknown_81B7E0F }; -const u8 *const gUnknown_845B450[] = { +static const u8 *const gUnknown_845B450[] = { NULL, gUnknown_81B7E16, gUnknown_81B7F0A, @@ -356,7 +346,7 @@ const u8 *const gUnknown_845B450[] = { gUnknown_81B9B2F }; -const u8 *const gUnknown_845B500[] = { +static const u8 *const gUnknown_845B500[] = { NULL, gUnknown_81B9BB7, gUnknown_81B9BC7, @@ -367,7 +357,7 @@ const u8 *const gUnknown_845B500[] = { gUnknown_81B9C1D }; -const u8 *const gUnknown_845B520[] = { +static const u8 *const gUnknown_845B520[] = { NULL, gUnknown_81B9C2F, gUnknown_81B9D04, @@ -378,7 +368,7 @@ const u8 *const gUnknown_845B520[] = { gUnknown_81BA027 }; -const u8 *const gUnknown_845B540[] = { +static const u8 *const gUnknown_845B540[] = { NULL, gUnknown_81BA0F1, gUnknown_81BA10D, @@ -417,7 +407,7 @@ const u8 *const gUnknown_845B540[] = { gUnknown_81BA400 }; -const u8 *const gUnknown_845B5D0[] = { +static const u8 *const gUnknown_845B5D0[] = { NULL, gUnknown_81BA416, gUnknown_81BA4E6, @@ -457,299 +447,299 @@ const u8 *const gUnknown_845B5D0[] = { }; -const u8 gUnknown_845B660[] = { +static const u8 gUnknown_845B660[] = { 0x01, 0x02, 0x03, 0xff }; -const u8 gUnknown_845B664[] = { +static const u8 gUnknown_845B664[] = { 0x01, 0x02, 0x03, 0xff }; -const u8 gUnknown_845B668[] = { +static const u8 gUnknown_845B668[] = { 0x13, 0xff }; -const u8 gUnknown_845B66A[] = { +static const u8 gUnknown_845B66A[] = { 0x01, 0x02, 0x03, 0xff }; -const u8 gUnknown_845B66E[] = { +static const u8 gUnknown_845B66E[] = { 0x01, 0x25, 0xff }; -const u8 gUnknown_845B671[] = { +static const u8 gUnknown_845B671[] = { 0x02, 0x03, 0x04, 0x05, 0x11, 0xff }; -const u8 gUnknown_845B677[] = { +static const u8 gUnknown_845B677[] = { 0x09, 0x01, 0xff }; -const u8 gUnknown_845B67A[] = { +static const u8 gUnknown_845B67A[] = { 0x02, 0x03, 0xff }; -const u8 gUnknown_845B67D[] = { +static const u8 gUnknown_845B67D[] = { 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff }; -const u8 gUnknown_845B684[] = { +static const u8 gUnknown_845B684[] = { 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff }; -const u8 gUnknown_845B68E[] = { +static const u8 gUnknown_845B68E[] = { 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B696[] = { +static const u8 gUnknown_845B696[] = { 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff }; -const u8 gUnknown_845B6A1[] = { +static const u8 gUnknown_845B6A1[] = { 0x16, 0x17, 0x18, 0xff }; -const u8 gUnknown_845B6A5[] = { +static const u8 gUnknown_845B6A5[] = { 0x0a, 0xff }; -const u8 gUnknown_845B6A7[] = { +static const u8 gUnknown_845B6A7[] = { 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff }; -const u8 gUnknown_845B6AD[] = { +static const u8 gUnknown_845B6AD[] = { 0x0a, 0xff }; -const u8 gUnknown_845B6AF[] = { +static const u8 gUnknown_845B6AF[] = { 0x0b, 0xff }; -const u8 gUnknown_845B6B1[] = { +static const u8 gUnknown_845B6B1[] = { 0x2b, 0x19, 0x1a, 0xff }; -const u8 gUnknown_845B6B5[] = { +static const u8 gUnknown_845B6B5[] = { 0x0c, 0xff }; -const u8 gUnknown_845B6B7[] = { +static const u8 gUnknown_845B6B7[] = { 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff }; -const u8 gUnknown_845B6BF[] = { +static const u8 gUnknown_845B6BF[] = { 0x02, 0x03, 0x04, 0xff }; -const u8 gUnknown_845B6C3[] = { +static const u8 gUnknown_845B6C3[] = { 0x01, 0x02, 0x03, 0x07, 0xff }; -const u8 gUnknown_845B6C8[] = { +static const u8 gUnknown_845B6C8[] = { 0x02, 0x04, 0x05, 0x09, 0x25, 0xff }; -const u8 gUnknown_845B6CE[] = { +static const u8 gUnknown_845B6CE[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B6E2[] = { +static const u8 gUnknown_845B6E2[] = { 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff }; -const u8 gUnknown_845B6E9[] = { +static const u8 gUnknown_845B6E9[] = { 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff }; -const u8 gUnknown_845B6F2[] = { +static const u8 gUnknown_845B6F2[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff }; -const u8 gUnknown_845B707[] = { +static const u8 gUnknown_845B707[] = { 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff }; -const u8 gUnknown_845B70E[] = { +static const u8 gUnknown_845B70E[] = { 0x03, 0x07, 0x04, 0x05, 0x06, 0xff }; -const u8 gUnknown_845B714[] = { +static const u8 gUnknown_845B714[] = { 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff }; -const u8 gUnknown_845B71D[] = { +static const u8 gUnknown_845B71D[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B731[] = { +static const u8 gUnknown_845B731[] = { 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff }; -const u8 gUnknown_845B73D[] = { +static const u8 gUnknown_845B73D[] = { 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff }; -const u8 gUnknown_845B744[] = { +static const u8 gUnknown_845B744[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B758[] = { +static const u8 gUnknown_845B758[] = { 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff }; -const u8 gUnknown_845B75F[] = { +static const u8 gUnknown_845B75F[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B783[] = { +static const u8 gUnknown_845B783[] = { 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff }; -const u8 gUnknown_845B7A7[] = { +static const u8 gUnknown_845B7A7[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B7BB[] = { +static const u8 gUnknown_845B7BB[] = { 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff }; -const u8 gUnknown_845B7C4[] = { +static const u8 gUnknown_845B7C4[] = { 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff }; -const u8 gUnknown_845B7E8[] = { +static const u8 gUnknown_845B7E8[] = { 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B7F1[] = { +static const u8 gUnknown_845B7F1[] = { 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff }; -const u8 gUnknown_845B7FB[] = { +static const u8 gUnknown_845B7FB[] = { 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff }; -const u8 gUnknown_845B81A[] = { +static const u8 gUnknown_845B81A[] = { 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B823[] = { +static const u8 gUnknown_845B823[] = { 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff }; -const u8 gUnknown_845B82C[] = { +static const u8 gUnknown_845B82C[] = { 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff }; -const u8 gUnknown_845B83E[] = { +static const u8 gUnknown_845B83E[] = { 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B847[] = { +static const u8 gUnknown_845B847[] = { 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff }; -const u8 gUnknown_845B850[] = { +static const u8 gUnknown_845B850[] = { 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B85D[] = { +static const u8 gUnknown_845B85D[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff }; -const u8 gUnknown_845B866[] = { +static const u8 gUnknown_845B866[] = { 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff }; -const u8 gUnknown_845B878[] = { +static const u8 gUnknown_845B878[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B89C[] = { +static const u8 gUnknown_845B89C[] = { 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B8A7[] = { +static const u8 gUnknown_845B8A7[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff }; -const u8 gUnknown_845B8AF[] = { +static const u8 gUnknown_845B8AF[] = { 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff }; -const u8 gUnknown_845B8C1[] = { +static const u8 gUnknown_845B8C1[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B8E5[] = { +static const u8 gUnknown_845B8E5[] = { 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B8F0[] = { +static const u8 gUnknown_845B8F0[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff }; -const u8 gUnknown_845B8F8[] = { +static const u8 gUnknown_845B8F8[] = { 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff }; -const u8 gUnknown_845B90A[] = { +static const u8 gUnknown_845B90A[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B92E[] = { +static const u8 gUnknown_845B92E[] = { 0x29, 0x2a, 0x2b, 0xff }; -const u8 gUnknown_845B932[] = { +static const u8 gUnknown_845B932[] = { 0x2d, 0x2e, 0x2f, 0x2b, 0xff }; -const u8 gUnknown_845B937[] = { +static const u8 gUnknown_845B937[] = { 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B947[] = { +static const u8 gUnknown_845B947[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B96B[] = { +static const u8 gUnknown_845B96B[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B978[] = { +static const u8 gUnknown_845B978[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B985[] = { +static const u8 gUnknown_845B985[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B992[] = { +static const u8 gUnknown_845B992[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B99F[] = { +static const u8 gUnknown_845B99F[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B9AC[] = { +static const u8 gUnknown_845B9AC[] = { 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff }; -const u8 gUnknown_845B9B2[] = { +static const u8 gUnknown_845B9B2[] = { 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff }; -const u8 gUnknown_845B9B8[] = { +static const u8 gUnknown_845B9B8[] = { 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff }; -const u8 gUnknown_845B9BE[] = { +static const u8 gUnknown_845B9BE[] = { 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff }; -const u8 *const gUnknown_845B9E0[] = { +static const u8 *const gUnknown_845B9E0[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, gUnknown_845B660, NULL, NULL, NULL, NULL, gUnknown_845B664, NULL, @@ -788,13 +778,13 @@ const u8 *const gUnknown_845B9E0[] = { NULL, NULL, NULL, NULL, NULL }; -const u16 unref_845BCB0[] = INCBIN_U16("graphics/help_system/unk_845BCB0.bin"); +static const u16 unref_845BCB0[] = INCBIN_U16("graphics/help_system/unk_845BCB0.bin"); -const u8 gUnknown_845C4B0[] = { +static const u8 gUnknown_845C4B0[] = { 3, 0, 1, 2, 4, 5 }; -const u8 gUnknown_845C4B6[][6] = { +static const u8 gUnknown_845C4B6[][6] = { {0, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 1}, {0, 0, 0, 1, 0, 1}, @@ -834,7 +824,7 @@ const u8 gUnknown_845C4B6[][6] = { {0, 0, 0, 0, 0, 0} }; -const u16 gUnknown_845C594[] = { +static const u16 gUnknown_845C594[] = { MAP_VIRIDIAN_CITY_MART, MAP_PEWTER_CITY_MART, MAP_CERULEAN_CITY_MART, @@ -857,7 +847,7 @@ const u16 gUnknown_845C594[] = { MAP_UNDEFINED }; -const u16 gUnknown_845C5BC[] = { +static const u16 gUnknown_845C5BC[] = { MAP_PEWTER_CITY_GYM, MAP_CERULEAN_CITY_GYM, MAP_VERMILION_CITY_GYM, @@ -869,7 +859,7 @@ const u16 gUnknown_845C5BC[] = { MAP_UNDEFINED }; -const u8 gUnknown_845C5CE[][3] = { +static const u8 gUnknown_845C5CE[][3] = { { MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), 1 }, { MAP_GROUP(MT_MOON_1F), MAP_NUM(MT_MOON_1F), 3 }, { MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), 2 }, @@ -925,17 +915,17 @@ void sub_812B248(void) gUnknown_203B0EC = gUnknown_3005EA0; } -bool32 sub_812B25C(void) +static bool32 sub_812B25C(void) { return sub_812B27C(gUnknown_845C594); } -bool32 sub_812B26C(void) +static bool32 sub_812B26C(void) { return sub_812B27C(gUnknown_845C5BC); } -bool32 sub_812B27C(const u16 * mapIdxs) +static bool32 sub_812B27C(const u16 * mapIdxs) { u16 mapIdx = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; s32 i; @@ -949,7 +939,7 @@ bool32 sub_812B27C(const u16 * mapIdxs) return FALSE; } -bool8 sub_812B2C4(void) +static bool8 sub_812B2C4(void) { u8 i, j; @@ -1039,7 +1029,7 @@ void sub_812B4B8(void) gUnknown_203F175 = 0; } -void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { a0->sub.field_00 = a1; a0->sub.field_04 = 1; @@ -1048,7 +1038,7 @@ void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) a0->sub.field_09 = 4; } -void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { sub_812B4C4(a0, a1); sub_812B520(a0, a1); @@ -1059,7 +1049,7 @@ void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) sub_813BD5C(1); } -void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { u8 i; u8 r4 = 0; @@ -1078,7 +1068,7 @@ void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) a0->sub.field_08 = 0; } -void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { sub_813BDE8(0); sub_813BFC0(0); @@ -1092,7 +1082,7 @@ void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) sub_813BD5C(1); } -void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { u8 r6 = 0; const u8 * r3 = gUnknown_845B9E0[gUnknown_203B0EC * 5 + gUnknown_3005E9C[1]]; @@ -1133,14 +1123,14 @@ void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) a0->sub.field_09 = 21; } -bool8 sub_812B754(void) +static bool8 sub_812B754(void) { if (FlagGet(FLAG_0x4B0) == TRUE && gUnknown_3005E9C[1] == 2) return TRUE; return FALSE; } -bool8 sub_812B780(u8 id) +static bool8 sub_812B780(u8 id) { u8 i = 0; @@ -1349,7 +1339,7 @@ bool8 sub_812B780(u8 id) return FALSE; } -bool8 sub_812BB10(void) +static bool8 sub_812BB10(void) { if (FlagGet(FLAG_0x237) == TRUE) return TRUE; @@ -1556,13 +1546,13 @@ bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return TRUE; } -void sub_812BF5C(void) +static void sub_812BF5C(void) { sub_813C624(); sub_813C4CC(gUnknown_81B2FC9, 0, 0); } -void sub_812BF74(const u8 * str) +static void sub_812BF74(const u8 * str) { sub_813C5FC(); sub_813C488(str); @@ -1573,13 +1563,13 @@ u8 sub_812BF88(void) return gUnknown_3005E9C[0]; } -void sub_812BF94(struct HelpSystemStruct_203F190 * a0) +static void sub_812BF94(struct HelpSystemStruct_203F190 * a0) { a0->field_0C = 0; a0->field_0D = 0; } -void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { s32 index = a1[a0->field_0C + a0->field_0D].index; if (index == -2) -- cgit v1.2.3