summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-02 11:28:48 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-07 01:46:05 +0800
commit40a808351a5b76b0a536c5fac6c9479284468af8 (patch)
tree859372f605e07b09299a58fe327634408d826715
parent7980c4aa071685983f84861cc7dc69d6daf30a90 (diff)
finished safari_zone
-rw-r--r--asm/battle_2.s4
-rw-r--r--asm/battle_interface.s4
-rw-r--r--asm/battle_records.s4
-rw-r--r--asm/battle_setup.s36
-rw-r--r--asm/battle_tower.s4
-rw-r--r--asm/cable_club.s4
-rw-r--r--asm/field_control_avatar.s2
-rw-r--r--asm/field_effect.s36
-rw-r--r--asm/field_fadetransition.s26
-rw-r--r--asm/field_specials.s8
-rw-r--r--asm/link_rfu_3.s16
-rw-r--r--asm/new_game.s2
-rw-r--r--asm/overworld.s38
-rw-r--r--asm/party_menu.s12
-rw-r--r--asm/safari_zone.s167
-rw-r--r--asm/script_pokemon_util_80A0058.s8
-rw-r--r--asm/start_menu.s10
-rw-r--r--data/map_event_scripts.inc8
-rw-r--r--data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc8
-rw-r--r--data/specials.inc4
-rw-r--r--include/constants/flags.h3
-rw-r--r--include/event_scripts.h5
-rw-r--r--include/field_screen_effect.h1
-rw-r--r--include/overworld.h6
-rw-r--r--include/safari_zone.h3
-rw-r--r--ld_script.txt2
-rw-r--r--src/quest_log.c2
-rw-r--r--src/safari_zone.c80
-rw-r--r--src/scrcmd.c2
-rw-r--r--src/seagallop.c4
-rw-r--r--src/trainer_tower.c2
-rw-r--r--src/wireless_communication_status_screen.c2
-rw-r--r--sym_ewram.txt8
33 files changed, 216 insertions, 305 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 0826ea927..ee7b80ad4 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -13497,7 +13497,7 @@ sub_8016AC0: @ 8016AC0
strh r1, [r0]
ldr r0, _08016B08 @ =gBattle_BG0_Y
strh r1, [r0]
- ldr r1, _08016B0C @ =gUnknown_2039994
+ ldr r1, _08016B0C @ =gNumSafariBalls
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
@@ -13518,7 +13518,7 @@ _08016AFC: .4byte gUnknown_2023BDE
_08016B00: .4byte gUnknown_2023BE2
_08016B04: .4byte gBattle_BG0_X
_08016B08: .4byte gBattle_BG0_Y
-_08016B0C: .4byte gUnknown_2039994
+_08016B0C: .4byte gNumSafariBalls
_08016B10: .4byte gUnknown_2023D68
_08016B14: .4byte gUnknown_2023D74
_08016B18: .4byte gUnknown_81D99B0
diff --git a/asm/battle_interface.s b/asm/battle_interface.s
index fa06f684b..acf228669 100644
--- a/asm/battle_interface.s
+++ b/asm/battle_interface.s
@@ -4307,7 +4307,7 @@ UpdateLeftNoOfBallsTextOnHealthbox: @ 8049D10
ldr r1, _08049D84 @ =gUnknown_83FE81C
mov r0, sp
bl StringCopy
- ldr r1, _08049D88 @ =gUnknown_2039994
+ ldr r1, _08049D88 @ =gNumSafariBalls
ldrb r1, [r1]
movs r2, 0
movs r3, 0x2
@@ -4351,7 +4351,7 @@ UpdateLeftNoOfBallsTextOnHealthbox: @ 8049D10
bx r0
.align 2, 0
_08049D84: .4byte gUnknown_83FE81C
-_08049D88: .4byte gUnknown_2039994
+_08049D88: .4byte gNumSafariBalls
_08049D8C: .4byte gSprites
_08049D90: .4byte 0x060102c0
_08049D94: .4byte 0x06010a00
diff --git a/asm/battle_records.s b/asm/battle_records.s
index e48a0025e..d0a99b4cf 100644
--- a/asm/battle_records.s
+++ b/asm/battle_records.s
@@ -287,7 +287,7 @@ sub_80CD460: @ 80CD460
ands r0, r1
cmp r0, 0
bne _080CD490
- ldr r0, _080CD49C @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _080CD49C @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
ldr r0, _080CD4A0 @ =gUnknown_2039A1C
ldr r0, [r0]
@@ -303,7 +303,7 @@ _080CD490:
bx r0
.align 2, 0
_080CD498: .4byte gPaletteFade
-_080CD49C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_080CD49C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
_080CD4A0: .4byte gUnknown_2039A1C
thumb_func_end sub_80CD460
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
index a13c1a418..d3365694f 100644
--- a/asm/battle_setup.s
+++ b/asm/battle_setup.s
@@ -221,7 +221,7 @@ sub_807F7D8: @ 807F7D8
bl player_bitmagic
bl sub_805C780
ldr r1, _0807F804 @ =gMain
- ldr r0, _0807F808 @ =sub_80A0F4C
+ ldr r0, _0807F808 @ =CB2_EndSafariBattle
str r0, [r1, 0x8]
ldr r1, _0807F80C @ =gBattleTypeFlags
movs r0, 0x80
@@ -235,7 +235,7 @@ sub_807F7D8: @ 807F7D8
bx r0
.align 2, 0
_0807F804: .4byte gMain
-_0807F808: .4byte sub_80A0F4C
+_0807F808: .4byte CB2_EndSafariBattle
_0807F80C: .4byte gBattleTypeFlags
thumb_func_end sub_807F7D8
@@ -300,7 +300,7 @@ sub_807F888: @ 807F888
bl CreateMaleMon
bl ScriptContext2_Enable
ldr r1, _0807F8B8 @ =gMain
- ldr r0, _0807F8BC @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _0807F8BC @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
str r0, [r1, 0x8]
ldr r1, _0807F8C0 @ =gBattleTypeFlags
movs r0, 0x80
@@ -314,7 +314,7 @@ sub_807F888: @ 807F888
.align 2, 0
_0807F8B4: .4byte gEnemyParty
_0807F8B8: .4byte gMain
-_0807F8BC: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_0807F8BC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
_0807F8C0: .4byte gBattleTypeFlags
thumb_func_end sub_807F888
@@ -679,14 +679,14 @@ _0807FBD4: .4byte 0x01000100
_0807FBD8: .4byte gBattleOutcome
_0807FBDC: .4byte c2_whiteout
_0807FBE0:
- ldr r0, _0807FBEC @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _0807FBEC @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
_0807FBE6:
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
-_0807FBEC: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_0807FBEC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_807FBA0
thumb_func_start sub_807FBF0
@@ -731,7 +731,7 @@ _0807FC40:
movs r0, 0x1
strh r0, [r1]
_0807FC46:
- ldr r0, _0807FC58 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _0807FC58 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
_0807FC4C:
add sp, 0x4
@@ -740,7 +740,7 @@ _0807FC4C:
bx r0
.align 2, 0
_0807FC54: .4byte gSpecialVar_Result
-_0807FC58: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_0807FC58: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_807FBF0
thumb_func_start sub_807FC5C
@@ -1878,14 +1878,14 @@ _080804E8:
movs r1, 0
strh r1, [r0]
_080804EE:
- ldr r0, _08080504 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _08080504 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
bl sub_80803FC
bl sub_81139BC
b _0808054E
.align 2, 0
_08080500: .4byte gSpecialVar_Result
-_08080504: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_08080504: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
_08080508:
ldr r0, _0808051C @ =gTrainerBattleOpponent_A
ldrh r1, [r0]
@@ -1893,12 +1893,12 @@ _08080508:
lsls r0, 3
cmp r1, r0
bne _08080524
- ldr r0, _08080520 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _08080520 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
b _0808054E
.align 2, 0
_0808051C: .4byte gTrainerBattleOpponent_A
-_08080520: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_08080520: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
_08080524:
ldr r0, _08080538 @ =gBattleOutcome
ldrb r0, [r0]
@@ -1913,7 +1913,7 @@ _08080530:
_08080538: .4byte gBattleOutcome
_0808053C: .4byte c2_whiteout
_08080540:
- ldr r0, _08080554 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _08080554 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
bl sub_80803FC
bl sub_81139BC
@@ -1921,7 +1921,7 @@ _0808054E:
pop {r0}
bx r0
.align 2, 0
-_08080554: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_08080554: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80804AC
thumb_func_start sub_8080558
@@ -1933,12 +1933,12 @@ sub_8080558: @ 8080558
lsls r0, 3
cmp r1, r0
bne _08080578
- ldr r0, _08080574 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _08080574 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
b _080805A6
.align 2, 0
_08080570: .4byte gTrainerBattleOpponent_A
-_08080574: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_08080574: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
_08080578:
ldr r0, _0808058C @ =gBattleOutcome
ldrb r0, [r0]
@@ -1952,7 +1952,7 @@ _08080578:
_0808058C: .4byte gBattleOutcome
_08080590: .4byte c2_whiteout
_08080594:
- ldr r0, _080805AC @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _080805AC @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
bl sub_80803FC
bl sub_810CDE8
@@ -1961,7 +1961,7 @@ _080805A6:
pop {r0}
bx r0
.align 2, 0
-_080805AC: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_080805AC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_8080558
thumb_func_start sub_80805B0
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 503a6343e..01ac780a2 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -2010,14 +2010,14 @@ _080E68A8: .4byte gPlayerParty
_080E68AC:
bl sub_80E7550
_080E68B0:
- ldr r0, _080E68C0 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _080E68C0 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
add sp, 0x4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080E68C0: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_080E68C0: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80E6854
thumb_func_start sub_80E68C4
diff --git a/asm/cable_club.s b/asm/cable_club.s
index ff11c4cef..85f6243b4 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -2387,13 +2387,13 @@ sp02A_crash_sound: @ 8081A1C
push {lr}
ldr r0, _08081A2C @ =gSpecialVar_0x8006
ldrb r0, [r0]
- ldr r1, _08081A30 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r1, _08081A30 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl sub_808B700
pop {r0}
bx r0
.align 2, 0
_08081A2C: .4byte gSpecialVar_0x8006
-_08081A30: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_08081A30: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sp02A_crash_sound
thumb_func_start sub_8081A34
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index c6476053a..b2f9e70bf 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -1840,7 +1840,7 @@ _0806D704:
.align 2, 0
_0806D71C: .4byte gUnknown_81BF546
_0806D720:
- bl sub_80A0F0C
+ bl SafariZoneTakeStep
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/field_effect.s b/asm/field_effect.s
index 3655d2830..7bd1abe80 100644
--- a/asm/field_effect.s
+++ b/asm/field_effect.s
@@ -2039,8 +2039,8 @@ _08084350:
cmp r0, 0
bne _08084376
bl sub_8054CA0
- bl warp_in
- ldr r0, _08084384 @ =sub_805671C
+ bl WarpIntoMap
+ ldr r0, _08084384 @ =CB2_LoadMap
bl SetMainCallback2
ldr r1, _08084388 @ =gFieldCallback
ldr r0, _0808438C @ =mapldr_08084390
@@ -2054,7 +2054,7 @@ _08084376:
.align 2, 0
_0808437C: .4byte gTasks
_08084380: .4byte gFieldEffectArguments
-_08084384: .4byte sub_805671C
+_08084384: .4byte CB2_LoadMap
_08084388: .4byte gFieldCallback
_0808438C: .4byte mapldr_08084390
thumb_func_end task00_8084310
@@ -2860,11 +2860,11 @@ sub_80849A0: @ 80849A0
cmp r0, 0x1
bne _080849DC
bl sub_809C460
- bl warp_in
+ bl WarpIntoMap
ldr r1, _080849E4 @ =gFieldCallback
ldr r0, _080849E8 @ =sub_80849F4
str r0, [r1]
- ldr r0, _080849EC @ =sub_805671C
+ ldr r0, _080849EC @ =CB2_LoadMap
bl SetMainCallback2
ldr r0, _080849F0 @ =sub_80847C0
bl FindTaskIdByFunc
@@ -2878,7 +2878,7 @@ _080849DC:
_080849E0: .4byte gPaletteFade
_080849E4: .4byte gFieldCallback
_080849E8: .4byte sub_80849F4
-_080849EC: .4byte sub_805671C
+_080849EC: .4byte CB2_LoadMap
_080849F0: .4byte sub_80847C0
thumb_func_end sub_80849A0
@@ -3883,11 +3883,11 @@ sub_8085168: @ 8085168
lsrs r0, 24
cmp r0, 0x1
bne _080851A0
- bl warp_in
+ bl WarpIntoMap
ldr r1, _080851AC @ =gFieldCallback
ldr r0, _080851B0 @ =mapldr_080851BC
str r0, [r1]
- ldr r0, _080851B4 @ =sub_805671C
+ ldr r0, _080851B4 @ =CB2_LoadMap
bl SetMainCallback2
ldr r0, _080851B8 @ =sub_8084F44
bl FindTaskIdByFunc
@@ -3902,7 +3902,7 @@ _080851A0:
_080851A8: .4byte gPaletteFade
_080851AC: .4byte gFieldCallback
_080851B0: .4byte mapldr_080851BC
-_080851B4: .4byte sub_805671C
+_080851B4: .4byte CB2_LoadMap
_080851B8: .4byte sub_8084F44
thumb_func_end sub_8085168
@@ -4388,11 +4388,11 @@ sub_808554C: @ 808554C
lsrs r0, 24
cmp r0, 0x1
bne _08085584
- bl warp_in
+ bl WarpIntoMap
ldr r1, _08085590 @ =gFieldCallback
ldr r0, _08085594 @ =sub_8084454
str r0, [r1]
- ldr r0, _08085598 @ =sub_805671C
+ ldr r0, _08085598 @ =CB2_LoadMap
bl SetMainCallback2
ldr r0, _0808559C @ =sub_80853E4
bl FindTaskIdByFunc
@@ -4407,7 +4407,7 @@ _08085584:
_0808558C: .4byte gPaletteFade
_08085590: .4byte gFieldCallback
_08085594: .4byte sub_8084454
-_08085598: .4byte sub_805671C
+_08085598: .4byte CB2_LoadMap
_0808559C: .4byte sub_80853E4
thumb_func_end sub_808554C
@@ -4612,11 +4612,11 @@ _08085702:
adds r0, r6, 0
bl FieldObjectSetDirection
bl sub_80555E0
- bl warp_in
+ bl WarpIntoMap
ldr r1, _0808575C @ =gFieldCallback
ldr r0, _08085760 @ =sub_80859D4
str r0, [r1]
- ldr r0, _08085764 @ =sub_805671C
+ ldr r0, _08085764 @ =CB2_LoadMap
bl SetMainCallback2
ldr r0, _08085768 @ =sub_808563C
bl FindTaskIdByFunc
@@ -4631,7 +4631,7 @@ _08085750:
_08085758: .4byte gPaletteFade
_0808575C: .4byte gFieldCallback
_08085760: .4byte sub_80859D4
-_08085764: .4byte sub_805671C
+_08085764: .4byte CB2_LoadMap
_08085768: .4byte sub_808563C
thumb_func_end sub_8085690
@@ -5406,8 +5406,8 @@ sub_8085D34: @ 8085D34
cmp r0, 0x1
bne _08085D70
bl copy_saved_warp3_bank_and_enter_x_to_warp1
- bl warp_in
- ldr r0, _08085D78 @ =sub_805671C
+ bl WarpIntoMap
+ ldr r0, _08085D78 @ =CB2_LoadMap
bl SetMainCallback2
ldr r1, _08085D7C @ =gFieldCallback
ldr r0, _08085D80 @ =mapldr_08085D88
@@ -5422,7 +5422,7 @@ _08085D70:
bx r0
.align 2, 0
_08085D74: .4byte gPaletteFade
-_08085D78: .4byte sub_805671C
+_08085D78: .4byte CB2_LoadMap
_08085D7C: .4byte gFieldCallback
_08085D80: .4byte mapldr_08085D88
_08085D84: .4byte sub_8085B78
diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s
index 6939ccac0..b2eb846e7 100644
--- a/asm/field_fadetransition.s
+++ b/asm/field_fadetransition.s
@@ -1411,7 +1411,7 @@ _0807E632:
strh r0, [r4, 0x8]
b _0807E64A
_0807E63A:
- bl warp_in
+ bl WarpIntoMap
ldr r0, _0807E650 @ =sub_8056788
bl SetMainCallback2
adds r0, r5, 0
@@ -1494,8 +1494,8 @@ _0807E6DC:
ldrb r0, [r0]
cmp r0, 0
bne _0807E6F4
- bl warp_in
- ldr r0, _0807E700 @ =sub_805671C
+ bl WarpIntoMap
+ ldr r0, _0807E700 @ =CB2_LoadMap
bl SetMainCallback2
adds r0, r5, 0
bl DestroyTask
@@ -1505,7 +1505,7 @@ _0807E6F4:
bx r0
.align 2, 0
_0807E6FC: .4byte gReceivedRemoteLinkPlayers
-_0807E700: .4byte sub_805671C
+_0807E700: .4byte CB2_LoadMap
thumb_func_end sub_807E678
thumb_func_start sub_807E704
@@ -1563,8 +1563,8 @@ _0807E762:
strh r0, [r4, 0x8]
b _0807E77A
_0807E76A:
- bl warp_in
- ldr r0, _0807E780 @ =sub_805671C
+ bl WarpIntoMap
+ ldr r0, _0807E780 @ =CB2_LoadMap
bl SetMainCallback2
adds r0, r5, 0
bl DestroyTask
@@ -1573,7 +1573,7 @@ _0807E77A:
pop {r0}
bx r0
.align 2, 0
-_0807E780: .4byte sub_805671C
+_0807E780: .4byte CB2_LoadMap
thumb_func_end sub_807E718
thumb_func_start sub_807E784
@@ -1630,8 +1630,8 @@ _0807E7EA:
strh r0, [r4, 0x8]
b _0807E802
_0807E7F2:
- bl warp_in
- ldr r0, _0807E808 @ =sub_805671C
+ bl WarpIntoMap
+ ldr r0, _0807E808 @ =CB2_LoadMap
bl SetMainCallback2
adds r0, r5, 0
bl DestroyTask
@@ -1640,7 +1640,7 @@ _0807E802:
pop {r0}
bx r0
.align 2, 0
-_0807E808: .4byte sub_805671C
+_0807E808: .4byte CB2_LoadMap
thumb_func_end sub_807E784
thumb_func_start sub_807E80C
@@ -1957,8 +1957,8 @@ _0807EA9A:
ldr r0, _0807EAB8 @ =gFieldCallback
ldr r1, _0807EABC @ =sub_807DF64
str r1, [r0]
- bl warp_in
- ldr r0, _0807EAC0 @ =sub_805671C
+ bl WarpIntoMap
+ ldr r0, _0807EAC0 @ =CB2_LoadMap
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
@@ -1970,7 +1970,7 @@ _0807EAB0:
.align 2, 0
_0807EAB8: .4byte gFieldCallback
_0807EABC: .4byte sub_807DF64
-_0807EAC0: .4byte sub_805671C
+_0807EAC0: .4byte CB2_LoadMap
thumb_func_end sub_807E980
thumb_func_start sub_807EAC4
diff --git a/asm/field_specials.s b/asm/field_specials.s
index fe4ac2b2d..40645fb85 100644
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -268,13 +268,13 @@ _080CA7E6:
sub_80CA7EC: @ 80CA7EC
push {lr}
bl sub_8112364
- ldr r1, _080CA800 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r1, _080CA800 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
movs r0, 0x1
bl sub_80BFF50
pop {r0}
bx r0
.align 2, 0
-_080CA800: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_080CA800: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80CA7EC
thumb_func_start sub_80CA804
@@ -3469,7 +3469,7 @@ ChangeBoxPokemonNickname_CB: @ 80CC064
ldrb r1, [r1]
ldr r2, _080CC084 @ =gStringVar2
bl SetBoxMonNickFromAnyBox
- bl c2_exit_to_overworld_1_continue_scripts_restart_music
+ bl CB2_ReturnToFieldContinueScriptPlayMapMusic
pop {r0}
bx r0
.align 2, 0
@@ -3577,7 +3577,7 @@ ChangePokemonNickname_CB: @ 80CC144
ldr r2, _080CC16C @ =gStringVar2
movs r1, 0x2
bl SetMonData
- bl c2_exit_to_overworld_1_continue_scripts_restart_music
+ bl CB2_ReturnToFieldContinueScriptPlayMapMusic
pop {r0}
bx r0
.align 2, 0
diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s
index 111161c06..4bffa31c5 100644
--- a/asm/link_rfu_3.s
+++ b/asm/link_rfu_3.s
@@ -3367,7 +3367,7 @@ sub_8117440: @ 8117440
movs r0, 0
mov r3, r8
bl SetDynamicWarpWithCoords
- bl warp_in
+ bl WarpIntoMap
add sp, 0x8
pop {r3}
mov r8, r3
@@ -3424,7 +3424,7 @@ sub_81174B4: @ 81174B4
adds r1, r5, 0
mov r3, r8
bl Overworld_SetWarpDestination
- bl warp_in
+ bl WarpIntoMap
add sp, 0x4
pop {r3}
mov r8, r3
@@ -3763,21 +3763,21 @@ _08117890:
bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
- ldr r1, _081178AC @ =sub_805671C
+ ldr r1, _081178AC @ =CB2_LoadMap
bl sub_8147AA8
b _081178E0
.align 2, 0
-_081178AC: .4byte sub_805671C
+_081178AC: .4byte CB2_LoadMap
_081178B0:
movs r0, 0x7
movs r1, 0x9
movs r2, 0x1
bl sub_8117440
- ldr r0, _081178C4 @ =sub_805671C
+ ldr r0, _081178C4 @ =CB2_LoadMap
bl sub_814B754
b _081178E0
.align 2, 0
-_081178C4: .4byte sub_805671C
+_081178C4: .4byte CB2_LoadMap
_081178C8:
movs r0, 0x8
movs r1, 0x5
@@ -3786,7 +3786,7 @@ _081178C8:
bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
- ldr r1, _081178F8 @ =sub_805671C
+ ldr r1, _081178F8 @ =CB2_LoadMap
bl sub_81507FC
_081178E0:
adds r0, r4, 0
@@ -3800,7 +3800,7 @@ _081178E0:
pop {r0}
bx r0
.align 2, 0
-_081178F8: .4byte sub_805671C
+_081178F8: .4byte CB2_LoadMap
_081178FC: .4byte gSpecialVar_Result
thumb_func_end sub_81175BC
diff --git a/asm/new_game.s b/asm/new_game.s
index ad4983770..e2b9c876f 100644
--- a/asm/new_game.s
+++ b/asm/new_game.s
@@ -159,7 +159,7 @@ sub_80549F8: @ 80549F8
movs r1, 0x1
movs r3, 0x6
bl Overworld_SetWarpDestination
- bl warp_in
+ bl WarpIntoMap
add sp, 0x4
pop {r0}
bx r0
diff --git a/asm/overworld.s b/asm/overworld.s
index aacb22510..be0fc577f 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -22,7 +22,7 @@ sub_8054BC8: @ 8054BC8
bl sp000_heal_pokemon
bl sub_8054DD8
bl sub_80554BC
- bl warp_in
+ bl WarpIntoMap
pop {r4}
pop {r0}
bx r0
@@ -993,15 +993,15 @@ _0805536C:
_08055374: .4byte gMapHeader
thumb_func_end update_camera_pos_from_warpid
- thumb_func_start warp_in
-warp_in: @ 8055378
+ thumb_func_start WarpIntoMap
+WarpIntoMap: @ 8055378
push {lr}
bl warp_shift
bl set_current_map_header_from_sav1_save_old_name
bl update_camera_pos_from_warpid
pop {r0}
bx r0
- thumb_func_end warp_in
+ thumb_func_end WarpIntoMap
thumb_func_start Overworld_SetWarpDestination
Overworld_SetWarpDestination: @ 805538C
@@ -3571,8 +3571,8 @@ _08056714: .4byte sub_8056534
_08056718: .4byte sub_80565B4
thumb_func_end c2_whiteout
- thumb_func_start sub_805671C
-sub_805671C: @ 805671C
+ thumb_func_start CB2_LoadMap
+CB2_LoadMap: @ 805671C
push {lr}
bl sub_80569BC
bl ScriptContext1_Init
@@ -3590,7 +3590,7 @@ sub_805671C: @ 805671C
_08056740: .4byte sub_80C9BFC
_08056744: .4byte gMain
_08056748: .4byte sub_805674C
- thumb_func_end sub_805671C
+ thumb_func_end CB2_LoadMap
thumb_func_start sub_805674C
sub_805674C: @ 805674C
@@ -3784,8 +3784,8 @@ _080568D8: .4byte gFieldCallback
_080568DC: .4byte sub_807DD44
thumb_func_end sub_80568C4
- thumb_func_start c2_exit_to_overworld_1_continue_scripts_restart_music
-c2_exit_to_overworld_1_continue_scripts_restart_music: @ 80568E0
+ thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic
+CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0
push {lr}
bl sub_80569BC
ldr r1, _080568F4 @ =gFieldCallback
@@ -3797,7 +3797,7 @@ c2_exit_to_overworld_1_continue_scripts_restart_music: @ 80568E0
.align 2, 0
_080568F4: .4byte gFieldCallback
_080568F8: .4byte FieldCallback_ReturnToEventScript2
- thumb_func_end c2_exit_to_overworld_1_continue_scripts_restart_music
+ thumb_func_end CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_start sub_80568FC
sub_80568FC: @ 80568FC
@@ -3858,14 +3858,14 @@ CB2_ContinueSavedGame: @ 8056938
bne _0805699C
bl sav2_x9_clear_bit1
bl warp1_set_to_sav1w
- bl warp_in
- ldr r0, _08056998 @ =sub_805671C
+ bl WarpIntoMap
+ ldr r0, _08056998 @ =CB2_LoadMap
bl SetMainCallback2
b _080569AC
.align 2, 0
_08056990: .4byte gFieldCallback2
_08056994: .4byte gUnknown_2031DE0
-_08056998: .4byte sub_805671C
+_08056998: .4byte CB2_LoadMap
_0805699C:
ldr r0, _080569B0 @ =gFieldCallback
ldr r1, _080569B4 @ =sub_8056918
@@ -5139,14 +5139,14 @@ sub_8057430: @ 8057430
bne _08057490
bl sav2_x9_clear_bit1
bl warp1_set_to_sav1w
- bl warp_in
- ldr r0, _0805748C @ =sub_805671C
+ bl WarpIntoMap
+ ldr r0, _0805748C @ =CB2_LoadMap
bl SetMainCallback2
b _0805749A
.align 2, 0
_08057484: .4byte gUnknown_2036E28
_08057488: .4byte gUnknown_2031DE0
-_0805748C: .4byte sub_805671C
+_0805748C: .4byte CB2_LoadMap
_08057490:
ldr r0, _080574A0 @ =sub_8056534
bl sub_80565E0
@@ -5304,7 +5304,7 @@ _08057560:
adds r0, r4
ldrh r0, [r0, 0x4]
strh r0, [r1]
- bl warp_in
+ bl WarpIntoMap
ldr r2, _08057610 @ =gPaletteFade
ldrb r0, [r2, 0x8]
movs r1, 0x80
@@ -5620,7 +5620,7 @@ sub_8057854: @ 8057854
cmp r0, 0
bne _08057876
bl CleanupOverworldWindowsAndTilemaps
- ldr r0, _08057880 @ =sub_805671C
+ ldr r0, _08057880 @ =CB2_LoadMap
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
@@ -5630,7 +5630,7 @@ _08057876:
bx r0
.align 2, 0
_0805787C: .4byte gPaletteFade
-_08057880: .4byte sub_805671C
+_08057880: .4byte CB2_LoadMap
thumb_func_end sub_8057854
thumb_func_start c1_link_related
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 58f7529e2..07db16817 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -17844,7 +17844,7 @@ sub_812781C: @ 812781C
str r0, [sp]
ldr r0, _08127848 @ =sub_811FB28
str r0, [sp, 0x4]
- ldr r0, _0812784C @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _0812784C @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -17855,13 +17855,13 @@ sub_812781C: @ 812781C
.align 2, 0
_08127844: .4byte gSpecialVar_0x8005
_08127848: .4byte sub_811FB28
-_0812784C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_0812784C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
_08127850:
movs r0, 0x7F
str r0, [sp]
ldr r0, _08127878 @ =sub_8126DC8
str r0, [sp, 0x4]
- ldr r0, _0812787C @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _0812787C @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -17878,7 +17878,7 @@ _08127870:
bx r0
.align 2, 0
_08127878: .4byte sub_8126DC8
-_0812787C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_0812787C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
_08127880: .4byte gUnknown_203B0A0
_08127884: .4byte gSpecialVar_0x8007
thumb_func_end sub_812781C
@@ -17891,7 +17891,7 @@ sub_8127888: @ 8127888
str r0, [sp]
ldr r0, _081278AC @ =sub_811FB28
str r0, [sp, 0x4]
- ldr r0, _081278B0 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _081278B0 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
str r0, [sp, 0x8]
movs r0, 0xB
movs r1, 0
@@ -17903,7 +17903,7 @@ sub_8127888: @ 8127888
bx r0
.align 2, 0
_081278AC: .4byte sub_811FB28
-_081278B0: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_081278B0: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_8127888
thumb_func_start sub_81278B4
diff --git a/asm/safari_zone.s b/asm/safari_zone.s
deleted file mode 100644
index 4bc9d6eb7..000000000
--- a/asm/safari_zone.s
+++ /dev/null
@@ -1,167 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetSafariZoneFlag
-GetSafariZoneFlag: @ 80A0E90
- push {lr}
- movs r0, 0x80
- lsls r0, 4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetSafariZoneFlag
-
- thumb_func_start sub_80A0EA4
-sub_80A0EA4: @ 80A0EA4
- push {lr}
- movs r0, 0x80
- lsls r0, 4
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end sub_80A0EA4
-
- thumb_func_start ResetSafariZoneFlag
-ResetSafariZoneFlag: @ 80A0EB4
- push {lr}
- movs r0, 0x80
- lsls r0, 4
- bl FlagClear
- pop {r0}
- bx r0
- thumb_func_end ResetSafariZoneFlag
-
- thumb_func_start sub_80A0EC4
-sub_80A0EC4: @ 80A0EC4
- push {lr}
- movs r0, 0x11
- bl IncrementGameStat
- bl sub_80A0EA4
- ldr r1, _080A0EE4 @ =gUnknown_2039994
- movs r0, 0x1E
- strb r0, [r1]
- ldr r1, _080A0EE8 @ =gUnknown_2039996
- movs r2, 0x96
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A0EE4: .4byte gUnknown_2039994
-_080A0EE8: .4byte gUnknown_2039996
- thumb_func_end sub_80A0EC4
-
- thumb_func_start sub_80A0EEC
-sub_80A0EEC: @ 80A0EEC
- push {lr}
- bl ResetSafariZoneFlag
- ldr r1, _080A0F04 @ =gUnknown_2039994
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080A0F08 @ =gUnknown_2039996
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A0F04: .4byte gUnknown_2039994
-_080A0F08: .4byte gUnknown_2039996
- thumb_func_end sub_80A0EEC
-
- thumb_func_start sub_80A0F0C
-sub_80A0F0C: @ 80A0F0C
- push {lr}
- bl GetSafariZoneFlag
- cmp r0, 0
- beq _080A0F24
- ldr r1, _080A0F28 @ =gUnknown_2039996
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080A0F2C
-_080A0F24:
- movs r0, 0
- b _080A0F34
- .align 2, 0
-_080A0F28: .4byte gUnknown_2039996
-_080A0F2C:
- ldr r0, _080A0F38 @ =gUnknown_81BFBC5
- bl ScriptContext1_SetupScript
- movs r0, 0x1
-_080A0F34:
- pop {r1}
- bx r1
- .align 2, 0
-_080A0F38: .4byte gUnknown_81BFBC5
- thumb_func_end sub_80A0F0C
-
- thumb_func_start sub_80A0F3C
-sub_80A0F3C: @ 80A0F3C
- push {lr}
- ldr r0, _080A0F48 @ =gUnknown_81BFBAA
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080A0F48: .4byte gUnknown_81BFBAA
- thumb_func_end sub_80A0F3C
-
- thumb_func_start sub_80A0F4C
-sub_80A0F4C: @ 80A0F4C
- push {lr}
- ldr r0, _080A0F60 @ =gUnknown_2039994
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A0F68
- ldr r0, _080A0F64 @ =CB2_ReturnToField
- bl SetMainCallback2
- b _080A0FB0
- .align 2, 0
-_080A0F60: .4byte gUnknown_2039994
-_080A0F64: .4byte CB2_ReturnToField
-_080A0F68:
- ldr r0, _080A0F88 @ =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080A0F9C
- ldr r0, _080A0F8C @ =gUnknown_81BFB87
- bl ScriptContext2_RunNewScript
- bl warp_in
- ldr r1, _080A0F90 @ =gFieldCallback
- ldr r0, _080A0F94 @ =sub_807E3EC
- str r0, [r1]
- ldr r0, _080A0F98 @ =sub_805671C
- bl SetMainCallback2
- b _080A0FB0
- .align 2, 0
-_080A0F88: .4byte gBattleOutcome
-_080A0F8C: .4byte gUnknown_81BFB87
-_080A0F90: .4byte gFieldCallback
-_080A0F94: .4byte sub_807E3EC
-_080A0F98: .4byte sub_805671C
-_080A0F9C:
- cmp r0, 0x7
- bne _080A0FB0
- ldr r0, _080A0FB4 @ =gUnknown_81BFBD7
- bl ScriptContext1_SetupScript
- bl ScriptContext1_Stop
- ldr r0, _080A0FB8 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_080A0FB0:
- pop {r0}
- bx r0
- .align 2, 0
-_080A0FB4: .4byte gUnknown_81BFBD7
-_080A0FB8: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_80A0F4C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s
index 60f416b48..6b4cdd1a8 100644
--- a/asm/script_pokemon_util_80A0058.s
+++ b/asm/script_pokemon_util_80A0058.s
@@ -411,13 +411,13 @@ _080A0368:
movs r0, 0x1
strh r0, [r1]
_080A036E:
- ldr r0, _080A037C @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _080A037C @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r0}
bx r0
.align 2, 0
_080A0378: .4byte gSpecialVar_Result
-_080A037C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_080A037C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80A0350
thumb_func_start sub_80A0380
@@ -455,14 +455,14 @@ _080A03B8:
movs r0, 0x1
strh r0, [r1]
_080A03C2:
- ldr r0, _080A03D4 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, _080A03D4 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080A03D0: .4byte gSpecialVar_Result
-_080A03D4: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+_080A03D4: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80A039C
thumb_func_start sub_80A03D8
diff --git a/asm/start_menu.s b/asm/start_menu.s
index 9f6ef8662..4f898b88c 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -160,7 +160,7 @@ sub_806EE7C: @ 806EE7C
movs r1, 0
bl DrawStdWindowFrame
ldr r0, _0806EEFC @ =gStringVar1
- ldr r1, _0806EF00 @ =gUnknown_2039996
+ ldr r1, _0806EF00 @ =gSafariZoneStepCounter
ldrh r1, [r1]
movs r2, 0x1
movs r3, 0x3
@@ -172,7 +172,7 @@ sub_806EE7C: @ 806EE7C
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, _0806EF08 @ =gStringVar3
- ldr r1, _0806EF0C @ =gUnknown_2039994
+ ldr r1, _0806EF0C @ =gNumSafariBalls
ldrb r1, [r1]
movs r2, 0x1
movs r3, 0x2
@@ -203,10 +203,10 @@ sub_806EE7C: @ 806EE7C
_0806EEF4: .4byte gUnknown_2037101
_0806EEF8: .4byte gUnknown_83A738C
_0806EEFC: .4byte gStringVar1
-_0806EF00: .4byte gUnknown_2039996
+_0806EF00: .4byte gSafariZoneStepCounter
_0806EF04: .4byte gStringVar2
_0806EF08: .4byte gStringVar3
-_0806EF0C: .4byte gUnknown_2039994
+_0806EF0C: .4byte gNumSafariBalls
_0806EF10: .4byte gStringVar4
_0806EF14: .4byte gUnknown_84162A9
thumb_func_end sub_806EE7C
@@ -1009,7 +1009,7 @@ sub_806F554: @ 806F554
bl sub_806EF18
bl sub_80F7998
bl sub_806FEA0
- bl sub_80A0F3C
+ bl SafariZoneRetirePrompt
movs r0, 0x1
pop {r1}
bx r1
diff --git a/data/map_event_scripts.inc b/data/map_event_scripts.inc
index f3205689d..3cf5c1ced 100644
--- a/data/map_event_scripts.inc
+++ b/data/map_event_scripts.inc
@@ -4178,16 +4178,16 @@ gUnknown_81BFB5F:: @ 81BFB5F
gUnknown_81BFB65:: @ 81BFB65
.incbin "baserom.gba", 0x1BFB65, 0x22
-gUnknown_81BFB87:: @ 81BFB87
+EventScript_SafariWarpOut:: @ 81BFB87
.incbin "baserom.gba", 0x1BFB87, 0x23
-gUnknown_81BFBAA:: @ 81BFBAA
+EventScript_SafariRetire:: @ 81BFBAA
.incbin "baserom.gba", 0x1BFBAA, 0x1B
-gUnknown_81BFBC5:: @ 81BFBC5
+EventScript_SafariTimesUp:: @ 81BFBC5
.incbin "baserom.gba", 0x1BFBC5, 0x12
-gUnknown_81BFBD7:: @ 81BFBD7
+EventScript_SafariOutOfBalls:: @ 81BFBD7
.incbin "baserom.gba", 0x1BFBD7, 0x2D5
gUnknown_81BFEAC:: @ 81BFEAC
diff --git a/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc b/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc
index a2ee86113..d9bcea13d 100644
--- a/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc
+++ b/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc
@@ -17,7 +17,7 @@ EventScript_16D2C8:: @ 816D2C8
closemessage
applymovement 255, Movement_16D367
waitmovement 0
- special sub_80A0EEC
+ special ExitSafariMode
setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 0
releaseall
end
@@ -29,7 +29,7 @@ EventScript_16D2F2:: @ 816D2F2
closemessage
applymovement 255, Movement_16D362
waitmovement 0
- special sub_80A0EEC
+ special ExitSafariMode
setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 0
releaseall
end
@@ -44,7 +44,7 @@ EventScript_16D312:: @ 816D312
closemessage
applymovement 255, Movement_16D362
waitmovement 0
- special sub_80A0EEC
+ special ExitSafariMode
setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 0
releaseall
end
@@ -132,7 +132,7 @@ EventScript_16D3CA:: @ 816D3CA
call_if 1, EventScript_16D441
compare_var_to_value VAR_0x4002, 2
call_if 1, EventScript_16D457
- special sub_80A0EC4
+ special EnterSafariMode
setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 2
warp MAP_SAFARI_ZONE_CENTER, 255, 26, 30
waitstate
diff --git a/data/specials.inc b/data/specials.inc
index e6cec1766..24d793093 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -214,8 +214,8 @@ gSpecials:: @ 815FD60
def_special nullsub_75
def_special nullsub_75
def_special nullsub_75
- def_special sub_80A0EC4
- def_special sub_80A0EEC
+ def_special EnterSafariMode
+ def_special ExitSafariMode
def_special nullsub_75
def_special nullsub_75
def_special nullsub_75
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 209e68aee..de9a98b43 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -2,6 +2,7 @@
#define GUARD_CONSTANTS_FLAGS_H
// Sys Flags Maybe
+#define FLAG_SYS_SAFARI_MODE 0x800
#define FLAG_WHITE_FLUTE_ACTIVE 0x803
#define FLAG_BLACK_FLUTE_ACTIVE 0x804
@@ -1436,7 +1437,7 @@
#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29)
#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A)
#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B)
-#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C)
+#define FLAG_0x88C (CODE_FLAGS + 0x2C)
#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D)
#define FLAG_0x88E (CODE_FLAGS + 0x2E)
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 917269de4..91612c06b 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -1148,4 +1148,9 @@ extern const u8 EventScript_FldEffStrength[];
extern const u8 EventScript_FailSweetScent[];
extern const u8 EventScript_FldEffRockSmash[];
+extern const u8 EventScript_SafariTimesUp[];
+extern const u8 EventScript_SafariRetire[];
+extern const u8 EventScript_SafariWarpOut[];
+extern const u8 EventScript_SafariOutOfBalls[];
+
#endif //GUARD_EVENT_SCRIPTS_H
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index 14d7e5d81..d1fde7eac 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -6,5 +6,6 @@
void sub_80AF79C(void);
void sub_807F028(u8);
void sub_80B0244(void);
+void sub_807E3EC(void);
#endif // GUARD_FIELD_SCREEN_EFFECT_H
diff --git a/include/overworld.h b/include/overworld.h
index bab4797ff..71625415a 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -69,8 +69,8 @@ void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
void sub_8086230(void);
void CB2_ReturnToField(void);
bool32 sub_8087598(void);
-void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
-void warp_in(void);
+void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
+void WarpIntoMap(void);
u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum);
void sub_8086194(void);
void sub_8084CCC(u8 spawn);
@@ -110,7 +110,7 @@ bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
void Overworld_ResetStateAfterTeleport(void);
void Overworld_FadeOutMapMusic(void);
-void sub_805671C(void);
+void CB2_LoadMap(void);
bool8 sub_8055FC4(void);
bool8 is_light_level_8_or_9(u8 mapType);
bool32 sub_8055C9C(void);
diff --git a/include/safari_zone.h b/include/safari_zone.h
index b20555a8c..c65ab7b7b 100644
--- a/include/safari_zone.h
+++ b/include/safari_zone.h
@@ -15,7 +15,4 @@ void ExitSafariMode(void);
bool8 SafariZoneTakeStep(void);
void SafariZoneRetirePrompt(void);
-struct Pokeblock *SafariZoneGetActivePokeblock(void);
-void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index);
-
#endif // GUARD_SAFARI_ZONE_H
diff --git a/ld_script.txt b/ld_script.txt
index 494c35e86..3d83fb4e6 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -152,7 +152,7 @@ SECTIONS {
src/fldeff_poison.o(.text);
src/fldeff_berrytree.o(.text);
src/field_special_scene.o(.text);
- asm/safari_zone.o(.text);
+ src/safari_zone.o(.text);
src/item_use.o(.text);
asm/battle_anim_effects_1.o(.text);
asm/battle_anim_effects_2.o(.text);
diff --git a/src/quest_log.c b/src/quest_log.c
index fe83f67e9..359470548 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -996,7 +996,7 @@ void sub_8111368(void)
else
{
sub_8111274(gUnknown_203ADF8, 1);
- warp_in();
+ WarpIntoMap();
gFieldCallback2 = sub_8111000;
SetMainCallback2(sub_805726C);
}
diff --git a/src/safari_zone.c b/src/safari_zone.c
new file mode 100644
index 000000000..cb0a58586
--- /dev/null
+++ b/src/safari_zone.c
@@ -0,0 +1,80 @@
+#include "global.h"
+#include "battle.h"
+#include "event_scripts.h"
+#include "overworld.h"
+#include "battle.h"
+#include "script.h"
+#include "event_data.h"
+#include "field_screen_effect.h"
+
+EWRAM_DATA u8 gNumSafariBalls = 0;
+EWRAM_DATA u16 gSafariZoneStepCounter = 0;
+
+bool32 GetSafariZoneFlag(void)
+{
+ return FlagGet(FLAG_SYS_SAFARI_MODE);
+}
+
+void SetSafariZoneFlag(void)
+{
+ FlagSet(FLAG_SYS_SAFARI_MODE);
+}
+
+void ResetSafariZoneFlag(void)
+{
+ FlagClear(FLAG_SYS_SAFARI_MODE);
+}
+
+void EnterSafariMode(void)
+{
+ IncrementGameStat(GAME_STAT_ENTERED_SAFARI_ZONE);
+ SetSafariZoneFlag();
+ gNumSafariBalls = 30;
+ gSafariZoneStepCounter = 600;
+}
+
+void ExitSafariMode(void)
+{
+ ResetSafariZoneFlag();
+ gNumSafariBalls = 0;
+ gSafariZoneStepCounter = 0;
+}
+
+bool8 SafariZoneTakeStep(void)
+{
+ if (GetSafariZoneFlag() == FALSE)
+ return FALSE;
+ gSafariZoneStepCounter--;
+ if (gSafariZoneStepCounter == 0)
+ {
+ ScriptContext1_SetupScript(EventScript_SafariTimesUp);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void SafariZoneRetirePrompt(void)
+{
+ ScriptContext1_SetupScript(EventScript_SafariRetire);
+}
+
+void CB2_EndSafariBattle(void)
+{
+ if (gNumSafariBalls != 0)
+ {
+ SetMainCallback2(CB2_ReturnToField);
+ }
+ else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS)
+ {
+ ScriptContext2_RunNewScript(EventScript_SafariWarpOut);
+ WarpIntoMap();
+ gFieldCallback = sub_807E3EC;
+ SetMainCallback2(CB2_LoadMap);
+ }
+ else if (gBattleOutcome == B_OUTCOME_CAUGHT)
+ {
+ ScriptContext1_SetupScript(EventScript_SafariOutOfBalls);
+ ScriptContext1_Stop();
+ SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
+ }
+}
diff --git a/src/scrcmd.c b/src/scrcmd.c
index d317a78b5..cef1a1eb7 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -1984,7 +1984,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx)
{
u8 slotMachineIndex = VarGet(ScriptReadHalfword(ctx));
- PlaySlotMachine(slotMachineIndex, c2_exit_to_overworld_1_continue_scripts_restart_music);
+ PlaySlotMachine(slotMachineIndex, CB2_ReturnToFieldContinueScriptPlayMapMusic);
ScriptContext1_Stop();
return TRUE;
}
diff --git a/src/seagallop.c b/src/seagallop.c
index ae880b2a3..e3333ef32 100644
--- a/src/seagallop.c
+++ b/src/seagallop.c
@@ -323,8 +323,8 @@ static void Task_SeaGallop_3(void)
PlayRainStoppingSoundEffect();
PlaySE(SE_KAIDAN);
gFieldCallback = sub_807DF64;
- warp_in();
- SetMainCallback2(sub_805671C);
+ WarpIntoMap();
+ SetMainCallback2(CB2_LoadMap);
ResetInitialPlayerAvatarState();
FreeFerrySpriteResources();
Free(sBg3TilemapBuffer);
diff --git a/src/trainer_tower.c b/src/trainer_tower.c
index ef2a12ce0..65d825dfe 100644
--- a/src/trainer_tower.c
+++ b/src/trainer_tower.c
@@ -1106,7 +1106,7 @@ void sub_815E068(u8 battleType, u8 facilityClass)
void sub_815E114(void)
{
- SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
+ SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
void sub_815E124(u8 taskId)
diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c
index 1eb29be1b..846e86779 100644
--- a/src/wireless_communication_status_screen.c
+++ b/src/wireless_communication_status_screen.c
@@ -229,7 +229,7 @@ void sub_814F32C(void)
Free(GetBgTilemapBuffer(i));
}
Free(gUnknown_3002040);
- SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
+ SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
void sub_814F364(s16 * unk0, s16 * unk1)
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 63b75ae19..1ae10a52c 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -979,13 +979,7 @@ gUnknown_203998C: @ 203998C
.include "src/money.o"
.align 2
-gUnknown_2039994: @ 2039994
- .space 0x2
-
-gUnknown_2039996: @ 2039996
- .space 0x2
-
- .align 2
+ .include "src/safari_zone.o"
.include "src/item_use.o"
.align 2