summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-06-11 11:13:05 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-06-11 11:13:05 -0400
commit34368a82813c11d30cbac51840810c9691f46809 (patch)
treea373dd2aa0a670eb039c4e90a04dfd970b9b36b2
parent423dc1aeb1f52567865c8619e8eb827ac404c929 (diff)
Start code decomp and data dism in help system
-rw-r--r--asm/help_system_812B1E0.s77
-rw-r--r--common_syms/help_system_812B1E0.txt1
-rw-r--r--data/data_83FECCC.s57
-rw-r--r--data/help_system_812B1E0.s104
-rw-r--r--ld_script.txt3
-rw-r--r--src/help_system_812B1E0.c44
-rw-r--r--sym_common.txt6
-rw-r--r--sym_ewram.txt11
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