summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/berry_blender.s8
-rw-r--r--asm/cable_club.s4
-rw-r--r--asm/clock.s2
-rw-r--r--asm/decoration.s2
-rw-r--r--asm/field_control_avatar.s46
-rw-r--r--asm/field_effect_helpers.s2
-rw-r--r--asm/field_map_obj.s4
-rw-r--r--asm/field_tasks.s8
-rw-r--r--asm/fldeff_80C5CD4.s6
-rw-r--r--asm/fldeff_cut.s2
-rw-r--r--asm/rom_8080874.s2
-rw-r--r--asm/trade.s8
-rw-r--r--asm/tv.s60
-rw-r--r--common_syms/main.txt2
-rw-r--r--data/data2.s2
-rw-r--r--data/data_83760F0.s318
-rw-r--r--data/specials.inc4
-rw-r--r--data/text/gabby_and_ty.s18
-rw-r--r--data/text/pokemon_news.s29
-rw-r--r--data/text/tv.inc201
-rw-r--r--include/load_save.h4
-rw-r--r--include/lottery_corner.h12
-rw-r--r--include/main.h2
-rw-r--r--include/metatile_behavior.h60
-rw-r--r--src/calculate_base_damage.c29
-rw-r--r--src/field_ground_effect.c2
-rw-r--r--src/field_player_avatar.c4
-rw-r--r--src/link.c6
-rw-r--r--src/load_save.c8
-rw-r--r--src/lottery_corner.c72
-rw-r--r--src/main.c9
-rw-r--r--src/main_menu.c68
-rw-r--r--src/metatile_behavior.c67
-rw-r--r--src/new_game.c2
-rw-r--r--src/rom4.c4
-rw-r--r--src/tv.c20
36 files changed, 545 insertions, 552 deletions
diff --git a/asm/berry_blender.s b/asm/berry_blender.s
index affe536ca..def318c24 100644
--- a/asm/berry_blender.s
+++ b/asm/berry_blender.s
@@ -5295,13 +5295,13 @@ _08050D44:
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
- ldr r1, _08050D6C @ =gUnknown_3001BB4
+ ldr r1, _08050D6C @ =gSoftResetDisabled
movs r0, 0x1
strb r0, [r1]
b _08050E28
.align 2, 0
_08050D68: .4byte gUnknown_03004854
-_08050D6C: .4byte gUnknown_3001BB4
+_08050D6C: .4byte gSoftResetDisabled
_08050D70:
bl sub_8125E2C
ldr r0, _08050D7C @ =gUnknown_03004854
@@ -5389,13 +5389,13 @@ _08050E06:
str r0, [r1]
cmp r0, 0x5
ble _08050E28
- ldr r1, _08050E24 @ =gUnknown_3001BB4
+ ldr r1, _08050E24 @ =gSoftResetDisabled
movs r0, 0
strb r0, [r1]
movs r0, 0x1
b _08050E2A
.align 2, 0
-_08050E24: .4byte gUnknown_3001BB4
+_08050E24: .4byte gSoftResetDisabled
_08050E28:
movs r0, 0
_08050E2A:
diff --git a/asm/cable_club.s b/asm/cable_club.s
index b33b19e46..4c9dca6af 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -1603,7 +1603,7 @@ sub_8083958: @ 8083958
push {lr}
bl call_map_music_set_to_zero
bl LoadPlayerParty
- bl SavePlayerData
+ bl SavePlayerBag
bl sub_810FEFC
ldr r0, _08083990 @ =gSpecialVar_0x8004
ldrh r0, [r0]
@@ -1644,7 +1644,7 @@ sub_80839A4: @ 80839A4
bne _080839C0
_080839B8:
bl LoadPlayerParty
- bl SavePlayerData
+ bl SavePlayerBag
_080839C0:
movs r0, 0x7F
bl copy_saved_warp2_bank_and_enter_x_to_warp1
diff --git a/asm/clock.s b/asm/clock.s
index bf8021dad..a1c162682 100644
--- a/asm/clock.s
+++ b/asm/clock.s
@@ -88,7 +88,7 @@ sub_806A390: @ 806A390
adds r0, r4, 0
bl sub_810F618
adds r0, r4, 0
- bl sub_8145AA4
+ bl SetRandomLotteryNumber
ldrh r0, [r5]
strh r0, [r6]
_0806A3EA:
diff --git a/asm/decoration.s b/asm/decoration.s
index bf8167329..221c749c5 100644
--- a/asm/decoration.s
+++ b/asm/decoration.s
@@ -5950,7 +5950,7 @@ _0810104C:
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8057238
+ bl MetatileBehavior_IsSecretBasePC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index 45cb6b521..7f7c35ce1 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -50,7 +50,7 @@ process_overworld_input: @ 8067F18
bl cur_mapdata_block_role_at_player_pos
lsls r0, 24
lsrs r0, 24
- bl sub_8056FFC
+ bl MetatileBehavior_IsMoveTile
lsls r0, 24
lsrs r7, r0, 24
cmp r6, 0x2
@@ -829,7 +829,7 @@ _08068524:
_08068538: .4byte gUnknown_081A0009
_0806853C:
adds r0, r5, 0
- bl is_tile_x8B
+ bl MetatileBehavior_IsClosedSootpolisGymDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -851,7 +851,7 @@ _08068554:
_08068568: .4byte gUnknown_081A4363
_0806856C:
adds r0, r5, 0
- bl is_tile_x87
+ bl MetatileBehavior_IsPokeblockFeeder
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -862,7 +862,7 @@ _0806856C:
_08068580: .4byte gUnknown_081C346A
_08068584:
adds r0, r5, 0
- bl is_tile_x8C
+ bl MetatileBehavior_IsTrickHousePuzzleDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -873,7 +873,7 @@ _08068584:
_08068598: .4byte gUnknown_081616E1
_0806859C:
adds r0, r5, 0
- bl is_tile_x85
+ bl MetatileBehavior_IsRegionMap
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -895,7 +895,7 @@ _080685B4:
_080685C8: .4byte Event_RunningShoesManual
_080685CC:
adds r0, r5, 0
- bl sub_8057930
+ bl MetatileBehavior_IsPictureBookShelf
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -906,7 +906,7 @@ _080685CC:
_080685E0: .4byte PictureBookShelfScript
_080685E4:
adds r0, r5, 0
- bl sub_8057944
+ bl MetatileBehavior_IsBookShelf
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -917,7 +917,7 @@ _080685E4:
_080685F8: .4byte BookshelfScript
_080685FC:
adds r0, r5, 0
- bl sub_8057958
+ bl MetatileBehavior_IsPokeCenterBookShelf
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -928,7 +928,7 @@ _080685FC:
_08068610: .4byte PokemonCenterBookshelfScript
_08068614:
adds r0, r5, 0
- bl sub_805796C
+ bl MetatileBehavior_IsVase
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -939,7 +939,7 @@ _08068614:
_08068628: .4byte VaseScript
_0806862C:
adds r0, r5, 0
- bl sub_8057980
+ bl MetatileBehavior_IsTrashCan
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -950,7 +950,7 @@ _0806862C:
_08068640: .4byte TrashCanScript
_08068644:
adds r0, r5, 0
- bl sub_8057994
+ bl MetatileBehavior_IsShopShelf
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -961,7 +961,7 @@ _08068644:
_08068658: .4byte ShopShelfScript
_0806865C:
adds r0, r5, 0
- bl sub_80579A8
+ bl MetatileBehavior_IsBlueprint
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -983,7 +983,7 @@ _08068674:
cmp r4, r0
bne _080686EC
adds r0, r5, 0
- bl sub_8057238
+ bl MetatileBehavior_IsSecretBasePC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1234,7 +1234,7 @@ sub_8068870: @ 8068870
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_8057818
+ bl MetatileBehavior_IsCrackedFloorHole
lsls r0, 24
cmp r0, 0
bne _08068884
@@ -1543,7 +1543,7 @@ sub_8068A64: @ 8068A64
_08068ABC: .4byte gMapHeader
_08068AC0:
adds r0, r4, 0
- bl sub_8057798
+ bl MetatileBehavior_IsLavaridgeB1FWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1553,7 +1553,7 @@ _08068AC0:
b _08068B2A
_08068AD6:
adds r0, r4, 0
- bl is_role_x68
+ bl MetatileBehavior_IsLavaridge1FWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1573,7 +1573,7 @@ _08068AEC:
b _08068B2A
_08068B02:
adds r0, r4, 0
- bl sub_8057804
+ bl MetatileBehavior_IsMtPyreHole
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1602,7 +1602,7 @@ sub_8068B30: @ 8068B30
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl is_tile_x69_2_warp_door
+ bl MetatileBehavior_IsWarpDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1620,19 +1620,19 @@ sub_8068B30: @ 8068B30
cmp r0, 0x1
beq _08068BAA
adds r0, r4, 0
- bl sub_8056F08
+ bl MetatileBehavior_IsNonAnimDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08068BAA
adds r0, r4, 0
- bl sub_8057798
+ bl MetatileBehavior_IsLavaridgeB1FWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08068BAA
adds r0, r4, 0
- bl is_role_x68
+ bl MetatileBehavior_IsLavaridge1FWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1644,7 +1644,7 @@ sub_8068B30: @ 8068B30
cmp r0, 0x1
beq _08068BAA
adds r0, r4, 0
- bl sub_8057804
+ bl MetatileBehavior_IsMtPyreHole
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1820,7 +1820,7 @@ map_warp_consider_2_to_inside: @ 8068CA8
_08068CDC: .4byte gMapHeader
_08068CE0:
adds r0, r4, 0
- bl is_tile_x69_2_warp_door
+ bl MetatileBehavior_IsWarpDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s
index 68a1b02c9..9df9dfd8d 100644
--- a/asm/field_effect_helpers.s
+++ b/asm/field_effect_helpers.s
@@ -715,7 +715,7 @@ _08126D3E:
cmp r0, r1
bne _08126DBC
ldrb r0, [r4, 0x1E]
- bl sub_8056E14
+ bl MetatileBehavior_IsPokeGrass
lsls r0, 24
cmp r0, 0
bne _08126DBC
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 0ab1e117c..348e1d0f3 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -10911,7 +10911,7 @@ _0805F950:
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
- ldr r3, _0805F984 @ =sub_8056E14
+ ldr r3, _0805F984 @ =MetatileBehavior_IsPokeGrass
ldr r4, [r4]
adds r0, r6, 0
adds r1, r7, 0
@@ -10924,7 +10924,7 @@ _0805F978:
bx r1
.align 2, 0
_0805F980: .4byte gUnknown_08375594
-_0805F984: .4byte sub_8056E14
+_0805F984: .4byte MetatileBehavior_IsPokeGrass
thumb_func_end mss_08062EA4
thumb_func_start FieldObjectCB_TreeDisguise
diff --git a/asm/field_tasks.s b/asm/field_tasks.s
index 738b02f3e..c879ebf63 100644
--- a/asm/field_tasks.s
+++ b/asm/field_tasks.s
@@ -1361,7 +1361,7 @@ _08069E4A:
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
- bl sub_8057540
+ bl MetatileBehavior_IsThinIce
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1377,7 +1377,7 @@ _08069E4A:
_08069E8C: .4byte 0x00004022
_08069E90:
adds r0, r4, 0
- bl sub_8057554
+ bl MetatileBehavior_IsCrackedIce
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1676,7 +1676,7 @@ _0806A0EE:
lsls r0, r6, 24
lsrs r6, r0, 24
adds r0, r6, 0
- bl sub_8057818
+ bl MetatileBehavior_IsCrackedFloorHole
lsls r0, 24
cmp r0, 0
beq _0806A106
@@ -1704,7 +1704,7 @@ _0806A122:
ldrh r0, [r4]
strh r0, [r5, 0x6]
adds r0, r6, 0
- bl sub_805782C
+ bl MetatileBehavior_IsCrackedFloor
lsls r0, 24
cmp r0, 0
beq _0806A182
diff --git a/asm/fldeff_80C5CD4.s b/asm/fldeff_80C5CD4.s
index cab7524b2..4214f8f9e 100644
--- a/asm/fldeff_80C5CD4.s
+++ b/asm/fldeff_80C5CD4.s
@@ -808,7 +808,7 @@ SetUpFieldMove_SecretPower: @ 80C62C4
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_80571EC
+ bl MetatileBehavior_IsSecretBaseCave
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -829,7 +829,7 @@ _080C6328: .4byte gUnknown_03005CE4
_080C632C: .4byte sub_80C639C
_080C6330:
adds r0, r4, 0
- bl sub_805720C
+ bl MetatileBehavior_IsSecretBaseTree
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -848,7 +848,7 @@ _080C6358: .4byte gUnknown_03005CE4
_080C635C: .4byte sub_80C64A8
_080C6360:
adds r0, r4, 0
- bl is_tile_x98
+ bl MetatileBehavior_IsSecretBaseShrub
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
index 530e8034f..0033c77cd 100644
--- a/asm/fldeff_cut.s
+++ b/asm/fldeff_cut.s
@@ -68,7 +68,7 @@ _080A2552:
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8056E14
+ bl MetatileBehavior_IsPokeGrass
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/rom_8080874.s b/asm/rom_8080874.s
index de7dce157..77dad9f9e 100644
--- a/asm/rom_8080874.s
+++ b/asm/rom_8080874.s
@@ -357,7 +357,7 @@ sub_8080AE4: @ 8080AE4
_08080B18: .4byte sub_8080B9C
_08080B1C:
adds r0, r4, 0
- bl sub_8056F08
+ bl MetatileBehavior_IsNonAnimDoor
lsls r0, 24
lsrs r0, 24
ldr r1, _08080B40 @ =task_map_chg_seq_0807E2CC
diff --git a/asm/trade.s b/asm/trade.s
index 5586db4c8..340d95606 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -10676,11 +10676,11 @@ _0804D5A4: .4byte 0x0000043c
_0804D5A8:
movs r0, 0x4
strb r0, [r1]
- ldr r1, _0804D5B4 @ =gUnknown_3001BB4
+ ldr r1, _0804D5B4 @ =gSoftResetDisabled
movs r0, 0x1
b _0804D612
.align 2, 0
-_0804D5B4: .4byte gUnknown_3001BB4
+_0804D5B4: .4byte gSoftResetDisabled
_0804D5B8:
ldr r0, _0804D5F4 @ =gUnknown_03005E94
ldr r1, _0804D5F8 @ =sub_804DC88
@@ -11886,7 +11886,7 @@ _0804E04C:
cmp r0, 0
beq _0804E11A
bl sub_8125E04
- ldr r1, _0804E06C @ =gUnknown_3001BB4
+ ldr r1, _0804E06C @ =gSoftResetDisabled
movs r0, 0
strb r0, [r1]
ldr r0, _0804E070 @ =gMain
@@ -11896,7 +11896,7 @@ _0804E04C:
strb r1, [r0]
b _0804E11A
.align 2, 0
-_0804E06C: .4byte gUnknown_3001BB4
+_0804E06C: .4byte gSoftResetDisabled
_0804E070: .4byte gMain
_0804E074: .4byte 0x0000043c
_0804E078:
diff --git a/asm/tv.s b/asm/tv.s
index 1d9fd7e5d..6126631dd 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -2225,7 +2225,7 @@ _080BED00:
asrs r0, 24
cmp r0, 0x13
bgt _080BED40
- ldr r1, _080BED3C @ =gUnknown_083D1444
+ ldr r1, _080BED3C @ =gTVNewsTextGroup2
subs r2, 0x1
b _080BED44
.align 2, 0
@@ -2233,9 +2233,9 @@ _080BED2C: .4byte gSaveBlock1
_080BED30: .4byte 0x00002abe
_080BED34: .4byte 0x00002abd
_080BED38: .4byte gLocalTime
-_080BED3C: .4byte gUnknown_083D1444
+_080BED3C: .4byte gTVNewsTextGroup2
_080BED40:
- ldr r1, _080BED54 @ =gUnknown_083D1454
+ ldr r1, _080BED54 @ =gTVNewsTextGroup3
ldr r2, _080BED58 @ =0x00002abc
_080BED44:
adds r0, r4, r2
@@ -2246,7 +2246,7 @@ _080BED44:
bl ShowFieldMessage
b _080BED82
.align 2, 0
-_080BED54: .4byte gUnknown_083D1454
+_080BED54: .4byte gTVNewsTextGroup3
_080BED58: .4byte 0x00002abc
_080BED5C:
ldrh r1, [r1]
@@ -2258,7 +2258,7 @@ _080BED5C:
adds r1, r4, r0
movs r0, 0
strb r0, [r1]
- ldr r1, _080BED98 @ =gUnknown_083D1434
+ ldr r1, _080BED98 @ =gTVNewsTextGroup1
ldr r2, _080BED9C @ =0x00002abc
adds r0, r4, r2
ldrb r0, [r0]
@@ -2277,7 +2277,7 @@ _080BED86:
.align 2, 0
_080BED90: .4byte gStringVar1
_080BED94: .4byte 0x00002abd
-_080BED98: .4byte gUnknown_083D1434
+_080BED98: .4byte gTVNewsTextGroup1
_080BED9C: .4byte 0x00002abc
_080BEDA0: .4byte gScriptResult
thumb_func_end sub_80BECE8
@@ -6112,7 +6112,7 @@ _080C0B74:
_080C0B78:
strb r0, [r1]
_080C0B7A:
- ldr r0, _080C0B98 @ =gUnknown_083D1524
+ ldr r0, _080C0B98 @ =gTVBravoTrainerTextGroup
lsls r1, r5, 2
adds r1, r0
ldr r0, [r1]
@@ -6124,7 +6124,7 @@ _080C0B7A:
_080C0B8C: .4byte gStringVar1
_080C0B90: .4byte gSpeciesNames
_080C0B94: .4byte gUnknown_020387E8
-_080C0B98: .4byte gUnknown_083D1524
+_080C0B98: .4byte gTVBravoTrainerTextGroup
thumb_func_end DoTVShowBravoTrainerPokemonProfile
thumb_func_start DoTVShowBravoTrainerBattleTowerProfile
@@ -6385,7 +6385,7 @@ _080C0DC0:
bl StringCopy
bl TVShowDone
_080C0DDE:
- ldr r0, _080C0DFC @ =gUnknown_083D1548
+ ldr r0, _080C0DFC @ =gTVBravoTrainerBattleTowerTextGroup
lsls r1, r5, 2
adds r1, r0
ldr r0, [r1]
@@ -6397,7 +6397,7 @@ _080C0DDE:
_080C0DF0: .4byte gStringVar1
_080C0DF4: .4byte gStringVar2
_080C0DF8: .4byte gSpeciesNames
-_080C0DFC: .4byte gUnknown_083D1548
+_080C0DFC: .4byte gTVBravoTrainerBattleTowerTextGroup
thumb_func_end DoTVShowBravoTrainerBattleTowerProfile
thumb_func_start DoTVShowTodaysSmartShopper
@@ -6640,7 +6640,7 @@ _080C1004:
bl TVShowConvertInternationalString
bl TVShowDone
_080C1014:
- ldr r0, _080C102C @ =gUnknown_083D14F0
+ ldr r0, _080C102C @ =gTVSmartShopperTextGroup
lsls r1, r6, 2
adds r1, r0
ldr r0, [r1]
@@ -6650,7 +6650,7 @@ _080C1014:
bx r0
.align 2, 0
_080C1028: .4byte gStringVar1
-_080C102C: .4byte gUnknown_083D14F0
+_080C102C: .4byte gTVSmartShopperTextGroup
thumb_func_end DoTVShowTodaysSmartShopper
thumb_func_start DoTVShowTheNameRaterShow
@@ -7024,7 +7024,7 @@ _080C1370:
bl TVShowConvertInternationalString
bl TVShowDone
_080C138A:
- ldr r0, _080C13A8 @ =gUnknown_083D1584
+ ldr r0, _080C13A8 @ =gTVNameRaterTextGroup
lsls r1, r7, 2
adds r1, r0
ldr r0, [r1]
@@ -7036,7 +7036,7 @@ _080C138A:
.align 2, 0
_080C13A0: .4byte gStringVar1
_080C13A4: .4byte gStringVar2
-_080C13A8: .4byte gUnknown_083D1584
+_080C13A8: .4byte gTVNameRaterTextGroup
thumb_func_end DoTVShowTheNameRaterShow
thumb_func_start DoTVShowPokemonTodaySuccessfulCapture
@@ -7280,7 +7280,7 @@ _080C15D4: .4byte gUnknown_020387E8
_080C15D8:
bl TVShowDone
_080C15DC:
- ldr r0, _080C15F0 @ =gUnknown_083D14C0
+ ldr r0, _080C15F0 @ =gTVPokemonTodayTextGroup
lsls r1, r6, 2
adds r1, r0
ldr r0, [r1]
@@ -7289,7 +7289,7 @@ _080C15DC:
pop {r0}
bx r0
.align 2, 0
-_080C15F0: .4byte gUnknown_083D14C0
+_080C15F0: .4byte gTVPokemonTodayTextGroup
thumb_func_end DoTVShowPokemonTodaySuccessfulCapture
thumb_func_start DoTVShowPokemonTodayFailedCapture
@@ -7437,7 +7437,7 @@ _080C1734: .4byte gUnknown_020387E8
_080C1738:
bl TVShowDone
_080C173C:
- ldr r0, _080C1750 @ =gUnknown_083D15D0
+ ldr r0, _080C1750 @ =gTVPokemonTodayFailedCaptureTextGroup
lsls r1, r5, 2
adds r1, r0
ldr r0, [r1]
@@ -7446,7 +7446,7 @@ _080C173C:
pop {r0}
bx r0
.align 2, 0
-_080C1750: .4byte gUnknown_083D15D0
+_080C1750: .4byte gTVPokemonTodayFailedCaptureTextGroup
thumb_func_end DoTVShowPokemonTodayFailedCapture
thumb_func_start DoTVShowPokemonFanClubLetter
@@ -7649,7 +7649,7 @@ _080C193C:
_080C1958: .4byte gStringVar4
_080C195C: .4byte gUnknown_020387E8
_080C1960:
- ldr r0, _080C1974 @ =gUnknown_083D1470
+ ldr r0, _080C1974 @ =gTVFanClubTextGroup
lsls r1, r7, 2
adds r1, r0
ldr r0, [r1]
@@ -7659,7 +7659,7 @@ _080C196C:
pop {r0}
bx r0
.align 2, 0
-_080C1974: .4byte gUnknown_083D1470
+_080C1974: .4byte gTVFanClubTextGroup
thumb_func_end DoTVShowPokemonFanClubLetter
thumb_func_start DoTVShowRecentHappenings
@@ -7796,7 +7796,7 @@ _080C1ACC:
_080C1AE8: .4byte gStringVar4
_080C1AEC: .4byte gUnknown_020387E8
_080C1AF0:
- ldr r0, _080C1B04 @ =gUnknown_083D1490
+ ldr r0, _080C1B04 @ =gTVRecentHappeningsTextGroup
lsls r1, r6, 2
adds r1, r0
ldr r0, [r1]
@@ -7806,7 +7806,7 @@ _080C1AFC:
pop {r0}
bx r0
.align 2, 0
-_080C1B04: .4byte gUnknown_083D1490
+_080C1B04: .4byte gTVRecentHappeningsTextGroup
thumb_func_end DoTVShowRecentHappenings
thumb_func_start DoTVShowPokemonFanClubOpinions
@@ -7900,7 +7900,7 @@ _080C1BC0:
bl sub_80EB3FC
bl TVShowDone
_080C1BD6:
- ldr r0, _080C1BF0 @ =gUnknown_083D14A8
+ ldr r0, _080C1BF0 @ =gTVFanClubOpinionsTextGroup
lsls r1, r5, 2
adds r1, r0
ldr r0, [r1]
@@ -7911,7 +7911,7 @@ _080C1BD6:
.align 2, 0
_080C1BE8: .4byte gStringVar1
_080C1BEC: .4byte gStringVar3
-_080C1BF0: .4byte gUnknown_083D14A8
+_080C1BF0: .4byte gTVFanClubOpinionsTextGroup
thumb_func_end DoTVShowPokemonFanClubOpinions
thumb_func_start nullsub_22
@@ -8108,7 +8108,7 @@ _080C1DB6:
strb r0, [r1]
bl TakeTVShowInSearchOfTrainersOffTheAir
_080C1DF8:
- ldr r0, _080C1E34 @ =gUnknown_083D1600
+ ldr r0, _080C1E34 @ =gTVGabbyAndTyTextGroup
lsls r1, r7, 2
adds r1, r0
ldr r0, [r1]
@@ -8127,7 +8127,7 @@ _080C1E24: .4byte gStringVar3
_080C1E28: .4byte 0x00002b12
_080C1E2C: .4byte gScriptResult
_080C1E30: .4byte gUnknown_020387E8
-_080C1E34: .4byte gUnknown_083D1600
+_080C1E34: .4byte gTVGabbyAndTyTextGroup
thumb_func_end DoTVShowInSearchOfTrainers
thumb_func_start DoTVShowPokemonAngler
@@ -8209,7 +8209,7 @@ _080C1EBC:
bl sub_80BF088
bl TVShowDone
_080C1EE4:
- ldr r0, _080C1F04 @ =gUnknown_083D15EC
+ ldr r0, _080C1F04 @ =gTVFishingGuruAdviceTextGroup
lsls r1, r5, 2
adds r1, r0
ldr r0, [r1]
@@ -8221,7 +8221,7 @@ _080C1EE4:
_080C1EF8: .4byte gStringVar1
_080C1EFC: .4byte gStringVar2
_080C1F00: .4byte gSpeciesNames
-_080C1F04: .4byte gUnknown_083D15EC
+_080C1F04: .4byte gTVFishingGuruAdviceTextGroup
thumb_func_end DoTVShowPokemonAngler
thumb_func_start DoTVShowTheWorldOfMasters
@@ -8305,7 +8305,7 @@ _080C1F8C:
bl StringCopy
bl TVShowDone
_080C1FB6:
- ldr r0, _080C1FD8 @ =gUnknown_083D15F4
+ ldr r0, _080C1FD8 @ =gTVWorldOfMastersTextGroup
lsls r1, r5, 2
adds r1, r0
ldr r0, [r1]
@@ -8318,7 +8318,7 @@ _080C1FC8: .4byte gStringVar1
_080C1FCC: .4byte gStringVar2
_080C1FD0: .4byte gStringVar3
_080C1FD4: .4byte gSpeciesNames
-_080C1FD8: .4byte gUnknown_083D15F4
+_080C1FD8: .4byte gTVWorldOfMastersTextGroup
thumb_func_end DoTVShowTheWorldOfMasters
diff --git a/common_syms/main.txt b/common_syms/main.txt
index 4f6a7bf83..1e9013411 100644
--- a/common_syms/main.txt
+++ b/common_syms/main.txt
@@ -2,7 +2,7 @@ gKeyRepeatStartDelay
gUnknown_3001764
gMain
gKeyRepeatContinueDelay
-gUnknown_3001BB4
+gSoftResetDisabled
gIntrTable
gLinkVSyncDisabled
IntrMain_Buffer
diff --git a/data/data2.s b/data/data2.s
index e7c12e63b..e5802a44f 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -11,7 +11,7 @@ gUnknown_081E764C:: @ 81E764C
.incbin "graphics/birch_speech/bg1.gbapal"
.align 2
-gUnknown_081E768C:: @ 81E768C
+gBirchIntroShadowGfx:: @ 81E768C
.incbin "graphics/birch_speech/shadow.4bpp.lz"
.align 2
diff --git a/data/data_83760F0.s b/data/data_83760F0.s
index 058f33b17..3e69efb6c 100644
--- a/data/data_83760F0.s
+++ b/data/data_83760F0.s
@@ -7807,7 +7807,7 @@ gUnknown_083D13E4:: @ 83D13E4
gUnknown_083D13EC:: @ 83D13EC
.incbin "baserom.gba", 0x003d13ec, 0xc
-gUnknown_083D13F8:: @ 83D13F8
+gPokeOutbreakSpeciesList:: @ 83D13F8
.2byte SPECIES_SURSKIT
.2byte MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE
.byte 3
@@ -7834,25 +7834,25 @@ gUnknown_083D13F8:: @ 83D13F8
.byte MAPSEC_Route116
.align 2
-gUnknown_083D1434:: @ 83D1434
+gTVNewsTextGroup1:: @ 83D1434
.4byte 0x0
- .4byte UnknownString_81AD135
- .4byte UnknownString_81AD5B0
- .4byte UnknownString_81AD8B4
+ .4byte gTVNewsText_EnergyGuru1
+ .4byte gTVNewsText_GameCorner1
+ .4byte gTVNewsText_LilycoveDepartment1
.align 2
-gUnknown_083D1444:: @ 83D1444
+gTVNewsTextGroup2:: @ 83D1444
.4byte 0x0
- .4byte UnknownString_81AD2E0
- .4byte UnknownString_81AD6AE
- .4byte UnknownString_81AD9D3
+ .4byte gTVNewsText_EnergyGuru2
+ .4byte gTVNewsText_GameCorner2
+ .4byte gTVNewsText_LilycoveDepartment2
.align 2
-gUnknown_083D1454:: @ 83D1454
+gTVNewsTextGroup3:: @ 83D1454
.4byte 0x0
- .4byte UnknownString_81AD434
- .4byte UnknownString_81AD7A7
- .4byte UnknownString_81ADB01
+ .4byte gTVNewsText_EnergyGuru3
+ .4byte gTVNewsText_GameCorner3
+ .4byte gTVNewsText_LilycoveDepartment3
.align 2
gUnknown_083D1464:: @ 83D1464
@@ -7861,152 +7861,152 @@ gUnknown_083D1464:: @ 83D1464
.4byte gStringVar3
.align 2
-gUnknown_083D1470:: @ 83D1470
- .4byte UnknownString_81A8EC9
- .4byte UnknownString_81A9048
- .4byte UnknownString_81A9067
- .4byte UnknownString_81A9088
- .4byte UnknownString_81A90B4
- .4byte UnknownString_81A911F
- .4byte UnknownString_81A9152
- .4byte UnknownString_81A91C6
-
- .align 2
-gUnknown_083D1490:: @ 83D1490
- .4byte UnknownString_81A9581
- .4byte UnknownString_81A9694
- .4byte UnknownString_81A971B
- .4byte UnknownString_81A974B
- .4byte UnknownString_81A979F
- .4byte UnknownString_81A97D0
-
- .align 2
-gUnknown_083D14A8:: @ 83D14A8
- .4byte UnknownString_81A8917
- .4byte UnknownString_81A8AE5
- .4byte UnknownString_81A8B9D
- .4byte UnknownString_81A8C77
- .4byte UnknownString_81A8D45
-
- .align 2
-gUnknown_083D14BC:: @ 83D14BC
- .4byte UnknownString_81A986F
-
- .align 2
-gUnknown_083D14C0:: @ 83D14C0
- .4byte UnknownString_81AAD23
- .4byte UnknownString_81AADD5
- .4byte UnknownString_81AAE31
- .4byte UnknownString_81AAE9D
- .4byte UnknownString_81AAF03
- .4byte UnknownString_81AAF8A
- .4byte UnknownString_81AB040
- .4byte UnknownString_81AB0C8
- .4byte UnknownString_81AB13D
- .4byte UnknownString_81AB1C6
- .4byte UnknownString_81AB266
- .4byte UnknownString_81AB2DB
-
- .align 2
-gUnknown_083D14F0:: @ 83D14F0
- .4byte UnknownString_81AB381
- .4byte UnknownString_81AB435
- .4byte UnknownString_81AB507
- .4byte UnknownString_81AB5B8
- .4byte UnknownString_81AB61F
- .4byte UnknownString_81AB6B0
- .4byte UnknownString_81AB78D
- .4byte UnknownString_81AB7FE
- .4byte UnknownString_81AB835
- .4byte UnknownString_81AB873
- .4byte UnknownString_81AB92E
- .4byte UnknownString_81AB95E
- .4byte UnknownString_81ABB75
-
- .align 2
-gUnknown_083D1524:: @ 83D1524
- .4byte UnknownString_81A72DE
- .4byte UnknownString_81A736B
- .4byte UnknownString_81A73CA
- .4byte UnknownString_81A744D
- .4byte UnknownString_81A7508
- .4byte UnknownString_81A75CE
- .4byte UnknownString_81A768D
- .4byte UnknownString_81A76C5
- .4byte UnknownString_81A774F
-
- .align 2
-gUnknown_083D1548:: @ 83D1548
- .4byte UnknownString_81A7B93
- .4byte UnknownString_81A7C26
- .4byte UnknownString_81A7C7D
- .4byte UnknownString_81A7D4A
- .4byte UnknownString_81A7E0C
- .4byte UnknownString_81A7F0E
- .4byte UnknownString_81A8004
- .4byte UnknownString_81A8119
- .4byte UnknownString_81A811E
- .4byte UnknownString_81A8123
- .4byte UnknownString_81A8128
- .4byte UnknownString_81A812D
- .4byte UnknownString_81A8133
- .4byte UnknownString_81A81BC
- .4byte UnknownString_81A8267
-
- .align 2
-gUnknown_083D1584:: @ 83D1584
- .4byte UnknownString_81A99D9
- .4byte UnknownString_81A9AF0
- .4byte UnknownString_81A9B69
- .4byte UnknownString_81A9BEF
- .4byte UnknownString_81A9C6A
- .4byte UnknownString_81A9CF8
- .4byte UnknownString_81A9D74
- .4byte UnknownString_81A9DF3
- .4byte UnknownString_81A9E75
- .4byte UnknownString_81A9F06
- .4byte UnknownString_81A9F9F
- .4byte UnknownString_81AA01E
- .4byte UnknownString_81AA09D
- .4byte UnknownString_81AA0D7
- .4byte UnknownString_81AA138
- .4byte UnknownString_81AA166
- .4byte UnknownString_81AA1C0
- .4byte UnknownString_81AA1EA
- .4byte UnknownString_81AA28A
-
- .align 2
-gUnknown_083D15D0:: @ 83D15D0
- .4byte UnknownString_81AA814
- .4byte UnknownString_81AA8C6
- .4byte UnknownString_81AA9B2
- .4byte UnknownString_81AAA5C
- .4byte UnknownString_81AAB11
- .4byte UnknownString_81AABB4
- .4byte UnknownString_81AAC47
-
- .align 2
-gUnknown_083D15EC:: @ 83D15EC
- .4byte UnknownString_81AA344
- .4byte UnknownString_81AA5F3
-
- .align 2
-gUnknown_083D15F4:: @ 83D15F4
- .4byte UnknownString_81ABC51
- .4byte UnknownString_81ABD94
- .4byte UnknownString_81ABDF2
-
- .align 2
-gUnknown_083D1600:: @ 83D1600
- .4byte UnknownString_81AC90D
- .4byte UnknownString_81ACA02
- .4byte UnknownString_81ACAAA
- .4byte UnknownString_81ACC07
- .4byte UnknownString_81ACD13
- .4byte UnknownString_81ACDFA
- .4byte UnknownString_81ACEE7
- .4byte UnknownString_81ACF49
- .4byte UnknownString_81AD00A
+gTVFanClubTextGroup:: @ 83D1470
+ .4byte gTVFanClubText1
+ .4byte gTVFanClubText2
+ .4byte gTVFanClubText3
+ .4byte gTVFanClubText4
+ .4byte gTVFanClubText5
+ .4byte gTVFanClubText6
+ .4byte gTVFanClubText7
+ .4byte gTVFanClubText8
+
+ .align 2
+gTVRecentHappeningsTextGroup:: @ 83D1490
+ .4byte gTVRecentHappeningsText1
+ .4byte gTVRecentHappeningsText2
+ .4byte gTVRecentHappeningsText3
+ .4byte gTVRecentHappeningsText4
+ .4byte gTVRecentHappeningsText5
+ .4byte gTVRecentHappeningsText6
+
+ .align 2
+gTVFanClubOpinionsTextGroup:: @ 83D14A8
+ .4byte gTVFanClubOpinionsText1
+ .4byte gTVFanClubOpinionsText2
+ .4byte gTVFanClubOpinionsText3
+ .4byte gTVFanClubOpinionsText4
+ .4byte gTVFanClubOpinionsText5
+
+ .align 2
+gTVPokemonOutbreakTextGroup:: @ 83D14BC
+ .4byte gTVPokemonOutbreakText
+
+ .align 2
+gTVPokemonTodayTextGroup:: @ 83D14C0
+ .4byte gTVPokemonTodayText1
+ .4byte gTVPokemonTodayText2
+ .4byte gTVPokemonTodayText3
+ .4byte gTVPokemonTodayText4
+ .4byte gTVPokemonTodayText5
+ .4byte gTVPokemonTodayText6
+ .4byte gTVPokemonTodayText7
+ .4byte gTVPokemonTodayText8
+ .4byte gTVPokemonTodayText9
+ .4byte gTVPokemonTodayText10
+ .4byte gTVPokemonTodayText11
+ .4byte gTVPokemonTodayText12
+
+ .align 2
+gTVSmartShopperTextGroup:: @ 83D14F0
+ .4byte gTVSmartShopperText1
+ .4byte gTVSmartShopperText2
+ .4byte gTVSmartShopperText3
+ .4byte gTVSmartShopperText4
+ .4byte gTVSmartShopperText5
+ .4byte gTVSmartShopperText6
+ .4byte gTVSmartShopperText7
+ .4byte gTVSmartShopperText8
+ .4byte gTVSmartShopperText9
+ .4byte gTVSmartShopperText10
+ .4byte gTVSmartShopperText11
+ .4byte gTVSmartShopperText12
+ .4byte gTVSmartShopperText13
+
+ .align 2
+gTVBravoTrainerTextGroup:: @ 83D1524
+ .4byte gTVBravoTrainerText1
+ .4byte gTVBravoTrainerText2
+ .4byte gTVBravoTrainerText3
+ .4byte gTVBravoTrainerText4
+ .4byte gTVBravoTrainerText5
+ .4byte gTVBravoTrainerText6
+ .4byte gTVBravoTrainerText7
+ .4byte gTVBravoTrainerText8
+ .4byte gTVBravoTrainerText9
+
+ .align 2
+gTVBravoTrainerBattleTowerTextGroup:: @ 83D1548
+ .4byte gTVBravoTrainerBattleTowerText1
+ .4byte gTVBravoTrainerBattleTowerText2
+ .4byte gTVBravoTrainerBattleTowerText3
+ .4byte gTVBravoTrainerBattleTowerText4
+ .4byte gTVBravoTrainerBattleTowerText5
+ .4byte gTVBravoTrainerBattleTowerText6
+ .4byte gTVBravoTrainerBattleTowerText7
+ .4byte gTVBravoTrainerBattleTowerText8
+ .4byte gTVBravoTrainerBattleTowerText9
+ .4byte gTVBravoTrainerBattleTowerText10
+ .4byte gTVBravoTrainerBattleTowerText11
+ .4byte gTVBravoTrainerBattleTowerText12
+ .4byte gTVBravoTrainerBattleTowerText13
+ .4byte gTVBravoTrainerBattleTowerText14
+ .4byte gTVBravoTrainerBattleTowerText15
+
+ .align 2
+gTVNameRaterTextGroup:: @ 83D1584
+ .4byte gTVNameRaterText1
+ .4byte gTVNameRaterText2
+ .4byte gTVNameRaterText3
+ .4byte gTVNameRaterText4
+ .4byte gTVNameRaterText5
+ .4byte gTVNameRaterText6
+ .4byte gTVNameRaterText7
+ .4byte gTVNameRaterText8
+ .4byte gTVNameRaterText9
+ .4byte gTVNameRaterText10
+ .4byte gTVNameRaterText11
+ .4byte gTVNameRaterText12
+ .4byte gTVNameRaterText13
+ .4byte gTVNameRaterText14
+ .4byte gTVNameRaterText15
+ .4byte gTVNameRaterText16
+ .4byte gTVNameRaterText17
+ .4byte gTVNameRaterText18
+ .4byte gTVNameRaterText19
+
+ .align 2
+gTVPokemonTodayFailedCaptureTextGroup:: @ 83D15D0
+ .4byte gTVPokemonTodayFailedCaptureText1
+ .4byte gTVPokemonTodayFailedCaptureText2
+ .4byte gTVPokemonTodayFailedCaptureText3
+ .4byte gTVPokemonTodayFailedCaptureText4
+ .4byte gTVPokemonTodayFailedCaptureText5
+ .4byte gTVPokemonTodayFailedCaptureText6
+ .4byte gTVPokemonTodayFailedCaptureText7
+
+ .align 2
+gTVFishingGuruAdviceTextGroup:: @ 83D15EC
+ .4byte gTVFishingGuruAdviceText1
+ .4byte gTVFishingGuruAdviceText2
+
+ .align 2
+gTVWorldOfMastersTextGroup:: @ 83D15F4
+ .4byte gTVWorldOfMastersText1
+ .4byte gTVWorldOfMastersText2
+ .4byte gTVWorldOfMastersText3
+
+ .align 2
+gTVGabbyAndTyTextGroup:: @ 83D1600
+ .4byte gTVGabbyAndTyText1
+ .4byte gTVGabbyAndTyText2
+ .4byte gTVGabbyAndTyText3
+ .4byte gTVGabbyAndTyText4
+ .4byte gTVGabbyAndTyText5
+ .4byte gTVGabbyAndTyText6
+ .4byte gTVGabbyAndTyText7
+ .4byte gTVGabbyAndTyText8
+ .4byte gTVGabbyAndTyText9
.align 2
gUnknown_083D1624:: @ 83D1624
diff --git a/data/specials.inc b/data/specials.inc
index 956241356..832d50138 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -257,7 +257,7 @@ gSpecials::
.4byte sub_804E174
.4byte sub_804DB2C
.4byte GetWeekCount
- .4byte sub_8145AEC
+ .4byte RetrieveLotteryNumber
.4byte PickLotteryCornerTicket
.4byte ShowBerryBlenderRecordWindow
.4byte ResetTrickHouseEndRoomFlag
@@ -331,7 +331,7 @@ gSpecials::
.4byte sub_80FA148
.4byte sub_810F8FC
.4byte sub_80BC50C
- .4byte LoadPlayerData
+ .4byte LoadPlayerBag
.4byte sub_8081924
.4byte sub_810F950
.4byte sub_810F908
diff --git a/data/text/gabby_and_ty.s b/data/text/gabby_and_ty.s
index 14f2cc3c9..d0eb413be 100644
--- a/data/text/gabby_and_ty.s
+++ b/data/text/gabby_and_ty.s
@@ -150,7 +150,7 @@ Route120_Text_1AC8D7:: @ 81AC8D7
.string "TY: Yep, I got it all.\n"
.string "That whole battle’s on camera.$"
-UnknownString_81AC90D:: @ 81AC90D
+gTVGabbyAndTyText1:: @ 81AC90D
.string "IN SEARCH OF TRAINERS...\p"
.string "GABBY: Hi! Today I’m visiting an area\n"
.string "near {STR_VAR_1}.\p"
@@ -161,14 +161,14 @@ UnknownString_81AC90D:: @ 81AC90D
.string "There’s something about this TRAINER\n"
.string "that piqued our interest.$"
-UnknownString_81ACA02:: @ 81ACA02
+gTVGabbyAndTyText2:: @ 81ACA02
.string "We’ve battled {PLAYER} before, but we\n"
.string "can attest that the TRAINER has most\l"
.string "definitely improved from before.\p"
.string "I knew we were onto someone special\n"
.string "when we spotted this TRAINER!$"
-UnknownString_81ACAAA:: @ 81ACAAA
+gTVGabbyAndTyText3:: @ 81ACAAA
.string "The best way to determine how strong\n"
.string "a TRAINER is...\p"
.string "Well, the fastest way is to battle.\n"
@@ -182,7 +182,7 @@ UnknownString_81ACAAA:: @ 81ACAAA
.string "We asked the TRAINER for a succinct\n"
.string "summation of the battle we shared.$"
-UnknownString_81ACC07:: @ 81ACC07
+gTVGabbyAndTyText4:: @ 81ACC07
.string "The combination of {STR_VAR_1} and\n"
.string "{STR_VAR_3} was divine!\p"
.string "The sight of them - {STR_VAR_1} and\n"
@@ -194,7 +194,7 @@ UnknownString_81ACC07:: @ 81ACC07
.string "The move {STR_VAR_2} is {STR_VAR_1}\n"
.string "and {STR_VAR_3}’s sign of friendship!$"
-UnknownString_81ACD13:: @ 81ACD13
+gTVGabbyAndTyText5:: @ 81ACD13
.string "...I lost confidence in myself as\n"
.string "a result of our encounter.\p"
.string "We were beaten before we could launch\n"
@@ -205,7 +205,7 @@ UnknownString_81ACD13:: @ 81ACD13
.string "I recommend confident TRAINERS to\n"
.string "challenge {PLAYER}.$"
-UnknownString_81ACDFA:: @ 81ACDFA
+gTVGabbyAndTyText6:: @ 81ACDFA
.string "There’s only one thing to be said.\n"
.string "Don’t you dare throw a POKé BALL during\l"
.string "a TRAINER battle!\p"
@@ -215,13 +215,13 @@ UnknownString_81ACDFA:: @ 81ACDFA
.string "If you see {PLAYER}, please caution\n"
.string "the TRAINER!$"
-UnknownString_81ACEE7:: @ 81ACEE7
+gTVGabbyAndTyText7:: @ 81ACEE7
.string "{PLAYER} is adept at reading the\n"
.string "opponent’s actions.\p"
.string "The timing of item usage was remarkably\n"
.string "effective!$"
-UnknownString_81ACF49:: @ 81ACF49
+gTVGabbyAndTyText8:: @ 81ACF49
.string "Honestly speaking, I thought that\n"
.string "I might even be pretty good.\p"
.string "While we did end up losing, we did have\n"
@@ -229,7 +229,7 @@ UnknownString_81ACF49:: @ 81ACF49
.string "But if you’re struggling against me,\n"
.string "you have a ways to go, {PLAYER}!$"
-UnknownString_81AD00A:: @ 81AD00A
+gTVGabbyAndTyText9:: @ 81AD00A
.string "After our battle, we asked {PLAYER} for\n"
.string "a succinct summary.\p"
.string "The TRAINER replied, “{STR_VAR_1}.”\p"
diff --git a/data/text/pokemon_news.s b/data/text/pokemon_news.s
index 79bf0f81c..95bb0888a 100644
--- a/data/text/pokemon_news.s
+++ b/data/text/pokemon_news.s
@@ -1,4 +1,4 @@
-UnknownString_81AD135:: @ 81AD135
+gTVNewsText_EnergyGuru1:: @ 81AD135
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "SLATEPORT’s most popular kind of guy,\n"
@@ -13,7 +13,7 @@ UnknownString_81AD135:: @ 81AD135
.string "would be well worth your while that day.\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81AD2E0:: @ 81AD2E0
+gTVNewsText_EnergyGuru2:: @ 81AD2E0
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "This is the news you’ve all been\n"
@@ -27,7 +27,7 @@ UnknownString_81AD2E0:: @ 81AD2E0
.string "to your heart’s content?\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81AD434:: @ 81AD434
+gTVNewsText_EnergyGuru3:: @ 81AD434
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "This is the news you’ve all been\n"
@@ -42,7 +42,7 @@ UnknownString_81AD434:: @ 81AD434
.string "a most enjoyable shopping trip?\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81AD5B0:: @ 81AD5B0
+gTVNewsText_GameCorner1:: @ 81AD5B0
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "It’s approaching!\n"
@@ -53,7 +53,7 @@ UnknownString_81AD5B0:: @ 81AD5B0
.string "may be lucky on this particular day!\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81AD6AE:: @ 81AD6AE
+gTVNewsText_GameCorner2:: @ 81AD6AE
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "It’s here!\n"
@@ -66,7 +66,7 @@ UnknownString_81AD6AE:: @ 81AD6AE
.string "This is the place!\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81AD7A7:: @ 81AD7A7
+gTVNewsText_GameCorner3:: @ 81AD7A7
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "It’s here!\n"
@@ -79,7 +79,7 @@ UnknownString_81AD7A7:: @ 81AD7A7
.string "The location is MAUVILLE CITY.\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81AD8B4:: @ 81AD8B4
+gTVNewsText_LilycoveDepartment1:: @ 81AD8B4
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "We’ve just received wonderful news\n"
@@ -90,7 +90,7 @@ UnknownString_81AD8B4:: @ 81AD8B4
.string "you’ve always wanted could be yours!\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81AD9D3:: @ 81AD9D3
+gTVNewsText_LilycoveDepartment2:: @ 81AD9D3
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "This is the news you’ve all been\n"
@@ -103,7 +103,7 @@ UnknownString_81AD9D3:: @ 81AD9D3
.string "with them all!\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81ADB01:: @ 81ADB01
+gTVNewsText_LilycoveDepartment3:: @ 81ADB01
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "This is the news you’ve all been\n"
@@ -116,27 +116,28 @@ UnknownString_81ADB01:: @ 81ADB01
.string "with them all!\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81ADC2F:: @ 81ADC2F
+ @ all text advertisements below are unused.
+gTVUnusedText_DevonCorporation:: @ 81ADC2F
.string "This program has been brought to you\n"
.string "by the DEVON CORPORATION.$"
-UnknownString_81ADC6E:: @ 81ADC6E
+gTVUnusedText_Contests:: @ 81ADC6E
.string "What’s important is love for POKéMON.\p"
.string "What you need is a little courage.\p"
.string "Let your cherished POKéMON take\n"
.string "center stage! POKéMON CONTESTS!$"
-UnknownString_81ADCF7:: @ 81ADCF7
+gTVUnusedText_DayCare:: @ 81ADCF7
.string "We raise your beloved POKéMON with\n"
.string "all of our love!\p"
.string "For all your POKéMON-training needs,\n"
.string "visit our DAY CARE on ROUTE 117.$"
-UnknownString_81ADD71:: @ 81ADD71
+gTVUnusedText_LavaridgeSpa:: @ 81ADD71
.string "The cauldron of good times and laughs!\n"
.string "LAVARIDGE SPA.$"
-UnknownString_81ADDA7:: @ 81ADDA7
+gTVUnusedText_LilycoveDepartment:: @ 81ADDA7
.string "Overflowing with great merchandise\n"
.string "and excitement!\p"
.string "A great place to find that something\n"
diff --git a/data/text/tv.inc b/data/text/tv.inc
index d2cc1a6fa..f1f078405 100644
--- a/data/text/tv.inc
+++ b/data/text/tv.inc
@@ -43,7 +43,7 @@ FallarborTown_ContestLobby_Text_1A72A8:: @ 81A72A8
.string "I’ll be looking forward to your next\n"
.string "POKéMON CONTEST.$"
-UnknownString_81A72DE:: @ 81A72DE
+gTVBravoTrainerText1:: @ 81A72DE
.string "Yeah!\n"
.string "It’s BRAVO TRAINER time!\p"
.string "Today, we’re going to profile a POKéMON\n"
@@ -51,20 +51,20 @@ UnknownString_81A72DE:: @ 81A72DE
.string "Now, this POKéMON boasts a {STR_VAR_2}\n"
.string "rating in the {STR_VAR_3} Rank.$"
-UnknownString_81A736B:: @ 81A736B
+gTVBravoTrainerText2:: @ 81A736B
.string "Introducing {STR_VAR_2} the\n"
.string "{STR_VAR_1}!\p"
.string "The nickname {STR_VAR_2}...\p"
.string "Even the nickname exudes an air that\n"
.string "proclaims “{STR_VAR_3}”!$"
-UnknownString_81A73CA:: @ 81A73CA
+gTVBravoTrainerText3:: @ 81A73CA
.string "Anyway, when the TRAINER {STR_VAR_1}\n"
.string "entered the POKéMON in a CONTEST,\l"
.string "we managed to get a few impassioned\l"
.string "quotes about the trusty partner.$"
-UnknownString_81A744D:: @ 81A744D
+gTVBravoTrainerText4:: @ 81A744D
.string "Asked about the CONTEST afterwards,\n"
.string "{STR_VAR_1} happily replied with a huge\l"
.string "grin, “{STR_VAR_2}!”\p"
@@ -73,7 +73,7 @@ UnknownString_81A744D:: @ 81A744D
.string "That line perfectly suits {STR_VAR_1}\n"
.string "right now, I’d say!$"
-UnknownString_81A7508:: @ 81A7508
+gTVBravoTrainerText5:: @ 81A7508
.string "Asked about the CONTEST afterwards,\n"
.string "{STR_VAR_1} replied with a tinge of\l"
.string "bitterness, “{STR_VAR_2}.”\p"
@@ -82,7 +82,7 @@ UnknownString_81A7508:: @ 81A7508
.string "{STR_VAR_1}’s disappointment comes across\n"
.string "loud and clear, I’d say!$"
-UnknownString_81A75CE:: @ 81A75CE
+gTVBravoTrainerText6:: @ 81A75CE
.string "Wouldn’t you also like to know what\n"
.string "{STR_VAR_1} imagines {STR_VAR_2} to be?\p"
.string "You bet we did!\n"
@@ -92,12 +92,12 @@ UnknownString_81A75CE:: @ 81A75CE
.string "That’s what the concept of {STR_VAR_2}\n"
.string "represents to {STR_VAR_1}!$"
-UnknownString_81A768D:: @ 81A768D
+gTVBravoTrainerText7:: @ 81A768D
.string "The last move {STR_VAR_2} used by\n"
.string "the {STR_VAR_1} is entirely about\l"
.string "“{STR_VAR_3}”!$"
-UnknownString_81A76C5:: @ 81A76C5
+gTVBravoTrainerText8:: @ 81A76C5
.string "Bravo, {STR_VAR_1}!\n"
.string "Bravo, {STR_VAR_2}!\p"
.string "I hope we can count on seeing\n"
@@ -105,7 +105,7 @@ UnknownString_81A76C5:: @ 81A76C5
.string "That’s all the time we have!\n"
.string "Until next time, see you!$"
-UnknownString_81A774F:: @ 81A774F
+gTVBravoTrainerText9:: @ 81A774F
.string "Introducing the TRAINER’s {STR_VAR_1}!$"
BattleTower_Lobby_Text_1A776D:: @ 81A776D
@@ -166,7 +166,7 @@ BattleTower_Lobby_Text_1A7B66:: @ 81A7B66
.string "I’ll be looking forward to your next\n"
.string "battle!$"
-UnknownString_81A7B93:: @ 81A7B93
+gTVBravoTrainerBattleTowerText1:: @ 81A7B93
.string "Yeah!\n"
.string "It’s BRAVO TRAINER time!\p"
.string "Today, we’re going to profile {STR_VAR_1},\n"
@@ -174,12 +174,12 @@ UnknownString_81A7B93:: @ 81A7B93
.string "For the challenge, {STR_VAR_1} entered one\n"
.string "wicked {STR_VAR_2}.$"
-UnknownString_81A7C26:: @ 81A7C26
+gTVBravoTrainerBattleTowerText2:: @ 81A7C26
.string "The pair set a new record of {STR_VAR_2} wins\n"
.string "in a row in Level {STR_VAR_1} competition!\l"
.string "Bravo, TRAINER!$"
-UnknownString_81A7C7D:: @ 81A7C7D
+gTVBravoTrainerBattleTowerText3:: @ 81A7C7D
.string "The twosome finally succumbed to\n"
.string "{STR_VAR_1} in match number {STR_VAR_2}.\l"
.string "Nice try, TRAINER!\p"
@@ -188,7 +188,7 @@ UnknownString_81A7C7D:: @ 81A7C7D
.string "We asked the TRAINER for impressions\n"
.string "on the match with {STR_VAR_1}.$"
-UnknownString_81A7D4A:: @ 81A7D4A
+gTVBravoTrainerBattleTowerText4:: @ 81A7D4A
.string "The twosome won it all by defeating\n"
.string "{STR_VAR_1}’s {STR_VAR_2} thoroughly.\l"
.string "Bravo, TRAINER!\p"
@@ -197,7 +197,7 @@ UnknownString_81A7D4A:: @ 81A7D4A
.string "We asked the TRAINER for impressions\n"
.string "on the moment of glory.$"
-UnknownString_81A7E0C:: @ 81A7E0C
+gTVBravoTrainerBattleTowerText5:: @ 81A7E0C
.string "After a string of wins, the pair finally\n"
.string "succumbed to {STR_VAR_1}’s {STR_VAR_2},\l"
.string "their final hurdle.\p"
@@ -208,7 +208,7 @@ UnknownString_81A7E0C:: @ 81A7E0C
.string "We asked the TRAINER for impressions\n"
.string "on battling the celebrity pair.$"
-UnknownString_81A7F0E:: @ 81A7F0E
+gTVBravoTrainerBattleTowerText6:: @ 81A7F0E
.string "This is what the TRAINER had to say:\n"
.string "“I’m satisfied!”\p"
.string "Now isn’t that a refreshing reply?\n"
@@ -218,7 +218,7 @@ UnknownString_81A7F0E:: @ 81A7F0E
.string "I found out exactly how satisfied\n"
.string "when I heard the TRAINER say this:$"
-UnknownString_81A8004:: @ 81A8004
+gTVBravoTrainerBattleTowerText7:: @ 81A8004
.string "This is what the TRAINER had to say:\n"
.string "“I’m not satisfied...”\p"
.string "Our TRAINER was obviously a little down\n"
@@ -228,22 +228,22 @@ UnknownString_81A8004:: @ 81A8004
.string "Anyway, I found out how dissatisfied\n"
.string "our TRAINER was when I heard this:$"
-UnknownString_81A8119:: @ 81A8119
+gTVBravoTrainerBattleTowerText8:: @ 81A8119
.string "None$"
-UnknownString_81A811E:: @ 81A811E
+gTVBravoTrainerBattleTowerText9:: @ 81A811E
.string "None$"
-UnknownString_81A8123:: @ 81A8123
+gTVBravoTrainerBattleTowerText10:: @ 81A8123
.string "None$"
-UnknownString_81A8128:: @ 81A8128
+gTVBravoTrainerBattleTowerText11:: @ 81A8128
.string "None$"
-UnknownString_81A812D:: @ 81A812D
+gTVBravoTrainerBattleTowerText12:: @ 81A812D
.string "“{STR_VAR_1}.”$"
-UnknownString_81A8133:: @ 81A8133
+gTVBravoTrainerBattleTowerText13:: @ 81A8133
.string "“{STR_VAR_1}.”\n"
.string "Now isn’t that great?\p"
.string "It really expresses {STR_VAR_2}’s joy,\n"
@@ -252,7 +252,7 @@ UnknownString_81A8133:: @ 81A8133
.string "end... It really was what you’d call\l"
.string "“{STR_VAR_1}”!$"
-UnknownString_81A81BC:: @ 81A81BC
+gTVBravoTrainerBattleTowerText14:: @ 81A81BC
.string "“{STR_VAR_1}.”\n"
.string "Now isn’t that fitting?\p"
.string "That battle with {STR_VAR_3} at the\n"
@@ -261,7 +261,7 @@ UnknownString_81A81BC:: @ 81A81BC
.string "{STR_VAR_2}’s disappointment comes across\n"
.string "loud and clear, I’d say!$"
-UnknownString_81A8267:: @ 81A8267
+gTVBravoTrainerBattleTowerText15:: @ 81A8267
.string "Bravo, {STR_VAR_1}!\n"
.string "Bravo, {STR_VAR_2}!\p"
.string "I hope we can count on seeing\n"
@@ -360,7 +360,7 @@ SlateportCity_PokemonFanClub_Text_1A8818:: @ 81A8818
.string "Okay, that’s all.\n"
.string "Bye-bye!$"
-UnknownString_81A8917:: @ 81A8917
+gTVFanClubOpinionsText1:: @ 81A8917
.string "WE ARE THE POKéMON FAN CLUB!\p"
.string "We’re on the air!\p"
.string "On this program, we get your opinions,\n"
@@ -380,7 +380,7 @@ UnknownString_81A8917:: @ 81A8917
.string "Hoo-hah!\p"
.string "Let’s shout!$"
-UnknownString_81A8AE5:: @ 81A8AE5
+gTVFanClubOpinionsText2:: @ 81A8AE5
.string "We asked {STR_VAR_1}, “When you first\n"
.string "laid eyes on your {STR_VAR_2}, what was\l"
.string "your initial thought?“\p"
@@ -389,7 +389,7 @@ UnknownString_81A8AE5:: @ 81A8AE5
.string "Doesn’t it bring back memories of those\n"
.string "days long gone by?$"
-UnknownString_81A8B9D:: @ 81A8B9D
+gTVFanClubOpinionsText3:: @ 81A8B9D
.string "We asked {STR_VAR_1}, “If you were to\n"
.string "liken your {STR_VAR_2} to something,\l"
.string "it would be...”\p"
@@ -400,7 +400,7 @@ UnknownString_81A8B9D:: @ 81A8B9D
.string "feeling the TRAINER has for\l"
.string "{STR_VAR_2}.$"
-UnknownString_81A8C77:: @ 81A8C77
+gTVFanClubOpinionsText4:: @ 81A8C77
.string "And let’s see...\n"
.string "What was it about that {STR_VAR_2}\l"
.string "that so attracted {STR_VAR_1}?\p"
@@ -410,7 +410,7 @@ UnknownString_81A8C77:: @ 81A8C77
.string "The love of this TRAINER for the\n"
.string "{STR_VAR_2} comes across loud and clear!$"
-UnknownString_81A8D45:: @ 81A8D45
+gTVFanClubOpinionsText5:: @ 81A8D45
.string "Hm? Oh, there’s still more.\n"
.string "Let’s check it out!\p"
.string "Let me see, now...\p"
@@ -429,7 +429,7 @@ UnknownString_81A8D45:: @ 81A8D45
.string "All together now...\p"
.string "“{STR_VAR_3}!”$"
-UnknownString_81A8EC9:: @ 81A8EC9
+gTVFanClubText1:: @ 81A8EC9
.string "WE ARE THE POKéMON FAN CLUB!\p"
.string "We’re on the air!\p"
.string "Today, we’ll get rolling with the POKéMON\n"
@@ -446,34 +446,34 @@ UnknownString_81A8EC9:: @ 81A8EC9
.string "can express love for the {STR_VAR_2}!\l"
.string "Hmhm...$"
-UnknownString_81A9048:: @ 81A9048
+gTVFanClubText2:: @ 81A9048
.string "Whoah!\n"
.string "What an amazing letter!$"
-UnknownString_81A9067:: @ 81A9067
+gTVFanClubText3:: @ 81A9067
.string "I loved it, so here it is again!$"
-UnknownString_81A9088:: @ 81A9088
+gTVFanClubText4:: @ 81A9088
.string "A great letter bears reading over\n"
.string "and over!$"
-UnknownString_81A90B4:: @ 81A90B4
+gTVFanClubText5:: @ 81A90B4
.string "The bit “{STR_VAR_3},” that really\n"
.string "accentuates emotional impact!\p"
.string "It’s a great letter that has real\n"
.string "heartfelt depth!$"
-UnknownString_81A911F:: @ 81A911F
+gTVFanClubText6:: @ 81A911F
.string "Especially that “{STR_VAR_3}” bit!\p"
.string "I love how “{STR_VAR_3}” is used!$"
-UnknownString_81A9152:: @ 81A9152
+gTVFanClubText7:: @ 81A9152
.string "By the way, and it’s not important,\n"
.string "but “{STR_VAR_3}” is a great saying.\p"
.string "I’ve been using “{STR_VAR_3}” a lot\n"
.string "in conversations lately.$"
-UnknownString_81A91C6:: @ 81A91C6
+gTVFanClubText8:: @ 81A91C6
.string "If I had to score this letter,\n"
.string "I’d give it {STR_VAR_3} points.\p"
.string "Next time, I’ll be expecting an even\n"
@@ -481,7 +481,6 @@ UnknownString_81A91C6:: @ 81A91C6
.string "A-whoops, will you look at the time?\n"
.string "Time to say good-bye until next time!$"
-
SlateportCity_OceanicMuseum_1F_Text_1A927F:: @ 81A927F
.string "Oh?\n"
.string "Do you perhaps like POKéMON?\p"
@@ -521,7 +520,7 @@ SlateportCity_OceanicMuseum_1F_Text_1A952E:: @ 81A952E
.string "I’ve got a good story for a TV program.\p"
.string "I’d better write it up in a hurry!$"
-UnknownString_81A9581:: @ 81A9581
+gTVRecentHappeningsText1:: @ 81A9581
.string "Hello, it’s time for RECENT HAPPENINGS.\p"
.string "For POKéMON TRAINERS, every day is\n"
.string "a storybook tale.\p"
@@ -533,26 +532,26 @@ UnknownString_81A9581:: @ 81A9581
.string "Let’s find out.\p"
.string "Let’s see...$"
-UnknownString_81A9694:: @ 81A9694
+gTVRecentHappeningsText2:: @ 81A9694
.string "Wasn’t that enlightening?\p"
.string "The story gives you a clear idea of what\n"
.string "{STR_VAR_1} has experienced recently.\l"
.string "It’s as if we were there as witnesses!$"
-UnknownString_81A971B:: @ 81A971B
+gTVRecentHappeningsText3:: @ 81A971B
.string "“{STR_VAR_3}.” That\n"
.string "accents the tale and gives it depth.$"
-UnknownString_81A974B:: @ 81A974B
+gTVRecentHappeningsText4:: @ 81A974B
.string "“{STR_VAR_3}.”\n"
.string "That gives the tale a sense of place.\l"
.string "It lets us envision the tale’s setting.$"
-UnknownString_81A979F:: @ 81A979F
+gTVRecentHappeningsText5:: @ 81A979F
.string "The “{STR_VAR_3}”\n"
.string "section of the tale is very expressive.$"
-UnknownString_81A97D0:: @ 81A97D0
+gTVRecentHappeningsText6:: @ 81A97D0
.string "{STR_VAR_1} has recounted a wonderful\n"
.string "tale involving POKéMON.\p"
.string "And now {STR_VAR_1}’s tale is indelibly\n"
@@ -561,7 +560,7 @@ UnknownString_81A97D0:: @ 81A97D0
.string "Please tune in next time.$"
-UnknownString_81A986F:: @ 81A986F
+gTVPokemonOutbreakText:: @ 81A986F
.string "Greetings!\n"
.string "It’s time for POKéMON NEWS.\p"
.string "We’ve just received word of a very\n"
@@ -577,7 +576,7 @@ UnknownString_81A986F:: @ 81A986F
.string "{STR_VAR_2} in the wild.\p"
.string "That’s the news on POKéMON NEWS.$"
-UnknownString_81A99D9:: @ 81A99D9
+gTVNameRaterText1:: @ 81A99D9
.string "And now, it’s time for...\n"
.string "THE NAME RATER SHOW.\p"
.string "I tell your POKéMON’s fortune from\n"
@@ -591,103 +590,103 @@ UnknownString_81A99D9:: @ 81A99D9
.string "Hmm...\n"
.string "This nickname is...$"
-UnknownString_81A9AF0:: @ 81A9AF0
+gTVNameRaterText2:: @ 81A9AF0
.string "A nickname that hints at talent in many\n"
.string "different ways.\p"
.string "I urge this TRAINER to take courage\n"
.string "and take on many challenges.$"
-UnknownString_81A9B69:: @ 81A9B69
+gTVNameRaterText3:: @ 81A9B69
.string "A nickname that perfectly complements\n"
.string "{STR_VAR_1}, the TRAINER’s name.\p"
.string "It suggests that you will forge a fine\n"
.string "partnership with precise timing.$"
-UnknownString_81A9BEF:: @ 81A9BEF
+gTVNameRaterText4:: @ 81A9BEF
.string "A nickname fit for a unique individual\n"
.string "of a POKéMON!\p"
.string "If raised properly, this POKéMON’s\n"
.string "uniqueness will bloom excessively!$"
-UnknownString_81A9C6A:: @ 81A9C6A
+gTVNameRaterText5:: @ 81A9C6A
.string "A nickname that will nurture the caring\n"
.string "and compassionate side of POKéMON.\p"
.string "If raised properly, this POKéMON will\n"
.string "come to exhibit real warmth!$"
-UnknownString_81A9CF8:: @ 81A9CF8
+gTVNameRaterText6:: @ 81A9CF8
.string "A very fine nickname that hints at\n"
.string "greatness to come.\p"
.string "I am intrigued about what the future\n"
.string "holds in store for this POKéMON.$"
-UnknownString_81A9D74:: @ 81A9D74
+gTVNameRaterText7:: @ 81A9D74
.string "A good nickname that should make the\n"
.string "POKéMON hale and hearty!\p"
.string "That POKéMON should remain fit and\n"
.string "robust for a long, long time.$"
-UnknownString_81A9DF3:: @ 81A9DF3
+gTVNameRaterText8:: @ 81A9DF3
.string "A good nickname that should make the\n"
.string "POKéMON very active!\p"
.string "I should think that this POKéMON will be\n"
.string "a strong performer in battles.$"
-UnknownString_81A9E75:: @ 81A9E75
+gTVNameRaterText9:: @ 81A9E75
.string "An appealing nickname that should make\n"
.string "the POKéMON very charming!\p"
.string "I don’t doubt that this POKéMON will be\n"
.string "quite the charmer in POKéMON CONTESTS.$"
-UnknownString_81A9F06:: @ 81A9F06
+gTVNameRaterText10:: @ 81A9F06
.string "The nickname {STR_VAR_1} is rooted by\n"
.string "the letter “{STR_VAR_3}.”\p"
.string "That letter is supported by the first\n"
.string "letter “{STR_VAR_2},” which gives it a solid sense\l"
.string "of presence as a nickname.$"
-UnknownString_81A9F9F:: @ 81A9F9F
+gTVNameRaterText11:: @ 81A9F9F
.string "The nickname {STR_VAR_1} is very\n"
.string "shapely in a pleasing manner.\p"
.string "The presence of the letters “{STR_VAR_2}” and\n"
.string "“{STR_VAR_3}” - now that is remarkably good!$"
-UnknownString_81AA01E:: @ 81AA01E
+gTVNameRaterText12:: @ 81AA01E
.string "The nickname {STR_VAR_1} - it has a\n"
.string "sublime, flowing feel to it.\p"
.string "The flow from the initial letter “{STR_VAR_2}” to\n"
.string "“{STR_VAR_3}” is especially wonderful.$"
-UnknownString_81AA09D:: @ 81AA09D
+gTVNameRaterText13:: @ 81AA09D
.string "Let’s examine other examples of fine\n"
.string "nicknames, shall we?$"
-UnknownString_81AA0D7:: @ 81AA0D7
+gTVNameRaterText14:: @ 81AA0D7
.string "Try this example. Take a part of the\n"
.string "TRAINER name of {STR_VAR_1}, and end\l"
.string "up with the fine nickname {STR_VAR_2}{STR_VAR_3}.$"
-UnknownString_81AA138:: @ 81AA138
+gTVNameRaterText15:: @ 81AA138
.string "The nickname {STR_VAR_2}{STR_VAR_3} would also work\n"
.string "quite well.$"
-UnknownString_81AA166:: @ 81AA166
+gTVNameRaterText16:: @ 81AA166
.string "The POKéMON’s species name of\n"
.string "{STR_VAR_2} could be used as the basis\l"
.string "for making the nickname {STR_VAR_1}{STR_VAR_3}.$"
-UnknownString_81AA1C0:: @ 81AA1C0
+gTVNameRaterText17:: @ 81AA1C0
.string "{STR_VAR_1}{STR_VAR_3} would also be an effective\n"
.string "nickname.$"
-UnknownString_81AA1EA:: @ 81AA1EA
+gTVNameRaterText18:: @ 81AA1EA
.string "What should always be avoided is using\n"
.string "another POKéMON species name.\p"
.string "For instance, avoid taking the name of\n"
.string "{STR_VAR_2} to make the nickname {STR_VAR_1}{STR_VAR_3}.\l"
.string "That is unacceptable.$"
-UnknownString_81AA28A:: @ 81AA28A
+gTVNameRaterText19:: @ 81AA28A
.string "But I must say, {STR_VAR_2} has a most\n"
.string "remarkable flair for devising nicknames.\p"
.string "It is my hope that the TRAINER will\n"
@@ -696,7 +695,7 @@ UnknownString_81AA28A:: @ 81AA28A
.string "May we meet again.$"
-UnknownString_81AA344:: @ 81AA344
+gTVFishingGuruAdviceText1:: @ 81AA344
.string "{STR_VAR_2} ANGLER\p"
.string "ANNOUNCER: Hello! Today, we’ll get tips\n"
.string "on fishing for {STR_VAR_2}.\p"
@@ -724,7 +723,7 @@ UnknownString_81AA344:: @ 81AA344
.string "good fishing to you all!$"
-UnknownString_81AA5F3:: @ 81AA5F3
+gTVFishingGuruAdviceText2:: @ 81AA5F3
.string "{STR_VAR_2} ANGLER\p"
.string "ANNOUNCER: Hello! Today, we’ll get tips\n"
.string "on fishing for {STR_VAR_2}.\p"
@@ -747,7 +746,7 @@ UnknownString_81AA5F3:: @ 81AA5F3
.string "good fishing to you all!$"
-UnknownString_81AA814:: @ 81AA814
+gTVPokemonTodayFailedCaptureText1:: @ 81AA814
.string "Hello!\p"
.string "It’s time for POKéMON TODAY!\p"
.string "BIG SIS: Hi! Is everyone peachy and\n"
@@ -757,7 +756,7 @@ UnknownString_81AA814:: @ 81AA814
.string "BIG BRO: Yeah! That’s what we’re going\n"
.string "to do!$"
-UnknownString_81AA8C6:: @ 81AA8C6
+gTVPokemonTodayFailedCaptureText2:: @ 81AA8C6
.string "Oh!\n"
.string "Speaking of {STR_VAR_1}...\p"
.string "BIG SIS, I saw the TRAINER with my very\n"
@@ -769,7 +768,7 @@ UnknownString_81AA8C6:: @ 81AA8C6
.string "{STR_VAR_1}, who was trying to catch the\l"
.string "POKéMON {STR_VAR_3}, but...$"
-UnknownString_81AA9B2:: @ 81AA9B2
+gTVPokemonTodayFailedCaptureText3:: @ 81AA9B2
.string "The POKéMON managed to get away!\p"
.string "It ended up wasting this many\n"
.string "POKé BALLS: {STR_VAR_2}!\p"
@@ -777,7 +776,7 @@ UnknownString_81AA9B2:: @ 81AA9B2
.string "of frustration on {STR_VAR_1}’s face when\l"
.string "the POKéMON took off!$"
-UnknownString_81AAA5C:: @ 81AAA5C
+gTVPokemonTodayFailedCaptureText4:: @ 81AAA5C
.string "But {STR_VAR_1} goofed and made the\n"
.string "POKéMON faint!\p"
.string "It ended up wasting this many\n"
@@ -786,7 +785,7 @@ UnknownString_81AAA5C:: @ 81AAA5C
.string "of stunned dismay on {STR_VAR_1}’s face\l"
.string "when the POKéMON fainted!$"
-UnknownString_81AAB11:: @ 81AAB11
+gTVPokemonTodayFailedCaptureText5:: @ 81AAB11
.string "BIG SIS: Hey, there!\n"
.string "That’s not nice!\p"
.string "You shouldn’t be laughing at other\n"
@@ -796,7 +795,7 @@ UnknownString_81AAB11:: @ 81AAB11
.string "BIG BRO: That’s true!\n"
.string "Sorry for laughing.$"
-UnknownString_81AABB4:: @ 81AABB4
+gTVPokemonTodayFailedCaptureText6:: @ 81AABB4
.string "BIG SIS: Bufufu...\p"
.string "BIG BRO: Hey!\n"
.string "You just laughed, too!\p"
@@ -807,7 +806,7 @@ UnknownString_81AABB4:: @ 81AABB4
.string "What a shame!\p"
.string "BIG BRO: ...$"
-UnknownString_81AAC47:: @ 81AAC47
+gTVPokemonTodayFailedCaptureText7:: @ 81AAC47
.string "BIG SIS: That’s enough silliness!\n"
.string "Let’s look at today’s POKéMON...\p"
.string "Huh?\n"
@@ -818,7 +817,7 @@ UnknownString_81AAC47:: @ 81AAC47
.string "BIG SIS: Hey, don’t end the show\n"
.string "without me!$"
-UnknownString_81AAD23:: @ 81AAD23
+gTVPokemonTodayText1:: @ 81AAD23
.string "Hello!\p"
.string "It’s time for POKéMON TODAY!\p"
.string "BIG SIS: Hi! Is everyone peachy and\n"
@@ -828,30 +827,30 @@ UnknownString_81AAD23:: @ 81AAD23
.string "BIG BRO: Yeah! That’s what we’re going\n"
.string "to do!$"
-UnknownString_81AADD5:: @ 81AADD5
+gTVPokemonTodayText2:: @ 81AADD5
.string "BIG SIS: {STR_VAR_1} gave the nickname\n"
.string "{STR_VAR_3} to the {STR_VAR_2}!\p"
.string "It sounds like {STR_VAR_3} is getting\n"
.string "good, loving care!$"
-UnknownString_81AAE31:: @ 81AAE31
+gTVPokemonTodayText3:: @ 81AAE31
.string "BIG BRO: The TRAINER had to throw this\n"
.string "many BALLS to catch it: {STR_VAR_3}!\p"
.string "It finally took a single {STR_VAR_2}\n"
.string "to catch it!$"
-UnknownString_81AAE9D:: @ 81AAE9D
+gTVPokemonTodayText4:: @ 81AAE9D
.string "BIG SIS: If it was that easy to catch,\n"
.string "it must have been destiny that brought\l"
.string "{STR_VAR_1} and the {STR_VAR_2} together!$"
-UnknownString_81AAF03:: @ 81AAF03
+gTVPokemonTodayText5:: @ 81AAF03
.string "BIG SIS: Wow! That’s so neat!\p"
.string "But you know what they say, a POKéMON\n"
.string "that takes a lot of effort to catch\l"
.string "earns the love of its TRAINER!$"
-UnknownString_81AAF8A:: @ 81AAF8A
+gTVPokemonTodayText6:: @ 81AAF8A
.string "BIG SIS: {STR_VAR_1}’s {STR_VAR_2} is a\n"
.string "memorable POKéMON because it took an\l"
.string "invaluable MASTER BALL to catch!\p"
@@ -859,27 +858,27 @@ UnknownString_81AAF8A:: @ 81AAF8A
.string "BIG SIS: {STR_VAR_1} must have really\n"
.string "wanted that {STR_VAR_2}, for sure!$"
-UnknownString_81AB040:: @ 81AB040
+gTVPokemonTodayText7:: @ 81AB040
.string "BIG BRO: Then to give the nickname\n"
.string "{STR_VAR_3} to that {STR_VAR_2}...\p"
.string "You really get a good idea about\n"
.string "{STR_VAR_1}’s TRAINER sense.\p"
.string "BIG SIS: I second that notion!$"
-UnknownString_81AB0C8:: @ 81AB0C8
+gTVPokemonTodayText8:: @ 81AB0C8
.string "If it were me, I’d give that\n"
.string "nickname to something like {STR_VAR_3}!\p"
.string "BIG BRO: Whoa! That could be the start\n"
.string "of something new!$"
-UnknownString_81AB13D:: @ 81AB13D
+gTVPokemonTodayText9:: @ 81AB13D
.string "{STR_VAR_2} the {STR_VAR_1}?\n"
.string "Doesn’t that sound perfect?\p"
.string "The letters and everything - they sound\n"
.string "just right for the POKéMON {STR_VAR_1}!\p"
.string "BIG BRO: Yeah, true, that!$"
-UnknownString_81AB1C6:: @ 81AB1C6
+gTVPokemonTodayText10:: @ 81AB1C6
.string "As far as I know, no TRAINER has ever\n"
.string "given the nickname {STR_VAR_2} to their\l"
.string "{STR_VAR_1}!\p"
@@ -887,13 +886,13 @@ UnknownString_81AB1C6:: @ 81AB1C6
.string "great taste the TRAINER has in picking\l"
.string "nicknames!$"
-UnknownString_81AB266:: @ 81AB266
+gTVPokemonTodayText11:: @ 81AB266
.string "The next time I catch a POKéMON,\n"
.string "I should give it the name {STR_VAR_2}.\p"
.string "BIG BRO: Huh? Me, too!\n"
.string "I’ll use the nickname {STR_VAR_2}, too!$"
-UnknownString_81AB2DB:: @ 81AB2DB
+gTVPokemonTodayText12:: @ 81AB2DB
.string "BIG SIS: Oh, no!\n"
.string "Look at the time!\p"
.string "Well, gang, this is it for today.\n"
@@ -902,7 +901,7 @@ UnknownString_81AB2DB:: @ 81AB2DB
.string "POKéMON in the spotlight next time!$"
-UnknownString_81AB381:: @ 81AB381
+gTVSmartShopperText1:: @ 81AB381
.string "Hello!\p"
.string "It’s time for TODAY’S SMART SHOPPER.\p"
.string "INTERVIEWER: How are you, viewers?\p"
@@ -915,7 +914,7 @@ UnknownString_81AB381:: @ 81AB381
.string "Let’s check on what the hot sellers\n"
.string "have been recently.$"
-UnknownString_81AB435:: @ 81AB435
+gTVSmartShopperText2:: @ 81AB435
.string "Let’s interview the clerk to get the\n"
.string "lowdown.\p"
.string "Hi, how’s your business?\p"
@@ -925,7 +924,7 @@ UnknownString_81AB435:: @ 81AB435
.string "Why, just the other day a TRAINER\n"
.string "named {STR_VAR_1} bought {STR_VAR_3}.$"
-UnknownString_81AB507:: @ 81AB507
+gTVSmartShopperText3:: @ 81AB507
.string "INTERVIEWER: The TRAINER bought\n"
.string "{STR_VAR_3} {STR_VAR_2}S? That’s a haul!\p"
.string "If I may say so, {STR_VAR_1} must have\n"
@@ -934,13 +933,13 @@ UnknownString_81AB507:: @ 81AB507
.string "For traveling, {STR_VAR_2}S are so\n"
.string "important!$"
-UnknownString_81AB5B8:: @ 81AB5B8
+gTVSmartShopperText4:: @ 81AB5B8
.string "INTERVIEWER: Speaking of the item\n"
.string "{STR_VAR_2}, I just bought {STR_VAR_3} of\l"
.string "them recently.\p"
.string "After all, {STR_VAR_2}’s a great item!$"
-UnknownString_81AB61F:: @ 81AB61F
+gTVSmartShopperText5:: @ 81AB61F
.string "INTERVIEWER: {STR_VAR_2}?!\n"
.string "But {STR_VAR_3} of them?!\p"
.string "I didn’t think there would be anyone\n"
@@ -948,7 +947,7 @@ UnknownString_81AB61F:: @ 81AB61F
.string "My goodness, I can only afford one or\n"
.string "two at a time...$"
-UnknownString_81AB6B0:: @ 81AB6B0
+gTVSmartShopperText6:: @ 81AB6B0
.string "INTERVIEWER: One time, I bought\n"
.string "a whole lot of the item {STR_VAR_2}.\p"
.string "But it turned out to be too many.\n"
@@ -958,21 +957,21 @@ UnknownString_81AB6B0:: @ 81AB6B0
.string "Oops!\p"
.string "There’s no point talking about me!$"
-UnknownString_81AB78D:: @ 81AB78D
+gTVSmartShopperText7:: @ 81AB78D
.string "CLERK: {STR_VAR_1} also bought the item\n"
.string "{STR_VAR_2} in bulk, taking {STR_VAR_3}.\p"
.string "INTERVIEWER: Oh, that’s smart.\n"
.string "{STR_VAR_2}’s a very good item, too.$"
-UnknownString_81AB7FE:: @ 81AB7FE
+gTVSmartShopperText8:: @ 81AB7FE
.string "CLERK: And, the TRAINER also bought\n"
.string "{STR_VAR_3} of the item {STR_VAR_2}.$"
-UnknownString_81AB835:: @ 81AB835
+gTVSmartShopperText9:: @ 81AB835
.string "CLERK: Plus, it was during a big sale.\n"
.string "That’s smart shopping.$"
-UnknownString_81AB873:: @ 81AB873
+gTVSmartShopperText10:: @ 81AB873
.string "INTERVIEWER: Hmm... {STR_VAR_1} sounds like\n"
.string "quite the shrewd bargain hunter!\p"
.string "In total, {STR_VAR_1}’s purchases came to...\p"
@@ -981,11 +980,11 @@ UnknownString_81AB873:: @ 81AB873
.string "Oops! We’re out of time!\n"
.string "See you on our next broadcast!$"
-UnknownString_81AB92E:: @ 81AB92E
+gTVSmartShopperText11:: @ 81AB92E
.string "CLERK: {STR_VAR_1} is a VIP customer,\n"
.string "no doubt about it.$"
-UnknownString_81AB95E:: @ 81AB95E
+gTVSmartShopperText12:: @ 81AB95E
.string "Let’s interview the clerk to get the\n"
.string "lowdown.\p"
.string "Hi, how’s your business?\p"
@@ -1006,7 +1005,7 @@ UnknownString_81AB95E:: @ 81AB95E
.string "CLERK: {STR_VAR_1} is a VIP customer,\n"
.string "no doubt about it.$"
-UnknownString_81ABB75:: @ 81ABB75
+gTVSmartShopperText13:: @ 81ABB75
.string "INTERVIEWER: Hmm...\n"
.string "That is amazing.\p"
.string "But why would the TRAINER need to buy\n"
@@ -1018,7 +1017,7 @@ UnknownString_81ABB75:: @ 81ABB75
.string "Still, {STR_VAR_1} is certainly an enigma...$"
-UnknownString_81ABC51:: @ 81ABC51
+gTVWorldOfMastersText1:: @ 81ABC51
.string "THE WORLD OF MASTERS\p"
.string "Hello, viewers.\p"
.string "Perhaps you are aware of a TRAINER\n"
@@ -1032,12 +1031,12 @@ UnknownString_81ABC51:: @ 81ABC51
.string "The total number of POKéMON caught\n"
.string "that day reached an impressive {STR_VAR_3}!$"
-UnknownString_81ABD94:: @ 81ABD94
+gTVWorldOfMastersText2:: @ 81ABD94
.string "That remarkable feat must have been\n"
.string "possible because of the trust between\l"
.string "the TRAINER and {STR_VAR_1}.$"
-UnknownString_81ABDF2:: @ 81ABDF2
+gTVWorldOfMastersText3:: @ 81ABDF2
.string "The master caught the day’s last\n"
.string "{STR_VAR_3} near {STR_VAR_2}.\p"
.string "That POKéMON apparently enjoys\n"
diff --git a/include/load_save.h b/include/load_save.h
index 5ca52a2fc..a3c2c609c 100644
--- a/include/load_save.h
+++ b/include/load_save.h
@@ -11,7 +11,7 @@ void SavePlayerParty(void);
void LoadPlayerParty(void);
void SaveSerializedGame(void);
void LoadSerializedGame(void);
-void LoadPlayerData(void);
-void SavePlayerData(void);
+void LoadPlayerBag(void);
+void SavePlayerBag(void);
#endif // GUARD_LOAD_SAVE_H
diff --git a/include/lottery_corner.h b/include/lottery_corner.h
index 06f38a5c9..5e2346d37 100644
--- a/include/lottery_corner.h
+++ b/include/lottery_corner.h
@@ -1,12 +1,12 @@
#ifndef GUARD_LOTTERY_CORNER_H
#define GUARD_LOTTERY_CORNER_H
-void sub_8145A78(void);
-void sub_8145AA4(u16 a);
-void sub_8145AEC(void);
+void ResetLotteryCorner(void);
+void SetRandomLotteryNumber(u16 i);
+void RetrieveLotteryNumber(void);
void PickLotteryCornerTicket(void);
-void sub_8145D14(u32 a);
-u32 sub_8145D3C(void);
-void unref_sub_8145D64(u16 a);
+void SetLotteryNumber(u32 lotteryNum);
+u32 GetLotteryNumber(void);
+void SetLotteryNumber16_Unused(u16 lotteryNum);
#endif // GUARD_LOTTERY_CORNER_H
diff --git a/include/main.h b/include/main.h
index 5d8f8b68a..bed3a5749 100644
--- a/include/main.h
+++ b/include/main.h
@@ -45,7 +45,7 @@ struct Main
extern u8 gUnknown_3001764;
extern struct Main gMain;
-extern u8 gUnknown_3001BB4;
+extern bool8 gSoftResetDisabled;
extern bool8 gLinkVSyncDisabled;
extern const u8 gGameVersion;
diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h
index 34b660054..e7b4adfbd 100644
--- a/include/metatile_behavior.h
+++ b/include/metatile_behavior.h
@@ -1,31 +1,31 @@
#ifndef GUARD_METATILE_BEHAVIOR
#define GUARD_METATILE_BEHAVIOR
-bool8 sub_8056D9C(u8);
-bool8 sub_8056DA0(u8);
+bool8 MetatileBehavior_IsATile(u8);
+bool8 MetatileBehavior_IsEncounterTile(u8);
bool8 MetatileBehavior_IsJumpEast(u8);
bool8 MetatileBehavior_IsJumpWest(u8);
bool8 MetatileBehavior_IsJumpNorth(u8);
bool8 MetatileBehavior_IsJumpSouth(u8);
-bool8 sub_8056E14(u8);
+bool8 MetatileBehavior_IsPokeGrass(u8);
bool8 MetatileBehavior_IsSandOrDeepSand(u8);
bool8 MetatileBehavior_IsDeepSand(u8);
bool8 MetatileBehavior_IsReflective(u8);
bool8 MetatileBehavior_IsIce(u8);
-bool8 is_tile_x69_2_warp_door(u8);
+bool8 MetatileBehavior_IsWarpDoor(u8);
bool8 MetatileBehavior_IsDoor(u8);
bool8 MetatileBehavior_IsEscalator(u8);
bool8 unref_sub_8056EE0(u8);
bool8 MetatileBehavior_IsLadder(u8);
-bool8 sub_8056F08(u8);
-bool8 sub_8056F24(u8);
+bool8 MetatileBehavior_IsNonAnimDoor(u8);
+bool8 MetatileBehavior_IsDeepSouthWarp(u8);
bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8);
bool8 MetatileBehavior_IsEastArrowWarp(u8);
bool8 MetatileBehavior_IsWestArrowWarp(u8);
bool8 MetatileBehavior_IsNorthArrowWarp(u8);
bool8 MetatileBehavior_IsSouthArrowWarp(u8);
bool8 MetatileBehavior_IsArrowWarp(u8);
-bool8 sub_8056FFC(u8);
+bool8 MetatileBehavior_IsMoveTile(u8);
bool8 MetatileBehavior_IsIce_2(u8);
bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8);
bool8 MetatileBehavior_0x05(u8);
@@ -46,10 +46,10 @@ bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8, u8);
bool8 MetatileBehavior_IsPC(u8);
bool8 is_tile_x84(u8);
bool8 sub_80571C0(u8);
-bool8 sub_80571EC(u8);
-bool8 sub_805720C(u8);
-bool8 is_tile_x98(u8);
-bool8 sub_8057238(u8);
+bool8 MetatileBehavior_IsSecretBaseCave(u8);
+bool8 MetatileBehavior_IsSecretBaseTree(u8);
+bool8 MetatileBehavior_IsSecretBaseShrub(u8);
+bool8 MetatileBehavior_IsSecretBasePC(u8);
bool8 sub_805724C(u8);
bool8 unref_sub_8057260(u8);
bool8 sub_8057274(u8);
@@ -83,8 +83,8 @@ bool8 sub_80574D8(u8);
bool8 sub_80574EC(u8);
bool8 sub_805750C(u8);
bool8 MetatileBehavior_IsShallowFlowingWater(u8);
-bool8 sub_8057540(u8);
-bool8 sub_8057554(u8);
+bool8 MetatileBehavior_IsThinIce(u8);
+bool8 MetatileBehavior_IsCrackedIce(u8);
bool8 sub_8057568(u8);
bool8 unref_sub_8057584(u8);
bool8 sub_805759C(u8);
@@ -101,20 +101,20 @@ bool8 sub_80576B4(u8);
bool8 sub_80576C8(u8);
bool8 sub_80576DC(u8);
bool8 MetatileBehavior_IsPacifidlogLog(u8);
-bool8 is_tile_x8C(u8);
-bool8 is_tile_x85(u8);
-bool8 is_tile_x8B(u8);
-bool8 is_tile_x8A(u8);
-bool8 is_tile_x87(u8);
+bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8);
+bool8 MetatileBehavior_IsRegionMap(u8);
+bool8 MetatileBehavior_IsClosedSootpolisGymDoor(u8);
+bool8 MetatileBehavior_IsRoulette(u8);
+bool8 MetatileBehavior_IsPokeblockFeeder(u8);
bool8 MetatileBehavior_0xBB(u8);
bool8 MetatileBehavior_0xBC(u8);
-bool8 sub_8057798(u8);
-bool8 is_role_x68(u8);
+bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8);
+bool8 MetatileBehavior_IsLavaridge1FWarp(u8);
bool8 MetatileBehavior_IsAquaHideoutWarp(u8);
bool8 MetatileBehavior_IsSurfableFishableWater(u8);
-bool8 sub_8057804(u8);
-bool8 sub_8057818(u8);
-bool8 sub_805782C(u8);
+bool8 MetatileBehavior_IsMtPyreHole(u8);
+bool8 MetatileBehavior_IsCrackedFloorHole(u8);
+bool8 MetatileBehavior_IsCrackedFloor(u8);
bool8 MetatileBehavior_IsMuddySlope(u8);
bool8 MetatileBehavior_IsBumpySlope(u8);
bool8 MetatileBehavior_IsIsolatedVerticalRail(u8);
@@ -125,12 +125,12 @@ bool8 MetatileBehavior_IsSeaweed(u8);
bool8 MetatileBehavior_IsRunningDisallowed(u8);
bool8 sub_80578F8(u8);
bool8 sub_805791C(u8);
-bool8 sub_8057930(u8);
-bool8 sub_8057944(u8);
-bool8 sub_8057958(u8);
-bool8 sub_805796C(u8);
-bool8 sub_8057980(u8);
-bool8 sub_8057994(u8);
-bool8 sub_80579A8(u8);
+bool8 MetatileBehavior_IsPictureBookShelf(u8);
+bool8 MetatileBehavior_IsBookShelf(u8);
+bool8 MetatileBehavior_IsPokeCenterBookShelf(u8);
+bool8 MetatileBehavior_IsVase(u8);
+bool8 MetatileBehavior_IsTrashCan(u8);
+bool8 MetatileBehavior_IsShopShelf(u8);
+bool8 MetatileBehavior_IsBlueprint(u8);
#endif // GUARD_METATILE_BEHAVIOR
diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c
index 29b00370d..e6fd49444 100644
--- a/src/calculate_base_damage.c
+++ b/src/calculate_base_damage.c
@@ -61,7 +61,7 @@ extern u8 sub_803C348(u8);
}
#ifdef NONMATCHING
-s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u8 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
+s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
{
s32 i;
s32 damage = 0;
@@ -206,7 +206,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
if (gBattleMoves[gUnknown_02024BE6].effect == 7)
defense /= 2;
- if (type <= 8)
+ if (type < TYPE_MYSTERY) // is physical?
{
if (gCritMultiplier == 2)
{
@@ -246,14 +246,15 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2)
damage /= 2;
+ // moves always do at least 1 damage.
if (damage == 0)
damage = 1;
}
- if (type == 9)
- damage = 0;
+ if (type == TYPE_MYSTERY)
+ damage = 0; // is ??? type. does 0 damage.
- if (type > 9)
+ if (type > TYPE_MYSTERY) // is special?
{
if (gCritMultiplier == 2)
{
@@ -290,33 +291,33 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2)
damage /= 2;
+ // are effects of weather negated with cloud nine or air lock?
if (!sub_8018324(0xE, 0, ABILITY_CLOUD_NINE, 0, 0) && !sub_8018324(0xE, 0, ABILITY_AIR_LOCK, 0, 0))
{
+ // rain?
if (gBattleWeather & 1)
{
if (type == TYPE_FIRE)
- {
damage /= 2;
- }
else if (type == TYPE_WATER)
- {
damage = (15 * damage) / 10;
- }
}
+
+ // does lack of sun half solar beam damage?
if ((gBattleWeather & 0x9F) && gUnknown_02024BE6 == 76)
damage /= 2;
+
+ // sunny?
if (gBattleWeather & 0x60)
{
if (type == TYPE_FIRE)
- {
damage = (15 * damage) / 10;
- }
else if (type == TYPE_WATER)
- {
damage /= 2;
- }
}
}
+
+ // flash fire triggered?
if ((dword_2017100[a7] & 1) && type == TYPE_FIRE)
damage = (15 * damage) / 10;
}
@@ -325,7 +326,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
}
#else
__attribute__((naked))
-s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u8 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
+s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
diff --git a/src/field_ground_effect.c b/src/field_ground_effect.c
index 42cf5d676..1aea8f52e 100644
--- a/src/field_ground_effect.c
+++ b/src/field_ground_effect.c
@@ -227,7 +227,7 @@ void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags)
MetatileBehavior_IsPuddle,
MetatileBehavior_IsSurfableWaterOrUnderwater,
MetatileBehavior_IsShallowFlowingWater,
- sub_8056D9C,
+ MetatileBehavior_IsATile,
};
static const u32 jumpLandingFlags[] =
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 97c04f8e5..7e4e5aed6 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -467,7 +467,7 @@ static u8 sub_8058F6C(s16 a, s16 b, u8 c)
b = gMapObjects[mapObjectId].coords2.y;
MoveCoords(c, &a, &b);
if (npc_block_way(&gMapObjects[mapObjectId], a, b, c) == 0
- && sub_8056F08(MapGridGetMetatileBehaviorAt(a, b)) == 0)
+ && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(a, b)) == 0)
{
StartStrengthAnim(mapObjectId, c);
return 1;
@@ -787,7 +787,7 @@ static void PlayCollisionSoundIfNotFacingWarp(u8 a)
{
PlayerGetDestCoords(&x, &y);
MoveCoords(2, &x, &y);
- if (is_tile_x69_2_warp_door(MapGridGetMetatileBehaviorAt(x, y)))
+ if (MetatileBehavior_IsWarpDoor(MapGridGetMetatileBehaviorAt(x, y)))
return;
}
PlaySE(SE_WALL_HIT);
diff --git a/src/link.c b/src/link.c
index 25a7ce270..7b4625bfd 100644
--- a/src/link.c
+++ b/src/link.c
@@ -462,7 +462,7 @@ static void HandleReceiveRemoteLinkPlayer(u8 multiplayerId)
gReceivedRemoteLinkPlayers = TRUE;
}
-static void ProcessRecvCmds(u8 a1)
+static void ProcessRecvCmds(u8 unusedParam)
{
u16 i;
for (i = 0; i < MAX_LINK_PLAYERS; i++)
@@ -830,7 +830,7 @@ static void LinkCB_BlockSendEnd(void)
static void sub_8007E04(void)
{
- GetMultiplayerId();
+ GetMultiplayerId(); // whats the point of calling this if you dont use the multiplayer ID?
BuildSendCmd(0x4444);
dword_20238BC++;
}
@@ -1225,7 +1225,7 @@ void CB2_LinkError(void)
REG_BG0VOFS = 0;
REG_BG0HOFS = 0;
REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON;
- gUnknown_3001BB4 = 0;
+ gSoftResetDisabled = FALSE;
CreateTask(Task_DestroySelf, 0);
StopMapMusic();
RunTasks();
diff --git a/src/load_save.c b/src/load_save.c
index a35c20023..5babb843e 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -105,7 +105,7 @@ void LoadSerializedGame(void)
LoadMapObjects();
}
-void LoadPlayerData(void)
+void LoadPlayerBag(void)
{
int i;
@@ -129,12 +129,12 @@ void LoadPlayerData(void)
for(i = 0; i < 46; i++)
gLoadedSaveData->berries[i] = gSaveBlock1.bagPocket_Berries[i];
- // load mail
+ // load mail.
for(i = 0; i < 16; i++)
gLoadedSaveData->mail[i] = gSaveBlock1.mail[i];
}
-void SavePlayerData(void)
+void SavePlayerBag(void)
{
int i;
@@ -158,7 +158,7 @@ void SavePlayerData(void)
for(i = 0; i < 46; i++)
gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData->berries[i];
- // save mail
+ // save mail.
for(i = 0; i < 16; i++)
gSaveBlock1.mail[i] = gLoadedSaveData->mail[i];
}
diff --git a/src/lottery_corner.c b/src/lottery_corner.c
index 2330d20ff..54ba3c46d 100644
--- a/src/lottery_corner.c
+++ b/src/lottery_corner.c
@@ -3,6 +3,7 @@
#include "rng.h"
#include "string_util.h"
#include "event_data.h"
+#include "species.h"
extern u16 gScriptResult;
extern u16 gSpecialVar_0x8004;
@@ -16,32 +17,30 @@ static EWRAM_DATA u16 sOtIdDigit = 0;
static u8 GetMatchingDigits(u16, u16);
-void sub_8145A78(void)
+void ResetLotteryCorner(void)
{
u16 rand = Random();
- sub_8145D14((Random() << 16) | rand);
+ SetLotteryNumber((Random() << 16) | rand);
VarSet(0x4045, 0);
}
-void sub_8145AA4(u16 a)
+void SetRandomLotteryNumber(u16 i)
{
u32 var = Random();
- while(--a != 0xFFFF)
- {
+ while(--i != 0xFFFF)
var = var * 1103515245 + 12345;
- }
- sub_8145D14(var);
+
+ SetLotteryNumber(var);
}
-void sub_8145AEC(void)
+void RetrieveLotteryNumber(void)
{
- u16 a = sub_8145D3C();
- gScriptResult = a;
+ u16 lottoNumber = GetLotteryNumber();
+ gScriptResult = lottoNumber;
}
-//Script special function
void PickLotteryCornerTicket(void)
{
u16 i;
@@ -57,41 +56,44 @@ void PickLotteryCornerTicket(void)
struct Pokemon *pkmn = &gPlayerParty[i];
// UB: Too few arguments for function GetMonData
- if(GetMonData(pkmn, MON_DATA_SPECIES) != 0)
+ if(GetMonData(pkmn, MON_DATA_SPECIES) != SPECIES_NONE)
{
+ // do not calculate ticket values for eggs.
if(!GetMonData(pkmn, MON_DATA_IS_EGG))
{
u32 otId = GetMonData(pkmn, MON_DATA_OT_ID);
- u8 a = GetMatchingDigits(gScriptResult, otId);
+ u8 numMatchingDigits = GetMatchingDigits(gScriptResult, otId);
- if(a > gSpecialVar_0x8004 && a > 1)
+ if(numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1)
{
- gSpecialVar_0x8004 = a - 1;
+ gSpecialVar_0x8004 = numMatchingDigits - 1;
box = 14;
slot = i;
}
}
}
- else
+ else // pokemon are always arranged from populated spots first to unpopulated, so the moment a NONE species is found, that's the end of the list.
break;
}
+ // player has 14 boxes.
for(i = 0; i < 14; i++)
{
- for(j = 0; j < 0x1E; j++)
+ // player has 30 slots per box.
+ for(j = 0; j < 30; j++)
{
struct BoxPokemon *pkmn = &gPokemonStorage.boxes[i][j];
// UB: Too few arguments for function GetMonData
- if(GetBoxMonData(pkmn, MON_DATA_SPECIES) != 0 &&
+ if(GetBoxMonData(pkmn, MON_DATA_SPECIES) != SPECIES_NONE &&
!GetBoxMonData(pkmn, MON_DATA_IS_EGG))
{
u32 otId = GetBoxMonData(pkmn, MON_DATA_OT_ID);
- u8 a = GetMatchingDigits(gScriptResult, otId);
+ u8 numMatchingDigits = GetMatchingDigits(gScriptResult, otId);
- if(a > gSpecialVar_0x8004 && a > 1)
+ if(numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1)
{
- gSpecialVar_0x8004 = a - 1;
+ gSpecialVar_0x8004 = numMatchingDigits - 1;
box = i;
slot = j;
}
@@ -120,7 +122,7 @@ void PickLotteryCornerTicket(void)
static u8 GetMatchingDigits(u16 winNumber, u16 otId)
{
u8 i;
- u8 matchingDigits = 0; //Why not just use i?
+ u8 matchingDigits = 0;
for(i = 0; i < 5; i++)
{
@@ -139,24 +141,26 @@ static u8 GetMatchingDigits(u16 winNumber, u16 otId)
return matchingDigits;
}
-void sub_8145D14(u32 a)
+// lottery numbers go from 0 to 99999, not 65535 (0xFFFF). interestingly enough, the function that calls GetLotteryNumber shifts to u16, so it cant be anything above 65535 anyway.
+void SetLotteryNumber(u32 lotteryNum)
{
- u16 b = a >> 16;
- u16 c = a;
-
- VarSet(0x404B, c);
- VarSet(0x404C, b);
+ u16 lowNum = lotteryNum >> 16;
+ u16 highNum = lotteryNum;
+
+ VarSet(0x404B, highNum);
+ VarSet(0x404C, lowNum);
}
-u32 sub_8145D3C(void)
+u32 GetLotteryNumber(void)
{
- u16 var1 = VarGet(0x404B);
- u16 var2 = VarGet(0x404C);
+ u16 highNum = VarGet(0x404B);
+ u16 lowNum = VarGet(0x404C);
- return (var2 << 16) | var1;
+ return (lowNum << 16) | highNum;
}
-void unref_sub_8145D64(u16 a)
+// interestingly, this may have been the original lottery number set function, but GF tried to change it to 32-bit later but didnt finish changing all calls as one GetLotteryNumber still shifts to u16.
+void SetLotteryNumber16_Unused(u16 lotteryNum)
{
- sub_8145D14(a);
+ SetLotteryNumber(lotteryNum);
}
diff --git a/src/main.c b/src/main.c
index a3d5c4f30..76ac3d6d9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -60,7 +60,7 @@ u16 gKeyRepeatStartDelay;
u8 gUnknown_3001764;
struct Main gMain;
u16 gKeyRepeatContinueDelay;
-u8 gUnknown_3001BB4;
+u8 gSoftResetDisabled;
IntrFunc gIntrTable[INTR_COUNT];
bool8 gLinkVSyncDisabled;
u32 IntrMain_Buffer[0x200];
@@ -91,7 +91,7 @@ void AgbMain()
InitMapMusic();
SeedRngWithRtc();
- gUnknown_3001BB4 = 0;
+ gSoftResetDisabled = FALSE;
if (gUnknown_3004820 != 1)
SetMainCallback2(0);
@@ -102,7 +102,7 @@ void AgbMain()
{
ReadKeys();
- if (!gUnknown_3001BB4
+ if (gSoftResetDisabled == FALSE
&& (gMain.heldKeysRaw & A_BUTTON)
&& (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT)
DoSoftReset();
@@ -333,8 +333,7 @@ static void SerialIntr(void)
}
static void IntrDummy(void)
-{
-}
+{}
static void WaitForVBlank(void)
{
diff --git a/src/main_menu.c b/src/main_menu.c
index f036a705c..bbdae24fe 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -26,23 +26,11 @@ struct MonCoords
};
extern struct PaletteFadeControl gPaletteFade;
-extern u8 gSaveFileDeletedMessage[];
-extern u8 gSaveFileCorruptMessage[];
-extern u8 gBoardNotInstalledMessage[];
-extern u8 gBatteryDryMessage[];
+
extern u16 gSaveFileStatus;
-extern u8 gMainMenuString_Continue[];
-extern u8 gMainMenuString_NewGame[];
-extern u8 gMainMenuString_MysteryEvents[];
-extern u8 gMainMenuString_Option[];
-extern u8 gMainMenuString_Player[];
-extern u8 gMainMenuString_Time[];
-extern u8 gMainMenuString_Pokedex[];
-extern u8 gMainMenuString_Badges[];
extern u16 gMainMenuPalette[];
-//Text Strings
extern const u8 gBirchSpeech_Welcome[];
extern const u8 gBirchSpeech_ThisIsPokemon[];
extern const u8 gBirchSpeech_WorldInhabitedByPokemon[];
@@ -52,6 +40,18 @@ extern const u8 gBirchSpeech_WhatsYourName[];
extern u8 gBirchSpeech_SoItsPlayer[];
extern u8 gBirchSpeech_AhOkayYouArePlayer[];
extern u8 gBirchSpeech_AreYouReady[];
+extern u8 gSaveFileDeletedMessage[];
+extern u8 gSaveFileCorruptMessage[];
+extern u8 gBoardNotInstalledMessage[];
+extern u8 gBatteryDryMessage[];
+extern u8 gMainMenuString_Continue[];
+extern u8 gMainMenuString_NewGame[];
+extern u8 gMainMenuString_MysteryEvents[];
+extern u8 gMainMenuString_Option[];
+extern u8 gMainMenuString_Player[];
+extern u8 gMainMenuString_Time[];
+extern u8 gMainMenuString_Pokedex[];
+extern u8 gMainMenuString_Badges[];
extern const struct MonCoords gMonFrontPicCoords[];
extern const struct SpriteSheet gMonFrontPicTable[];
@@ -64,7 +64,7 @@ extern const struct MenuAction gMalePresetNames[];
extern const struct MenuAction gFemalePresetNames[];
extern const u8 gUnknown_081E764C[];
-extern const u8 gUnknown_081E768C[];
+extern const u8 gBirchIntroShadowGfx[];
extern const u8 gUnknown_081E7834[];
extern const u8 gUnknown_081E796C[];
extern const u8 gSystemText_NewPara[];
@@ -103,7 +103,7 @@ enum {
static void CB2_MainMenu(void);
static void VBlankCB_MainMenu(void);
-static void sub_80096FC(void);
+static void CB2_InitMainMenuFromOptions(void);
static u32 InitMainMenu(bool8 a1);
static void Task_MainMenuCheckSave(u8 taskId);
static void Task_MainMenuWaitForSaveErrorAck(u8 taskId);
@@ -157,16 +157,16 @@ static void Task_NewGameSpeech32(u8 taskId);
static void Task_NewGameSpeech33(u8 taskId);
static void CB_ContinueNewGameSpeechPart2();
static void nullsub_34(struct Sprite *sprite);
-static void sub_800B240(struct Sprite *sprite);
+static void ShrinkPlayerSprite(struct Sprite *sprite);
static u8 CreateAzurillSprite(u8 x, u8 y);
static void AddBirchSpeechObjects(u8 taskId);
static void Task_SpriteFadeOut(u8 taskId);
static void StartSpriteFadeOut(u8 taskId, u8 interval);
static void Task_SpriteFadeIn(u8 taskId);
static void StartSpriteFadeIn(u8 taskId, u8 interval);
-static void sub_800B5A8(u8 taskId);
+static void HandleFloorShadowFadeOut(u8 taskId);
static void StartBackgroundFadeOut(u8 taskId, u8 interval);
-static void sub_800B654(u8 taskId);
+static void HandleFloorShadowFadeIn(u8 taskId);
static void StartBackgroundFadeIn(u8 taskId, u8 interval);
static void CreateGenderMenu(u8 left, u8 top);
static s8 GenderMenuProcessInput(void);
@@ -194,7 +194,7 @@ void CB2_InitMainMenu(void)
InitMainMenu(FALSE);
}
-static void sub_80096FC(void)
+static void CB2_InitMainMenuFromOptions(void)
{
InitMainMenu(TRUE);
}
@@ -582,7 +582,7 @@ void Task_MainMenuPressedA(u8 taskId)
DestroyTask(taskId);
break;
case OPTION:
- gMain.field_8 = sub_80096FC;
+ gMain.field_8 = CB2_InitMainMenuFromOptions;
SetMainCallback2(CB2_InitOptionMenu);
DestroyTask(taskId);
break;
@@ -728,7 +728,7 @@ static void Task_NewGameSpeech1(u8 taskId)
REG_BLDCNT = 0;
REG_BLDALPHA = 0;
REG_BLDY = 0;
- LZ77UnCompVram(gUnknown_081E768C, (void *)BG_VRAM);
+ LZ77UnCompVram(gBirchIntroShadowGfx, (void *)BG_VRAM);
LZ77UnCompVram(gUnknown_081E7834, (void *)(BG_VRAM + 0x3800));
LoadPalette(gUnknown_081E764C, 0, 0x40);
LoadPalette(gUnknown_081E796C, 1, 0x10);
@@ -1261,7 +1261,7 @@ static void Task_NewGameSpeech30(u8 taskId)
gSprites[spriteId].affineAnims = (union AffineAnimCmd **)gSpriteAffineAnimTable_81E79AC;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 0);
- gSprites[spriteId].callback = sub_800B240;
+ gSprites[spriteId].callback = ShrinkPlayerSprite;
BeginNormalPaletteFade(0x0000FFFF, 0, 0, 0x10, 0);
FadeOutBGM(4);
gTasks[taskId].func = Task_NewGameSpeech31;
@@ -1326,7 +1326,7 @@ void CB_ContinueNewGameSpeechPart2()
ResetPaletteFade();
- LZ77UnCompVram(gUnknown_081E768C, (void *)BG_VRAM);
+ LZ77UnCompVram(gBirchIntroShadowGfx, (void *)BG_VRAM);
LZ77UnCompVram(gUnknown_081E7834, (void *)(BG_VRAM + 0x3800));
LoadPalette(gUnknown_081E764C, 0, 0x40);
@@ -1390,7 +1390,7 @@ void nullsub_34(struct Sprite *sprite)
{
}
-void sub_800B240(struct Sprite *sprite)
+void ShrinkPlayerSprite(struct Sprite *sprite)
{
u32 y = (sprite->pos1.y << 16) + sprite->data0 + 0xC000;
sprite->pos1.y = y >> 16;
@@ -1534,22 +1534,16 @@ enum {
TD_DELAY,
};
-static void sub_800B5A8(u8 taskId)
+static void HandleFloorShadowFadeOut(u8 taskId)
{
if (gTasks[taskId].data[TD_DELAY])
- {
gTasks[taskId].data[TD_DELAY]--;
- }
else
{
if (gTasks[taskId].data[TD_FADELEVEL] == 8)
- {
DestroyTask(taskId);
- }
else if (gTasks[taskId].data[TD_FRAMECOUNTER])
- {
gTasks[taskId].data[TD_FRAMECOUNTER]--;
- }
else
{
gTasks[taskId].data[TD_FRAMECOUNTER] = gTasks[taskId].data[TD_INTERVAL];
@@ -1562,7 +1556,7 @@ static void sub_800B5A8(u8 taskId)
//Launches a helper task to fade out the background
static void StartBackgroundFadeOut(u8 taskId, u8 interval)
{
- u8 newTaskId = CreateTask(sub_800B5A8, 0);
+ u8 newTaskId = CreateTask(HandleFloorShadowFadeOut, 0);
gTasks[newTaskId].data[TD_PARENT_TASK_ID] = taskId;
gTasks[newTaskId].data[TD_FADELEVEL] = 0;
gTasks[newTaskId].data[TD_DELAY] = 8;
@@ -1570,24 +1564,18 @@ static void StartBackgroundFadeOut(u8 taskId, u8 interval)
gTasks[newTaskId].data[TD_FRAMECOUNTER] = interval;
}
-static void sub_800B654(u8 taskId)
+static void HandleFloorShadowFadeIn(u8 taskId)
{
if (gTasks[taskId].data[TD_DELAY])
- {
gTasks[taskId].data[TD_DELAY]--;
- }
else
{
if (gTasks[taskId].data[TD_FADELEVEL] == 0)
- {
DestroyTask(taskId);
- }
else
{
if (gTasks[taskId].data[TD_FRAMECOUNTER])
- {
gTasks[taskId].data[TD_FRAMECOUNTER]--;
- }
else
{
gTasks[taskId].data[TD_FRAMECOUNTER] = gTasks[taskId].data[TD_INTERVAL];
@@ -1601,7 +1589,7 @@ static void sub_800B654(u8 taskId)
//Launches a helper task to fade in the background
static void StartBackgroundFadeIn(u8 taskId, u8 interval)
{
- u8 newTaskId = CreateTask(sub_800B654, 0);
+ u8 newTaskId = CreateTask(HandleFloorShadowFadeIn, 0);
gTasks[newTaskId].data[TD_PARENT_TASK_ID] = taskId;
gTasks[newTaskId].data[TD_FADELEVEL] = 8;
gTasks[newTaskId].data[TD_DELAY] = 8;
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
index dd1ac75e3..b78e76e10 100644
--- a/src/metatile_behavior.c
+++ b/src/metatile_behavior.c
@@ -5,12 +5,13 @@ extern u8 gUnknown_08308E2C[];
bool8 MetatileBehavior_IsWaterfall(u8);
-bool8 sub_8056D9C(u8 var)
+// only used as default case for checking jump landing in field_ground_effect.
+bool8 MetatileBehavior_IsATile(u8 var)
{
return TRUE;
}
-bool8 sub_8056DA0(u8 var)
+bool8 MetatileBehavior_IsEncounterTile(u8 var)
{
if((gUnknown_08308E2C[var] & 1) != 0)
return TRUE;
@@ -50,7 +51,7 @@ bool8 MetatileBehavior_IsJumpSouth(u8 var)
return FALSE;
}
-bool8 sub_8056E14(u8 var)
+bool8 MetatileBehavior_IsPokeGrass(u8 var)
{
if(var == MB_TALL_GRASS || var == MB_LONG_GRASS)
return TRUE;
@@ -90,7 +91,7 @@ bool8 MetatileBehavior_IsIce(u8 var)
return FALSE;
}
-bool8 is_tile_x69_2_warp_door(u8 var)
+bool8 MetatileBehavior_IsWarpDoor(u8 var)
{
if(var == MB_ANIMATED_DOOR)
return TRUE;
@@ -130,7 +131,7 @@ bool8 MetatileBehavior_IsLadder(u8 var)
return FALSE;
}
-bool8 sub_8056F08(u8 var)
+bool8 MetatileBehavior_IsNonAnimDoor(u8 var)
{
if(var == MB_NON_ANIMATED_DOOR || var == MB_WATER_DOOR || var == MB_DEEP_SOUTH_WARP)
return TRUE;
@@ -138,7 +139,7 @@ bool8 sub_8056F08(u8 var)
return FALSE;
}
-bool8 sub_8056F24(u8 var)
+bool8 MetatileBehavior_IsDeepSouthWarp(u8 var)
{
if(var == MB_DEEP_SOUTH_WARP)
return TRUE;
@@ -201,7 +202,7 @@ bool8 MetatileBehavior_IsArrowWarp(u8 var)
return var2;
}
-bool8 sub_8056FFC(u8 var)
+bool8 MetatileBehavior_IsMoveTile(u8 var)
{
if((var >= MB_WALK_EAST && var <= MB_TRICK_HOUSE_PUZZLE_8_FLOOR) || (var >= MB_EASTWARD_CURRENT && var <= MB_SOUTHWARD_CURRENT)
|| var == MB_MUDDY_SLOPE || var == MB_CRACKED_FLOOR || var == MB_WATERFALL || var == MB_ICE || var == MB_BB || var == MB_BC)
@@ -340,7 +341,7 @@ bool8 MetatileBehavior_IsCounter(u8 var)
bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir)
{
- if(playerDir != 2) // if the player isn't facing north, forget about it.
+ if(playerDir != CONNECTION_NORTH) // if the player isn't facing north, forget about it.
return FALSE;
else if(tile == MB_TELEVISION) // is the player's north tile a TV?
return TRUE;
@@ -373,7 +374,7 @@ bool8 sub_80571C0(u8 var)
return FALSE;
}
-bool8 sub_80571EC(u8 var)
+bool8 MetatileBehavior_IsSecretBaseCave(u8 var)
{
if(var == MB_SECRET_BASE_SPOT_RED_CAVE || var == MB_SECRET_BASE_SPOT_BROWN_CAVE || var == MB_SECRET_BASE_SPOT_YELLOW_CAVE || var == MB_SECRET_BASE_SPOT_BLUE_CAVE)
return TRUE;
@@ -381,7 +382,7 @@ bool8 sub_80571EC(u8 var)
return FALSE;
}
-bool8 sub_805720C(u8 var)
+bool8 MetatileBehavior_IsSecretBaseTree(u8 var)
{
if(var == MB_SECRET_BASE_SPOT_TREE_1 || var == MB_SECRET_BASE_SPOT_TREE_2)
return TRUE;
@@ -389,7 +390,7 @@ bool8 sub_805720C(u8 var)
return FALSE;
}
-bool8 is_tile_x98(u8 var)
+bool8 MetatileBehavior_IsSecretBaseShrub(u8 var)
{
if(var == MB_SECRET_BASE_SPOT_SHRUB)
return TRUE;
@@ -397,7 +398,7 @@ bool8 is_tile_x98(u8 var)
return FALSE;
}
-bool8 sub_8057238(u8 var)
+bool8 MetatileBehavior_IsSecretBasePC(u8 var)
{
if(var == MB_SECRET_BASE_PC)
return TRUE;
@@ -617,7 +618,7 @@ u8 sub_8057450(u8 var)
bool8 MetatileBehavior_IsLandWildEncounter(u8 var)
{
- if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == FALSE && sub_8056DA0(var) == TRUE)
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == FALSE && MetatileBehavior_IsEncounterTile(var) == TRUE)
return TRUE;
else
return FALSE;
@@ -625,7 +626,7 @@ bool8 MetatileBehavior_IsLandWildEncounter(u8 var)
bool8 MetatileBehavior_IsWaterWildEncounter(u8 var)
{
- if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == TRUE && sub_8056DA0(var) == TRUE)
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == TRUE && MetatileBehavior_IsEncounterTile(var) == TRUE)
return TRUE;
else
return FALSE;
@@ -671,7 +672,7 @@ bool8 MetatileBehavior_IsShallowFlowingWater(u8 var)
return FALSE;
}
-bool8 sub_8057540(u8 var)
+bool8 MetatileBehavior_IsThinIce(u8 var)
{
if(var == MB_THIN_ICE)
return TRUE;
@@ -679,7 +680,7 @@ bool8 sub_8057540(u8 var)
return FALSE;
}
-bool8 sub_8057554(u8 var)
+bool8 MetatileBehavior_IsCrackedIce(u8 var)
{
if(var == MB_CRACKED_ICE)
return TRUE;
@@ -815,7 +816,7 @@ bool8 MetatileBehavior_IsPacifidlogLog(u8 var)
return FALSE;
}
-bool8 is_tile_x8C(u8 var)
+bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8 var)
{
if(var == MB_TRICK_HOUSE_PUZZLE_DOOR)
return TRUE;
@@ -823,7 +824,7 @@ bool8 is_tile_x8C(u8 var)
return FALSE;
}
-bool8 is_tile_x85(u8 var)
+bool8 MetatileBehavior_IsRegionMap(u8 var)
{
if(var == MB_REGION_MAP)
return TRUE;
@@ -831,7 +832,7 @@ bool8 is_tile_x85(u8 var)
return FALSE;
}
-bool8 is_tile_x8B(u8 var)
+bool8 MetatileBehavior_IsClosedSootpolisGymDoor(u8 var)
{
if(var == MB_CLOSED_SOOTOPOLIS_GYM_DOOR)
return TRUE;
@@ -839,7 +840,7 @@ bool8 is_tile_x8B(u8 var)
return FALSE;
}
-bool8 is_tile_x8A(u8 var)
+bool8 MetatileBehavior_IsRoulette(u8 var)
{
if(var == MB_ROULETTE)
return TRUE;
@@ -847,7 +848,7 @@ bool8 is_tile_x8A(u8 var)
return FALSE;
}
-bool8 is_tile_x87(u8 var)
+bool8 MetatileBehavior_IsPokeblockFeeder(u8 var)
{
if(var == MB_POKEBLOCK_FEEDER)
return TRUE;
@@ -871,7 +872,7 @@ bool8 MetatileBehavior_0xBC(u8 var)
return FALSE;
}
-bool8 sub_8057798(u8 var)
+bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8 var)
{
if(var == MB_LAVARIDGE_GYM_B1F_WARP)
return TRUE;
@@ -879,7 +880,7 @@ bool8 sub_8057798(u8 var)
return FALSE;
}
-bool8 is_role_x68(u8 var)
+bool8 MetatileBehavior_IsLavaridge1FWarp(u8 var)
{
if(var == MB_LAVARIDGE_GYM_1F_WARP)
return TRUE;
@@ -903,7 +904,7 @@ bool8 MetatileBehavior_IsSurfableFishableWater(u8 var)
return FALSE;
}
-bool8 sub_8057804(u8 var)
+bool8 MetatileBehavior_IsMtPyreHole(u8 var)
{
if(var == MB_MT_PYRE_HOLE)
return TRUE;
@@ -911,7 +912,7 @@ bool8 sub_8057804(u8 var)
return FALSE;
}
-bool8 sub_8057818(u8 var)
+bool8 MetatileBehavior_IsCrackedFloorHole(u8 var)
{
if(var == MB_CRACKED_FLOOR_HOLE)
return TRUE;
@@ -919,7 +920,7 @@ bool8 sub_8057818(u8 var)
return FALSE;
}
-bool8 sub_805782C(u8 var)
+bool8 MetatileBehavior_IsCrackedFloor(u8 var)
{
if(var == MB_CRACKED_FLOOR)
return TRUE;
@@ -1007,7 +1008,7 @@ bool8 sub_805791C(u8 var)
return FALSE;
}
-bool8 sub_8057930(u8 var)
+bool8 MetatileBehavior_IsPictureBookShelf(u8 var)
{
if(var == MB_PICTURE_BOOK_SHELF)
return TRUE;
@@ -1015,7 +1016,7 @@ bool8 sub_8057930(u8 var)
return FALSE;
}
-bool8 sub_8057944(u8 var)
+bool8 MetatileBehavior_IsBookShelf(u8 var)
{
if(var == MB_BOOKSHELF)
return TRUE;
@@ -1023,7 +1024,7 @@ bool8 sub_8057944(u8 var)
return FALSE;
}
-bool8 sub_8057958(u8 var)
+bool8 MetatileBehavior_IsPokeCenterBookShelf(u8 var)
{
if(var == MB_POKEMON_CENTER_BOOKSHELF)
return TRUE;
@@ -1031,7 +1032,7 @@ bool8 sub_8057958(u8 var)
return FALSE;
}
-bool8 sub_805796C(u8 var)
+bool8 MetatileBehavior_IsVase(u8 var)
{
if(var == MB_VASE)
return TRUE;
@@ -1039,7 +1040,7 @@ bool8 sub_805796C(u8 var)
return FALSE;
}
-bool8 sub_8057980(u8 var)
+bool8 MetatileBehavior_IsTrashCan(u8 var)
{
if(var == MB_TRASH_CAN)
return TRUE;
@@ -1047,7 +1048,7 @@ bool8 sub_8057980(u8 var)
return FALSE;
}
-bool8 sub_8057994(u8 var)
+bool8 MetatileBehavior_IsShopShelf(u8 var)
{
if(var == MB_SHOP_SHELF)
return TRUE;
@@ -1055,7 +1056,7 @@ bool8 sub_8057994(u8 var)
return FALSE;
}
-bool8 sub_80579A8(u8 var)
+bool8 MetatileBehavior_IsBlueprint(u8 var)
{
if(var == MB_BLUEPRINT)
return TRUE;
diff --git a/src/new_game.c b/src/new_game.c
index 1ffb9c11d..aced10a47 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -141,7 +141,7 @@ void NewGameInitData(void)
sub_80F7AA4();
sub_80FA17C();
sub_810FA54();
- sub_8145A78();
+ ResetLotteryCorner();
sub_8052E04();
ScriptContext2_RunNewScript(gUnknown_0819FA81);
}
diff --git a/src/rom4.c b/src/rom4.c
index f35ad9834..971c46584 100644
--- a/src/rom4.c
+++ b/src/rom4.c
@@ -628,9 +628,9 @@ u8 sub_8053B60(struct UnkPlayerStruct *playerStruct, u8 a2, u16 a3, u8 a4)
{
if (FlagGet(SYS_CRUISE_MODE) && a4 == 6)
return 4;
- if (sub_8056F24(a3) == TRUE)
+ if (MetatileBehavior_IsDeepSouthWarp(a3) == TRUE)
return 2;
- if (sub_8056F08(a3) == TRUE || MetatileBehavior_IsDoor(a3) == TRUE)
+ if (MetatileBehavior_IsNonAnimDoor(a3) == TRUE || MetatileBehavior_IsDoor(a3) == TRUE)
return 1;
if (MetatileBehavior_IsSouthArrowWarp(a3) == TRUE)
return 2;
diff --git a/src/tv.c b/src/tv.c
index 21cfc3379..d2a54a539 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -35,8 +35,8 @@ extern u8 gUnknown_020387E8;
extern struct UnkTvStruct gUnknown_03005D38;
extern u8 gSpeciesNames[][11];
-extern u8 *gUnknown_083D14BC[];
-extern struct OutbreakPokemon gUnknown_083D13F8[5];
+extern u8 *gTVPokemonOutbreakTextGroup[];
+extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5];
void sub_80BE478(void) {
u16 playerNameLength;
@@ -202,16 +202,16 @@ void sub_80BE778(void) {
tvShow->massOutbreak.var00 = TVSHOW_MASS_OUTBREAK;
tvShow->massOutbreak.var01 = 1;
- tvShow->massOutbreak.level = gUnknown_083D13F8[val].level;
+ tvShow->massOutbreak.level = gPokeOutbreakSpeciesList[val].level;
tvShow->massOutbreak.var02 = 0;
tvShow->massOutbreak.var03 = 0;
- tvShow->massOutbreak.species = gUnknown_083D13F8[val].species;
+ tvShow->massOutbreak.species = gPokeOutbreakSpeciesList[val].species;
tvShow->massOutbreak.var0E = 0;
- tvShow->massOutbreak.moves[0] = gUnknown_083D13F8[val].moves[0];
- tvShow->massOutbreak.moves[1] = gUnknown_083D13F8[val].moves[1];
- tvShow->massOutbreak.moves[2] = gUnknown_083D13F8[val].moves[2];
- tvShow->massOutbreak.moves[3] = gUnknown_083D13F8[val].moves[3];
- tvShow->massOutbreak.locationMapNum = gUnknown_083D13F8[val].location;
+ tvShow->massOutbreak.moves[0] = gPokeOutbreakSpeciesList[val].moves[0];
+ tvShow->massOutbreak.moves[1] = gPokeOutbreakSpeciesList[val].moves[1];
+ tvShow->massOutbreak.moves[2] = gPokeOutbreakSpeciesList[val].moves[2];
+ tvShow->massOutbreak.moves[3] = gPokeOutbreakSpeciesList[val].moves[3];
+ tvShow->massOutbreak.locationMapNum = gPokeOutbreakSpeciesList[val].location;
tvShow->massOutbreak.locationMapGroup = 0;
tvShow->massOutbreak.var12 = 0;
tvShow->massOutbreak.probability = 0x32;
@@ -276,7 +276,7 @@ void DoTVShowPokemonNewsMassOutbreak(void) {
TVShowDone();
StartMassOutbreak();
- ShowFieldMessage(gUnknown_083D14BC[gUnknown_020387E8]);
+ ShowFieldMessage(gTVPokemonOutbreakTextGroup[gUnknown_020387E8]);
}
asm(".section .text_d");