diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-06-11 11:13:05 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-06-11 11:13:05 -0400 |
commit | 34368a82813c11d30cbac51840810c9691f46809 (patch) | |
tree | a373dd2aa0a670eb039c4e90a04dfd970b9b36b2 | |
parent | 423dc1aeb1f52567865c8619e8eb827ac404c929 (diff) |
Start code decomp and data dism in help system
-rw-r--r-- | asm/help_system_812B1E0.s | 77 | ||||
-rw-r--r-- | common_syms/help_system_812B1E0.txt | 1 | ||||
-rw-r--r-- | data/data_83FECCC.s | 57 | ||||
-rw-r--r-- | data/help_system_812B1E0.s | 104 | ||||
-rw-r--r-- | ld_script.txt | 3 | ||||
-rw-r--r-- | src/help_system_812B1E0.c | 44 | ||||
-rw-r--r-- | sym_common.txt | 6 | ||||
-rw-r--r-- | sym_ewram.txt | 11 |
8 files changed, 160 insertions, 143 deletions
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 |