summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/event_scripts.s10
-rw-r--r--data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc2
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/scripts.inc4
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc2
-rw-r--r--data/maps/JaggedPass/scripts.inc20
-rw-r--r--data/maps/MagmaHideout_4F/scripts.inc20
-rw-r--r--data/maps/MirageTower_4F/scripts.inc10
-rw-r--r--data/maps/NavelRock_Bottom/scripts.inc20
-rw-r--r--data/maps/NavelRock_Top/scripts.inc12
-rw-r--r--data/maps/PetalburgWoods/scripts.inc4
-rw-r--r--data/maps/Route102/scripts.inc4
-rw-r--r--data/maps/Route104/scripts.inc12
-rw-r--r--data/maps/Route116/scripts.inc8
-rw-r--r--data/maps/SeafloorCavern_Room9/scripts.inc20
-rw-r--r--data/maps/SkyPillar_Outside/scripts.inc20
-rw-r--r--data/maps/SkyPillar_Top/scripts.inc20
-rw-r--r--data/maps/SootopolisCity/scripts.inc100
-rw-r--r--data/specials.inc10
-rw-r--r--src/field_specials.c90
19 files changed, 203 insertions, 185 deletions
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 2b8678851..d22613f40 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1753,11 +1753,11 @@ EventScript_27229B:: @ 827229B
end
EventScript_2722A7:: @ 82722A7
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
releaseall
end
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
index 205ee0e71..2823a4f30 100644
--- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
@@ -6,7 +6,7 @@ BattleFrontier_BattleArenaBattleRoom_MapScripts:: @ 8257487
.byte 0
BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C: @ 825749C
- special sub_8139980
+ special OffsetCameraForBattle
end
BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
index 05cdfa8a3..c3f5e80de 100644
--- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
@@ -329,8 +329,8 @@ BattleFrontier_BattlePikeCorridor_EventScript_25BB49:: @ 825BB49
BattleFrontier_BattlePikeLobby_EventScript_25BB49:: @ 825BB49
BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49:: @ 825BB49
BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49:: @ 825BB49
- playse 267
- special sub_813B880
+ playse SE_CURTAIN
+ special CloseBattlePikeCurtain
waitstate
waitse
return
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc
index 6e3e05959..097e732ab 100644
--- a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc
@@ -36,7 +36,7 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
hideobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
- special sub_8139980
+ special OffsetCameraForBattle
end
BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2: @ 8248DB2
diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc
index 1bb9e82a2..2a12ab5a2 100644
--- a/data/maps/JaggedPass/scripts.inc
+++ b/data/maps/JaggedPass/scripts.inc
@@ -42,19 +42,19 @@ JaggedPass_EventScript_2306A8:: @ 82306A8
JaggedPass_EventScript_2306BB:: @ 82306BB
lockall
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
msgbox JaggedPass_Text_230DBA, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 16
- setvar VAR_0x8007, 3
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 16 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
waitstate
playse SE_KOUKA_M
setmetatile 16, 17, METATILE_Lavaridge_CaveEntrance_Top, 1
diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc
index 7bbb4ac18..de6790a25 100644
--- a/data/maps/MagmaHideout_4F/scripts.inc
+++ b/data/maps/MagmaHideout_4F/scripts.inc
@@ -29,21 +29,21 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560
waitmovement 0
special sub_80B058C
waitstate
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
applymovement 1, MagmaHideout_4F_Movement_23A67D
waitmovement 0
removeobject 1
delay 4
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 2 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
delay 30
applymovement 6, MagmaHideout_4F_Movement_23A680
diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc
index 5208820df..5bb5308c3 100644
--- a/data/maps/MirageTower_4F/scripts.inc
+++ b/data/maps/MirageTower_4F/scripts.inc
@@ -44,11 +44,11 @@ MirageTower_4F_EventScript_23ADC0:: @ 823ADC0
end
MirageTower_4F_EventScript_23ADCA:: @ 823ADCA
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 32
- setvar VAR_0x8007, 2
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 32 @ num shakes
+ setvar VAR_0x8007, 2 @ shake delay
+ special ShakeCamera
waitstate
special DoMirageTowerCeilingCrumble
waitstate
diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc
index c67c9897c..64b860fa7 100644
--- a/data/maps/NavelRock_Bottom/scripts.inc
+++ b/data/maps/NavelRock_Bottom/scripts.inc
@@ -34,18 +34,18 @@ NavelRock_Bottom_EventScript_2692A2:: @ 82692A2
waitse
delay 20
playse SE_T_AME_E
- setvar VAR_0x8004, 0
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 4
- setvar VAR_0x8007, 2
- special sub_8139560
+ setvar VAR_0x8004, 0 @ vertical pan
+ setvar VAR_0x8005, 3 @ horizontal pan
+ setvar VAR_0x8006, 4 @ num shakes
+ setvar VAR_0x8007, 2 @ shake delay
+ special ShakeCamera
delay 30
playse SE_T_AME_E
- setvar VAR_0x8004, 0
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 4
- setvar VAR_0x8007, 2
- special sub_8139560
+ setvar VAR_0x8004, 0 @ vertical pan
+ setvar VAR_0x8005, 3 @ horizontal pan
+ setvar VAR_0x8006, 4 @ num shakes
+ setvar VAR_0x8007, 2 @ shake delay
+ special ShakeCamera
delay 30
delay 50
waitse
diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc
index 577d2cdd3..a3179e8a6 100644
--- a/data/maps/NavelRock_Top/scripts.inc
+++ b/data/maps/NavelRock_Top/scripts.inc
@@ -35,9 +35,9 @@ NavelRock_Top_EventScript_26916F:: @ 826916F
lockall
setvar VAR_TEMP_1, 1
special SpawnCameraObject
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 35
- special sub_813B80C
+ setvar VAR_0x8004, 3 @ num loops
+ setvar VAR_0x8005, 35 @ delay
+ special LoopWingFlapSE
applymovement 1, NavelRock_Top_Movement_269243
applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269230
waitmovement 0
@@ -49,9 +49,9 @@ NavelRock_Top_EventScript_26916F:: @ 826916F
delay 30
waitmoncry
delay 60
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 35
- special sub_813B80C
+ setvar VAR_0x8004, 3 @ num loops
+ setvar VAR_0x8005, 35 @ delay
+ special LoopWingFlapSE
applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269234
applymovement 1, NavelRock_Top_Movement_26923A
waitmovement 0
diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc
index 423d4c432..da07716db 100644
--- a/data/maps/PetalburgWoods/scripts.inc
+++ b/data/maps/PetalburgWoods/scripts.inc
@@ -281,8 +281,8 @@ PetalburgWoods_EventScript_22E284:: @ 822E284
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
goto_if_eq PetalburgWoods_EventScript_22E31B
- setvar VAR_0x8004, 621
- specialvar VAR_RESULT, sub_813B4E0
+ setvar VAR_0x8004, TRAINER_JAMES_1
+ specialvar VAR_RESULT, IsTrainerRegistered
compare VAR_RESULT, 0
goto_if_eq PetalburgWoods_EventScript_22E2EF
msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT
diff --git a/data/maps/Route102/scripts.inc b/data/maps/Route102/scripts.inc
index ada20447a..58adf4456 100644
--- a/data/maps/Route102/scripts.inc
+++ b/data/maps/Route102/scripts.inc
@@ -22,8 +22,8 @@ Route102_EventScript_1EC105:: @ 81EC105
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
goto_if_eq Route102_EventScript_1EC19C
- setvar VAR_0x8004, 318
- specialvar VAR_RESULT, sub_813B4E0
+ setvar VAR_0x8004, TRAINER_CALVIN_1
+ specialvar VAR_RESULT, IsTrainerRegistered
compare VAR_RESULT, 0
goto_if_eq Route102_EventScript_1EC170
msgbox Route102_Text_2945AC, MSGBOX_DEFAULT
diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc
index 74a7e3ddf..0eaf5d487 100644
--- a/data/maps/Route104/scripts.inc
+++ b/data/maps/Route104/scripts.inc
@@ -870,8 +870,8 @@ Route104_EventScript_1ED38D:: @ 81ED38D
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
goto_if_eq Route104_EventScript_1ED424
- setvar VAR_0x8004, 604
- specialvar VAR_RESULT, sub_813B4E0
+ setvar VAR_0x8004, TRAINER_HALEY_1
+ specialvar VAR_RESULT, IsTrainerRegistered
compare VAR_RESULT, 0
goto_if_eq Route104_EventScript_1ED3F8
msgbox Route104_Text_295689, MSGBOX_DEFAULT
@@ -913,8 +913,8 @@ Route104_EventScript_1ED43B:: @ 81ED43B
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
goto_if_eq Route104_EventScript_1ED4D2
- setvar VAR_0x8004, 136
- specialvar VAR_RESULT, sub_813B4E0
+ setvar VAR_0x8004, TRAINER_WINSTON_1
+ specialvar VAR_RESULT, IsTrainerRegistered
compare VAR_RESULT, 0
goto_if_eq Route104_EventScript_1ED4A6
msgbox Route104_Text_2958C1, MSGBOX_DEFAULT
@@ -956,8 +956,8 @@ Route104_EventScript_1ED4E9:: @ 81ED4E9
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
goto_if_eq Route104_EventScript_1ED580
- setvar VAR_0x8004, 114
- specialvar VAR_RESULT, sub_813B4E0
+ setvar VAR_0x8004, TRAINER_CINDY_1
+ specialvar VAR_RESULT, IsTrainerRegistered
compare VAR_RESULT, 0
goto_if_eq Route104_EventScript_1ED554
msgbox Route104_Text_295AC3, MSGBOX_DEFAULT
diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc
index 161e9be51..0dbe63728 100644
--- a/data/maps/Route116/scripts.inc
+++ b/data/maps/Route116/scripts.inc
@@ -258,8 +258,8 @@ Route116_EventScript_1F2EB7:: @ 81F2EB7
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
goto_if_eq Route116_EventScript_1F2F4E
- setvar VAR_0x8004, 273
- specialvar VAR_RESULT, sub_813B4E0
+ setvar VAR_0x8004, TRAINER_JERRY_1
+ specialvar VAR_RESULT, IsTrainerRegistered
compare VAR_RESULT, 0
goto_if_eq Route116_EventScript_1F2F22
msgbox Route116_Text_29BD92, MSGBOX_DEFAULT
@@ -311,8 +311,8 @@ Route116_EventScript_1F2F93:: @ 81F2F93
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
goto_if_eq Route116_EventScript_1F302A
- setvar VAR_0x8004, 280
- specialvar VAR_RESULT, sub_813B4E0
+ setvar VAR_0x8004, TRAINER_KAREN_1
+ specialvar VAR_RESULT, IsTrainerRegistered
compare VAR_RESULT, 0
goto_if_eq Route116_EventScript_1F2FFE
msgbox Route116_Text_29C010, MSGBOX_DEFAULT
diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc
index 17b1515c0..49981d335 100644
--- a/data/maps/SeafloorCavern_Room9/scripts.inc
+++ b/data/maps/SeafloorCavern_Room9/scripts.inc
@@ -59,21 +59,21 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
waitmovement 0
special sub_80B058C
waitstate
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
applymovement 1, SeafloorCavern_Room9_Movement_23504B
waitmovement 0
removeobject 1
delay 4
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 2 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
delay 30
setvar VAR_0x8004, 2
diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc
index 95f50ec02..9262ca4c4 100644
--- a/data/maps/SkyPillar_Outside/scripts.inc
+++ b/data/maps/SkyPillar_Outside/scripts.inc
@@ -41,11 +41,11 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
msgbox SkyPillar_Outside_Text_239416, MSGBOX_DEFAULT
closemessage
delay 30
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 3
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
waitstate
delay 40
msgbox SkyPillar_Outside_Text_2394BC, MSGBOX_DEFAULT
@@ -53,11 +53,11 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2393EB
applymovement 1, SkyPillar_Outside_Movement_2393DE
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 20
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 3 @ horizontal pan
+ setvar VAR_0x8006, 20 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
delay 20
applymovement 1, Common_Movement_WalkInPlaceLeft
diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc
index 1dae8c867..4ab5b3424 100644
--- a/data/maps/SkyPillar_Top/scripts.inc
+++ b/data/maps/SkyPillar_Top/scripts.inc
@@ -104,19 +104,19 @@ SkyPillar_Top_EventScript_23979A:: @ 823979A
waitmovement 0
waitse
playmoncry SPECIES_RAYQUAZA, 2
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 3
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
waitstate
waitse
playmoncry SPECIES_RAYQUAZA, 2
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
waitmoncry
applymovement 1, SkyPillar_Top_Movement_23984B
diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc
index d481924a2..04186ee08 100644
--- a/data/maps/SootopolisCity/scripts.inc
+++ b/data/maps/SootopolisCity/scripts.inc
@@ -228,11 +228,11 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946
applymovement 10, SootopolisCity_Movement_1E5BB8
applymovement 9, SootopolisCity_Movement_1E5BE5
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
applymovement 10, SootopolisCity_Movement_1E5BCF
applymovement 9, SootopolisCity_Movement_1E5BF0
@@ -242,11 +242,11 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946
applymovement 10, SootopolisCity_Movement_1E5BC2
applymovement 9, SootopolisCity_Movement_1E5BDD
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
applymovement 10, SootopolisCity_Movement_1E5BCF
applymovement 9, SootopolisCity_Movement_1E5BF0
@@ -256,11 +256,11 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946
applymovement 10, SootopolisCity_Movement_1E5BB8
applymovement 9, SootopolisCity_Movement_1E5BE5
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
applymovement 10, SootopolisCity_Movement_1E5BCF
applymovement 9, SootopolisCity_Movement_1E5BF0
@@ -328,11 +328,11 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82
applymovement 10, SootopolisCity_Movement_1E5BB8
applymovement 9, SootopolisCity_Movement_1E5BE5
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
applymovement 10, SootopolisCity_Movement_1E5BCF
applymovement 9, SootopolisCity_Movement_1E5BF0
@@ -342,11 +342,11 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82
applymovement 10, SootopolisCity_Movement_1E5BC2
applymovement 9, SootopolisCity_Movement_1E5BDD
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
applymovement 10, SootopolisCity_Movement_1E5BCF
applymovement 9, SootopolisCity_Movement_1E5BF0
@@ -356,11 +356,11 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82
applymovement 10, SootopolisCity_Movement_1E5BB8
applymovement 9, SootopolisCity_Movement_1E5BE5
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
applymovement 10, SootopolisCity_Movement_1E5BCF
applymovement 9, SootopolisCity_Movement_1E5BF0
@@ -517,19 +517,19 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
waitmovement 0
waitse
playmoncry SPECIES_RAYQUAZA, 2
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 3
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
waitstate
waitse
playmoncry SPECIES_RAYQUAZA, 2
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
waitmoncry
setweather WEATHER_NONE
@@ -570,19 +570,19 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE
waitmovement 0
waitse
playmoncry SPECIES_RAYQUAZA, 2
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 3
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
waitstate
waitse
playmoncry SPECIES_RAYQUAZA, 2
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
waitmoncry
setweather WEATHER_NONE
diff --git a/data/specials.inc b/data/specials.inc
index 4ae2ebe4e..6a328ca9e 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -320,7 +320,7 @@ gSpecials:: @ 81DBA64
def_special GetShieldToyTVDecorationInfo
def_special IsPokerusInParty
def_special SetSootopolisGymCrackedIceMetatiles
- def_special sub_8139560
+ def_special ShakeCamera
def_special StartGroudonKyogreBattle
def_special BattleSetup_StartLegendaryBattle
def_special StartRegiBattle
@@ -414,7 +414,7 @@ gSpecials:: @ 81DBA64
def_special GetContestLadyMonSpecies
def_special GetContestLadyCategory
def_special PutLilycoveContestLadyShowOnTheAir
- def_special sub_813B880
+ def_special CloseBattlePikeCurtain
def_special CallApprenticeFunction
def_special ShouldTryGetTrainerScript
def_special ShowMapNamePopup
@@ -440,7 +440,7 @@ gSpecials:: @ 81DBA64
def_special sub_802E3C4
def_special sub_8027A5C
def_special sub_8027AAC
- def_special sub_8139980
+ def_special OffsetCameraForBattle
def_special GetDeptStoreDefaultFloorChoice
def_special BufferVarsForIVRater
def_special sub_80F905C
@@ -505,7 +505,7 @@ gSpecials:: @ 81DBA64
def_special sub_80A08CC
def_special Unused_SetWeatherSunny
def_special sub_81AFDA0
- def_special sub_813B4E0
+ def_special IsTrainerRegistered
def_special ShouldDoBrailleRegicePuzzle
def_special EnableNationalPokedex
def_special ScriptMenu_CreateLilycoveSSTidalMultichoice
@@ -517,7 +517,7 @@ gSpecials:: @ 81DBA64
def_special sub_813B534
def_special CallTrainerHillFunction
def_special Script_DoRayquazaScene @ Listed twice
- def_special sub_813B80C
+ def_special LoopWingFlapSE
def_special sub_81D4BEC
def_special sub_80224D0
def_special TryBufferWaldaPhrase
diff --git a/src/field_specials.c b/src/field_specials.c
index 0c4cc34e3..a0b7111c9 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -103,8 +103,8 @@ static void PCTurnOnEffect_1(s16, s8, s8);
static void PCTurnOffEffect(void);
static void Task_LotteryCornerComputerEffect(u8);
static void LotteryCornerComputerEffect(struct Task *);
-static void sub_81395BC(u8 taskId);
-static void sub_8139620(u8 taskId);
+static void Task_ShakeCamera(u8 taskId);
+static void StopCameraShake(u8 taskId);
static void Task_MoveElevator(u8 taskId);
static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending);
static void Task_MoveElevatorWindowLights(u8 taskId);
@@ -126,8 +126,8 @@ static void Task_DeoxysRockInteraction(u8 taskId);
static void ChangeDeoxysRockLevel(u8 a0);
static void WaitForDeoxysRockMovement(u8 taskId);
static void sub_813B57C(u8 taskId);
-static void sub_813B824(u8 taskId);
-static void _fwalk(u8 taskId);
+static void Task_LoopWingFlapSE(u8 taskId);
+static void Task_CloseBattlePikeCurtain(u8 taskId);
static u8 sub_813BF44(void);
static void sub_813BD84(void);
static u16 sub_813BB74(void);
@@ -1493,44 +1493,56 @@ bool8 IsPokerusInParty(void)
return TRUE;
}
-void sub_8139560(void)
+#define horizontalPan data[0]
+#define delayCounter data[1]
+#define numShakes data[2]
+#define delay data[3]
+#define verticalPan data[4]
+
+void ShakeCamera(void)
{
- u8 taskId = CreateTask(sub_81395BC, 9);
- gTasks[taskId].data[0] = gSpecialVar_0x8005;
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[2] = gSpecialVar_0x8006;
- gTasks[taskId].data[3] = gSpecialVar_0x8007;
- gTasks[taskId].data[4] = gSpecialVar_0x8004;
+ u8 taskId = CreateTask(Task_ShakeCamera, 9);
+ gTasks[taskId].horizontalPan = gSpecialVar_0x8005;
+ gTasks[taskId].delayCounter = 0;
+ gTasks[taskId].numShakes = gSpecialVar_0x8006;
+ gTasks[taskId].delay = gSpecialVar_0x8007;
+ gTasks[taskId].verticalPan = gSpecialVar_0x8004;
SetCameraPanningCallback(NULL);
PlaySE(SE_W070);
}
-static void sub_81395BC(u8 taskId)
+static void Task_ShakeCamera(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- data[1]++;
- if (data[1] % data[3] == 0)
+ delayCounter++;
+ if (delayCounter % delay == 0)
{
- data[1] = 0;
- data[2]--;
- data[0] = -data[0];
- data[4] = -data[4];
- SetCameraPanning(data[0], data[4]);
- if (data[2] == 0)
+ delayCounter = 0;
+ numShakes--;
+ horizontalPan = -horizontalPan;
+ verticalPan = -verticalPan;
+ SetCameraPanning(horizontalPan, verticalPan);
+ if (numShakes == 0)
{
- sub_8139620(taskId);
+ StopCameraShake(taskId);
InstallCameraPanAheadCallback();
}
}
}
-static void sub_8139620(u8 taskId)
+static void StopCameraShake(u8 taskId)
{
DestroyTask(taskId);
EnableBothScriptContexts();
}
+#undef horizontalPan
+#undef delayCounter
+#undef numShakes
+#undef delay
+#undef verticalPan
+
bool8 FoundBlackGlasses(void)
{
return FlagGet(FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES);
@@ -1699,7 +1711,7 @@ bool8 InMultiBattleRoom(void)
return FALSE;
}
-void sub_8139980(void)
+void OffsetCameraForBattle(void)
{
SetCameraPanningCallback(NULL);
SetCameraPanning(8, 0);
@@ -3713,7 +3725,7 @@ u32 GetMartEmployeeObjectEventId(void)
return 1;
}
-bool32 sub_813B4E0(void)
+bool32 IsTrainerRegistered(void)
{
int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004);
if (index >= 0)
@@ -3889,40 +3901,46 @@ void Script_DoRayquazaScene(void)
}
}
-void sub_813B80C(void)
+#define playCount data[0]
+#define delay data[1]
+
+void LoopWingFlapSE(void)
{
- CreateTask(sub_813B824, 8);
+ CreateTask(Task_LoopWingFlapSE, 8);
PlaySE(SE_W017);
}
-static void sub_813B824(u8 taskId)
+static void Task_LoopWingFlapSE(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- data[1]++;
- if (data[1] == gSpecialVar_0x8005)
+ delay++;
+ if (delay == gSpecialVar_0x8005)
{
- data[0]++;
- data[1] = 0;
+ playCount++;
+ delay = 0;
PlaySE(SE_W017);
}
- if (data[0] == gSpecialVar_0x8004 - 1)
+ if (playCount == gSpecialVar_0x8004 - 1)
{
DestroyTask(taskId);
}
}
-void sub_813B880(void)
+#undef playCount
+#undef delay
+
+void CloseBattlePikeCurtain(void)
{
- u8 taskId = CreateTask(_fwalk, 8);
+ u8 taskId = CreateTask(Task_CloseBattlePikeCurtain, 8);
gTasks[taskId].data[0] = 4;
gTasks[taskId].data[1] = 4;
gTasks[taskId].data[2] = 4;
gTasks[taskId].data[3] = 0;
}
-static void _fwalk(u8 taskId)
+static void Task_CloseBattlePikeCurtain(u8 taskId)
{
u8 x, y;
s16 *data = gTasks[taskId].data;
@@ -3934,7 +3952,7 @@ static void _fwalk(u8 taskId)
{
for (x = 0; x < 3; x++)
{
- MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 0x201 + y * 8 + data[3] * 32);
+ MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 513 + y * 8 + data[3] * 32);
}
}
DrawWholeMapView();