summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2017-01-02 04:27:51 -0500
committerYamaArashi <YamaArashi@users.noreply.github.com>2017-01-02 01:27:51 -0800
commit98062c69d613fb1b9e2345924dd34d0bbdcfcc90 (patch)
tree9fce5941c31e76acd873ce4610e1bd59bc865d90
parente1120f3a62097abb80bfa2f910d98ef53f1e5671 (diff)
label and document berry.c, decompress.c, item_use.c and label gBattleTypeFlags (#146)
* make ROM match again * clean up item_use.c labels and clarify functions. * label and clarify some functions in decompress.c * label and clarify berry.c * rename 20239F8 to gBattleTypeFlags * formatting
-rw-r--r--asm/bike.s6
-rw-r--r--asm/contest.s2
-rw-r--r--asm/contest_link_80C2020.s2
-rw-r--r--asm/contest_painting.s4
-rw-r--r--asm/credits.s2
-rw-r--r--asm/egg_hatch.s2
-rw-r--r--asm/hall_of_fame.s2
-rw-r--r--asm/intro.s4
-rw-r--r--asm/item_menu.s46
-rw-r--r--asm/item_use.s96
-rw-r--r--asm/mystery_event_script.s6
-rw-r--r--asm/player_pc.s2
-rw-r--r--asm/pokeblock_feed.s2
-rw-r--r--asm/pokedex.s4
-rw-r--r--asm/pokenav.s2
-rw-r--r--asm/rom_800D42C.s8
-rw-r--r--asm/rom_8077ABC.s4
-rw-r--r--asm/rom_80859BC.s4
-rw-r--r--asm/rom_8094928.s4
-rw-r--r--asm/script_pokemon_util_80C4BF0.s2
-rw-r--r--asm/trade.s2
-rw-r--r--data/data_83760F0.s10
-rw-r--r--data/specials.inc2
-rw-r--r--include/berry.h12
-rw-r--r--include/decompress.h4
-rw-r--r--include/global.fieldmap.h31
-rw-r--r--include/global.h9
-rw-r--r--include/mail.h2
-rw-r--r--include/rom4.h2
-rw-r--r--include/species.h1
-rw-r--r--src/battle_setup.c26
-rw-r--r--src/berry.c40
-rw-r--r--src/decompress.c50
-rw-r--r--src/item_use.c110
-rw-r--r--src/mail.c4
-rw-r--r--src/new_game.c2
-rw-r--r--src/rom4.c26
37 files changed, 295 insertions, 242 deletions
diff --git a/asm/bike.s b/asm/bike.s
index d73fa55dc..a7e3401ac 100644
--- a/asm/bike.s
+++ b/asm/bike.s
@@ -1947,8 +1947,8 @@ _080E5EEE:
bx r1
thumb_func_end sub_80E5EC0
- thumb_func_start sub_80E5EF4
-sub_80E5EF4: @ 80E5EF4
+ thumb_func_start IsBikingDisallowedByPlayer
+IsBikingDisallowedByPlayer: @ 80E5EF4
push {r4,lr}
sub sp, 0x4
ldr r0, _080E5F30 @ =gPlayerAvatar
@@ -1985,7 +1985,7 @@ _080E5F36:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80E5EF4
+ thumb_func_end IsBikingDisallowedByPlayer
thumb_func_start player_should_look_direction_be_enforced_upon_movement
player_should_look_direction_be_enforced_upon_movement: @ 80E5F40
diff --git a/asm/contest.s b/asm/contest.s
index acde6703a..ba5bbfc1c 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -6900,7 +6900,7 @@ sub_80AE9FC: @ 80AE9FC
str r4, [sp]
str r5, [sp, 0x4]
str r6, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
adds r0, r5, 0
mov r1, r8
adds r2, r6, 0
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s
index 3816f3637..99e7511c9 100644
--- a/asm/contest_link_80C2020.s
+++ b/asm/contest_link_80C2020.s
@@ -1357,7 +1357,7 @@ _080C2B14:
str r6, [sp, 0x4]
str r4, [sp, 0x8]
ldr r3, _080C2BE4 @ =0x02000000
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
adds r0, r6, 0
ldr r1, [sp, 0xC]
adds r2, r4, 0
diff --git a/asm/contest_painting.s b/asm/contest_painting.s
index 91ee2d547..ef4d35b8d 100644
--- a/asm/contest_painting.s
+++ b/asm/contest_painting.s
@@ -611,7 +611,7 @@ sub_8106AC4: @ 8106AC4
ldr r4, [r7]
ldr r4, [r4]
str r4, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
mov r2, r8
ldr r1, [r2]
ldr r0, _08106B3C @ =gUnknown_03005E10
@@ -644,7 +644,7 @@ _08106B40:
ldr r4, [r7]
ldr r4, [r4]
str r4, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
mov r0, r8
ldr r1, [r0]
ldr r0, _08106B8C @ =gUnknown_03005E10
diff --git a/asm/credits.s b/asm/credits.s
index 1d4747034..de59cb943 100644
--- a/asm/credits.s
+++ b/asm/credits.s
@@ -3752,7 +3752,7 @@ _081456FC:
str r7, [sp, 0x8]
movs r4, 0x1
str r4, [sp, 0xC]
- bl sub_800D378
+ bl LoadSpecialPokePic
ldr r2, _081457F8 @ =0x0000ffff
adds r0, r6, 0
movs r1, 0
diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s
index b8dae1bba..dc80777ad 100644
--- a/asm/egg_hatch.s
+++ b/asm/egg_hatch.s
@@ -409,7 +409,7 @@ _08042BB4:
str r5, [sp, 0x4]
mov r4, r8
str r4, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
adds r0, r7, 0
bl sub_8040990
bl LoadCompressedObjectPalette
diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s
index 6876c6783..76846e9c3 100644
--- a/asm/hall_of_fame.s
+++ b/asm/hall_of_fame.s
@@ -3130,7 +3130,7 @@ sub_81436BC: @ 81436BC
str r7, [sp, 0x8]
movs r4, 0x1
str r4, [sp, 0xC]
- bl sub_800D378
+ bl LoadSpecialPokePic
adds r0, r6, 0
ldr r1, [sp, 0x30]
adds r2, r7, 0
diff --git a/asm/intro.s b/asm/intro.s
index 5c897a619..ee91e7660 100644
--- a/asm/intro.s
+++ b/asm/intro.s
@@ -517,7 +517,7 @@ sub_813CE88: @ 813CE88
str r4, [sp, 0x8]
movs r4, 0x1
str r4, [sp, 0xC]
- bl sub_800D378
+ bl LoadSpecialPokePic
b _0813CF1C
.align 2, 0
_0813CEE4: .4byte gMonFrontPicTable
@@ -544,7 +544,7 @@ _0813CEF0:
str r7, [sp, 0x4]
str r6, [sp, 0x8]
str r6, [sp, 0xC]
- bl sub_800D378
+ bl LoadSpecialPokePic
_0813CF1C:
ldr r2, _0813CF9C @ =0x0000ffff
adds r0, r7, 0
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 85375a87a..c091b3f82 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -5261,7 +5261,7 @@ sub_80A5AAC: @ 80A5AAC
adds r0, r4
lsls r0, 3
adds r0, r1
- ldr r1, _080A5AE0 @ =sub_80A5B00
+ ldr r1, _080A5AE0 @ =HandleItemMenuPaletteFade
str r1, [r0]
add sp, 0x4
pop {r4}
@@ -5269,7 +5269,7 @@ sub_80A5AAC: @ 80A5AAC
bx r0
.align 2, 0
_080A5ADC: .4byte gTasks
-_080A5AE0: .4byte sub_80A5B00
+_080A5AE0: .4byte HandleItemMenuPaletteFade
thumb_func_end sub_80A5AAC
thumb_func_start sub_80A5AE4
@@ -5287,8 +5287,8 @@ sub_80A5AE4: @ 80A5AE4
bx r0
thumb_func_end sub_80A5AE4
- thumb_func_start sub_80A5B00
-sub_80A5B00: @ 80A5B00
+ thumb_func_start HandleItemMenuPaletteFade
+HandleItemMenuPaletteFade: @ 80A5B00
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -5318,7 +5318,7 @@ _080A5B32:
.align 2, 0
_080A5B38: .4byte gTasks + 0x8
_080A5B3C: .4byte gPaletteFade
- thumb_func_end sub_80A5B00
+ thumb_func_end HandleItemMenuPaletteFade
thumb_func_start sub_80A5B40
sub_80A5B40: @ 80A5B40
@@ -5420,7 +5420,7 @@ sub_80A5BF8: @ 80A5BF8
bl sub_80A73FC
bl sub_80A7590
ldr r1, _080A5C1C @ =gOtherText_NoPokemon
- ldr r2, _080A5C20 @ =sub_80A5C48
+ ldr r2, _080A5C20 @ =CleanUpItemMenuMessage
adds r0, r4, 0
movs r3, 0x1
bl DisplayCannotUseItemMessage
@@ -5429,7 +5429,7 @@ sub_80A5BF8: @ 80A5BF8
bx r0
.align 2, 0
_080A5C1C: .4byte gOtherText_NoPokemon
-_080A5C20: .4byte sub_80A5C48
+_080A5C20: .4byte CleanUpItemMenuMessage
thumb_func_end sub_80A5BF8
thumb_func_start sub_80A5C24
@@ -5450,8 +5450,8 @@ sub_80A5C24: @ 80A5C24
bx r0
thumb_func_end sub_80A5C24
- thumb_func_start sub_80A5C48
-sub_80A5C48: @ 80A5C48
+ thumb_func_start CleanUpItemMenuMessage
+CleanUpItemMenuMessage: @ 80A5C48
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -5489,10 +5489,10 @@ sub_80A5C48: @ 80A5C48
_080A5C90: .4byte gBGTilemapBuffers + 0x800
_080A5C94: .4byte gTasks
_080A5C98: .4byte sub_80A5C24
- thumb_func_end sub_80A5C48
+ thumb_func_end CleanUpItemMenuMessage
- thumb_func_start sub_80A5C9C
-sub_80A5C9C: @ 80A5C9C
+ thumb_func_start CleanUpOverworldMessage
+CleanUpOverworldMessage: @ 80A5C9C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -5509,10 +5509,10 @@ sub_80A5C9C: @ 80A5C9C
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_80A5C9C
+ thumb_func_end CleanUpOverworldMessage
- thumb_func_start sub_80A5CC4
-sub_80A5CC4: @ 80A5CC4
+ thumb_func_start ExecuteItemUseFromBlackPalette
+ExecuteItemUseFromBlackPalette: @ 80A5CC4
push {lr}
bl pal_fill_black
ldr r0, _080A5CD8 @ =Task_CallItemUseOnFieldCallback
@@ -5522,7 +5522,7 @@ sub_80A5CC4: @ 80A5CC4
bx r0
.align 2, 0
_080A5CD8: .4byte Task_CallItemUseOnFieldCallback
- thumb_func_end sub_80A5CC4
+ thumb_func_end ExecuteItemUseFromBlackPalette
thumb_func_start Task_CallItemUseOnFieldCallback
Task_CallItemUseOnFieldCallback: @ 80A5CDC
@@ -6064,7 +6064,7 @@ _080A6128:
lsrs r1, r2, 16
strh r1, [r0, 0x18]
strh r2, [r0, 0x1A]
- ldr r1, _080A6160 @ =sub_80A5B00
+ ldr r1, _080A6160 @ =HandleItemMenuPaletteFade
str r1, [r0]
ldr r1, _080A6164 @ =gUnknown_02038561
movs r0, 0x1
@@ -6080,7 +6080,7 @@ _080A6128:
.align 2, 0
_080A6158: .4byte gTasks
_080A615C: .4byte sub_808B020
-_080A6160: .4byte sub_80A5B00
+_080A6160: .4byte HandleItemMenuPaletteFade
_080A6164: .4byte gUnknown_02038561
_080A6168:
adds r0, r6, 0
@@ -7968,7 +7968,7 @@ sub_80A7094: @ 80A7094
movs r3, 0
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
- ldr r0, _080A70D4 @ =sub_80A5B00
+ ldr r0, _080A70D4 @ =HandleItemMenuPaletteFade
str r0, [r1]
movs r0, 0x1
negs r0, r0
@@ -7983,7 +7983,7 @@ sub_80A7094: @ 80A7094
.align 2, 0
_080A70CC: .4byte gTasks
_080A70D0: .4byte sub_802E424
-_080A70D4: .4byte sub_80A5B00
+_080A70D4: .4byte HandleItemMenuPaletteFade
thumb_func_end sub_80A7094
thumb_func_start sub_80A70D8
@@ -8264,7 +8264,7 @@ _080A72F4:
mov r0, r8
subs r0, 0x8
adds r0, r6, r0
- ldr r1, _080A7354 @ =sub_80A5B00
+ ldr r1, _080A7354 @ =HandleItemMenuPaletteFade
str r1, [r0]
movs r0, 0x1
negs r0, r0
@@ -8279,7 +8279,7 @@ _080A7344: .4byte gBGTilemapBuffers + 0x800
_080A7348: .4byte gSaveBlock1 + 0x560
_080A734C: .4byte 0x0201e000
_080A7350: .4byte sub_802E424
-_080A7354: .4byte sub_80A5B00
+_080A7354: .4byte HandleItemMenuPaletteFade
_080A7358:
ldrh r0, [r7, 0x1E]
adds r0, 0x1
@@ -9682,7 +9682,7 @@ sub_80A7CF8: @ 80A7CF8
lsrs r4, r0, 24
cmp r4, 0x2A
bne _080A7D44
- bl sub_80B4940
+ bl IsEnigmaBerryValid
cmp r0, 0x1
bne _080A7D44
ldr r4, _080A7D34 @ =gSaveBlock1 + 0x317C
diff --git a/asm/item_use.s b/asm/item_use.s
index 0f6077bdc..5b0615d72 100644
--- a/asm/item_use.s
+++ b/asm/item_use.s
@@ -412,8 +412,8 @@ _080C98FA:
bx r0
thumb_func_end sub_80C9838
- thumb_func_start sub_80C9908
-sub_80C9908: @ 80C9908
+ thumb_func_start GetPlayerDirectionTowardsHiddenItem
+GetPlayerDirectionTowardsHiddenItem: @ 80C9908
push {r4,r5,lr}
lsls r0, 16
lsls r1, 16
@@ -484,10 +484,10 @@ _080C9976:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80C9908
+ thumb_func_end GetPlayerDirectionTowardsHiddenItem
- thumb_func_start sub_80C997C
-sub_80C997C: @ 80C997C
+ thumb_func_start SetPlayerDirectionTowardsItem
+SetPlayerDirectionTowardsItem: @ 80C997C
push {r4,r5,lr}
adds r5, r0, 0
lsls r5, 24
@@ -536,10 +536,10 @@ sub_80C997C: @ 80C997C
bx r0
.align 2, 0
_080C99E8: .4byte gMapObjects
- thumb_func_end sub_80C997C
+ thumb_func_end SetPlayerDirectionTowardsItem
- thumb_func_start sub_80C99EC
-sub_80C99EC: @ 80C99EC
+ thumb_func_start DisplayItemRespondingMessageAndExitItemfinder
+DisplayItemRespondingMessageAndExitItemfinder: @ 80C99EC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -561,7 +561,7 @@ sub_80C99EC: @ 80C99EC
cmp r0, 0x1
bne _080C9A24
ldr r1, _080C9A30 @ =gOtherText_ItemfinderResponding
- ldr r2, _080C9A34 @ =sub_80C9520
+ ldr r2, _080C9A34 @ =ExitItemfinder
adds r0, r4, 0
movs r3, 0
bl DisplayItemMessageOnField
@@ -572,11 +572,11 @@ _080C9A24:
.align 2, 0
_080C9A2C: .4byte gMapObjects
_080C9A30: .4byte gOtherText_ItemfinderResponding
-_080C9A34: .4byte sub_80C9520
- thumb_func_end sub_80C99EC
+_080C9A34: .4byte ExitItemfinder
+ thumb_func_end DisplayItemRespondingMessageAndExitItemfinder
- thumb_func_start sub_80C9A38
-sub_80C9A38: @ 80C9A38
+ thumb_func_start RotatePlayerAndExitItemfinder
+RotatePlayerAndExitItemfinder: @ 80C9A38
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@@ -608,12 +608,12 @@ sub_80C9A38: @ 80C9A38
cmp r0, 0
bne _080C9AAE
_080C9A78:
- ldr r1, _080C9ABC @ =gUnknown_083D61F0
+ ldr r1, _080C9ABC @ =gItemFinderDirections
movs r2, 0xA
ldrsh r0, [r4, r2]
adds r0, r1
ldrb r0, [r0]
- bl sub_80C997C
+ bl SetPlayerDirectionTowardsItem
movs r0, 0x1
strh r0, [r4, 0x4]
ldrh r0, [r4, 0xA]
@@ -628,8 +628,8 @@ _080C9A78:
asrs r0, 16
cmp r0, 0x4
bne _080C9AAE
- ldr r1, _080C9AC0 @ =gOtherText_ItemfinderFoundItem
- ldr r2, _080C9AC4 @ =sub_80C9520
+ ldr r1, _080C9AC0 @ =gOtherText_ItemfinderItemUnderfoot
+ ldr r2, _080C9AC4 @ =ExitItemfinder
adds r0, r5, 0
movs r3, 0
bl DisplayItemMessageOnField
@@ -640,10 +640,10 @@ _080C9AAE:
.align 2, 0
_080C9AB4: .4byte gTasks + 0x8
_080C9AB8: .4byte gMapObjects
-_080C9ABC: .4byte gUnknown_083D61F0
-_080C9AC0: .4byte gOtherText_ItemfinderFoundItem
-_080C9AC4: .4byte sub_80C9520
- thumb_func_end sub_80C9A38
+_080C9ABC: .4byte gItemFinderDirections
+_080C9AC0: .4byte gOtherText_ItemfinderItemUnderfoot
+_080C9AC4: .4byte ExitItemfinder
+ thumb_func_end RotatePlayerAndExitItemfinder
thumb_func_start ItemUseOutOfBattle_PokeblockCase
ItemUseOutOfBattle_PokeblockCase: @ 80C9AC8
@@ -680,7 +680,7 @@ _080C9AF4:
movs r0, 0
bl sub_810BA7C
adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
+ bl ItemMenu_ConfirmNormalFade
b _080C9B2A
.align 2, 0
_080C9B14: .4byte gTasks
@@ -691,7 +691,7 @@ _080C9B18:
movs r0, 0x1
bl sub_810BA7C
adds r0, r5, 0
- bl sub_80C9038
+ bl ItemMenu_ConfirmComplexFade
_080C9B2A:
pop {r4,r5}
pop {r0}
@@ -733,7 +733,7 @@ ItemUseOutOfBattle_CoinCase: @ 80C9B38
movs r2, 0xD
movs r3, 0x14
bl MenuZeroFillWindowRect
- ldr r2, _080C9B9C @ =sub_80A5C48
+ ldr r2, _080C9B9C @ =CleanUpItemMenuMessage
adds r0, r5, 0
adds r1, r4, 0
movs r3, 0x1
@@ -744,9 +744,9 @@ _080C9B8C: .4byte gStringVar1
_080C9B90: .4byte gStringVar4
_080C9B94: .4byte gOtherText_Coins3
_080C9B98: .4byte gTasks
-_080C9B9C: .4byte sub_80A5C48
+_080C9B9C: .4byte CleanUpItemMenuMessage
_080C9BA0:
- ldr r2, _080C9BB4 @ =sub_80A5C9C
+ ldr r2, _080C9BB4 @ =CleanUpOverworldMessage
adds r0, r5, 0
adds r1, r4, 0
movs r3, 0
@@ -756,7 +756,7 @@ _080C9BAC:
pop {r0}
bx r0
.align 2, 0
-_080C9BB4: .4byte sub_80A5C9C
+_080C9BB4: .4byte CleanUpOverworldMessage
thumb_func_end ItemUseOutOfBattle_CoinCase
thumb_func_start sub_80C9BB8
@@ -771,7 +771,7 @@ sub_80C9BB8: @ 80C9BB8
cmp r0, 0
beq _080C9BD0
adds r0, r2, 0
- bl sub_80A5C48
+ bl CleanUpItemMenuMessage
_080C9BD0:
pop {r0}
bx r0
@@ -791,7 +791,7 @@ sub_80C9BD8: @ 80C9BD8
cmp r0, 0
beq _080C9BF0
adds r0, r2, 0
- bl sub_80A5C9C
+ bl CleanUpOverworldMessage
_080C9BF0:
pop {r0}
bx r0
@@ -874,7 +874,7 @@ sub_80C9C7C: @ 80C9C7C
ldr r0, _080C9CCC @ =sub_80C9D00
str r0, [r1]
ldr r1, _080C9CD0 @ =gUnknown_0300485C
- ldr r0, _080C9CD4 @ =sub_80A5CC4
+ ldr r0, _080C9CD4 @ =ExecuteItemUseFromBlackPalette
str r0, [r1]
ldr r1, _080C9CD8 @ =gTasks
lsls r0, r4, 2
@@ -886,7 +886,7 @@ sub_80C9C7C: @ 80C9C7C
movs r3, 0
strh r1, [r0, 0x18]
strh r2, [r0, 0x1A]
- ldr r1, _080C9CE0 @ =sub_80A5B00
+ ldr r1, _080C9CE0 @ =HandleItemMenuPaletteFade
str r1, [r0]
movs r0, 0x1
negs r0, r0
@@ -900,10 +900,10 @@ sub_80C9C7C: @ 80C9C7C
_080C9CC8: .4byte gUnknown_03005D00
_080C9CCC: .4byte sub_80C9D00
_080C9CD0: .4byte gUnknown_0300485C
-_080C9CD4: .4byte sub_80A5CC4
+_080C9CD4: .4byte ExecuteItemUseFromBlackPalette
_080C9CD8: .4byte gTasks
_080C9CDC: .4byte c2_exit_to_overworld_2_switch
-_080C9CE0: .4byte sub_80A5B00
+_080C9CE0: .4byte HandleItemMenuPaletteFade
_080C9CE4:
ldr r0, _080C9CFC @ =gScriptItemId
ldrh r0, [r0]
@@ -948,7 +948,7 @@ ItemUseOutOfBattle_WailmerPail: @ 80C9D30
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl WaterBerryTree
+ bl TryToWaterBerryTree
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1005,7 +1005,7 @@ sub_80C9D98: @ 80C9D98
ldr r2, _080C9DAC @ =gUnknown_02038561
movs r1, 0
strb r1, [r2]
- bl unknown_ItemMenu_Confirm
+ bl ItemMenu_ConfirmNormalFade
pop {r0}
bx r0
.align 2, 0
@@ -1072,7 +1072,7 @@ _080C9E10:
movs r0, 0x4
strb r0, [r1]
adds r0, r6, 0
- bl unknown_ItemMenu_Confirm
+ bl ItemMenu_ConfirmNormalFade
pop {r4-r6}
pop {r0}
bx r0
@@ -1340,7 +1340,7 @@ ItemUseOutOfBattle_Repel: @ 80CA014
bl VarSet
bl sub_80C9FDC
ldr r1, _080CA058 @ =gStringVar4
- ldr r2, _080CA05C @ =sub_80A5C48
+ ldr r2, _080CA05C @ =CleanUpItemMenuMessage
adds r0, r4, 0
movs r3, 0x1
bl DisplayItemMessageOnField
@@ -1349,10 +1349,10 @@ ItemUseOutOfBattle_Repel: @ 80CA014
_080CA050: .4byte 0x00004021
_080CA054: .4byte gScriptItemId
_080CA058: .4byte gStringVar4
-_080CA05C: .4byte sub_80A5C48
+_080CA05C: .4byte CleanUpItemMenuMessage
_080CA060:
ldr r1, _080CA074 @ =gOtherText_RepelLingers
- ldr r2, _080CA078 @ =sub_80A5C48
+ ldr r2, _080CA078 @ =CleanUpItemMenuMessage
adds r0, r4, 0
movs r3, 0x1
bl DisplayItemMessageOnField
@@ -1362,7 +1362,7 @@ _080CA06C:
bx r0
.align 2, 0
_080CA074: .4byte gOtherText_RepelLingers
-_080CA078: .4byte sub_80A5C48
+_080CA078: .4byte CleanUpItemMenuMessage
thumb_func_end ItemUseOutOfBattle_Repel
thumb_func_start sub_80CA07C
@@ -1400,7 +1400,7 @@ sub_80CA098: @ 80CA098
movs r0, 0x75
bl PlaySE
ldr r1, _080CA0D4 @ =gStringVar4
- ldr r2, _080CA0D8 @ =sub_80A5C48
+ ldr r2, _080CA0D8 @ =CleanUpItemMenuMessage
adds r0, r4, 0
movs r3, 0x1
bl DisplayItemMessageOnField
@@ -1411,7 +1411,7 @@ _080CA0C8:
.align 2, 0
_080CA0D0: .4byte gTasks
_080CA0D4: .4byte gStringVar4
-_080CA0D8: .4byte sub_80A5C48
+_080CA0D8: .4byte CleanUpItemMenuMessage
thumb_func_end sub_80CA098
thumb_func_start ItemUseOutOfBattle_BlackWhiteFlute
@@ -1616,7 +1616,7 @@ _080CA26C:
movs r3, 0x14
bl MenuZeroFillWindowRect
ldr r1, _080CA28C @ =gOtherText_BoxIsFull
- ldr r2, _080CA290 @ =sub_80A5C48
+ ldr r2, _080CA290 @ =CleanUpItemMenuMessage
adds r0, r4, 0
movs r3, 0x1
bl DisplayItemMessageOnField
@@ -1626,7 +1626,7 @@ _080CA284:
bx r0
.align 2, 0
_080CA28C: .4byte gOtherText_BoxIsFull
-_080CA290: .4byte sub_80A5C48
+_080CA290: .4byte CleanUpItemMenuMessage
thumb_func_end ItemUseInBattle_PokeBall
thumb_func_start sub_80CA294
@@ -1726,7 +1726,7 @@ ItemUseInBattle_StatIncrease: @ 80CA310
cmp r2, 0
beq _080CA374
ldr r1, _080CA36C @ =gOtherText_WontHaveAnyEffect
- ldr r2, _080CA370 @ =sub_80A5C48
+ ldr r2, _080CA370 @ =CleanUpItemMenuMessage
adds r0, r5, 0
movs r3, 0x1
bl DisplayItemMessageOnField
@@ -1737,7 +1737,7 @@ _080CA360: .4byte gUnknown_02024E6C
_080CA364: .4byte gPlayerParty
_080CA368: .4byte gScriptItemId
_080CA36C: .4byte gOtherText_WontHaveAnyEffect
-_080CA370: .4byte sub_80A5C48
+_080CA370: .4byte CleanUpItemMenuMessage
_080CA374:
ldr r0, _080CA38C @ =gTasks
lsls r1, r5, 2
@@ -1898,7 +1898,7 @@ _080CA4A4: .4byte gOtherText_SnapConfusion
_080CA4A8: .4byte sub_80A7094
_080CA4AC:
ldr r1, _080CA4C0 @ =gOtherText_WontHaveAnyEffect
- ldr r2, _080CA4C4 @ =sub_80A5C48
+ ldr r2, _080CA4C4 @ =CleanUpItemMenuMessage
adds r0, r5, 0
movs r3, 0x1
bl DisplayItemMessageOnField
@@ -1908,7 +1908,7 @@ _080CA4B8:
bx r0
.align 2, 0
_080CA4C0: .4byte gOtherText_WontHaveAnyEffect
-_080CA4C4: .4byte sub_80A5C48
+_080CA4C4: .4byte CleanUpItemMenuMessage
thumb_func_end unref_sub_80CA448
thumb_func_start ItemUseInBattle_Escape
diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s
index f3ba5c831..f0e842626 100644
--- a/asm/mystery_event_script.s
+++ b/asm/mystery_event_script.s
@@ -369,7 +369,7 @@ sub_8126438: @ 8126438
mov r7, r8
push {r7}
adds r7, r0, 0
- bl sub_80B4940
+ bl IsEnigmaBerryValid
mov r8, r0
adds r0, r7, 0
bl ScriptReadWord
@@ -385,7 +385,7 @@ sub_8126438: @ 8126438
movs r2, 0x7
bl StringCopyN
adds r0, r4, 0
- bl sub_80B48A8
+ bl SetEnigmaBerry
ldr r4, _0812648C @ =gStringVar2
adds r0, r4, 0
adds r1, r5, 0
@@ -422,7 +422,7 @@ _081264B8:
bl StringExpandPlaceholders
movs r0, 0x2
str r0, [r7, 0x6C]
- bl sub_80B4940
+ bl IsEnigmaBerryValid
cmp r0, 0x1
bne _081264E0
ldr r0, _081264DC @ =0x0000402d
diff --git a/asm/player_pc.s b/asm/player_pc.s
index 7bd8b6c28..3c83fa929 100644
--- a/asm/player_pc.s
+++ b/asm/player_pc.s
@@ -1900,7 +1900,7 @@ sub_813B454: @ 813B454
adds r0, r1
ldr r1, _0813B49C @ =sub_813B4F0
movs r2, 0x1
- bl sub_80F890C
+ bl HandleReadMail
adds r0, r4, 0
bl DestroyTask
_0813B488:
diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s
index fafc452a3..7df634399 100644
--- a/asm/pokeblock_feed.s
+++ b/asm/pokeblock_feed.s
@@ -365,7 +365,7 @@ _08147B70:
str r4, [sp]
str r5, [sp, 0x4]
str r6, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
b _08147C40
.align 2, 0
_08147BAC: .4byte gMonFrontPicTable
diff --git a/asm/pokedex.s b/asm/pokedex.s
index 7d1056231..24488fe3f 100644
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -2336,7 +2336,7 @@ _08091958:
str r4, [sp, 0x8]
movs r4, 0x1
str r4, [sp, 0xC]
- bl sub_800D378
+ bl LoadSpecialPokePic
b _080919CE
.align 2, 0
_0809198C: .4byte gMonFrontPicTable
@@ -2367,7 +2367,7 @@ _0809199C:
str r4, [sp, 0x8]
movs r4, 0x1
str r4, [sp, 0xC]
- bl sub_800D378
+ bl LoadSpecialPokePic
_080919CE:
ldr r0, _08091A40 @ =gMonPaletteTable
adds r0, r6, r0
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 968386bd1..ba1079dec 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -17783,7 +17783,7 @@ sub_80F4824: @ 80F4824
str r5, [sp, 0x4]
str r4, [sp, 0x8]
movs r2, 0x1
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
adds r0, r5, 0
mov r1, r8
adds r2, r4, 0
diff --git a/asm/rom_800D42C.s b/asm/rom_800D42C.s
index 6c0ae19b4..1aefa4444 100644
--- a/asm/rom_800D42C.s
+++ b/asm/rom_800D42C.s
@@ -71369,7 +71369,7 @@ _080317DC:
str r6, [sp, 0x4]
str r7, [sp, 0x8]
adds r0, r5, 0
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
mov r1, r9
lsls r2, r1, 4
movs r0, 0x80
@@ -71533,7 +71533,7 @@ _08031944:
str r6, [sp, 0x4]
str r7, [sp, 0x8]
adds r0, r5, 0
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
mov r1, r9
lsls r2, r1, 4
movs r0, 0x80
@@ -72532,7 +72532,7 @@ _08032114:
ldr r4, [r4]
_08032184:
str r4, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
b _08032202
.align 2, 0
_0803218C: .4byte gUnknown_02024A6A
@@ -72585,7 +72585,7 @@ _080321A4:
add r4, r12
ldr r4, [r4]
str r4, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
_08032202:
ldr r1, _08032318 @ =gUnknown_081FAF4C
mov r2, r10
diff --git a/asm/rom_8077ABC.s b/asm/rom_8077ABC.s
index 9a59c265d..db413817a 100644
--- a/asm/rom_8077ABC.s
+++ b/asm/rom_8077ABC.s
@@ -5036,7 +5036,7 @@ sub_8079F44: @ 8079F44
str r4, [sp, 0x8]
movs r4, 0x1
str r4, [sp, 0xC]
- bl sub_800D378
+ bl LoadSpecialPokePic
b _0807A02E
.align 2, 0
_08079FE0: .4byte gUnknown_0837F5E0
@@ -5071,7 +5071,7 @@ _08079FF0:
str r4, [sp, 0x8]
movs r4, 0
str r4, [sp, 0xC]
- bl sub_800D378
+ bl LoadSpecialPokePic
_0807A02E:
movs r2, 0x80
lsls r2, 18
diff --git a/asm/rom_80859BC.s b/asm/rom_80859BC.s
index 56d991122..8de73e1d7 100644
--- a/asm/rom_80859BC.s
+++ b/asm/rom_80859BC.s
@@ -267,7 +267,7 @@ CreateMonSprite_FieldMove: @ 8085B88
str r3, [sp]
str r5, [sp, 0x4]
str r4, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
adds r0, r5, 0
mov r1, r10
adds r2, r4, 0
@@ -10104,7 +10104,7 @@ sub_808A848: @ 808A848
adds r0, r1
ldr r1, _0808A8A4 @ =sub_808A8A8
movs r2, 0x1
- bl sub_80F890C
+ bl HandleReadMail
_0808A890:
pop {r4,r5}
pop {r0}
diff --git a/asm/rom_8094928.s b/asm/rom_8094928.s
index 2d58c43c2..3685e183d 100644
--- a/asm/rom_8094928.s
+++ b/asm/rom_8094928.s
@@ -7060,7 +7060,7 @@ sub_80981F0: @ 80981F0
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r2, 0x1
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
ldr r1, _08098288 @ =0x000011e8
adds r0, r6, r1
ldr r0, [r0]
@@ -21994,7 +21994,7 @@ _0809F6D2:
str r4, [sp]
str r5, [sp, 0x4]
str r6, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
b _0809F74E
.align 2, 0
_0809F70C: .4byte gMonFrontPicTable
diff --git a/asm/script_pokemon_util_80C4BF0.s b/asm/script_pokemon_util_80C4BF0.s
index b60c9444a..6ce5f0dc7 100644
--- a/asm/script_pokemon_util_80C4BF0.s
+++ b/asm/script_pokemon_util_80C4BF0.s
@@ -654,7 +654,7 @@ ShowContestEntryMonPic: @ 80C5050
str r6, [sp, 0x4]
mov r4, r8
str r4, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
adds r0, r6, 0
mov r1, r9
mov r2, r8
diff --git a/asm/trade.s b/asm/trade.s
index d49f81a62..0448609b7 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -6805,7 +6805,7 @@ _0804B330:
str r5, [sp, 0x4]
mov r4, r9
str r4, [sp, 0x8]
- bl sub_800D334
+ bl HandleLoadSpecialPokePic
mov r0, r10
bl sub_8040990
bl LoadCompressedObjectPalette
diff --git a/data/data_83760F0.s b/data/data_83760F0.s
index 47fb12384..e21f45b0b 100644
--- a/data/data_83760F0.s
+++ b/data/data_83760F0.s
@@ -7366,7 +7366,7 @@ gUnknown_083CC738:: @ 83CC738
.include "data/berries.inc"
.align 2
-gUnknown_083CD780:: @ 83CD780
+gBlankBerryTree:: @ 83CD780
.4byte 0, 0
@ 83CD788
@@ -8850,18 +8850,18 @@ gUnknown_083D61DC:: @ 83D61DC
.4byte Unknown_83D61BC
.align 2
-gUnknown_083D61E4:: @ 83D61E4
+gExitToOverworldFuncList:: @ 83D61E4
.4byte sub_808B020
.4byte c2_exit_to_overworld_2_switch
.4byte sub_810B96C
-gUnknown_083D61F0:: @ 83D61F0
+gItemFinderDirections:: @ 83D61F0
.byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST
.align 2
gUnknown_083D61F4:: @ 83D61F4
.4byte sub_80C9FC0
- .4byte sub_80A5C48
+ .4byte CleanUpItemMenuMessage
.align 2
gSpriteAnim_83D61FC:: @ 83D61FC
@@ -21640,7 +21640,7 @@ gOtherText_CantGetOffBike:: @ 840E929
gOtherText_ItemfinderResponding:: @ 840E94E
.string "Oh!\nThe machine’s responding!\pThere’s an item buried around here!{PAUSE_UNTIL_PRESS}$"
-gOtherText_ItemfinderFoundItem:: @ 840E992
+gOtherText_ItemfinderItemUnderfoot:: @ 840E992
.string "The machine’s indicating something\nright underfoot!{PAUSE_UNTIL_PRESS}$"
gOtherText_NoResponse:: @ 840E9C8
diff --git a/data/specials.inc b/data/specials.inc
index 8025e3b80..d2546d6a5 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -50,7 +50,7 @@ gSpecials::
.4byte FieldObjectInteractionRemoveBerryTree
.4byte FieldObjectInteractionWaterBerryTree
.4byte PlayerHasBerries
- .4byte sub_80B4940
+ .4byte IsEnigmaBerryValid
.4byte sub_8082558
.4byte sub_80826D8
.4byte sub_8082718
diff --git a/include/berry.h b/include/berry.h
index 2b2933412..152f92e38 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -1,16 +1,16 @@
#ifndef GUARD_BERRY_H
#define GUARD_BERRY_H
-void unref_sub_80B4884(void);
-void sub_80B48A8(u8 *src);
-u32 sub_80B48F8(struct EnigmaBerry *enigmaBerry);
-bool32 sub_80B4940(void);
+void ClearEnigmaBerries(void);
+void SetEnigmaBerry(u8 *src);
+u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
+bool32 IsEnigmaBerryValid(void);
struct Berry *GetBerryInfo(u8 berry);
struct BerryTree *GetBerryTreeInfo(u8 id);
bool32 FieldObjectInteractionWaterBerryTree(void);
bool32 IsPlayerFacingPlantedBerryTree(void);
-u8 WaterBerryTree(void);
-void sub_80B4A90(void);
+u8 TryToWaterBerryTree(void);
+void ClearBerryTrees(void);
bool32 BerryTreeGrow(struct BerryTree *tree);
void BerryTreeTimeUpdate(int time);
void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle);
diff --git a/include/decompress.h b/include/decompress.h
index a9bdd341b..28570afdd 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -10,8 +10,8 @@ void LoadCompressedObjectPicOverrideBuffer(const struct SpriteSheet *a, void *bu
void LoadCompressedObjectPalette(const struct SpritePalette *a);
void LoadCompressedObjectPaletteOverrideBuffer(const struct SpritePalette *a, void *buffer);
void DecompressPicFromTable_2(const struct SpriteSheet *a, u8 b, u8 c, void *d, void *e, s32 f);
-void sub_800D334(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g);
-void sub_800D378(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g, u32 h);
+void HandleLoadSpecialPokePic(const struct SpriteSheet *spriteSheet, u32 b, u32 c, u32 d, void *dest, s32 species, u32 g);
+void LoadSpecialPokePic(const struct SpriteSheet *spriteSheet, u32 b, u32 c, u32 d, void *dest, s32 species, u32 g, u32 h);
void Unused_LZDecompressWramIndirect(const void **src, void *dest);
#endif // GUARD_DECOMPRESS_H
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index caef5855f..95ccf2614 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -11,6 +11,35 @@ enum
CONNECTION_EMERGE
};
+// map types
+enum
+{
+ MAP_TYPE_0,
+ MAP_TYPE_TOWN,
+ MAP_TYPE_CITY,
+ MAP_TYPE_ROUTE,
+ MAP_TYPE_UNDERGROUND,
+ MAP_TYPE_UNDERWATER,
+ MAP_TYPE_6,
+ MAP_TYPE_7,
+ MAP_TYPE_INDOOR,
+ MAP_TYPE_SECRET_BASE
+};
+
+// map battle scenes
+enum
+{
+ MAP_BATTLE_SCENE_NORMAL, // 0
+ MAP_BATTLE_SCENE_GYM, // 1
+ MAP_BATTLE_SCENE_MAGMA, // 2
+ MAP_BATTLE_SCENE_AQUA, // 3
+ MAP_BATTLE_SCENE_SIDNEY, // 4
+ MAP_BATTLE_SCENE_PHOEBE, // 5
+ MAP_BATTLE_SCENE_GLACIA, // 6
+ MAP_BATTLE_SCENE_DRAKE, // 7
+ MAP_BATTLE_SCENE_BATTLE_TOWER, // 8
+};
+
typedef void (*TilesetCB)(void);
struct Tileset
@@ -113,7 +142,7 @@ struct MapHeader
u8 name;
u8 cave;
u8 weather;
- /* 0x17 */ u8 light;
+ /* 0x17 */ u8 mapType;
u8 filler_18;
u8 escapeRope;
u8 flags;
diff --git a/include/global.h b/include/global.h
index 4d736cdef..004d9c50d 100644
--- a/include/global.h
+++ b/include/global.h
@@ -66,6 +66,15 @@ enum
OPTIONS_BATTLE_STYLE_SET
};
+enum
+{
+ BAG_ITEMS = 1,
+ BAG_POKEBALLS,
+ BAG_TMsHMs,
+ BAG_BERRIES,
+ BAG_KEYITEMS
+};
+
struct Coords16
{
s16 x;
diff --git a/include/mail.h b/include/mail.h
index 67a190b9c..693b0b2dc 100644
--- a/include/mail.h
+++ b/include/mail.h
@@ -3,6 +3,6 @@
#include "main.h"
-void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2);
+void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2);
#endif // GUARD_MAIL_H
diff --git a/include/rom4.h b/include/rom4.h
index 036f43c36..a182a0bff 100644
--- a/include/rom4.h
+++ b/include/rom4.h
@@ -72,7 +72,7 @@ void player_avatar_init_params_reset(void);
u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3);
u8 sub_8053B60(struct UnkPlayerStruct *playerStruct, u8, u16, u8);
u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void);
-bool32 sub_8053C44(void);
+bool32 IsBikingAllowedByMap(void);
void sub_8053C98(void);
void sub_8053CE4(s32 a1);
u8 sav1_get_flash_used_on_map(void);
diff --git a/include/species.h b/include/species.h
index 5802f782d..7abc6349b 100644
--- a/include/species.h
+++ b/include/species.h
@@ -388,5 +388,6 @@
#define SPECIES_JIRACHI 0x199
#define SPECIES_DEOXYS 0x19a
#define SPECIES_CHIMECHO 0x19b
+#define SPECIES_EGG 0x19c
#endif // GUARD_SPECIES_H
diff --git a/src/battle_setup.c b/src/battle_setup.c
index bb69638c4..ed43b4437 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -304,24 +304,24 @@ s8 sub_8081D3C(void)
return 1;
if (MetatileBehavior_IsSandOrDeepSand(tileBehavior))
return 2;
- switch (gMapHeader.light)
+ switch (gMapHeader.mapType)
{
- case 1:
- case 2:
- case 3:
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
break;
- case 4:
+ case MAP_TYPE_UNDERGROUND:
if (sub_80574C4(tileBehavior))
return 8;
if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
return 5;
return 7;
- case 8:
- case 9:
+ case MAP_TYPE_INDOOR:
+ case MAP_TYPE_SECRET_BASE:
return 8;
- case 5:
+ case MAP_TYPE_UNDERWATER:
return 3;
- case 6:
+ case MAP_TYPE_6:
if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
return 4;
return 9;
@@ -362,11 +362,11 @@ s8 sub_8081E90(void)
if (!MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
{
- switch (gMapHeader.light)
+ switch (gMapHeader.mapType)
{
- case 4:
+ case MAP_TYPE_UNDERGROUND:
return 1;
- case 5:
+ case MAP_TYPE_UNDERWATER:
return 3;
default:
return 0;
@@ -384,7 +384,7 @@ u16 GetSumOfPartyMonLevel(u8 numMons)
{
u32 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
- if (species != 412 && species != 0 && GetMonData(&gPlayerParty[i], MON_DATA_HP) != 0)
+ if (species != SPECIES_EGG && species != SPECIES_NONE && GetMonData(&gPlayerParty[i], MON_DATA_HP) != 0)
{
sum += GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
numMons--;
diff --git a/src/berry.c b/src/berry.c
index aee624c33..9f641262d 100644
--- a/src/berry.c
+++ b/src/berry.c
@@ -11,36 +11,36 @@
extern struct Berry gBerries[];
extern u8 BerryTreeScript;
-extern struct BerryTree gUnknown_083CD780;
+extern struct BerryTree gBlankBerryTree;
extern u16 gScriptItemId;
extern u16 gScriptLastTalked;
extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
extern u16 gSpecialVar_0x8006;
-void unref_sub_80B4884(void)
+// unused
+void ClearEnigmaBerries(void)
{
CpuFill16(0, &gSaveBlock1.enigmaBerry, sizeof(gSaveBlock1.enigmaBerry));
}
-// setEnigmaBerry
-void sub_80B48A8(u8 *src)
+void SetEnigmaBerry(u8 *src)
{
- unsigned int i;
+ u32 i;
u8 *dest = (u8*)&gSaveBlock1.enigmaBerry;
for (i = 0; i < sizeof(gSaveBlock1.enigmaBerry); i++)
dest[i] = src[i];
+
gSaveBlock1.enigmaBerry.berry.description1 = gSaveBlock1.enigmaBerry.description1;
gSaveBlock1.enigmaBerry.berry.description2 = gSaveBlock1.enigmaBerry.description2;
}
-// checksum
-u32 sub_80B48F8(struct EnigmaBerry *enigmaBerry)
+u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
{
u8 *description1;
u8 *description2;
- unsigned int i;
+ u32 i;
u32 checksum;
u8 *dest;
@@ -51,7 +51,7 @@ u32 sub_80B48F8(struct EnigmaBerry *enigmaBerry)
dest = (u8*)enigmaBerry;
checksum = 0;
- for (i = 0; i < ((int)&gSaveBlock1.enigmaBerry.checksum - (int)&gSaveBlock1.enigmaBerry); i++)
+ for (i = 0; i < ((u32)&gSaveBlock1.enigmaBerry.checksum - (u32)&gSaveBlock1.enigmaBerry); i++)
{
checksum += dest[i];
}
@@ -62,20 +62,20 @@ u32 sub_80B48F8(struct EnigmaBerry *enigmaBerry)
return checksum;
}
-bool32 sub_80B4940(void)
+bool32 IsEnigmaBerryValid(void)
{
if (!gSaveBlock1.enigmaBerry.berry.stageDuration)
return FALSE;
if (!gSaveBlock1.enigmaBerry.berry.maxYield)
return FALSE;
- if (sub_80B48F8(&gSaveBlock1.enigmaBerry) != gSaveBlock1.enigmaBerry.checksum)
+ if (GetEnigmaBerryChecksum(&gSaveBlock1.enigmaBerry) != gSaveBlock1.enigmaBerry.checksum)
return FALSE;
return TRUE;
}
struct Berry *GetBerryInfo(u8 berry)
{
- if (berry == 0x2B && sub_80B4940())
+ if (berry == 0x2B && IsEnigmaBerryValid())
return &gSaveBlock1.enigmaBerry.berry;
else
{
@@ -123,7 +123,7 @@ bool32 IsPlayerFacingPlantedBerryTree(void)
return FALSE;
}
-u8 WaterBerryTree(void)
+u8 TryToWaterBerryTree(void)
{
if (GetFieldObjectScriptPointerForComparison() != &BerryTreeScript)
return 0;
@@ -131,11 +131,11 @@ u8 WaterBerryTree(void)
return FieldObjectInteractionWaterBerryTree();
}
-void sub_80B4A90(void)
+void ClearBerryTrees(void)
{
int i;
struct SaveBlock1 *saveBlock1 = &gSaveBlock1;
- struct BerryTree berryTree = gUnknown_083CD780;
+ struct BerryTree berryTree = gBlankBerryTree;
for (i = 0; i < 128; i++)
saveBlock1->berryTrees[i] = berryTree;
@@ -164,7 +164,7 @@ bool32 BerryTreeGrow(struct BerryTree *tree)
tree->berryYield = 0;
tree->stage = 2;
if (++tree->regrowthCount == 10)
- *tree = gUnknown_083CD780;
+ *tree = gBlankBerryTree;
break;
}
return TRUE;
@@ -183,7 +183,7 @@ void BerryTreeTimeUpdate(int time)
{
if (time >= GetStageDurationByBerryType(tree->berry) * 71)
{
- *tree = gUnknown_083CD780;
+ *tree = gBlankBerryTree;
}
else
{
@@ -212,7 +212,7 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle)
{
struct BerryTree *tree = GetBerryTreeInfo(id);
- *tree = gUnknown_083CD780;
+ *tree = gBlankBerryTree;
tree->berry = berry;
tree->secondsUntilNextStage = GetStageDurationByBerryType(berry);
tree->stage = stage;
@@ -229,7 +229,7 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle)
void RemoveBerryTree(u8 id)
{
- gSaveBlock1.berryTrees[id] = gUnknown_083CD780;
+ gSaveBlock1.berryTrees[id] = gBlankBerryTree;
}
u8 GetBerryTypeByBerryTreeId(u8 id)
@@ -387,7 +387,7 @@ void FieldObjectInteractionRemoveBerryTree(void)
u8 PlayerHasBerries(void)
{
- return IsBagPocketNonEmpty(4);
+ return IsBagPocketNonEmpty(BAG_BERRIES);
}
void ResetBerryTreeSparkleFlags(void)
diff --git a/src/decompress.c b/src/decompress.c
index ebfd78ffb..8f573fecb 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -61,50 +61,52 @@ void LoadCompressedObjectPaletteOverrideBuffer(const struct SpritePalette *a, vo
LoadSpritePalette(&spritePalette);
}
-void DecompressPicFromTable_2(const struct SpriteSheet *a, u8 b, u8 c, void *d, void *e, s32 f)
+void DecompressPicFromTable_2(const struct SpriteSheet *a, u8 b, u8 c, void *d, void *e, s32 species)
{
- if (f > 412)
+ if (species > SPECIES_EGG)
LZ77UnCompWram(gMonFrontPicTable[0].data, e);
else
LZ77UnCompWram(a->data, e);
}
-void sub_800D334(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g)
+void HandleLoadSpecialPokePic(const struct SpriteSheet *spriteSheet, u32 b, u32 c, u32 d, void *dest, s32 species, u32 g)
{
- u32 unk;
+ u32 frontOrBack;
+ // gUnknown_081FAF4C appears to be a list of pointers to locations to store poke pics for back and front pic here. the first and third pointers are used for back while the others are used for front.
if (dest == gUnknown_081FAF4C[0] || dest == gUnknown_081FAF4C[2])
- unk = 0;
+ frontOrBack = 0; // backPic
else
- unk = 1;
- sub_800D378(a, b, c, d, dest, f, g, unk);
+ frontOrBack = 1; // frontPic
+
+ LoadSpecialPokePic(spriteSheet, b, c, d, dest, species, g, frontOrBack);
}
-void sub_800D378(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g, u32 h)
+void LoadSpecialPokePic(const struct SpriteSheet *spriteSheet, u32 b, u32 c, u32 d, void *dest, s32 species, u32 g, u32 frontOrBack)
{
- u8 r7 = h;
+ u8 frontOrBack8 = frontOrBack;
- if (f == SPECIES_UNOWN)
+ if (species == SPECIES_UNOWN)
{
- u16 r1 = (((g & 0x3000000) >> 18) | ((g & 0x30000) >> 12) | ((g & 0x300) >> 6) | (g & 3)) % 0x1C;
+ u16 i = (((g & 0x3000000) >> 18) | ((g & 0x30000) >> 12) | ((g & 0x300) >> 6) | (g & 3)) % 0x1C;
- if (r1 == 0)
- r1 = SPECIES_UNOWN;
+ // if it is Unown A, set the index to where Unown begins, otherwise add the egg index to get the correct letter to load.
+ if (i == 0)
+ i = SPECIES_UNOWN;
else
- r1 += 412;
- if (r7 == 0)
- LZ77UnCompWram(gMonBackPicTable[r1].data, dest);
+ i += SPECIES_EGG;
+
+ if (frontOrBack8 == 0)
+ LZ77UnCompWram(gMonBackPicTable[i].data, dest);
else
- LZ77UnCompWram(gMonFrontPicTable[r1].data, dest);
+ LZ77UnCompWram(gMonFrontPicTable[i].data, dest);
}
+ else if (species > SPECIES_EGG) // is species unknown? draw the ? icon
+ LZ77UnCompWram(gMonFrontPicTable[0].data, dest);
else
- {
- if (f > 412)
- LZ77UnCompWram(gMonFrontPicTable[0].data, dest);
- else
- LZ77UnCompWram(a->data, dest);
- }
- DrawSpindaSpots(f, g, dest, r7);
+ LZ77UnCompWram(spriteSheet->data, dest);
+
+ DrawSpindaSpots(species, g, dest, frontOrBack8);
}
void Unused_LZDecompressWramIndirect(const void **src, void *dest)
diff --git a/src/item_use.c b/src/item_use.c
index fb5f3e8b8..af22eddae 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -15,43 +15,43 @@
#include "script.h"
#include "field_player_avatar.h"
#include "sound.h"
+#include "songs.h"
-extern void (* const gUnknown_083D61E4[])();
+extern void (* const gExitToOverworldFuncList[])();
extern void (* gUnknown_03005D00)(u8);
extern void (* gUnknown_0300485C)(void);
-extern void sub_80A5B00(u8);
-extern void sub_80A5CC4(void);
-extern void sub_80C8FAC(u8);
+extern void HandleItemMenuPaletteFade(u8);
+extern void ExecuteItemUseFromBlackPalette(void);
extern void DisplayItemMessageOnField(u8, u8*, TaskFunc, u16);
-extern void sub_80A5C48(u8);
-extern void sub_80A5C9C(u8);
+extern void CleanUpItemMenuMessage(u8);
+extern void CleanUpOverworldMessage(u8);
extern void ItemUseOutOfBattle_TMHM(u8);
extern void ItemUseOutOfBattle_EvolutionStone(u8);
extern void ItemUseOnFieldCB_Bike(u8);
extern void ItemUseOnFieldCB_Rod(u8);
extern void ItemUseOnFieldCB_Itemfinder(u8);
extern void sub_80A5D04(void);
-extern bool8 sub_80E5EF4(void);
+extern bool8 IsBikingDisallowedByPlayer(void);
extern void GetOnOffBike(u8);
-extern void sub_80C9458(u8);
-extern void sub_80C9520(u8);
-extern u8 sub_80C9908(s16, s16);
-extern void sub_80C997C(u8);
-extern void sub_80C99EC(u8);
-extern void sub_80C9A38(u8);
+extern u8 GetPlayerDirectionTowardsHiddenItem(s16, s16);
+extern void SetPlayerDirectionTowardsItem(u8);
+extern void DisplayItemRespondingMessageAndExitItemfinder(u8);
+extern void RotatePlayerAndExitItemfinder(u8);
extern u8 gOtherText_DadsAdvice[];
extern u8 gOtherText_CantGetOffBike[];
extern u8 gOtherText_NoResponse[];
-extern u8 gUnknown_083D61F0[];
+extern u8 gItemFinderDirections[];
extern u16 gScriptItemId;
bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, int);
+void RunItemfinderResults(u8);
+void ExitItemfinder(u8);
-void sub_80C8FAC(u8 taskId)
+void ExecuteSwitchToOverworldFromItemUse(u8 taskId)
{
u8 taskData;
@@ -60,20 +60,20 @@ void sub_80C8FAC(u8 taskId)
else
taskData = ItemId_GetType(gScriptItemId) - 1;
- gTasks[taskId].data[8] = (u32)gUnknown_083D61E4[taskData] >> 16;
- gTasks[taskId].data[9] = (u32)gUnknown_083D61E4[taskData];
- gTasks[taskId].func = sub_80A5B00;
+ gTasks[taskId].data[8] = (u32)gExitToOverworldFuncList[taskData] >> 16;
+ gTasks[taskId].data[9] = (u32)gExitToOverworldFuncList[taskData];
+ gTasks[taskId].func = HandleItemMenuPaletteFade;
}
-void unknown_ItemMenu_Confirm(u8 var)
+void ItemMenu_ConfirmNormalFade(u8 var)
{
- sub_80C8FAC(var);
+ ExecuteSwitchToOverworldFromItemUse(var);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
}
-void sub_80C9038(u8 var)
+void ItemMenu_ConfirmComplexFade(u8 var)
{
- sub_80C8FAC(var);
+ ExecuteSwitchToOverworldFromItemUse(var);
fade_screen(1, 0);
}
@@ -81,34 +81,37 @@ void SetUpItemUseOnFieldCallback(u8 taskId)
{
if(gTasks[taskId].data[2] != 1)
{
- gUnknown_0300485C = (void *)sub_80A5CC4;
- unknown_ItemMenu_Confirm(taskId);
+ gUnknown_0300485C = (void *)ExecuteItemUseFromBlackPalette;
+ ItemMenu_ConfirmNormalFade(taskId);
}
else
gUnknown_03005D00(taskId);
}
-void sub_80C9098(u8 var1, u8 var2, const u8 *var3)
+void HandleDeniedItemUseMessage(u8 var1, u8 playerMenuStatus, const u8 *var3)
{
StringExpandPlaceholders(gStringVar4, var3);
- if(!var2)
+ switch(playerMenuStatus)
{
- MenuZeroFillWindowRect(0, 13, 13, 20);
- DisplayItemMessageOnField(var1, gStringVar4, sub_80A5C48, 1);
+ case 0: // Item Menu
+ MenuZeroFillWindowRect(0, 13, 13, 20);
+ DisplayItemMessageOnField(var1, gStringVar4, CleanUpItemMenuMessage, 1);
+ break;
+ default: // Field
+ DisplayItemMessageOnField(var1, gStringVar4, CleanUpOverworldMessage, 0);
+ break;
}
- else
- DisplayItemMessageOnField(var1, gStringVar4, sub_80A5C9C, 0);
}
-void DisplayDadsAdviceCannotUseItemMessage(u8 var1, u8 var2)
+void DisplayDadsAdviceCannotUseItemMessage(u8 var1, u8 playerMenuStatus)
{
- sub_80C9098(var1, var2, gOtherText_DadsAdvice);
+ HandleDeniedItemUseMessage(var1, playerMenuStatus, gOtherText_DadsAdvice);
}
-void sub_80C9104(u8 var1, u8 var2)
+void DisplayCantGetOffBikeItemMessage(u8 var1, u8 playerMenuStatus)
{
- sub_80C9098(var1, var2, gOtherText_CantGetOffBike);
+ HandleDeniedItemUseMessage(var1, playerMenuStatus, gOtherText_CantGetOffBike);
}
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
@@ -121,14 +124,14 @@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
return 0;
}
-void sub_80C9154(u8 taskId)
+void ItemMenu_ReadMail(u8 taskId)
{
struct MailStruct mailStruct;
if(!gPaletteFade.active)
{
mailStruct.itemId = gScriptItemId;
- sub_80F890C(&mailStruct, sub_80A5D04, 0);
+ HandleReadMail(&mailStruct, sub_80A5D04, 0);
DestroyTask(taskId);
}
}
@@ -136,7 +139,7 @@ void sub_80C9154(u8 taskId)
void ItemUseOutOfBattle_Mail(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
- gTasks[taskId].func = sub_80C9154;
+ gTasks[taskId].func = ItemMenu_ReadMail;
}
void ItemUseOutOfBattle_Bike(u8 taskId)
@@ -147,17 +150,17 @@ void ItemUseOutOfBattle_Bike(u8 taskId)
PlayerGetDestCoords(&x, &y);
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
- if(FlagGet(0x82B) == TRUE
+ if(FlagGet(SYS_CYCLING_ROAD) == TRUE // on cycling road?
|| MetatileBehavior_IsVerticalRail(tileBehavior) == TRUE
|| MetatileBehavior_IsHorizontalRail(tileBehavior) == TRUE
|| MetatileBehavior_IsIsolatedVerticalRail(tileBehavior) == TRUE
|| MetatileBehavior_IsIsolatedHorizontalRail(tileBehavior) == TRUE)
{
- sub_80C9104(taskId, gTasks[taskId].data[2]);
+ DisplayCantGetOffBikeItemMessage(taskId, gTasks[taskId].data[2]);
}
else
{
- if(sub_8053C44() == TRUE && sub_80E5EF4() == FALSE)
+ if(IsBikingAllowedByMap() == TRUE && IsBikingDisallowedByPlayer() == FALSE)
{
gUnknown_03005D00 = (void *)ItemUseOnFieldCB_Bike;
SetUpItemUseOnFieldCallback(taskId);
@@ -236,15 +239,15 @@ void ItemUseOutOfBattle_Itemfinder(u8 var)
void ItemUseOnFieldCB_Itemfinder(u8 taskId)
{
if(ItemfinderCheckForHiddenItems(gMapHeader.events, taskId) == TRUE)
- gTasks[taskId].func = sub_80C9458;
+ gTasks[taskId].func = RunItemfinderResults;
else
- DisplayItemMessageOnField(taskId, gOtherText_NoResponse, sub_80C9520, 0);
+ DisplayItemMessageOnField(taskId, gOtherText_NoResponse, ExitItemfinder, 0);
}
-void sub_80C9458(u8 taskId)
+void RunItemfinderResults(u8 taskId)
{
- u8 var;
u8 playerDir;
+ u8 playerDirToItem;
u8 i;
s16 *data = gTasks[taskId].data;
@@ -252,33 +255,34 @@ void sub_80C9458(u8 taskId)
{
if(data[4] == 4)
{
- var = sub_80C9908(data[0], data[1]);
- if(var)
+ playerDirToItem = GetPlayerDirectionTowardsHiddenItem(data[0], data[1]);
+ if(playerDirToItem)
{
- sub_80C997C(gUnknown_083D61F0[var - 1]);
- gTasks[taskId].func = sub_80C99EC;
+ SetPlayerDirectionTowardsItem(gItemFinderDirections[playerDirToItem - 1]);
+ gTasks[taskId].func = DisplayItemRespondingMessageAndExitItemfinder;
}
- else
+ else // player is above hidden item.
{
playerDir = player_get_direction_lower_nybble();
+ // rotate player clockwise depending on current direction.
for (i = 0; i < 4; i++)
- if (playerDir == gUnknown_083D61F0[i])
+ if (playerDir == gItemFinderDirections[i])
data[5] = (i + 1) & 3;
- gTasks[taskId].func = sub_80C9A38;
+ gTasks[taskId].func = RotatePlayerAndExitItemfinder;
data[3] = 0;
data[2] = 0;
}
return;
}
- PlaySE(0x48);
+ PlaySE(SE_DAUGI); // play the itemfinder jingle 4 times before executing the itemfinder.
data[4]++;
}
data[3] = (data[3] + 1) & 0x1F;
}
-void sub_80C9520(u8 taskId)
+void ExitItemfinder(u8 taskId)
{
MenuZeroFillWindowRect(0, 14, 29, 19);
sub_8064E2C();
diff --git a/src/mail.c b/src/mail.c
index f61c2f00e..191ca2237 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -92,7 +92,7 @@ static void sub_80F8F78(void);
static void sub_80F8FB4(void);
#ifdef NONMATCHING
-void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) {
+void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) {
u16 mailDesign;
u8 buffer[4];
u8 local1;
@@ -151,7 +151,7 @@ void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) {
}
#else
__attribute__((naked))
-void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) {
+void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) {
asm(".syntax unified\n\
push {r4-r6,lr}\n\
sub sp, 0x4\n\
diff --git a/src/new_game.c b/src/new_game.c
index 00797806e..1ffb9c11d 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -119,7 +119,7 @@ void NewGameInitData(void)
sub_80BD7A8();
sub_80BDAB4();
sub_80BB5B4();
- sub_80B4A90();
+ ClearBerryTrees();
gSaveBlock1.money = 3000;
sub_80AB1B0();
sub_80530AC();
diff --git a/src/rom4.c b/src/rom4.c
index 63f42161d..a837b4dfb 100644
--- a/src/rom4.c
+++ b/src/rom4.c
@@ -548,8 +548,8 @@ void sub_8053994(u32 a1)
set_current_map_header_from_sav1_save_old_name();
sub_8053154();
- v2 = is_light_level_1_2_3_5_or_6(gMapHeader.light);
- v3 = is_light_level_8_or_9(gMapHeader.light);
+ v2 = is_light_level_1_2_3_5_or_6(gMapHeader.mapType);
+ v3 = is_light_level_8_or_9(gMapHeader.mapType);
ClearTempFieldEventData();
ResetCyclingRoadChallengeData();
prev_quest_postbuffer_cursor_backup_reset();
@@ -615,7 +615,7 @@ u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3)
return 16;
if (MetatileBehavior_IsSurfableWaterOrUnderwater(a2) == 1)
return 8;
- if (sub_8053C44() != 1)
+ if (IsBikingAllowedByMap() != TRUE)
return 1;
if (playerStruct->player_field_0 == 2)
return 2;
@@ -653,20 +653,28 @@ u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void)
return MapGridGetMetatileBehaviorAt(gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7);
}
-bool32 sub_8053C44(void)
+bool32 IsBikingAllowedByMap(void)
{
+ // is player in cycling road entrance?
if (gSaveBlock1.location.mapGroup == 29 && (gSaveBlock1.location.mapNum == 11 || gSaveBlock1.location.mapNum == 12))
return TRUE;
- if (gMapHeader.light == 8)
+
+ // is player indoor, in a secret base, or underwater?
+ if (gMapHeader.mapType == MAP_TYPE_INDOOR)
return FALSE;
- if (gMapHeader.light == 9)
+ if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE)
return FALSE;
- if (gMapHeader.light == 5)
+ if (gMapHeader.mapType == MAP_TYPE_UNDERWATER)
return FALSE;
+
+ // is player in SeafloorCavern_Room9?
if (gSaveBlock1.location.mapGroup == 24 && gSaveBlock1.location.mapNum == 36)
return FALSE;
+
+ // is player in CaveOfOrigin_B4F?
if (gSaveBlock1.location.mapGroup == 24 && gSaveBlock1.location.mapNum == 42)
return FALSE;
+
return TRUE;
}
@@ -854,7 +862,7 @@ void sub_8053FB0(u16 music)
u8 is_warp1_light_level_8_or_9(void)
{
struct MapHeader *mapHeader = warp1_get_mapheader();
- if (is_light_level_8_or_9(mapHeader->light) == TRUE)
+ if (is_light_level_8_or_9(mapHeader->mapType) == TRUE)
return 2;
else
return 4;
@@ -939,7 +947,7 @@ void sub_8054164(void)
u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum)
{
- return get_mapheader_by_bank_and_number(mapGroup, mapNum)->light;
+ return get_mapheader_by_bank_and_number(mapGroup, mapNum)->mapType;
}
u8 get_map_light_level_from_warp(struct WarpData *warp)