summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml2
-rw-r--r--asm/macros/event.inc38
-rw-r--r--data/maps/SootopolisCity/scripts.inc4
-rw-r--r--data/script_cmd_table.inc2
-rw-r--r--data/scripts/cable_club.inc10
-rw-r--r--data/scripts/mevent_altering_cave.inc2
-rw-r--r--data/scripts/mevent_aurora_ticket.inc4
-rw-r--r--data/scripts/mevent_battle_card.inc2
-rw-r--r--data/scripts/mevent_mystic_ticket.inc4
-rw-r--r--data/scripts/mevent_old_sea_map.inc4
-rw-r--r--data/scripts/mevent_pichu.inc12
-rw-r--r--data/scripts/mevent_trainer.inc2
-rw-r--r--data/specials.inc2
-rw-r--r--graphics/event_objects/pics/effects/lavaridge_gym_warp.png (renamed from graphics/object_events/pics/effects/unknown_33.png)bin406 -> 406 bytes
-rw-r--r--graphics/object_events/pics/effects/lavaridge_gym_warp.pngbin0 -> 406 bytes
-rw-r--r--include/constants/field_specials.h2
-rw-r--r--include/constants/vars.h6
-rw-r--r--include/field_effect.h12
-rw-r--r--include/field_player_avatar.h2
-rw-r--r--include/field_screen_effect.h48
-rw-r--r--include/field_special_scene.h2
-rw-r--r--include/overworld.h2
-rw-r--r--include/start_menu.h2
-rw-r--r--sound/direct_sound_data.inc40
-rw-r--r--sound/direct_sound_samples/classical_choir_voice_ahhs.aif (renamed from sound/direct_sound_samples/advanced_orchestra_voice_ahhs.aif)bin5903 -> 5903 bytes
-rw-r--r--sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif (renamed from sound/direct_sound_samples/sc88_standard_cymbal_crash.aif)bin3979 -> 3979 bytes
-rw-r--r--sound/direct_sound_samples/sc88_orchestra_snare.aif (renamed from sound/direct_sound_samples/sc88_standard_snare2.aif)bin2231 -> 2231 bytes
-rw-r--r--sound/direct_sound_samples/sc88_square_wave.aif (renamed from sound/direct_sound_samples/unused_sc88_square.aif)bin7286 -> 7286 bytes
-rw-r--r--sound/direct_sound_samples/sc88_standard3_snare.aif (renamed from sound/direct_sound_samples/sc88_standard_snare1.aif)bin1844 -> 1844 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif (renamed from sound/direct_sound_samples/unknown_e_piano_high.aif)bin5130 -> 5130 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif (renamed from sound/direct_sound_samples/unknown_e_piano_low.aif)bin9929 -> 9929 bytes
-rw-r--r--sound/direct_sound_samples/sd90_special_scream_drive.aif (renamed from sound/direct_sound_samples/sd90_classical_guitar_harmonics.aif)bin6298 -> 6298 bytes
-rw-r--r--sound/direct_sound_samples/trinity_cymbal_crash.aif (renamed from sound/direct_sound_samples/unknown_cymbal_crash.aif)bin2372 -> 2372 bytes
-rw-r--r--sound/direct_sound_samples/unknown_female_voice.aif (renamed from sound/direct_sound_samples/unused_unknown_female_voice.aif)bin5797 -> 5797 bytes
-rw-r--r--sound/voice_groups.inc254
-rw-r--r--spritesheet_rules.mk2
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics.h362
-rwxr-xr-xsrc/data/object_event/event_object_graphics.h2
-rwxr-xr-xsrc/data/object_event/field_effect_object_template_pointers.h4
-rwxr-xr-xsrc/data/object_event/field_effect_objects.h40
-rw-r--r--src/data/trade.h37
-rw-r--r--src/decoration.c10
-rw-r--r--src/egg_hatch.c2
-rw-r--r--src/event_object_lock.c8
-rw-r--r--src/field_control_avatar.c8
-rw-r--r--src/field_effect.c286
-rw-r--r--src/field_player_avatar.c6
-rw-r--r--src/field_screen_effect.c257
-rw-r--r--src/field_special_scene.c14
-rw-r--r--src/field_specials.c2
-rwxr-xr-xsrc/item_use.c2
-rw-r--r--src/move_relearner.c2
-rw-r--r--src/overworld.c22
-rwxr-xr-xsrc/party_menu.c6
-rw-r--r--src/player_pc.c6
-rw-r--r--src/pokeblock.c2
-rw-r--r--src/pokemon_storage_system.c2
-rw-r--r--src/record_mixing.c2
-rw-r--r--src/region_map.c2
-rw-r--r--src/roulette.c2
-rw-r--r--src/scrcmd.c6
-rw-r--r--src/secret_base.c6
-rwxr-xr-xsrc/shop.c2
-rw-r--r--src/start_menu.c44
-rw-r--r--src/trade.c242
-rw-r--r--src/union_room.c6
-rw-r--r--src/walda_phrase.c2
67 files changed, 1029 insertions, 825 deletions
diff --git a/.travis.yml b/.travis.yml
index 1ff0ad2c7..e9964105e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: generic
-dist: trusty
+dist: bionic
sudo: false
env:
global:
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index 562796c4b..363ca2dca 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -233,14 +233,12 @@
.endm
@ Generic compare macro which attempts to deduce argument types based on their values
- @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers
- .macro compare arg1:req, arg2:req
- .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8)
- compare_var_to_var \arg1, \arg2
- .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF)
- compare_var_to_value \arg1, \arg2
+ @ Any values between 0x4000 to 0x40FF and 0x8000 to 0x8015 are considered event variable identifiers
+ .macro compare var:req, arg:req
+ .if ((\arg >= VARS_START && \arg <= VARS_END) || (\arg >= SPECIAL_VARS_START && \arg <= SPECIAL_VARS_END))
+ compare_var_to_var \var, \arg
.else
- .error "Invalid arguments for 'compare'"
+ compare_var_to_value \var, \arg
.endif
.endm
@@ -465,12 +463,12 @@
.2byte \Y
.endm
- @ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
+ @ Retrieves the number of Pokemon in the player's party, and stores that number in VAR_RESULT.
.macro getpartysize
.byte 0x43
.endm
- @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000.
+ @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and VAR_RESULT will be set to TRUE; otherwise, VAR_RESULT is set to FALSE.
.macro giveitem index:req, quantity:req
.byte 0x44
.2byte \index
@@ -484,21 +482,21 @@
.2byte \quantity
.endm
- @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room.
+ @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets VAR_RESULT to TRUE if there is room, or FALSE is there is no room.
.macro checkitemspace index:req, quantity:req
.byte 0x46
.2byte \index
.2byte \quantity
.endm
- @ Checks if the player has quantity or more of item index in their Bag. Sets variable 0x800D (LASTRESULT) to 0x0001 if the player has enough of the item, or 0x0000 if they have fewer than quantity of the item.
+ @ Checks if the player has quantity or more of item index in their Bag. Sets VAR_RESULT to TRUE if the player has enough of the item, or FALSE if they have fewer than quantity of the item.
.macro checkitem index:req, quantity:req
.byte 0x47
.2byte \index
.2byte \quantity
.endm
- @ Checks which Bag pocket the specified (index) item belongs in, and writes the value to variable 0x800D (LASTRESULT). This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE).
+ @ Checks which Bag pocket the specified item belongs in, and writes the pocket value (POCKET_*) to VAR_RESULT. This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE).
.macro checkitemtype index:req
.byte 0x48
.2byte \index
@@ -536,7 +534,7 @@
.2byte \decoration
.endm
- @ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ @ Checks if the player has enough space in their PC to hold decoration. Sets VAR_RESULT to TRUE if there is room, or FALSE is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
.macro checkdecorspace decoration:req
.byte 0x4e
.2byte \decoration
@@ -818,7 +816,7 @@
.byte 0x6d
.endm
- @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES".
+ @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in VAR_RESULT as NO (0) or YES (1). Pressing B is equivalent to answering NO
.macro yesnobox x:req, y:req
.byte 0x6e
.byte \x
@@ -925,7 +923,7 @@
.2byte \move
.endm
- @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species.
+ @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, VAR_RESULT is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, VAR_RESULT is set to PARTY_SIZE. VAR_0x8004 is also set to this Pokemon's species.
.macro checkpartymove index:req
.byte 0x7c
.2byte \index
@@ -1045,7 +1043,7 @@
.byte 0x8e
.endm
- @ Stores a random integer between 0 and limit in variable 0x800D (LASTRESULT).
+ @ Stores a random integer between 0 and limit in VAR_RESULT.
.macro random limit:req
.byte 0x8f
.2byte \limit
@@ -1065,7 +1063,7 @@
.byte \check
.endm
- @ If check is 0x00, this command will check if the player has value or more money; script variable 0x800D (LASTRESULT) is set to 0x0001 if the player has enough money, or 0x0000 if the do not.
+ @ If check is 0x00, this command will check if the player has money >= value; VAR_RESULT is set to TRUE if the player has enough money, or FALSE if they do not.
.macro checkmoney value:req, check:req
.byte 0x92
.4byte \value
@@ -1154,7 +1152,7 @@
.2byte \heallocation
.endm
- @ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT.
+ @ Checks the player's gender. If male, then MALE (0) is stored in VAR_RESULT. If female, then FEMALE (1) is stored in VAR_RESULT.
.macro checkplayergender
.byte 0xa0
.endm
@@ -1437,7 +1435,7 @@
.2byte \slot
.endm
- @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written.
+ @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, VAR_RESULT is TRUE. If the Pokemon is obedient (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
.macro checkmonobedience slot:req
.byte 0xce
.2byte \slot
@@ -1539,7 +1537,7 @@
.4byte \pointer
.endm
- .macro warp8 map:req, byte:req, word1:req, word2:req
+ .macro warpsootopolislegend map:req, byte:req, word1:req, word2:req
.byte 0xe0
map \map
.byte \byte
diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc
index 8831f62a8..d76e10d35 100644
--- a/data/maps/SootopolisCity/scripts.inc
+++ b/data/maps/SootopolisCity/scripts.inc
@@ -547,7 +547,7 @@ SootopolisCity_EventScript_RayquazaSceneFromPokeCenter:: @ 81E5C1E
fadenewbgm MUS_RUNECITY
delay 120
clearflag FLAG_HIDE_MAP_NAME_POPUP
- warp8 MAP_SOOTOPOLIS_CITY, 255, 43, 32
+ warpsootopolislegend MAP_SOOTOPOLIS_CITY, 255, 43, 32
waitstate
end
@@ -600,7 +600,7 @@ SootopolisCity_EventScript_RayquazaSceneFromDive:: @ 81E5CCE
fadenewbgm MUS_NAMINORI
delay 120
clearflag FLAG_HIDE_MAP_NAME_POPUP
- warp8 MAP_SOOTOPOLIS_CITY, 255, 29, 53
+ warpsootopolislegend MAP_SOOTOPOLIS_CITY, 255, 29, 53
waitstate
end
diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc
index 006167443..f447d5f25 100644
--- a/data/script_cmd_table.inc
+++ b/data/script_cmd_table.inc
@@ -224,7 +224,7 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_buffertrainerclassname
.4byte ScrCmd_buffertrainername
.4byte ScrCmd_pokenavcall
- .4byte ScrCmd_warpE0
+ .4byte ScrCmd_warpsootopolislegend
.4byte ScrCmd_buffercontesttype
.4byte ScrCmd_bufferitemnameplural
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index c5bdca46d..1081af8f9 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -391,7 +391,7 @@ CableClub_EventScript_EnterColosseum:: @ 8276FBD
goto_if_eq CableClub_EventScript_WarpTo4PColosseum
special SetCableClubWarp
warp MAP_BATTLE_COLOSSEUM_2P, 255, 6, 8
- special sub_80AF948
+ special DoCableClubWarp
waitstate
end
@@ -404,7 +404,7 @@ CableClub_EventScript_PlayerApproachLinkRoomRight:: @ 827702B
CableClub_EventScript_WarpTo4PColosseum:: @ 8277036
special SetCableClubWarp
warp MAP_BATTLE_COLOSSEUM_4P, 255, 5, 8
- special sub_80AF948
+ special DoCableClubWarp
waitstate
end
@@ -494,7 +494,7 @@ CableClub_EventScript_EnterTradeCenter:: @ 827713A
release
special SetCableClubWarp
setwarp MAP_TRADE_CENTER, 255, 5, 8
- special sub_80AF948
+ special DoCableClubWarp
waitstate
end
@@ -569,7 +569,7 @@ CableClub_EventScript_EnterRecordCorner:: @ 827724C
release
special SetCableClubWarp
setwarp MAP_RECORD_CORNER, 255, 8, 9
- special sub_80AF948
+ special DoCableClubWarp
waitstate
end
@@ -618,7 +618,7 @@ MossdeepCity_GameCorner_1F_EventScript_AbortMinigame:: @ 82772F9
@ Unused
CableClub_EventScript_CableClubWarp:: @ 8277306
special SetCableClubWarp
- special sub_80AF948
+ special DoCableClubWarp
waitstate
end
diff --git a/data/scripts/mevent_altering_cave.inc b/data/scripts/mevent_altering_cave.inc
index 072005934..499907edd 100644
--- a/data/scripts/mevent_altering_cave.inc
+++ b/data/scripts/mevent_altering_cave.inc
@@ -1,7 +1,7 @@
MysteryEventScript_AlteringCave:: @ 86756E3
setvaddress MysteryEventScript_AlteringCave
addvar VAR_ALTERING_CAVE_WILD_SET, 1
- compare_var_to_value VAR_ALTERING_CAVE_WILD_SET, 10
+ compare VAR_ALTERING_CAVE_WILD_SET, 10
vgoto_if_ne MysteryEventScript_AlteringCave_
setvar VAR_ALTERING_CAVE_WILD_SET, 0
MysteryEventScript_AlteringCave_: @ 86756FD
diff --git a/data/scripts/mevent_aurora_ticket.inc b/data/scripts/mevent_aurora_ticket.inc
index 811c840aa..177d69681 100644
--- a/data/scripts/mevent_aurora_ticket.inc
+++ b/data/scripts/mevent_aurora_ticket.inc
@@ -7,13 +7,13 @@ MysteryEventScript_AuroraTicket:: @ 867533C
checkflag FLAG_BATTLED_DEOXYS
vgoto_if_eq AuroraTicket_Obtained
checkitem ITEM_AURORA_TICKET, 1
- compare_var_to_value VAR_RESULT, TRUE
+ compare VAR_RESULT, TRUE
vgoto_if_eq AuroraTicket_Obtained
vmessage sText_AuroraTicketForYou
waitmessage
waitbuttonpress
checkitemspace ITEM_AURORA_TICKET, 1
- compare_var_to_value VAR_RESULT, FALSE
+ compare VAR_RESULT, FALSE
vgoto_if_eq AuroraTicket_NoBagSpace
giveitem_std ITEM_AURORA_TICKET
setflag FLAG_ENABLE_SHIP_BIRTH_ISLAND
diff --git a/data/scripts/mevent_battle_card.inc b/data/scripts/mevent_battle_card.inc
index 8c36ed63a..77f9a9b24 100644
--- a/data/scripts/mevent_battle_card.inc
+++ b/data/scripts/mevent_battle_card.inc
@@ -4,7 +4,7 @@ MysteryEventScript_BattleCard:: @ 867513C
vgoto_if_eq MysteryEventScript_BattleCardInfo
setorcopyvar VAR_RESULT, GET_CARD_BATTLES_WON
specialvar VAR_0x8008, GetMysteryEventCardVal
- compare_var_to_value VAR_0x8008, REQUIRED_CARD_BATTLES
+ compare VAR_0x8008, REQUIRED_CARD_BATTLES
vgoto_if_ne MysteryEventScript_BattleCardInfo
lock
faceplayer
diff --git a/data/scripts/mevent_mystic_ticket.inc b/data/scripts/mevent_mystic_ticket.inc
index 0264fb77f..9d532b043 100644
--- a/data/scripts/mevent_mystic_ticket.inc
+++ b/data/scripts/mevent_mystic_ticket.inc
@@ -9,13 +9,13 @@ MysteryEventScript_MysticTicket:: @ 867550B
checkflag FLAG_CAUGHT_HO_OH
vgoto_if_eq MysticTicket_Obtained
checkitem ITEM_MYSTIC_TICKET, 1
- compare_var_to_value VAR_RESULT, TRUE
+ compare VAR_RESULT, TRUE
vgoto_if_eq MysticTicket_Obtained
vmessage sText_MysticTicketForYou
waitmessage
waitbuttonpress
checkitemspace ITEM_MYSTIC_TICKET, 1
- compare_var_to_value VAR_RESULT, FALSE
+ compare VAR_RESULT, FALSE
vgoto_if_eq MysticTicket_NoBagSpace
giveitem_std ITEM_MYSTIC_TICKET
setflag FLAG_ENABLE_SHIP_NAVEL_ROCK
diff --git a/data/scripts/mevent_old_sea_map.inc b/data/scripts/mevent_old_sea_map.inc
index dffb56caa..45c5f6728 100644
--- a/data/scripts/mevent_old_sea_map.inc
+++ b/data/scripts/mevent_old_sea_map.inc
@@ -7,13 +7,13 @@ MysteryEventScript_OldSeaMap:: @ 86757F4
checkflag FLAG_CAUGHT_MEW
vgoto_if_eq OldSeaMap_Obtained
checkitem ITEM_OLD_SEA_MAP, 1
- compare_var_to_value VAR_RESULT, TRUE
+ compare VAR_RESULT, TRUE
vgoto_if_eq OldSeaMap_Obtained
vmessage sText_MysteryGiftOldSeaMapForYou
waitmessage
waitbuttonpress
checkitemspace ITEM_OLD_SEA_MAP, 1
- compare_var_to_value VAR_RESULT, FALSE
+ compare VAR_RESULT, FALSE
vgoto_if_eq OldSeaMap_NoBagSpace
giveitem_std ITEM_OLD_SEA_MAP
setflag FLAG_ENABLE_SHIP_FARAWAY_ISLAND
diff --git a/data/scripts/mevent_pichu.inc b/data/scripts/mevent_pichu.inc
index 4df317564..4f5c739af 100644
--- a/data/scripts/mevent_pichu.inc
+++ b/data/scripts/mevent_pichu.inc
@@ -6,7 +6,7 @@ MysteryEventScript_SurfPichu:: @ 8674D3D
SurfPichu_GiveIfPossible: @ 8674D4C
specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount
- compare_var_to_value VAR_EVENT_PICHU_SLOT, PARTY_SIZE
+ compare VAR_EVENT_PICHU_SLOT, PARTY_SIZE
vgoto_if_eq SurfPichu_FullParty
setflag FLAG_MYSTERY_EVENT_DONE
vcall SurfPichu_GiveEgg
@@ -33,15 +33,15 @@ SurfPichu_GiveEgg: @ 8674D7E
giveegg SPECIES_PICHU
setmonobedient VAR_EVENT_PICHU_SLOT
setmonmetlocation VAR_EVENT_PICHU_SLOT, METLOC_FATEFUL_ENCOUNTER
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 1
+ compare VAR_EVENT_PICHU_SLOT, 1
vgoto_if_eq SurfPichu_Slot1
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 2
+ compare VAR_EVENT_PICHU_SLOT, 2
vgoto_if_eq SurfPichu_Slot2
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 3
+ compare VAR_EVENT_PICHU_SLOT, 3
vgoto_if_eq SurfPichu_Slot3
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 4
+ compare VAR_EVENT_PICHU_SLOT, 4
vgoto_if_eq SurfPichu_Slot4
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 5
+ compare VAR_EVENT_PICHU_SLOT, 5
vgoto_if_eq SurfPichu_Slot5
return
diff --git a/data/scripts/mevent_trainer.inc b/data/scripts/mevent_trainer.inc
index 1b0117078..4114750d8 100644
--- a/data/scripts/mevent_trainer.inc
+++ b/data/scripts/mevent_trainer.inc
@@ -1,7 +1,7 @@
MysteryEventScript_VisitingTrainer:: @ 8674EC1
setvaddress MysteryEventScript_VisitingTrainer
special ValidateEReaderTrainer
- compare_var_to_value VAR_RESULT, 0
+ compare VAR_RESULT, 0
vgoto_if_eq MysteryEventScript_VisitingTrainerArrived
lock
faceplayer
diff --git a/data/specials.inc b/data/specials.inc
index 9280dc6dd..d19673eb7 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -10,7 +10,7 @@
gSpecials:: @ 81DBA64
def_special HealPlayerParty
def_special SetCableClubWarp
- def_special sub_80AF948
+ def_special DoCableClubWarp
def_special ReturnFromLinkRoom
def_special CleanupLinkRoomState
def_special ExitLinkRoom
diff --git a/graphics/object_events/pics/effects/unknown_33.png b/graphics/event_objects/pics/effects/lavaridge_gym_warp.png
index 26b852200..26b852200 100644
--- a/graphics/object_events/pics/effects/unknown_33.png
+++ b/graphics/event_objects/pics/effects/lavaridge_gym_warp.png
Binary files differ
diff --git a/graphics/object_events/pics/effects/lavaridge_gym_warp.png b/graphics/object_events/pics/effects/lavaridge_gym_warp.png
new file mode 100644
index 000000000..26b852200
--- /dev/null
+++ b/graphics/object_events/pics/effects/lavaridge_gym_warp.png
Binary files differ
diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h
index 5dde18058..a2dc117e4 100644
--- a/include/constants/field_specials.h
+++ b/include/constants/field_specials.h
@@ -7,7 +7,7 @@
#define PC_LOCATION_MAYS_HOUSE 2
// SS Tidal Locations
-#define SS_TIDAL_LOCATION_OTHER 0
+#define SS_TIDAL_LOCATION_CURRENTS 0
#define SS_TIDAL_LOCATION_SLATEPORT 1
#define SS_TIDAL_LOCATION_LILYCOVE 2
#define SS_TIDAL_LOCATION_ROUTE124 3
diff --git a/include/constants/vars.h b/include/constants/vars.h
index fead22137..4a38bde81 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -273,7 +273,9 @@
#define VAR_UNUSED_0x40FE 0x40FE // Unused Var
#define VAR_UNUSED_0x40FF 0x40FF // Unused Var
-#define SPECIAL_VARS_START 0x8000
+#define VARS_END 0x40FF
+
+#define SPECIAL_VARS_START 0x8000
// special vars
// They are commonly used as parameters to commands, or return values from commands.
#define VAR_0x8000 0x8000
@@ -299,4 +301,6 @@
#define VAR_UNUSED_0x8014 0x8014
#define VAR_TRAINER_BATTLE_OPPONENT_A 0x8015 // Alias of gTrainerBattleOpponent_A
+#define SPECIAL_VARS_END 0x8015
+
#endif // GUARD_CONSTANTS_VARS_H
diff --git a/include/field_effect.h b/include/field_effect.h
index 0a99938d7..59f99ad93 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -34,17 +34,17 @@ bool8 FieldEffectCmd_end(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val);
-void sub_80B6B68(void);
-void sub_80B6E4C(u8 a0, u8 priority);
-void sub_80B75D8(u8 priority);
-void sub_80B7A74(u8 priority);
+void FieldCB_FallWarpExit(void);
+void StartEscalatorWarp(u8 metatileBehavior, u8 priority);
+void StartLavaridgeGymB1FWarp(u8 priority);
+void StartLavaridgeGym1FWarp(u8 priority);
void sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
void sub_80B9CDC(s16*, u8);
-void sub_80B7CAC(struct Sprite*);
-void sub_80B7A58(struct Sprite*);
+void SpriteCB_PopOutOfAsh(struct Sprite*);
+void SpriteCB_LavaridgeGymWarp(struct Sprite*);
void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index db045e540..00233bd20 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -61,7 +61,7 @@ void sub_808D194(void);
void sub_808D1C8(void);
bool32 sub_808D1B4(void);
bool32 sub_808D1E8(void);
-void sub_808C0A8(u8 a);
+void SetPlayerInvisibility(bool8 invisible);
u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y);
#endif // GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index 02a927d4b..e05e30378 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -1,37 +1,35 @@
#ifndef GUARD_FIELD_SCREEN_EFFECT_H
#define GUARD_FIELD_SCREEN_EFFECT_H
-void pal_fill_for_maplights(void);
-void pal_fill_black(void);
-void WarpFadeScreen(void);
-void sub_80AF128(void);
-void FieldCallback_ReturnToEventScript2(void);
-void sub_80AF188(void);
-void sub_80AF214(void);
-void sub_80AF2B4(u8 taskId);
-void sub_80AF314(void);
-void mapldr_default(void);
-void sub_80AF3B0(void);
-void sub_80AF3C8(void);
-void sub_80AF3E8(void);
-void sub_80AF40C(void);
-void sub_80AF688(void);
-bool8 sub_80AF6A4(void);
+void WarpFadeInScreen(void);
+void WarpFadeOutScreen(void);
+void FadeInFromBlack(void);
+void FadeInFromWhite(void);
+void FieldCB_ContinueScriptUnionRoom(void);
+void FieldCB_ContinueScriptHandleMusic(void);
+void FieldCB_ContinueScript(void);
+void Task_ReturnToFieldRecordMixing(u8 taskId);
+void FieldCB_ReturnToFieldCableLink(void);
+void FieldCB_ReturnToFieldWirelessLink(void);
+void FieldCB_DefaultWarpExit(void);
+void FieldCB_WarpExitFadeFromBlack(void);
+void FieldCB_WarpExitFadeFromWhite(void);
+bool8 FieldCB_ReturnToFieldOpenStartMenu(void);
+void ReturnToFieldOpenStartMenu(void);
void sub_80AF6D4(void);
void sub_80AF6F0(void);
void DoWarp(void);
void DoDiveWarp(void);
-void sub_80AF79C(void);
+void DoSootopolisLegendWarp(void);
void DoDoorWarp(void);
void DoFallWarp(void);
-void sub_80AF80C(u8 metatileBehavior);
-void sub_80AF828(void);
-void sub_80AF838(void);
-void sub_80AF848(void);
+void DoEscalatorWarp(u8 metatileBehavior);
+void DoLavaridgeGymB1FWarp(void);
+void DoLavaridgeGym1FWarp(void);
+void DoTeleportWarp(void);
void DoMossdeepGymWarp(void);
-void sub_80AF8B8(void);
-void sub_80AF948(void);
-void sub_80AF9F8(void);
+void DoPortholeWarp(void);
+void DoCableClubWarp(void);
void DoContestHallWarp(void);
void AnimateFlash(u8 flashLevel);
void WriteBattlePyramidViewScanlineEffectBuffer(void);
@@ -41,6 +39,6 @@ void DoOrbEffect(void);
void FadeOutOrbEffect(void);
void sub_80B05B4(void);
void WriteFlashScanlineEffectBuffer(u8 flashLevel);
-bool8 walkrun_is_standing_still(void);
+bool8 IsPlayerStandingStill(void);
#endif // GUARD_FIELD_SCREEN_EFFECT_H
diff --git a/include/field_special_scene.h b/include/field_special_scene.h
index 2219c9433..a54b344d9 100644
--- a/include/field_special_scene.h
+++ b/include/field_special_scene.h
@@ -10,6 +10,6 @@ void Task_HandleTruckSequence(u8 taskId);
void ExecuteTruckSequence(void);
void EndTruckSequence(u8);
void sub_80C791C(void);
-void sub_80FB768(void);
+void FieldCB_ShowPortholeView(void);
#endif // GUARD_FIELD_SPECIAL_SCENE_H
diff --git a/include/overworld.h b/include/overworld.h
index 0e3c7e006..78a5b4ad0 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -136,7 +136,7 @@ void CB2_NewGame(void);
void CB2_WhiteOut(void);
void CB2_LoadMap(void);
void sub_8086024(void);
-void sub_8086074(void);
+void CB2_ReturnToFieldCableClub(void);
void CB2_ReturnToField(void);
void CB2_ReturnToFieldLocal(void);
void CB2_ReturnToFieldLink(void);
diff --git a/include/start_menu.h b/include/start_menu.h
index eca9f0837..df2a290a2 100644
--- a/include/start_menu.h
+++ b/include/start_menu.h
@@ -3,7 +3,7 @@
extern bool8 (*gMenuCallback)(void);
-void sub_809FA18(void);
+void ShowReturnToFieldStartMenu(void);
void Task_ShowStartMenu(u8 taskId);
void ShowStartMenu(void);
void ShowBattlePyramidStartMenu(void);
diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc
index f1518ee4b..80f91a01d 100644
--- a/sound/direct_sound_data.inc
+++ b/sound/direct_sound_data.inc
@@ -23,8 +23,8 @@ DirectSoundWaveData_sc88_timpani::
.incbin "sound/direct_sound_samples/sc88_timpani.bin"
.align 2
-DirectSoundWaveData_advanced_orchestra_voice_ahhs::
- .incbin "sound/direct_sound_samples/advanced_orchestra_voice_ahhs.bin"
+DirectSoundWaveData_classical_choir_voice_ahhs::
+ .incbin "sound/direct_sound_samples/classical_choir_voice_ahhs.bin"
.align 2
DirectSoundWaveData_sd90_classical_oboe::
@@ -59,16 +59,16 @@ DirectSoundWaveData_sc88_standard_kick::
.incbin "sound/direct_sound_samples/sc88_standard_kick.bin"
.align 2
-DirectSoundWaveData_sc88_standard_snare1::
- .incbin "sound/direct_sound_samples/sc88_standard_snare1.bin"
+DirectSoundWaveData_sc88_standard3_snare::
+ .incbin "sound/direct_sound_samples/sc88_standard3_snare.bin"
.align 2
DirectSoundWaveData_sc88_standard_hand_clap::
.incbin "sound/direct_sound_samples/sc88_standard_hand_clap.bin"
.align 2
-DirectSoundWaveData_sc88_standard_snare2::
- .incbin "sound/direct_sound_samples/sc88_standard_snare2.bin"
+DirectSoundWaveData_sc88_orchestra_snare::
+ .incbin "sound/direct_sound_samples/sc88_orchestra_snare.bin"
.align 2
DirectSoundWaveData_unknown_tom::
@@ -91,12 +91,12 @@ DirectSoundWaveData_unknown_tambourine::
.incbin "sound/direct_sound_samples/unknown_tambourine.bin"
.align 2
-DirectSoundWaveData_unknown_cymbal_crash::
- .incbin "sound/direct_sound_samples/unknown_cymbal_crash.bin"
+DirectSoundWaveData_trinity_cymbal_crash::
+ .incbin "sound/direct_sound_samples/trinity_cymbal_crash.bin"
.align 2
-DirectSoundWaveData_sc88_standard_cymbal_crash::
- .incbin "sound/direct_sound_samples/sc88_standard_cymbal_crash.bin"
+DirectSoundWaveData_sc88_orchestra_cymbal_crash::
+ .incbin "sound/direct_sound_samples/sc88_orchestra_cymbal_crash.bin"
.align 2
DirectSoundWaveData_sc88_bongo::
@@ -251,20 +251,20 @@ DirectSoundWaveData_emu_ii_pipe_organ::
.incbin "sound/direct_sound_samples/emu_ii_pipe_organ.bin"
.align 2
-DirectSoundWaveData_unused_unknown_female_voice::
- .incbin "sound/direct_sound_samples/unused_unknown_female_voice.bin"
+DirectSoundWaveData_unknown_female_voice::
+ .incbin "sound/direct_sound_samples/unknown_female_voice.bin"
.align 2
DirectSoundWaveData_unused_unknown_male_voice::
.incbin "sound/direct_sound_samples/unused_unknown_male_voice.bin"
.align 2
-DirectSoundWaveData_unknown_e_piano_low::
- .incbin "sound/direct_sound_samples/unknown_e_piano_low.bin"
+DirectSoundWaveData_sd90_classical_detuned_ep1_low::
+ .incbin "sound/direct_sound_samples/sd90_classical_detuned_ep1_low.bin"
.align 2
-DirectSoundWaveData_unknown_e_piano_high::
- .incbin "sound/direct_sound_samples/unknown_e_piano_high.bin"
+DirectSoundWaveData_sd90_classical_detuned_ep1_high::
+ .incbin "sound/direct_sound_samples/sd90_classical_detuned_ep1_high.bin"
.align 2
DirectSoundWaveData_sc88_timpani_with_snare::
@@ -275,8 +275,8 @@ DirectSoundWaveData_unknown_synth_snare::
.incbin "sound/direct_sound_samples/unknown_synth_snare.bin"
.align 2
-DirectSoundWaveData_unused_sc88_square::
- .incbin "sound/direct_sound_samples/unused_sc88_square.bin"
+DirectSoundWaveData_sc88_square_wave::
+ .incbin "sound/direct_sound_samples/sc88_square_wave.bin"
.align 2
DirectSoundWaveData_bicycle_bell::
@@ -1951,8 +1951,8 @@ DirectSoundWaveData_sc88_nylon_str_guitar::
.incbin "sound/direct_sound_samples/sc88_nylon_str_guitar.bin"
.align 2
-DirectSoundWaveData_sd90_classical_guitar_harmonics::
- .incbin "sound/direct_sound_samples/sd90_classical_guitar_harmonics.bin"
+DirectSoundWaveData_sd90_special_scream_drive::
+ .incbin "sound/direct_sound_samples/sd90_special_scream_drive.bin"
.align 2
DirectSoundWaveData_88DBBC0::
diff --git a/sound/direct_sound_samples/advanced_orchestra_voice_ahhs.aif b/sound/direct_sound_samples/classical_choir_voice_ahhs.aif
index e8784682e..e8784682e 100644
--- a/sound/direct_sound_samples/advanced_orchestra_voice_ahhs.aif
+++ b/sound/direct_sound_samples/classical_choir_voice_ahhs.aif
Binary files differ
diff --git a/sound/direct_sound_samples/sc88_standard_cymbal_crash.aif b/sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif
index 576e3e19e..576e3e19e 100644
--- a/sound/direct_sound_samples/sc88_standard_cymbal_crash.aif
+++ b/sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif
Binary files differ
diff --git a/sound/direct_sound_samples/sc88_standard_snare2.aif b/sound/direct_sound_samples/sc88_orchestra_snare.aif
index 36b640758..36b640758 100644
--- a/sound/direct_sound_samples/sc88_standard_snare2.aif
+++ b/sound/direct_sound_samples/sc88_orchestra_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unused_sc88_square.aif b/sound/direct_sound_samples/sc88_square_wave.aif
index 09e17f0ca..09e17f0ca 100644
--- a/sound/direct_sound_samples/unused_sc88_square.aif
+++ b/sound/direct_sound_samples/sc88_square_wave.aif
Binary files differ
diff --git a/sound/direct_sound_samples/sc88_standard_snare1.aif b/sound/direct_sound_samples/sc88_standard3_snare.aif
index 544b187d5..544b187d5 100644
--- a/sound/direct_sound_samples/sc88_standard_snare1.aif
+++ b/sound/direct_sound_samples/sc88_standard3_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unknown_e_piano_high.aif b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif
index 86ea0fa76..86ea0fa76 100644
--- a/sound/direct_sound_samples/unknown_e_piano_high.aif
+++ b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unknown_e_piano_low.aif b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif
index fced03712..fced03712 100644
--- a/sound/direct_sound_samples/unknown_e_piano_low.aif
+++ b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif
Binary files differ
diff --git a/sound/direct_sound_samples/sd90_classical_guitar_harmonics.aif b/sound/direct_sound_samples/sd90_special_scream_drive.aif
index 8b7a7da40..8b7a7da40 100644
--- a/sound/direct_sound_samples/sd90_classical_guitar_harmonics.aif
+++ b/sound/direct_sound_samples/sd90_special_scream_drive.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unknown_cymbal_crash.aif b/sound/direct_sound_samples/trinity_cymbal_crash.aif
index 4aec6882f..4aec6882f 100644
--- a/sound/direct_sound_samples/unknown_cymbal_crash.aif
+++ b/sound/direct_sound_samples/trinity_cymbal_crash.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unused_unknown_female_voice.aif b/sound/direct_sound_samples/unknown_female_voice.aif
index b310823a7..b310823a7 100644
--- a/sound/direct_sound_samples/unused_unknown_female_voice.aif
+++ b/sound/direct_sound_samples/unknown_female_voice.aif
Binary files differ
diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc
index c0f546ccf..4b71845aa 100644
--- a/sound/voice_groups.inc
+++ b/sound/voice_groups.inc
@@ -93,7 +93,7 @@ voicegroup001:: @ 8675FEC
voice_square_1 0, 0, 0, 1, 6, 0 @ 8676118
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676124
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676130
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 867613C
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 867613C
.align 2
voicegroup002:: @ 8676148
@@ -106,9 +106,9 @@ voicegroup002:: @ 8676148
voice_directsound 60, 0, DirectSoundWaveData_unknown_wood_block_high, 255, 0, 255, 0 @ 8676190
voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 867619C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86761A8
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86761B4
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86761B4
voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86761C0
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86761CC
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86761CC
voice_directsound 48, 44, DirectSoundWaveData_unknown_tom, 255, 210, 77, 204 @ 86761D8
voice_directsound_no_resample 60, 79, DirectSoundWaveData_unknown_close_hihat, 255, 127, 0, 188 @ 86761E4
voice_directsound 51, 54, DirectSoundWaveData_unknown_tom, 255, 216, 77, 204 @ 86761F0
@@ -123,12 +123,12 @@ voicegroup002:: @ 8676148
voice_square_1 0, 2, 0, 0, 15, 0 @ 867625C
voice_directsound_no_resample 70, 49, DirectSoundWaveData_unknown_bell, 255, 165, 103, 231 @ 8676268
voice_directsound_no_resample 32, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 8676274
- voice_directsound_no_resample 60, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 235, 0, 165 @ 8676280
+ voice_directsound_no_resample 60, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 235, 0, 165 @ 8676280
voice_square_1 0, 2, 0, 0, 15, 0 @ 867628C
- voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 8676298
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 8676298
voice_square_1 0, 2, 0, 0, 15, 0 @ 86762A4
- voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 86762B0
- voice_directsound_no_resample 30, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86762BC
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 86762B0
+ voice_directsound_no_resample 30, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86762BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86762C8
voice_directsound_no_resample 72, 104, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86762D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86762E0
@@ -137,30 +137,30 @@ voicegroup002:: @ 8676148
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 8676304
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676310
voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 867631C
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676328
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676328
voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676334
- voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676340
+ voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676340
voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867634C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676358
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676358
voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676364
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676370
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676370
voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867637C
voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676388
- voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676394
+ voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676394
voice_directsound 84, 104, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 235 @ 86763A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86763AC
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86763B8
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86763B8
voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86763C4
.align 2
voicegroup003:: @ 86763D0
voice_directsound_no_resample 64, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86763D0
- voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86763DC
+ voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86763DC
voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86763E8
- voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86763F4
+ voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86763F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676400
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867640C
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 8676418
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867640C
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 8676418
voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 8676424
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 8676430
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 867643C
@@ -194,30 +194,30 @@ voicegroup003:: @ 86763D0
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 867658C
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676598
voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86765A4
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86765B0
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86765B0
voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765BC
- voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86765C8
+ voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86765C8
voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765D4
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86765E0
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86765E0
voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86765F8
voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676604
voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676610
- voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867661C
+ voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867661C
voice_directsound 64, 104, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 235 @ 8676628
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676634
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676640
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676640
voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 867664C
.align 2
voicegroup004:: @ 8676658
voice_directsound_no_resample 66, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 8676658
- voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 8676664
+ voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 8676664
voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 8676670
- voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867667C
+ voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867667C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676688
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676694
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86766A0
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676694
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86766A0
voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86766AC
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86766B8
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86766C4
@@ -251,27 +251,27 @@ voicegroup004:: @ 8676658
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 8676814
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676820
voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 867682C
- voice_directsound 65, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676838
+ voice_directsound 65, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676838
voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676844
- voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676850
+ voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676850
voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867685C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676868
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676868
voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676874
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676880
voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867688C
voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676898
- voice_directsound 56, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86768A4
+ voice_directsound 56, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86768A4
voice_directsound 64, 104, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 235 @ 86768B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86768BC
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86768C8
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86768C8
voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86768D4
voice_directsound_no_resample 66, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86768E0
- voice_directsound 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86768EC
+ voice_directsound 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86768EC
voice_directsound 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86768F8
- voice_directsound 60, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676904
+ voice_directsound 60, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676904
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676910
- voice_directsound 58, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867691C
- voice_directsound 62, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 8676928
+ voice_directsound 58, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867691C
+ voice_directsound 62, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 8676928
voice_directsound 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 8676934
voice_directsound 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 8676940
voice_directsound 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 867694C
@@ -1098,9 +1098,9 @@ voicegroup016:: @ 8678C74
voice_noise_alt 0, 0, 1, 0, 1 @ 8678E18
voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 8678E24
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E30
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8678E3C
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8678E3C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E48
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8678E54
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8678E54
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E60
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E6C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E78
@@ -1623,9 +1623,9 @@ voicegroup022:: @ 867A438
voice_square_1_alt 0, 0, 0, 0, 7, 0 @ 867A5DC
voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 867A5E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A5F4
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 867A600
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 867A600
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A60C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 867A618
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 867A618
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A624
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A630
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A63C
@@ -2420,7 +2420,7 @@ voicegroup031:: @ 867C838
voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA00
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA0C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 867CA18
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 867CA18
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA24
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA30
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA3C
@@ -2437,9 +2437,9 @@ voicegroup031:: @ 867C838
voice_directsound_no_resample 32, 49, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 867CAC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CACC
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAD8
- voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 867CAE4
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 867CAE4
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAF0
- voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 867CAFC
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 867CAFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB08
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB14
voice_directsound_no_resample 72, 79, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 867CB20
@@ -11583,7 +11583,7 @@ voicegroup107:: @ 8696A70
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CE0
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 8696CEC
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 8696CEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D04
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D10
@@ -12040,7 +12040,7 @@ voicegroup111:: @ 8698054
voice_square_1 0, 2, 0, 0, 15, 0 @ 86981A4
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 226 @ 86981B0
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 195 @ 86981BC
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 195 @ 86981C8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 195 @ 86981C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86981D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86981E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86981EC
@@ -12192,8 +12192,8 @@ voicegroup112:: @ 8698654
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988B8
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 128, 165, 128, 188 @ 86988C4
- voice_directsound 60, 0, DirectSoundWaveData_unused_unknown_female_voice, 128, 165, 128, 204 @ 86988D0
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 128, 165, 128, 188 @ 86988C4
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_female_voice, 128, 165, 128, 204 @ 86988D0
voice_directsound 60, 0, DirectSoundWaveData_unused_unknown_male_voice, 128, 165, 128, 188 @ 86988DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988F4
@@ -12529,7 +12529,7 @@ voicegroup114:: @ 8699254
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699824
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699830
voice_square_1 0, 2, 0, 0, 15, 0 @ 869983C
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 8699848
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 8699848
.align 2
voicegroup115:: @ 8699854
@@ -12537,8 +12537,8 @@ voicegroup115:: @ 8699854
voice_keysplit voicegroup005, KeySplitTable1 @ 8699860
voice_square_1 0, 2, 0, 0, 15, 0 @ 869986C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699878
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 128, 249, 0, 188 @ 8699884
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 188, 103, 165 @ 8699890
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 128, 249, 0, 188 @ 8699884
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 188, 103, 165 @ 8699890
voice_square_1 0, 2, 0, 0, 15, 0 @ 869989C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86998A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86998B4
@@ -12653,7 +12653,7 @@ voicegroup115:: @ 8699854
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DD0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DDC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DE8
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 8699DF4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 8699DF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E00
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E18
@@ -13465,7 +13465,7 @@ voicegroup123:: @ 869BCF0
voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2D8
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 869C2E4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 869C2E4
.align 2
voicegroup124:: @ 869C2F0
@@ -13772,8 +13772,8 @@ voicegroup126:: @ 869CAF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0D0
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 216 @ 869D0DC
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 869D0E8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 216 @ 869D0DC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 869D0E8
.align 2
voicegroup127:: @ 869D0F4
@@ -13790,8 +13790,8 @@ voicegroup127:: @ 869D0F4
voice_square_1_alt 0, 2, 2, 0, 15, 0 @ 869D16C
voice_square_1_alt 0, 1, 2, 0, 15, 0 @ 869D178
voice_square_1_alt 23, 1, 0, 1, 9, 0 @ 869D184
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 165 @ 869D190
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 165 @ 869D19C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 165 @ 869D190
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 165 @ 869D19C
voice_square_1_alt 0, 2, 0, 6, 0, 1 @ 869D1A8
voice_square_1_alt 36, 0, 0, 2, 0, 0 @ 869D1B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1C0
@@ -13922,17 +13922,17 @@ voicegroup128:: @ 869D6F4
voice_noise_alt 1, 0, 2, 0, 0 @ 869D778
voice_square_1 103, 3, 2, 7, 0, 0 @ 869D784
voice_square_2 3, 2, 7, 0, 0 @ 869D790
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 127 @ 869D79C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 127 @ 869D79C
voice_directsound 60, 0, DirectSoundWaveData_872921C, 255, 0, 255, 0 @ 869D7A8
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 204, 0, 127 @ 869D7B4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 204, 0, 127 @ 869D7B4
voice_square_1_alt 0, 2, 0, 2, 0, 1 @ 869D7C0
voice_directsound 60, 0, DirectSoundWaveData_872A5D0, 255, 0, 255, 127 @ 869D7CC
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 869D7D8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 869D7D8
voice_square_1 103, 0, 0, 7, 0, 0 @ 869D7E4
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 127 @ 869D7F0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 127 @ 869D7F0
voice_directsound 60, 0, DirectSoundWaveData_sc88_wind, 255, 0, 255, 127 @ 869D7FC
voice_directsound 60, 0, DirectSoundWaveData_sc88_bubbles, 255, 0, 255, 127 @ 869D808
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 127 @ 869D814
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 127 @ 869D814
voice_noise_alt 0, 0, 7, 15, 1 @ 869D820
voice_directsound 60, 0, DirectSoundWaveData_872EEA8, 255, 0, 255, 127 @ 869D82C
voice_noise_alt 1, 0, 7, 15, 1 @ 869D838
@@ -13960,7 +13960,7 @@ voicegroup128:: @ 869D6F4
voice_square_1 0, 0, 4, 0, 15, 0 @ 869D940
voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 188, 0, 0 @ 869D94C
voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 226, 0, 127 @ 869D958
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 26, 0, 255, 127 @ 869D964
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 26, 0, 255, 127 @ 869D964
voice_square_1_alt 0, 2, 0, 1, 0, 0 @ 869D970
voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 252, 0, 127 @ 869D97C
voice_square_1_alt 0, 1, 0, 2, 0, 0 @ 869D988
@@ -13975,7 +13975,7 @@ voicegroup128:: @ 869D6F4
voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 869D9F4
voice_directsound 60, 0, DirectSoundWaveData_unknown_tom, 255, 0, 255, 165 @ 869DA00
voice_noise_alt 0, 5, 7, 15, 1 @ 869DA0C
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 128, 242, 0, 165 @ 869DA18
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 128, 242, 0, 165 @ 869DA18
voice_directsound 60, 0, DirectSoundWaveData_sc88_string_ensemble_72, 255, 0, 255, 165 @ 869DA24
voice_square_1 0, 0, 1, 5, 0, 0 @ 869DA30
voice_noise_alt 0, 6, 6, 0, 1 @ 869DA3C
@@ -14852,7 +14852,7 @@ voicegroup129:: @ 86A0154
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02BC
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A02C8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A02C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02EC
@@ -14869,7 +14869,7 @@ voicegroup129:: @ 86A0154
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0370
voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 252, 0, 204 @ 86A037C
voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 86A0388
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 204, 0, 127 @ 86A0394
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 204, 0, 127 @ 86A0394
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03A0
voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 86A03AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03B8
@@ -15435,7 +15435,7 @@ voicegroup133:: @ 86A1BB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D68
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D74
voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86A1D80
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86A1D8C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86A1D8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D98
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DB0
@@ -15516,7 +15516,7 @@ voicegroup133:: @ 86A1BB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2134
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2140
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A214C
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A2158
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A2158
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2164
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2170
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A217C
@@ -15841,8 +15841,8 @@ voicegroup137:: @ 86A2FD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FF8
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 165, 180, 165 @ 86A3004
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 137, 154, 165 @ 86A3010
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 165, 180, 165 @ 86A3004
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 137, 154, 165 @ 86A3010
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A301C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3028
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3034
@@ -15972,8 +15972,8 @@ voicegroup138:: @ 86A35D4
voice_keysplit voicegroup005, KeySplitTable1 @ 86A35E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35F8
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86A3604
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86A3610
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86A3604
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86A3610
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A361C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3628
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3634
@@ -16721,8 +16721,8 @@ voicegroup145:: @ 86A57F4
voice_keysplit voicegroup005, KeySplitTable1 @ 86A5800
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A580C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5818
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86A5824
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86A5830
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86A5824
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86A5830
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A583C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5848
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5854
@@ -17079,7 +17079,7 @@ voicegroup148:: @ 86A67E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A685C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6868
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6874
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 127 @ 86A6880
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 127 @ 86A6880
voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 86A688C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6898
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68A4
@@ -17105,7 +17105,7 @@ voicegroup148:: @ 86A67E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6994
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69AC
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86A69B8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86A69B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69DC
@@ -17781,7 +17781,7 @@ voicegroup154:: @ 86A8860
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A886C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8878
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8884
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A8890
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A8890
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A889C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88B4
@@ -17877,8 +17877,8 @@ voicegroup155:: @ 86A8CBC
voice_keysplit voicegroup005, KeySplitTable1 @ 86A8CC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CE0
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A8CEC
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 188, 103, 165 @ 86A8CF8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A8CEC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 188, 103, 165 @ 86A8CF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D04
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D10
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D1C
@@ -17993,7 +17993,7 @@ voicegroup155:: @ 86A8CBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9238
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9244
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9250
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A925C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A925C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9268
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9274
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9280
@@ -18009,7 +18009,7 @@ voicegroup156:: @ 86A92BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92D4
voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A92E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92EC
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A92F8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A92F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9304
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9310
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A931C
@@ -18124,7 +18124,7 @@ voicegroup156:: @ 86A92BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9838
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9844
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9850
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A985C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A985C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9868
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9874
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9880
@@ -18270,7 +18270,7 @@ voicegroup158:: @ 86A9EBC
voice_keysplit voicegroup005, KeySplitTable1 @ 86A9EC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9ED4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EE0
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A9EEC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A9EEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F04
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F10
@@ -18297,7 +18297,7 @@ voicegroup158:: @ 86A9EBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA00C
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 86AA018
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 86AA024
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86AA030
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86AA030
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA03C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA048
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA054
@@ -18305,7 +18305,7 @@ voicegroup158:: @ 86A9EBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA06C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA078
voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86AA084
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86AA090
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86AA090
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA09C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0B4
@@ -18319,7 +18319,7 @@ voicegroup158:: @ 86A9EBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA114
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA120
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA12C
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 86AA138
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 86AA138
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA144
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA150
voice_keysplit voicegroup007, KeySplitTable3 @ 86AA15C
@@ -18401,8 +18401,8 @@ voicegroup159:: @ 86AA4BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4E0
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 64, 249, 0, 188 @ 86AA4EC
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 51, 249, 0, 165 @ 86AA4F8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 64, 249, 0, 188 @ 86AA4EC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 51, 249, 0, 165 @ 86AA4F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA504
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA510
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA51C
@@ -18754,7 +18754,7 @@ voicegroup162:: @ 86AB4DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB500
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 64, 188, 108, 244 @ 86AB50C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 64, 188, 108, 244 @ 86AB50C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB518
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB524
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB530
@@ -18850,8 +18850,8 @@ voicegroup163:: @ 86AB938
voice_keysplit voicegroup005, KeySplitTable1 @ 86AB944
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB950
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB95C
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AB968
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AB974
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AB968
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AB974
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB980
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB98C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB998
@@ -18981,8 +18981,8 @@ voicegroup164:: @ 86ABF38
voice_keysplit voicegroup005, KeySplitTable1 @ 86ABF44
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF50
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF5C
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 128, 180, 108, 209 @ 86ABF68
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 85, 204, 77, 246 @ 86ABF74
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 128, 180, 108, 209 @ 86ABF68
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 85, 204, 77, 246 @ 86ABF74
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF80
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF98
@@ -19270,7 +19270,7 @@ voicegroup166:: @ 86ACB38
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC88
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 86ACC94
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 86ACCA0
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86ACCAC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86ACCAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCC4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCD0
@@ -19278,7 +19278,7 @@ voicegroup166:: @ 86ACB38
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCF4
voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86ACD00
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86ACD0C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86ACD0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD18
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD24
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD30
@@ -19505,8 +19505,8 @@ voicegroup168:: @ 86AD738
voice_keysplit voicegroup005, KeySplitTable1 @ 86AD744
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD750
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD75C
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AD768
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AD774
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AD768
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AD774
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD780
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD78C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD798
@@ -19948,8 +19948,8 @@ voicegroup172:: @ 86AEB6C
voice_keysplit voicegroup005, KeySplitTable1 @ 86AEB78
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB84
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB90
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AEB9C
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AEBA8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AEB9C
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AEBA8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBCC
@@ -20079,8 +20079,8 @@ voicegroup173:: @ 86AF16C
voice_keysplit voicegroup005, KeySplitTable1 @ 86AF178
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF184
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF190
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AF19C
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86AF1A8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AF19C
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86AF1A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1CC
@@ -20211,7 +20211,7 @@ voicegroup174:: @ 86AF76C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF784
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF790
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF79C
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86AF7A8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86AF7A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7CC
@@ -20326,7 +20326,7 @@ voicegroup174:: @ 86AF76C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD00
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86AFD0C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86AFD0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD18
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD24
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD30
@@ -20512,27 +20512,27 @@ voicegroup177:: @ 86B0378
voice_directsound_no_resample 67, 71, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 86B0534
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 86B0540
voice_directsound_no_resample 65, 0, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86B054C
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86B0558
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86B0558
voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B0564
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0570
voice_directsound 68, 29, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B057C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86B0588
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86B0588
voice_directsound 72, 64, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B0594
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B05A0
voice_directsound 76, 39, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B05AC
voice_directsound 80, 89, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B05B8
- voice_directsound_no_resample 33, 10, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B05C4
+ voice_directsound_no_resample 33, 10, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B05C4
voice_directsound 84, 104, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 235 @ 86B05D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B05DC
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B05E8
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B05E8
voice_directsound_no_resample 64, 64, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86B05F4
voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86B0600
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86B060C
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86B060C
voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86B0618
- voice_directsound_no_resample 64, 118, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B0624
+ voice_directsound_no_resample 64, 118, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B0624
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0630
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B063C
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86B0648
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B063C
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86B0648
voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86B0654
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86B0660
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86B066C
@@ -20751,8 +20751,8 @@ voicegroup180:: @ 86B0FF0
voice_keysplit voicegroup005, KeySplitTable1 @ 86B0FFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1008
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1014
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 64, 249, 0, 188 @ 86B1020
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86B102C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 64, 249, 0, 188 @ 86B1020
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86B102C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1038
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1044
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1050
@@ -21181,7 +21181,7 @@ voicegroup184:: @ 86B2244
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2394
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23AC
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86B23B8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86B23B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23DC
@@ -21235,7 +21235,7 @@ voicegroup184:: @ 86B2244
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B261C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2628
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2634
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 86B2640
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 86B2640
.align 2
voicegroup185:: @ 86B264C
@@ -21270,7 +21270,7 @@ voicegroup185:: @ 86B264C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B279C
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 128, 0, 255, 214 @ 86B27A8
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 128, 0, 255, 206 @ 86B27B4
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86B27C0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86B27C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27CC
voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 255, 253, 0, 149 @ 86B27D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27E4
@@ -21292,7 +21292,7 @@ voicegroup185:: @ 86B264C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28BC
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 85, 0, 154, 165 @ 86B28C8
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 85, 0, 154, 165 @ 86B28C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28E0
voice_keysplit voicegroup007, KeySplitTable3 @ 86B28EC
@@ -21636,8 +21636,8 @@ voicegroup188:: @ 86B384C
voice_keysplit voicegroup005, KeySplitTable1 @ 86B3858
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3864
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3870
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86B387C
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86B3888
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86B387C
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86B3888
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3894
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38AC
@@ -21767,8 +21767,8 @@ voicegroup189:: @ 86B3E4C
voice_keysplit voicegroup005, KeySplitTable1 @ 86B3E58
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E64
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E70
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86B3E7C
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86B3E88
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86B3E7C
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86B3E88
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E94
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EAC
@@ -21896,29 +21896,29 @@ voicegroup190:: @ 86B429C
voice_noise_alt 0, 0, 1, 9, 1 @ 86B4440
voice_directsound_no_resample 64, 64, DirectSoundWaveData_drum_and_percussion_kick, 255, 0, 255, 0 @ 86B444C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4458
- voice_directsound_no_resample 64, 52, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86B4464
+ voice_directsound_no_resample 64, 52, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86B4464
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4470
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B447C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4488
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4494
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44A0
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86B44AC
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86B44AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44DC
- voice_directsound_no_resample 33, 104, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B44E8
+ voice_directsound_no_resample 33, 104, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B44E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4500
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B450C
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B450C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4518
voice_directsound_no_resample 64, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86B4524
- voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86B4530
+ voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86B4530
voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86B453C
- voice_directsound_no_resample 64, 24, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B4548
+ voice_directsound_no_resample 64, 24, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B4548
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4554
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B4560
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86B456C
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B4560
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86B456C
voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86B4578
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86B4584
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86B4590
diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk
index 262d53232..23dd6fbcf 100644
--- a/spritesheet_rules.mk
+++ b/spritesheet_rules.mk
@@ -653,7 +653,7 @@ $(OBJEVENTGFXDIR)/effects/unknown_20.4bpp: %.4bpp: %.png
$(OBJEVENTGFXDIR)/effects/unknown_29.4bpp: %.4bpp: %.png
$(GFX) $< $@ -mwidth 2 -mheight 1
-$(OBJEVENTGFXDIR)/effects/unknown_33.4bpp: %.4bpp: %.png
+$(OBJEVENTGFXDIR)/effects/lavaridge_gym_warp.4bpp: %.4bpp: %.png
$(GFX) $< $@ -mwidth 2 -mheight 2
$(OBJEVENTGFXDIR)/effects/unknown_35.4bpp: %.4bpp: %.png
diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h
new file mode 100755
index 000000000..1702392ca
--- /dev/null
+++ b/src/data/field_event_obj/event_object_graphics.h
@@ -0,0 +1,362 @@
+const u32 gEventObjectPic_BrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/walking.4bpp");
+const u32 gEventObjectPic_BrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/running.4bpp");
+const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal");
+const u32 gEventObjectPic_RubySapphireBrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.4bpp");
+const u32 gEventObjectPic_RubySapphireBrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/running.4bpp");
+const u16 gEventObjectPalette33[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_33.gbapal");
+const u16 NullPalette_8499A38[16] = {};
+const u16 NullPalette_8499A58[16] = {};
+const u16 NullPalette_8499A78[16] = {};
+const u16 NullPalette_8499A98[16] = {};
+const u16 NullPalette_8499AB8[16] = {};
+const u16 NullPalette_8499AD8[16] = {};
+const u16 NullPalette_8499AF8[16] = {};
+const u16 NullPalette_8499B18[16] = {};
+const u16 NullPalette_8499B38[16] = {};
+const u16 NullPalette_8499B58[16] = {};
+const u16 NullPalette_8499B78[16] = {};
+const u16 NullPalette_8499B98[16] = {};
+const u16 NullPalette_8499BB8[16] = {};
+const u16 NullPalette_8499BD8[16] = {};
+const u16 NullPalette_8499BF8[16] = {};
+const u16 gEventObjectPalette9[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_09.gbapal");
+const u16 gEventObjectPalette10[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_10.gbapal");
+const u32 gEventObjectPic_BrendanFieldMove[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move.4bpp");
+const u32 gEventObjectPic_BrendanSurfing[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing.4bpp");
+const u32 gEventObjectPic_BrendanMachBike[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike.4bpp");
+const u32 gEventObjectPic_BrendanAcroBike[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike.4bpp");
+const u32 gEventObjectPic_BrendanFishing[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing.4bpp");
+const u32 gEventObjectPic_BrendanWatering[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering.4bpp");
+const u32 gEventObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/decorating.4bpp");
+const u32 gEventObjectPic_MayDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/may/decorating.4bpp");
+const u32 gEventObjectPic_BrendanUnderwater[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater.4bpp");
+const u32 gEventObjectPic_MayUnderwater[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater.4bpp");
+const u16 gEventObjectPalette11[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_11.gbapal");
+const u32 gEventObjectPic_MayNormal[] = INCBIN_U32("graphics/event_objects/pics/people/may/walking.4bpp");
+const u32 gEventObjectPic_MayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/may/running.4bpp");
+const u16 gEventObjectPalette17[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_17.gbapal");
+const u16 gEventObjectPalette18[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_18.gbapal");
+const u32 gEventObjectPic_RubySapphireMayNormal[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/walking.4bpp");
+const u32 gEventObjectPic_RubySapphireMayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/running.4bpp");
+const u16 gEventObjectPalette34[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_34.gbapal");
+const u16 gUnusedEventObjectPalette[] = INCBIN_U16("graphics/event_objects/palettes/unused_palette.gbapal");
+const u16 NullPalette_84A54F8[16] = {};
+const u16 NullPalette_84A5518[16] = {};
+const u16 NullPalette_84A5538[16] = {};
+const u16 NullPalette_84A5558[16] = {};
+const u16 NullPalette_84A5578[16] = {};
+const u16 NullPalette_84A5598[16] = {};
+const u16 NullPalette_84A55B8[16] = {};
+const u16 NullPalette_84A55D8[16] = {};
+const u16 NullPalette_84A55F8[16] = {};
+const u16 NullPalette_84A5618[16] = {};
+const u16 NullPalette_84A5638[16] = {};
+const u16 NullPalette_84A5658[16] = {};
+const u16 NullPalette_84A5678[16] = {};
+const u16 NullPalette_84A5698[16] = {};
+const u32 gEventObjectPic_MayMachBike[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike.4bpp");
+const u32 gEventObjectPic_MayAcroBike[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike.4bpp");
+const u32 gEventObjectPic_MaySurfing[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing.4bpp");
+const u32 gEventObjectPic_MayFieldMove[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move.4bpp");
+const u32 gEventObjectPic_MayFishing[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing.4bpp");
+const u32 gEventObjectPic_MayWatering[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering.4bpp");
+const u16 gEventObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_00.gbapal");
+const u16 gEventObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_01.gbapal");
+const u16 gEventObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_02.gbapal");
+const u16 gEventObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_03.gbapal");
+const u16 gEventObjectPalette4[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_04.gbapal");
+const u16 gEventObjectPalette5[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_05.gbapal");
+const u16 gEventObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_06.gbapal");
+const u16 gEventObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_07.gbapal");
+const u32 gEventObjectPic_NinjaBoy[] = INCBIN_U32("graphics/event_objects/pics/people/ninja_boy.4bpp");
+const u32 gEventObjectPic_Twin[] = INCBIN_U32("graphics/event_objects/pics/people/twin.4bpp");
+const u32 gEventObjectPic_Boy1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1.4bpp");
+const u32 gEventObjectPic_Girl1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1.4bpp");
+const u32 gEventObjectPic_Boy2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2.4bpp");
+const u32 gEventObjectPic_Girl2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2.4bpp");
+const u32 gEventObjectPic_LittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy.4bpp");
+const u32 gEventObjectPic_LittleGirl[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl.4bpp");
+const u32 gEventObjectPic_Boy3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3.4bpp");
+const u32 gEventObjectPic_Girl3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3.4bpp");
+const u32 gEventObjectPic_RichBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rich_boy.4bpp");
+const u32 gEventObjectPic_Woman1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1.4bpp");
+const u32 gEventObjectPic_FatMan[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man.4bpp");
+const u32 gEventObjectPic_PokefanF[] = INCBIN_U32("graphics/event_objects/pics/people/pokefan_f.4bpp");
+const u32 gEventObjectPic_Man1[] = INCBIN_U32("graphics/event_objects/pics/people/man_1.4bpp");
+const u32 gEventObjectPic_Woman2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2.4bpp");
+const u32 gEventObjectPic_ExpertM[] = INCBIN_U32("graphics/event_objects/pics/people/expert_m.4bpp");
+const u32 gEventObjectPic_ExpertF[] = INCBIN_U32("graphics/event_objects/pics/people/expert_f.4bpp");
+const u32 gEventObjectPic_Man2[] = INCBIN_U32("graphics/event_objects/pics/people/man_2.4bpp");
+const u32 gEventObjectPic_Woman3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3.4bpp");
+const u32 gEventObjectPic_PokefanM[] = INCBIN_U32("graphics/event_objects/pics/people/pokefan_m.4bpp");
+const u32 gEventObjectPic_Woman4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4.4bpp");
+const u32 gEventObjectPic_Cook[] = INCBIN_U32("graphics/event_objects/pics/people/cook.4bpp");
+const u32 gEventObjectPic_LinkReceptionist[] = INCBIN_U32("graphics/event_objects/pics/people/link_receptionist.4bpp");
+const u32 gEventObjectPic_OldMan[] = INCBIN_U32("graphics/event_objects/pics/people/old_man.4bpp");
+const u32 gEventObjectPic_OldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman.4bpp");
+const u32 gEventObjectPic_Camper[] = INCBIN_U32("graphics/event_objects/pics/people/camper.4bpp");
+const u32 gEventObjectPic_Picnicker[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker.4bpp");
+const u32 gEventObjectPic_Man3[] = INCBIN_U32("graphics/event_objects/pics/people/man_3.4bpp");
+const u32 gEventObjectPic_Woman5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5.4bpp");
+const u32 gEventObjectPic_Youngster[] = INCBIN_U32("graphics/event_objects/pics/people/youngster.4bpp");
+const u32 gEventObjectPic_BugCatcher[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher.4bpp");
+const u32 gEventObjectPic_PsychicM[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m.4bpp");
+const u32 gEventObjectPic_SchoolKidM[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m.4bpp");
+const u32 gEventObjectPic_Maniac[] = INCBIN_U32("graphics/event_objects/pics/people/maniac.4bpp");
+const u32 gEventObjectPic_HexManiac[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac.4bpp");
+const u32 gEventObjectPic_UnusedWoman[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman.4bpp");
+const u32 gEventObjectPic_SwimmerM[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m.4bpp");
+const u32 gEventObjectPic_SwimmerF[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f.4bpp");
+const u32 gEventObjectPic_BlackBelt[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt.4bpp");
+const u32 gEventObjectPic_Beauty[] = INCBIN_U32("graphics/event_objects/pics/people/beauty.4bpp");
+const u32 gEventObjectPic_Scientist1[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1.4bpp");
+const u32 gEventObjectPic_Lass[] = INCBIN_U32("graphics/event_objects/pics/people/lass.4bpp");
+const u32 gEventObjectPic_Gentleman[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman.4bpp");
+const u32 gEventObjectPic_Sailor[] = INCBIN_U32("graphics/event_objects/pics/people/sailor.4bpp");
+const u32 gEventObjectPic_Fisherman[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman.4bpp");
+const u32 gEventObjectPic_RunningTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m.4bpp");
+const u32 gEventObjectPic_RunningTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f.4bpp");
+const u32 gEventObjectPic_TuberF[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f.4bpp");
+const u32 gEventObjectPic_TuberM[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m.4bpp");
+const u32 gEventObjectPic_Hiker[] = INCBIN_U32("graphics/event_objects/pics/people/hiker.4bpp");
+const u32 gEventObjectPic_CyclingTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m.4bpp");
+const u32 gEventObjectPic_CyclingTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f.4bpp");
+const u32 gEventObjectPic_Man4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4.4bpp");
+const u32 gEventObjectPic_Man5[] = INCBIN_U32("graphics/event_objects/pics/people/man_5.4bpp");
+const u32 gEventObjectPic_Nurse[] = INCBIN_U32("graphics/event_objects/pics/people/nurse.4bpp");
+const u32 gEventObjectPic_ItemBall[] = INCBIN_U32("graphics/event_objects/pics/misc/item_ball.4bpp");
+const u32 gEventObjectPic_ProfBirch[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch.4bpp");
+const u32 gEventObjectPic_ReporterM[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m.4bpp");
+const u32 gEventObjectPic_ReporterF[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f.4bpp");
+const u32 gEventObjectPic_MauvilleOldMan1[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1.4bpp");
+const u32 gEventObjectPic_MauvilleOldMan2[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2.4bpp");
+const u32 gEventObjectPic_MartEmployee[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee.4bpp");
+const u32 gEventObjectPic_RooftopSaleWoman[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman.4bpp");
+const u32 gEventObjectPic_Teala[] = INCBIN_U32("graphics/event_objects/pics/people/teala.4bpp");
+const u32 gEventObjectPic_Artist[] = INCBIN_U32("graphics/event_objects/pics/people/artist.4bpp");
+const u32 gEventObjectPic_Cameraman[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman.4bpp");
+const u32 gEventObjectPic_Scientist2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2.4bpp");
+const u32 gEventObjectPic_DevonEmployee[] = INCBIN_U32("graphics/event_objects/pics/people/devon_employee.4bpp");
+const u32 gEventObjectPic_AquaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_m.4bpp");
+const u32 gEventObjectPic_AquaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_f.4bpp");
+const u32 gEventObjectPic_MagmaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_m.4bpp");
+const u32 gEventObjectPic_MagmaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_f.4bpp");
+const u32 gEventObjectPic_Sidney[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/sidney.4bpp");
+const u32 gEventObjectPic_Phoebe[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/phoebe.4bpp");
+const u32 gEventObjectPic_Glacia[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/glacia.4bpp");
+const u32 gEventObjectPic_Drake[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/drake.4bpp");
+const u32 gEventObjectPic_Roxanne[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/roxanne.4bpp");
+const u32 gEventObjectPic_Brawly[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/brawly.4bpp");
+const u32 gEventObjectPic_Wattson[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/wattson.4bpp");
+const u32 gEventObjectPic_Flannery[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/flannery.4bpp");
+const u32 gEventObjectPic_Norman[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/norman.4bpp");
+const u32 gEventObjectPic_Winona[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/winona.4bpp");
+const u32 gEventObjectPic_Liza[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/liza.4bpp");
+const u32 gEventObjectPic_Tate[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/tate.4bpp");
+const u32 gEventObjectPic_Wallace[] = INCBIN_U32("graphics/event_objects/pics/people/wallace.4bpp");
+const u32 gEventObjectPic_Steven[] = INCBIN_U32("graphics/event_objects/pics/people/steven.4bpp");
+const u32 gEventObjectPic_Wally[] = INCBIN_U32("graphics/event_objects/pics/people/wally.4bpp");
+const u32 gEventObjectPic_RubySapphireLittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rs_little_boy.4bpp");
+const u32 gEventObjectPic_HotSpringsOldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman.4bpp");
+const u32 gEventObjectPic_LatiasLatios[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios.4bpp");
+const u32 gEventObjectPic_GameboyKid[] = INCBIN_U32("graphics/event_objects/pics/people/gameboy_kid.4bpp");
+const u32 gEventObjectPic_ContestJudge[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge.4bpp");
+const u32 gEventObjectPic_Archie[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/archie.4bpp");
+const u32 gEventObjectPic_Maxie[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/maxie.4bpp");
+const u32 gEventObjectPic_Kyogre[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre.4bpp");
+const u32 gEventObjectPic_Groudon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon.4bpp");
+const u32 gEventObjectPic_Regi[] = INCBIN_U32("graphics/event_objects/pics/pokemon/regi.4bpp");
+const u32 gEventObjectPic_Skitty[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty.4bpp");
+const u32 gEventObjectPic_Kecleon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon.4bpp");
+const u32 gEventObjectPic_Rayquaza[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza.4bpp");
+const u32 gEventObjectPic_RayquazaStill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza_still.4bpp");
+const u32 gEventObjectPic_Zigzagoon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon.4bpp");
+const u32 gEventObjectPic_Pikachu[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu.4bpp");
+const u32 gEventObjectPic_Azumarill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill.4bpp");
+const u32 gEventObjectPic_Wingull[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull.4bpp");
+const u32 gEventObjectPic_TuberMSwimming[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming.4bpp");
+const u32 gEventObjectPic_Azurill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill.4bpp");
+const u32 gEventObjectPic_Mom[] = INCBIN_U32("graphics/event_objects/pics/people/mom.4bpp");
+const u16 gEventObjectPalette22[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_22.gbapal");
+const u16 gEventObjectPalette23[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_23.gbapal");
+const u16 gEventObjectPalette24[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_24.gbapal");
+const u16 gEventObjectPalette25[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_25.gbapal");
+const u32 gEventObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_natu_doll.4bpp");
+const u32 gEventObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_magnemite_doll.4bpp");
+const u32 gEventObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_squirtle_doll.4bpp");
+const u32 gEventObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_wooper_doll.4bpp");
+const u32 gEventObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_pikachu_doll.4bpp");
+const u32 gEventObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_porygon2_doll.4bpp");
+const u32 gEventObjectPic_PichuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pichu_doll.4bpp");
+const u32 gEventObjectPic_PikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pikachu_doll.4bpp");
+const u32 gEventObjectPic_MarillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/marill_doll.4bpp");
+const u32 gEventObjectPic_TogepiDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/togepi_doll.4bpp");
+const u32 gEventObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/cyndaquil_doll.4bpp");
+const u32 gEventObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/chikorita_doll.4bpp");
+const u32 gEventObjectPic_TotodileDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/totodile_doll.4bpp");
+const u32 gEventObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/jigglypuff_doll.4bpp");
+const u32 gEventObjectPic_MeowthDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/meowth_doll.4bpp");
+const u32 gEventObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/clefairy_doll.4bpp");
+const u32 gEventObjectPic_DittoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/ditto_doll.4bpp");
+const u32 gEventObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/smoochum_doll.4bpp");
+const u32 gEventObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/treecko_doll.4bpp");
+const u32 gEventObjectPic_TorchicDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/torchic_doll.4bpp");
+const u32 gEventObjectPic_MudkipDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/mudkip_doll.4bpp");
+const u32 gEventObjectPic_DuskullDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/duskull_doll.4bpp");
+const u32 gEventObjectPic_WynautDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/wynaut_doll.4bpp");
+const u32 gEventObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/baltoy_doll.4bpp");
+const u32 gEventObjectPic_KecleonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/kecleon_doll.4bpp");
+const u32 gEventObjectPic_AzurillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/azurill_doll.4bpp");
+const u32 gEventObjectPic_SkittyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/skitty_doll.4bpp");
+const u32 gEventObjectPic_SwabluDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/swablu_doll.4bpp");
+const u32 gEventObjectPic_GulpinDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/gulpin_doll.4bpp");
+const u32 gEventObjectPic_LotadDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/lotad_doll.4bpp");
+const u32 gEventObjectPic_SeedotDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/seedot_doll.4bpp");
+const u32 gEventObjectPic_PikaCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/pika_cushion.4bpp");
+const u32 gEventObjectPic_RoundCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/round_cushion.4bpp");
+const u32 gEventObjectPic_KissCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/kiss_cushion.4bpp");
+const u32 gEventObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/zigzag_cushion.4bpp");
+const u32 gEventObjectPic_SpinCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/spin_cushion.4bpp");
+const u32 gEventObjectPic_DiamondCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/diamond_cushion.4bpp");
+const u32 gEventObjectPic_BallCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/ball_cushion.4bpp");
+const u32 gEventObjectPic_GrassCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/grass_cushion.4bpp");
+const u32 gEventObjectPic_FireCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/fire_cushion.4bpp");
+const u32 gEventObjectPic_WaterCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/water_cushion.4bpp");
+const u32 gEventObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_snorlax_doll.4bpp");
+const u32 gEventObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_rhydon_doll.4bpp");
+const u32 gEventObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_lapras_doll.4bpp");
+const u32 gEventObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_venusaur_doll.4bpp");
+const u32 gEventObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_charizard_doll.4bpp");
+const u32 gEventObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_blastoise_doll.4bpp");
+const u32 gEventObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_wailmer_doll.4bpp");
+const u32 gEventObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regirock_doll.4bpp");
+const u32 gEventObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regice_doll.4bpp");
+const u32 gEventObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_registeel_doll.4bpp");
+const u32 gEventObjectPic_CuttableTree[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree.4bpp");
+const u32 gEventObjectPic_BreakableRock[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock.4bpp");
+const u32 gEventObjectPic_PushableBoulder[] = INCBIN_U32("graphics/event_objects/pics/misc/pushable_boulder.4bpp");
+const u32 gEventObjectPic_MrBrineysBoat[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat.4bpp");
+const u32 gEventObjectPic_Fossil[] = INCBIN_U32("graphics/event_objects/pics/misc/fossil.4bpp");
+const u32 gEventObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/event_objects/pics/misc/submarine_shadow.4bpp");
+const u16 gEventObjectPalette26[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_26.gbapal");
+const u32 gEventObjectPic_Truck[] = INCBIN_U32("graphics/event_objects/pics/misc/truck.4bpp");
+const u16 gEventObjectPalette14[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_14.gbapal");
+const u32 gEventObjectPic_Vigoroth[] = INCBIN_U32("graphics/event_objects/pics/pokemon/vigoroth.4bpp");
+const u16 gEventObjectPalette15[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_15.gbapal");
+const u32 gEventObjectPic_BirchsBag[] = INCBIN_U32("graphics/event_objects/pics/misc/birchs_bag.4bpp");
+const u32 gEventObjectPic_EnemyZigzagoon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon.4bpp");
+const u16 gEventObjectPalette16[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_16.gbapal");
+const u32 gEventObjectPic_Poochyena[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena.4bpp");
+const u16 gEventObjectPalette27[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_27.gbapal");
+const u32 gEventObjectPic_CableCar[] = INCBIN_U32("graphics/event_objects/pics/misc/cable_car.4bpp");
+const u16 gEventObjectPalette20[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_20.gbapal");
+const u32 gEventObjectPic_SSTidal[] = INCBIN_U32("graphics/event_objects/pics/misc/ss_tidal.4bpp");
+const u16 gEventObjectPalette21[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_21.gbapal");
+const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle.4bpp");
+const u32 gEventObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/dirt_pile.4bpp");
+const u32 gEventObjectPic_BerryTreeSprout[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sprout.4bpp");
+const u32 gEventObjectPic_PechaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha.4bpp");
+const u32 gEventObjectPic_KelpsyBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy.4bpp");
+const u32 gEventObjectPic_WepearBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear.4bpp");
+const u32 gEventObjectPic_IapapaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa.4bpp");
+const u32 gEventObjectPic_CheriBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri.4bpp");
+const u32 gEventObjectPic_FigyBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy.4bpp");
+const u32 gEventObjectPic_MagoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago.4bpp");
+const u32 gEventObjectPic_LumBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum.4bpp");
+const u32 gEventObjectPic_RazzBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz.4bpp");
+const u32 gEventObjectPic_GrepaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa.4bpp");
+const u32 gEventObjectPic_RabutaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta.4bpp");
+const u32 gEventObjectPic_NomelBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel.4bpp");
+const u32 gEventObjectPic_LeppaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa.4bpp");
+const u32 gEventObjectPic_LiechiBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi.4bpp");
+const u32 gEventObjectPic_HondewBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew.4bpp");
+const u32 gEventObjectPic_AguavBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav.4bpp");
+const u32 gEventObjectPic_WikiBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki.4bpp");
+const u32 gEventObjectPic_PomegBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg.4bpp");
+const u32 gEventObjectPic_RawstBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst.4bpp");
+const u32 gEventObjectPic_SpelonBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon.4bpp");
+const u32 gEventObjectPic_ChestoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto.4bpp");
+const u32 gEventObjectPic_OranBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran.4bpp");
+const u32 gEventObjectPic_PersimBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim.4bpp");
+const u32 gEventObjectPic_SitrusBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus.4bpp");
+const u32 gEventObjectPic_AspearBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear.4bpp");
+const u32 gEventObjectPic_PamtreBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre.4bpp");
+const u32 gEventObjectPic_CornnBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn.4bpp");
+const u32 gEventObjectPic_LansatBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat.4bpp");
+const u32 gEventObjectPic_DurinBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin.4bpp");
+const u32 gEventObjectPic_TamatoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato.4bpp");
+const u32 gFieldEffectObjectPic_SurfBlob[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob.4bpp");
+const u32 gEventObjectPic_QuintyPlump[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump.4bpp");
+const u16 gEventObjectPalette12[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_12.gbapal");
+const u16 gEventObjectPalette13[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_13.gbapal");
+const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_small.4bpp");
+const u32 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_medium.4bpp");
+const u32 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_large.4bpp");
+const u32 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_extra_large.4bpp");
+const u32 filler_8368A08[0x48] = {};
+const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/event_objects/pics/effects/cut_grass.4bpp");
+const u32 gFieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/event_objects/pics/effects/cut_grass.4bpp");
+const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_06.gbapal");
+const u32 gFieldEffectObjectPic_Ripple[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple.4bpp");
+const u32 gFieldEffectObjectPic_Ash[] = INCBIN_U32("graphics/event_objects/pics/effects/ash.4bpp");
+const u32 gFieldEffectObjectPic_Arrow[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow.4bpp");
+const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_00.gbapal");
+const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal");
+const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust.4bpp");
+const u32 gFieldEffectObjectPic_BikeHopTallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass.4bpp");
+const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp");
+const u32 gFieldEffectObjectPic_Unknown16[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16.4bpp");
+const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17.4bpp");
+const u32 gFieldEffectObjectPic_Unknown18[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18.4bpp");
+const u32 gFieldEffectObjectPic_LongGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass.4bpp");
+const u32 gFieldEffectObjectPic_TallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass.4bpp");
+const u32 gFieldEffectObjectPic_ShortGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/short_grass.4bpp");
+const u32 gFieldEffectObjectPic_SandFootprints[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_footprints.4bpp");
+const u32 gFieldEffectObjectPic_DeepSandFootprints[] = INCBIN_U32("graphics/event_objects/pics/effects/deep_sand_footprints.4bpp");
+const u32 gFieldEffectObjectPic_BikeTireTracks[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks.4bpp");
+const u32 gFieldEffectObjectPic_Unknown19[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19.4bpp");
+const u32 gFieldEffectObjectPic_Unknown29[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29.4bpp");
+const u32 gFieldEffectObjectPic_BikeHopBigSplash[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_big_splash.4bpp");
+const u32 gFieldEffectObjectPic_Splash[] = INCBIN_U32("graphics/event_objects/pics/effects/splash.4bpp");
+const u32 gFieldEffectObjectPic_BikeHopSmallSplash[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_small_splash.4bpp");
+const u32 gFieldEffectObjectPic_Unknown20[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20.4bpp");
+const u32 gFieldEffectObjectPic_TreeDisguise[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise.4bpp");
+const u32 gFieldEffectObjectPic_MountainDisguise[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise.4bpp");
+const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder.4bpp");
+const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/event_objects/pics/effects/hot_springs_water.4bpp");
+const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_02.gbapal");
+const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash.4bpp");
+const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/event_objects/pics/effects/lavaridge_gym_warp.4bpp");
+const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles.4bpp");
+const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35.4bpp");
+const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal");
+const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/event_objects/pics/effects/bird.4bpp");
+const u32 gEventObjectPic_Juan[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/juan.4bpp");
+const u32 gEventObjectPic_Scott[] = INCBIN_U32("graphics/event_objects/pics/people/scott.4bpp");
+const u32 gEventObjectPic_Statue[] = INCBIN_U32("graphics/event_objects/pics/misc/statue.4bpp");
+const u32 gEventObjectPic_Kirlia[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia.4bpp");
+const u32 gEventObjectPic_Dusclops[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops.4bpp");
+const u32 gEventObjectPic_MysteryEventDeliveryman[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman.4bpp");
+const u32 gEventObjectPic_UnionRoomAttendant[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant.4bpp");
+const u32 gEventObjectPic_MovingBox[] = INCBIN_U32("graphics/event_objects/pics/misc/moving_box.4bpp");
+const u16 gEventObjectPalette19[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_19.gbapal");
+const u32 gEventObjectPic_Sudowoodo[] = INCBIN_U32("graphics/event_objects/pics/pokemon/sudowoodo.4bpp");
+const u32 gEventObjectPic_Mew[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew.4bpp");
+const u16 gEventObjectPalette28[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_28.gbapal");
+const u32 gEventObjectPic_Red[] = INCBIN_U32("graphics/event_objects/pics/people/red.4bpp");
+const u32 gEventObjectPic_Leaf[] = INCBIN_U32("graphics/event_objects/pics/people/leaf.4bpp");
+const u16 gEventObjectPalette30[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_30.gbapal");
+const u32 gEventObjectPic_BirthIslandStone[] = INCBIN_U32("graphics/event_objects/pics/misc/birth_island_stone.4bpp");
+const u16 gEventObjectPalette29[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_29.gbapal");
+const u32 gEventObjectPic_Deoxys[] = INCBIN_U32("graphics/event_objects/pics/pokemon/deoxys.4bpp");
+const u32 gEventObjectPic_Anabel[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/anabel.4bpp");
+const u32 gEventObjectPic_Tucker[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/tucker.4bpp");
+const u32 gEventObjectPic_Spenser[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/spenser.4bpp");
+const u32 gEventObjectPic_Greta[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/greta.4bpp");
+const u32 gEventObjectPic_Noland[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/noland.4bpp");
+const u32 gEventObjectPic_Lucy[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/lucy.4bpp");
+const u32 gEventObjectPic_Brandon[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/brandon.4bpp");
+const u32 gEventObjectPic_Lugia[] = INCBIN_U32("graphics/event_objects/pics/pokemon/lugia.4bpp");
+const u16 gEventObjectPalette32[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_32.gbapal");
+const u32 gEventObjectPic_HoOh[] = INCBIN_U32("graphics/event_objects/pics/pokemon/ho_oh.4bpp");
+const u16 gEventObjectPalette31[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_31.gbapal");
diff --git a/src/data/object_event/event_object_graphics.h b/src/data/object_event/event_object_graphics.h
index 764c00ea2..88ca30ff5 100755
--- a/src/data/object_event/event_object_graphics.h
+++ b/src/data/object_event/event_object_graphics.h
@@ -326,7 +326,7 @@ const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics
const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/object_events/pics/effects/hot_springs_water.4bpp");
const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/object_events/palettes/field_effect_object_palette_02.gbapal");
const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/object_events/pics/effects/jump_out_of_ash.4bpp");
-const u32 gFieldEffectObjectPic_Unknown33[] = INCBIN_U32("graphics/object_events/pics/effects/unknown_33.4bpp");
+const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/object_events/pics/effects/lavaridge_gym_warp.4bpp");
const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/object_events/pics/effects/bubbles.4bpp");
const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/object_events/pics/effects/unknown_35.4bpp");
const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/object_events/palettes/field_effect_object_palette_03.gbapal");
diff --git a/src/data/object_event/field_effect_object_template_pointers.h b/src/data/object_event/field_effect_object_template_pointers.h
index 32d2b069a..de39e6db3 100755
--- a/src/data/object_event/field_effect_object_template_pointers.h
+++ b/src/data/object_event/field_effect_object_template_pointers.h
@@ -31,7 +31,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass;
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater;
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh;
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33;
+const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp;
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35;
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza;
@@ -70,7 +70,7 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
&gFieldEffectObjectTemplate_ShortGrass,
&gFieldEffectObjectTemplate_HotSpringsWater,
&gFieldEffectObjectTemplate_JumpOutOfAsh,
- &gFieldEffectObjectTemplate_Unknown33,
+ &gFieldEffectObjectTemplate_LavaridgeGymWarp,
&gFieldEffectObjectTemplate_Bubbles,
&gFieldEffectObjectTemplate_Unknown35,
&gFieldEffectObjectTemplate_Rayquaza,
diff --git a/src/data/object_event/field_effect_objects.h b/src/data/object_event/field_effect_objects.h
index e47973dae..65f35107d 100755
--- a/src/data/object_event/field_effect_objects.h
+++ b/src/data/object_event/field_effect_objects.h
@@ -892,19 +892,28 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_JumpOutOfAsh[] =
gFieldEffectObjectImageAnim_850D54C,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0x100D, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_JumpOutOfAsh, gFieldEffectObjectPicTable_JumpOutOfAsh, gDummySpriteAffineAnimTable, sub_80B7CAC};
+const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100D,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gFieldEffectObjectImageAnimTable_JumpOutOfAsh,
+ .images = gFieldEffectObjectPicTable_JumpOutOfAsh,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_PopOutOfAsh
+};
const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D};
-const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown33[] = {
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 0),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 1),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 2),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 3),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 4),
+const struct SpriteFrameImage gFieldEffectObjectPicTable_LavaridgeGymWarp[] = {
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 0),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 1),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 2),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 3),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 4),
};
-const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] =
+const union AnimCmd gFieldEffectObjectImageAnim_LavaridgeGymWarp[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
@@ -914,12 +923,21 @@ const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] =
ANIMCMD_END,
};
-const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] =
+const union AnimCmd *const gFieldEffectObjectImageAnimTable_LavaridgeGymWarp[] =
{
- gFieldEffectObjectImageAnim_850D5B0,
+ gFieldEffectObjectImageAnim_LavaridgeGymWarp,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58};
+const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100D,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gFieldEffectObjectImageAnimTable_LavaridgeGymWarp,
+ .images = gFieldEffectObjectPicTable_LavaridgeGymWarp,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_LavaridgeGymWarp
+};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Bubbles[] = {
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 0),
diff --git a/src/data/trade.h b/src/data/trade.h
index 739132093..b9350863b 100644
--- a/src/data/trade.h
+++ b/src/data/trade.h
@@ -276,48 +276,65 @@ static const u8 sTradeMonSpriteCoords[(PARTY_SIZE * 2) + 1][2] =
{23, 18} // CANCEL
};
-static const u8 sTradeMonLevelCoords[][PARTY_SIZE][2] =
+static const u8 sTradeMonLevelCoords[][2][2] =
{
+ // Your party
{
- // Your party
{5, 4},
{12, 4},
+ },
+ {
{5, 9},
{12, 9},
+ },
+ {
{5, 14},
{12, 14},
},
+ // Friend's party
{
- // Friend's party
+
{20, 4},
{27, 4},
+ },
+ {
{20, 9},
{27, 9},
+ },
+ {
{20, 14},
- {27, 14}
- }
+ {27, 14},
+ },
};
-static const u8 sTradeMonBoxCoords[][PARTY_SIZE][2] =
+static const u8 sTradeMonBoxCoords[][2][2] =
{
+ // Your party
{
- // Your party
{1, 3},
{8, 3},
+ },
+ {
{1, 8},
{8, 8},
+ },
+ {
{1, 13},
{8, 13},
},
+ // Friend's party
{
- // Friend's party
{16, 3},
{23, 3},
+ },
+ {
{16, 8},
{23, 8},
+ },
+ {
{16, 13},
- {23, 13}
- }
+ {23, 13},
+ },
};
static const u8 sUnref_0832DE6E[] =
diff --git a/src/decoration.c b/src/decoration.c
index 2a5c2ccd7..8c14be8e1 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1332,7 +1332,7 @@ void sub_8128060(u8 taskId)
ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]);
sub_812826C(taskId);
SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer);
- pal_fill_black();
+ FadeInFromBlack();
gPaletteFade.bufferTransferDisabled = FALSE;
gTasks[taskId].data[2] = 2;
break;
@@ -1738,7 +1738,7 @@ void sub_8128CD4(void)
u8 taskId;
ScriptContext2_Enable();
- pal_fill_black();
+ FadeInFromBlack();
taskId = CreateTask(sub_8128C64, 8);
sub_8127580(taskId);
gTasks[taskId].data[2] = 0;
@@ -2215,7 +2215,7 @@ void sub_81298EC(u8 taskId)
case 2:
ScriptContext2_Enable();
IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId);
- pal_fill_black();
+ FadeInFromBlack();
gTasks[taskId].data[2] = 3;
break;
case 3:
@@ -2278,7 +2278,7 @@ void sub_8129ABC(u8 taskId)
break;
case 1:
SetUpPuttingAwayDecorationPlayerAvatar();
- pal_fill_black();
+ FadeInFromBlack();
data[2] = 2;
break;
case 2:
@@ -2623,7 +2623,7 @@ void sub_812A334(void)
{
u8 taskId;
- pal_fill_black();
+ FadeInFromBlack();
DrawDialogueFrame(0, 1);
InitDecorationActionsWindow();
taskId = CreateTask(sub_812A2C4, 8);
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index 2a942c9d9..032ae6733 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -470,7 +470,7 @@ static void Task_EggHatch(u8 taskID)
{
CleanupOverworldWindowsAndTilemaps();
SetMainCallback2(CB2_EggHatch_0);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskID);
}
}
diff --git a/src/event_object_lock.c b/src/event_object_lock.c
index 1f1be8d5a..b728f7774 100644
--- a/src/event_object_lock.c
+++ b/src/event_object_lock.c
@@ -8,7 +8,7 @@
#include "trainer_see.h"
#include "constants/event_objects.h"
-bool8 walkrun_is_standing_still(void)
+bool8 IsPlayerStandingStill(void)
{
if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION)
return FALSE;
@@ -18,7 +18,7 @@ bool8 walkrun_is_standing_still(void)
static void sub_80983A4(u8 taskId)
{
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
sub_808B864();
DestroyTask(taskId);
@@ -49,7 +49,7 @@ static void sub_8098400(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- if (!task->data[0] && walkrun_is_standing_still() == TRUE)
+ if (!task->data[0] && IsPlayerStandingStill() == TRUE)
{
sub_808B864();
task->data[0] = 1;
@@ -123,7 +123,7 @@ static void sub_80985BC(u8 taskId)
struct Task *task = &gTasks[taskId];
u8 objectEventId = task->data[2];
- if (!task->data[0] && walkrun_is_standing_still() == TRUE)
+ if (!task->data[0] && IsPlayerStandingStill() == TRUE)
{
sub_808B864();
task->data[0] = 1;
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index bd261e055..6d60c30b3 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -710,22 +710,22 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
SetupWarp(&gMapHeader, warpEventId, position);
if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE)
{
- sub_80AF80C(metatileBehavior);
+ DoEscalatorWarp(metatileBehavior);
return TRUE;
}
if (MetatileBehavior_IsLavaridgeB1FWarp(metatileBehavior) == TRUE)
{
- sub_80AF828();
+ DoLavaridgeGymB1FWarp();
return TRUE;
}
if (MetatileBehavior_IsLavaridge1FWarp(metatileBehavior) == TRUE)
{
- sub_80AF838();
+ DoLavaridgeGym1FWarp();
return TRUE;
}
if (MetatileBehavior_IsAquaHideoutWarp(metatileBehavior) == TRUE)
{
- sub_80AF848();
+ DoTeleportWarp();
return TRUE;
}
if (MetatileBehavior_IsWarpOrBridge(metatileBehavior) == TRUE)
diff --git a/src/field_effect.c b/src/field_effect.c
index f5f6b1cba..b89000cc3 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -28,6 +28,7 @@
#include "util.h"
#include "constants/field_effects.h"
#include "constants/event_object_movement.h"
+#include "constants/metatile_behaviors.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -68,22 +69,22 @@ static void task00_8084310(u8);
static void mapldr_08084390(void);
static void c3_080843F8(u8);
-static void sub_80B6B94(u8);
-static bool8 sub_80B6BCC(struct Task *);
-static bool8 sub_80B6C74(struct Task *);
-static bool8 sub_80B6C90(struct Task *);
-static bool8 sub_80B6D04(struct Task *);
-static bool8 sub_80B6DBC(struct Task *);
-static bool8 sub_80B6DD8(struct Task *);
-static bool8 sub_80B6E18(struct Task *);
-
-static void sub_80B6E88(u8);
-static bool8 sub_80B6EC0(struct Task *);
-static bool8 sub_80B6EE0(struct Task *);
-static bool8 sub_80B6F50(struct Task *);
-static bool8 sub_80B6F74(struct Task *);
-static bool8 sub_80B6F84(struct Task *);
-static bool8 sub_80B6FA8(struct Task *);
+static void Task_FallWarpFieldEffect(u8);
+static bool8 FallWarpEffect_1(struct Task *);
+static bool8 FallWarpEffect_2(struct Task *);
+static bool8 FallWarpEffect_3(struct Task *);
+static bool8 FallWarpEffect_4(struct Task *);
+static bool8 FallWarpEffect_5(struct Task *);
+static bool8 FallWarpEffect_6(struct Task *);
+static bool8 FallWarpEffect_7(struct Task *);
+
+static void Task_EscalatorWarpFieldEffect(u8);
+static bool8 EscalatorWarpEffect_1(struct Task *);
+static bool8 EscalatorWarpEffect_2(struct Task *);
+static bool8 EscalatorWarpEffect_3(struct Task *);
+static bool8 EscalatorWarpEffect_4(struct Task *);
+static bool8 EscalatorWarpEffect_5(struct Task *);
+static bool8 EscalatorWarpEffect_6(struct Task *);
static void sub_80B6FB8(struct Task *);
static void sub_80B7004(struct Task *);
@@ -112,29 +113,27 @@ static bool8 dive_1_lock(struct Task *);
static bool8 dive_2_unknown(struct Task *);
static bool8 dive_3_unknown(struct Task *);
-static void sub_80B75F0(u8);
-static bool8 sub_80B764C(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7684(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B76B8(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7704(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B77F8(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7814(struct Task *, struct ObjectEvent *, struct Sprite *);
-
-static void mapldr_080851BC(void);
-static void sub_80B7890(u8);
-
-static bool8 sub_80B78EC(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B791C(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7968(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B79BC(struct Task *, struct ObjectEvent *, struct Sprite *);
-
-static void sub_80B7A8C(u8);
-
-static bool8 sub_80B7AE8(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7B18(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7B94(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7BCC(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7BF4(struct Task *, struct ObjectEvent *, struct Sprite *);
+static void Task_LavaridgeGymB1FWarp(u8);
+static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *, struct ObjectEvent *, struct Sprite *);
+
+static void FieldCB_LavaridgeGymB1FWarpExit(void);
+static void Task_LavaridgeGymB1FWarpExit(u8);
+static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *);
+
+static void Task_LavaridgeGym1FWarp(u8);
+static bool8 LavaridgeGym1FWarpEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_5(struct Task *, struct ObjectEvent *, struct Sprite *);
static void DoEscapeRopeFieldEffect(u8);
static void EscapeRopeFieldEffect_Step0(struct Task *);
@@ -596,25 +595,25 @@ const u8 gUnknown_0855C3BC[] = {16, 12, 8, 0};
const u8 gUnknown_0855C3C0[] = {16, 12, 8, 0};
const u8 gUnknown_0855C3C4[] = { 0, 0, 0, 0};
-bool8 (*const gUnknown_0855C3C8[])(struct Task *) =
+bool8 (*const sFallWarpFieldEffectFuncs[])(struct Task *) =
{
- sub_80B6BCC,
- sub_80B6C74,
- sub_80B6C90,
- sub_80B6D04,
- sub_80B6DBC,
- sub_80B6DD8,
- sub_80B6E18,
+ FallWarpEffect_1,
+ FallWarpEffect_2,
+ FallWarpEffect_3,
+ FallWarpEffect_4,
+ FallWarpEffect_5,
+ FallWarpEffect_6,
+ FallWarpEffect_7,
};
-bool8 (*const gUnknown_0855C3E4[])(struct Task *) =
+bool8 (*const sEscalatorWarpFieldEffectFuncs[])(struct Task *) =
{
- sub_80B6EC0,
- sub_80B6EE0,
- sub_80B6F50,
- sub_80B6F74,
- sub_80B6F84,
- sub_80B6FA8,
+ EscalatorWarpEffect_1,
+ EscalatorWarpEffect_2,
+ EscalatorWarpEffect_3,
+ EscalatorWarpEffect_4,
+ EscalatorWarpEffect_5,
+ EscalatorWarpEffect_6,
};
bool8 (*const gUnknown_0855C3FC[])(struct Task *) =
@@ -644,31 +643,31 @@ bool8 (*const gUnknown_0855C42C[])(struct Task *) =
dive_3_unknown,
};
-bool8 (*const gUnknown_0855C438[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
+bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
{
- sub_80B764C,
- sub_80B7684,
- sub_80B76B8,
- sub_80B7704,
- sub_80B77F8,
- sub_80B7814,
+ LavaridgeGymB1FWarpEffect_1,
+ LavaridgeGymB1FWarpEffect_2,
+ LavaridgeGymB1FWarpEffect_3,
+ LavaridgeGymB1FWarpEffect_4,
+ LavaridgeGymB1FWarpEffect_5,
+ LavaridgeGymB1FWarpEffect_6,
};
-bool8 (*const gUnknown_0855C450[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
+bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
{
- sub_80B78EC,
- sub_80B791C,
- sub_80B7968,
- sub_80B79BC,
+ LavaridgeGymB1FWarpExitEffect_1,
+ LavaridgeGymB1FWarpExitEffect_2,
+ LavaridgeGymB1FWarpExitEffect_3,
+ LavaridgeGymB1FWarpExitEffect_4,
};
-bool8 (*const gUnknown_0855C460[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
+bool8 (*const sLavaridgeGym1FWarpEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
{
- sub_80B7AE8,
- sub_80B7B18,
- sub_80B7B94,
- sub_80B7BCC,
- sub_80B7BF4,
+ LavaridgeGym1FWarpEffect_1,
+ LavaridgeGym1FWarpEffect_2,
+ LavaridgeGym1FWarpEffect_3,
+ LavaridgeGym1FWarpEffect_4,
+ LavaridgeGym1FWarpEffect_5,
};
void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) =
@@ -1428,7 +1427,7 @@ void ReturnToFieldFromFlyMapSelect(void)
static void FieldCallback_Fly(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task00_8084310, 0);
ScriptContext2_Enable();
FreezeObjectEvents();
@@ -1466,7 +1465,7 @@ static void task00_8084310(u8 taskId)
static void mapldr_08084390(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(c3_080843F8, 0);
gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE;
if (gPlayerAvatar.flags & 0x08)
@@ -1499,24 +1498,24 @@ static void c3_080843F8(u8 taskId)
}
}
-void sub_80B6B68(void)
+void FieldCB_FallWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeObjectEvents();
- CreateTask(sub_80B6B94, 0);
+ CreateTask(Task_FallWarpFieldEffect, 0);
gFieldCallback = NULL;
}
-static void sub_80B6B94(u8 taskId)
+static void Task_FallWarpFieldEffect(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
- while (gUnknown_0855C3C8[task->data[0]](task)); // return code signifies whether to continue blocking here
+ while (sFallWarpFieldEffectFuncs[task->data[0]](task)); // return code signifies whether to continue blocking here
}
-static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
+static bool8 FallWarpEffect_1(struct Task *task)
{
struct ObjectEvent *playerObject;
struct Sprite *playerSprite;
@@ -1534,7 +1533,7 @@ static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
return TRUE;
}
-static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
+static bool8 FallWarpEffect_2(struct Task *task)
{
if (IsWeatherNotFadingIn())
{
@@ -1543,7 +1542,7 @@ static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
return FALSE;
}
-static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
+static bool8 FallWarpEffect_3(struct Task *task)
{
struct Sprite *sprite;
s16 centerToCornerVecY;
@@ -1558,7 +1557,7 @@ static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
return FALSE;
}
-static bool8 sub_80B6D04(struct Task *task)
+static bool8 FallWarpEffect_4(struct Task *task)
{
struct ObjectEvent *objectEvent;
struct Sprite *sprite;
@@ -1592,7 +1591,7 @@ static bool8 sub_80B6D04(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6DBC(struct Task *task)
+static bool8 FallWarpEffect_5(struct Task *task)
{
task->data[0]++;
task->data[1] = 4;
@@ -1601,7 +1600,7 @@ static bool8 sub_80B6DBC(struct Task *task)
return TRUE;
}
-static bool8 sub_80B6DD8(struct Task *task)
+static bool8 FallWarpEffect_6(struct Task *task)
{
SetCameraPanning(0, task->data[1]);
task->data[1] = -task->data[1];
@@ -1617,36 +1616,36 @@ static bool8 sub_80B6DD8(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6E18(struct Task *task)
+static bool8 FallWarpEffect_7(struct Task *task)
{
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
CameraObjectReset1();
UnfreezeObjectEvents();
InstallCameraPanAheadCallback();
- DestroyTask(FindTaskIdByFunc(sub_80B6B94));
+ DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect));
return FALSE;
}
-void sub_80B6E4C(u8 a0, u8 priority)
+void StartEscalatorWarp(u8 metatileBehavior, u8 priority)
{
u8 taskId;
- taskId = CreateTask(sub_80B6E88, priority);
+ taskId = CreateTask(Task_EscalatorWarpFieldEffect, priority);
gTasks[taskId].data[1] = 0;
- if (a0 == 0x6a)
+ if (metatileBehavior == MB_UP_ESCALATOR)
{
gTasks[taskId].data[1] = 1;
}
}
-static void sub_80B6E88(u8 taskId)
+static void Task_EscalatorWarpFieldEffect(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
- while (gUnknown_0855C3E4[task->data[0]](task));
+ while (sEscalatorWarpFieldEffectFuncs[task->data[0]](task));
}
-static bool8 sub_80B6EC0(struct Task *task)
+static bool8 EscalatorWarpEffect_1(struct Task *task)
{
FreezeObjectEvents();
CameraObjectReset2();
@@ -1655,7 +1654,7 @@ static bool8 sub_80B6EC0(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6EE0(struct Task *task)
+static bool8 EscalatorWarpEffect_2(struct Task *task)
{
struct ObjectEvent *objectEvent;
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
@@ -1674,7 +1673,7 @@ static bool8 sub_80B6EE0(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6F50(struct Task *task)
+static bool8 EscalatorWarpEffect_3(struct Task *task)
{
sub_80B6FB8(task);
if (task->data[2] > 3)
@@ -1685,14 +1684,14 @@ static bool8 sub_80B6F50(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6F74(struct Task *task)
+static bool8 EscalatorWarpEffect_4(struct Task *task)
{
sub_80B6FB8(task);
sub_80B7060();
return FALSE;
}
-static bool8 sub_80B6F84(struct Task *task)
+static bool8 EscalatorWarpEffect_5(struct Task *task)
{
sub_80B7004(task);
if (task->data[2] > 3)
@@ -1703,7 +1702,7 @@ static bool8 sub_80B6F84(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6FA8(struct Task *task)
+static bool8 EscalatorWarpEffect_6(struct Task *task)
{
sub_80B7004(task);
sub_80B7060();
@@ -1739,7 +1738,7 @@ static void sub_80B7004(struct Task *task)
static void sub_80B7050(void)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
static void sub_80B7060(void)
@@ -1750,14 +1749,14 @@ static void sub_80B7060(void)
WarpIntoMap();
gFieldCallback = sub_80B70B4;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B6E88));
+ DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpFieldEffect));
}
}
static void sub_80B70B4(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
CreateTask(sub_80B70DC, 0);
gFieldCallback = NULL;
@@ -1994,17 +1993,17 @@ static bool8 dive_3_unknown(struct Task *task)
return FALSE;
}
-void sub_80B75D8(u8 priority)
+void StartLavaridgeGymB1FWarp(u8 priority)
{
- CreateTask(sub_80B75F0, priority);
+ CreateTask(Task_LavaridgeGymB1FWarp, priority);
}
-static void sub_80B75F0(u8 taskId)
+static void Task_LavaridgeGymB1FWarp(u8 taskId)
{
- while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
+ while (sLavaridgeGymB1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B764C(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
FreezeObjectEvents();
CameraObjectReset2();
@@ -2016,7 +2015,7 @@ static bool8 sub_80B764C(struct Task *task, struct ObjectEvent *objectEvent, str
return TRUE;
}
-static bool8 sub_80B7684(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
SetCameraPanning(0, task->data[1]);
task->data[1] = -task->data[1];
@@ -2029,7 +2028,7 @@ static bool8 sub_80B7684(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B76B8(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
sprite->pos2.y = 0;
task->data[3] = 1;
@@ -2043,7 +2042,7 @@ static bool8 sub_80B76B8(struct Task *task, struct ObjectEvent *objectEvent, str
return TRUE;
}
-static bool8 sub_80B7704(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
s16 centerToCornerVecY;
SetCameraPanning(0, task->data[1]);
@@ -2086,41 +2085,41 @@ static bool8 sub_80B7704(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B77F8(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
return FALSE;
}
-static bool8 sub_80B7814(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
WarpIntoMap();
- gFieldCallback = mapldr_080851BC;
+ gFieldCallback = FieldCB_LavaridgeGymB1FWarpExit;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B75F0));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarp));
}
return FALSE;
}
-static void mapldr_080851BC(void)
+static void FieldCB_LavaridgeGymB1FWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
gFieldCallback = NULL;
- CreateTask(sub_80B7890, 0);
+ CreateTask(Task_LavaridgeGymB1FWarpExit, 0);
}
-static void sub_80B7890(u8 taskId)
+static void Task_LavaridgeGymB1FWarpExit(u8 taskId)
{
- while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
+ while (sLavaridgeGymB1FWarpExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B78EC(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
CameraObjectReset2();
FreezeObjectEvents();
@@ -2130,7 +2129,7 @@ static bool8 sub_80B78EC(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B791C(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (IsWeatherNotFadingIn())
{
@@ -2144,7 +2143,7 @@ static bool8 sub_80B791C(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B7968(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
sprite = &gSprites[task->data[1]];
if (sprite->animCmdIndex > 1)
@@ -2158,18 +2157,19 @@ static bool8 sub_80B7968(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B79BC(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
{
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
UnfreezeObjectEvents();
- DestroyTask(FindTaskIdByFunc(sub_80B7890));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit));
}
return FALSE;
}
+// For the ash puff effect when warping off the B1F ash tiles
u8 FldEff_LavaridgeGymWarp(void)
{
u8 spriteId;
@@ -2180,7 +2180,7 @@ u8 FldEff_LavaridgeGymWarp(void)
return spriteId;
}
-void sub_80B7A58(struct Sprite *sprite)
+void SpriteCB_LavaridgeGymWarp(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -2188,17 +2188,17 @@ void sub_80B7A58(struct Sprite *sprite)
}
}
-void sub_80B7A74(u8 priority)
+void StartLavaridgeGym1FWarp(u8 priority)
{
- CreateTask(sub_80B7A8C, priority);
+ CreateTask(Task_LavaridgeGym1FWarp, priority);
}
-static void sub_80B7A8C(u8 taskId)
+static void Task_LavaridgeGym1FWarp(u8 taskId)
{
- while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
+ while(sLavaridgeGym1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B7AE8(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
FreezeObjectEvents();
CameraObjectReset2();
@@ -2208,7 +2208,7 @@ static bool8 sub_80B7AE8(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B7B18(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
{
@@ -2230,7 +2230,7 @@ static bool8 sub_80B7B18(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B7B94(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (gSprites[task->data[1]].animCmdIndex == 2)
{
@@ -2240,25 +2240,25 @@ static bool8 sub_80B7B94(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B7BCC(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
return FALSE;
}
-static bool8 sub_80B7BF4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_5(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
WarpIntoMap();
- gFieldCallback = sub_80B6B68;
+ gFieldCallback = FieldCB_FallWarpExit;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B7A8C));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGym1FWarp));
}
return FALSE;
}
@@ -2273,7 +2273,7 @@ u8 FldEff_PopOutOfAsh(void)
return spriteId;
}
-void sub_80B7CAC(struct Sprite *sprite)
+void SpriteCB_PopOutOfAsh(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -2307,7 +2307,7 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task)
if (task->data[14] != 0 && (--task->data[14]) == 0)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent))
@@ -2340,7 +2340,7 @@ void (*const gUnknown_0855C484[])(struct Task *) = {
static void mapldr_080859D4(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeObjectEvents();
gFieldCallback = NULL;
@@ -2460,7 +2460,7 @@ static void TeleportFieldEffectTask3(struct Task *task)
{
task->data[0]++;
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
}
@@ -2488,7 +2488,7 @@ static void TeleportFieldEffectTask4(struct Task *task)
static void mapldr_08085D88(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeObjectEvents();
gFieldCallback = NULL;
@@ -3268,7 +3268,7 @@ static void sub_80B9474(struct Task *task)
{
if (sub_80B9508(task->data[1]))
{
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
}
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index ac05bb2fd..ebab51ed8 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -1396,11 +1396,11 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT);
}
-void sub_808C0A8(u8 a)
+void SetPlayerInvisibility(bool8 invisible)
{
- gObjectEvents[gPlayerAvatar.objectEventId].invisible = a;
+ gObjectEvents[gPlayerAvatar.objectEventId].invisible = invisible;
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
- gSprites[gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId].invisible = a;
+ gSprites[gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId].invisible = invisible;
}
void sub_808C114(void)
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index 77d9f2a91..ea9429ce8 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -28,6 +28,7 @@
#include "task.h"
#include "text.h"
#include "constants/event_object_movement.h"
+#include "constants/event_objects.h"
#include "constants/songs.h"
#include "constants/rgb.h"
#include "trainer_hill.h"
@@ -37,21 +38,21 @@ extern const u16 gOrbEffectBackgroundLayerFlags[];
// This file's functions.
static void sub_8080B9C(u8);
-static void task_map_chg_seq_0807E20C(u8);
-static void task_map_chg_seq_0807E2CC(u8);
+static void Task_ExitNonAnimDoor(u8);
+static void Task_ExitNonDoor(u8);
static void task0A_fade_n_map_maybe(u8);
static void sub_808115C(u8);
-static void palette_bg_faded_fill_white(void);
-static void sub_80AF438(u8);
+static void FillPalBufferWhite(void);
+static void Task_ExitDoor(u8);
static bool32 WaitForWeatherFadeIn(void);
static void task0A_mpl_807E31C(u8 taskId);
-static void sub_80AFA0C(u8 taskId);
-static void sub_80AFA88(u8 taskId);
+static void Task_WarpAndLoadMap(u8 taskId);
+static void Task_DoDoorWarp(u8 taskId);
static void Task_EnableScriptAfterMusicFade(u8 taskId);
// const
-const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
-const s32 gMaxFlashLevel = 8;
+static const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
+const s32 gMaxFlashLevel = ARRAY_COUNT(sFlashLevelPixelRadii) - 1;
const struct ScanlineEffectParams sFlashEffectParams =
{
@@ -61,44 +62,44 @@ const struct ScanlineEffectParams sFlashEffectParams =
};
// code
-static void palette_bg_faded_fill_white(void)
+static void FillPalBufferWhite(void)
{
CpuFastFill16(RGB_WHITE, gPlttBufferFaded, PLTT_SIZE);
}
-static void palette_bg_faded_fill_black(void)
+static void FillPalBufferBlack(void)
{
CpuFastFill16(RGB_BLACK, gPlttBufferFaded, PLTT_SIZE);
}
-void pal_fill_for_maplights(void)
+void WarpFadeInScreen(void)
{
u8 previousMapType = GetLastUsedWarpMapType();
switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType()))
{
case 0:
- palette_bg_faded_fill_black();
+ FillPalBufferBlack();
FadeScreen(FADE_FROM_BLACK, 0);
break;
case 1:
- palette_bg_faded_fill_white();
+ FillPalBufferWhite();
FadeScreen(FADE_FROM_WHITE, 0);
}
}
-static void sub_80AF08C(void)
+void FadeInFromWhite(void)
{
- palette_bg_faded_fill_white();
+ FillPalBufferWhite();
FadeScreen(FADE_FROM_WHITE, 8);
}
-void pal_fill_black(void)
+void FadeInFromBlack(void)
{
- palette_bg_faded_fill_black();
+ FillPalBufferBlack();
FadeScreen(FADE_FROM_BLACK, 0);
}
-void WarpFadeScreen(void)
+void WarpFadeOutScreen(void)
{
u8 currentMapType = GetCurrentMapType();
switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType))
@@ -111,26 +112,26 @@ void WarpFadeScreen(void)
}
}
-static void sub_80AF0F4(u8 arg)
+static void SetPlayerVisibility(bool8 visible)
{
- sub_808C0A8(!arg);
+ SetPlayerInvisibility(!visible);
}
-static void task0A_nop_for_a_while(u8 taskId)
+static void Task_WaitForUnionRoomFade(u8 taskId)
{
if (WaitForWeatherFadeIn() == TRUE)
DestroyTask(taskId);
}
-void sub_80AF128(void)
+void FieldCB_ContinueScriptUnionRoom(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- CreateTask(task0A_nop_for_a_while, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForUnionRoomFade, 10);
}
-static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
+static void Task_WaitForFadeAndEnableScriptCtx(u8 taskID)
{
if (WaitForWeatherFadeIn() == TRUE)
{
@@ -139,22 +140,22 @@ static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
}
}
-void FieldCallback_ReturnToEventScript2(void)
+void FieldCB_ContinueScriptHandleMusic(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10);
}
-void sub_80AF188(void)
+void FieldCB_ContinueScript(void)
{
ScriptContext2_Enable();
- pal_fill_black();
- CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10);
}
-static void task_mpl_807DD60(u8 taskId)
+static void Task_ReturnToFieldCableLink(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -167,7 +168,7 @@ static void task_mpl_807DD60(u8 taskId)
case 1:
if (gTasks[task->data[1]].isActive != TRUE)
{
- pal_fill_for_maplights();
+ WarpFadeInScreen();
task->data[0]++;
}
break;
@@ -181,15 +182,15 @@ static void task_mpl_807DD60(u8 taskId)
}
}
-void sub_80AF214(void)
+void FieldCB_ReturnToFieldCableLink(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- palette_bg_faded_fill_black();
- CreateTask(task_mpl_807DD60, 10);
+ FillPalBufferBlack();
+ CreateTask(Task_ReturnToFieldCableLink, 10);
}
-static void sub_80AF234(u8 taskId)
+static void Task_ReturnToFieldWirelessLink(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -207,7 +208,7 @@ static void sub_80AF234(u8 taskId)
}
else
{
- pal_fill_for_maplights();
+ WarpFadeInScreen();
task->data[0]++;
}
break;
@@ -222,7 +223,7 @@ static void sub_80AF234(u8 taskId)
}
}
-void sub_80AF2B4(u8 taskId)
+void Task_ReturnToFieldRecordMixing(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -247,15 +248,15 @@ void sub_80AF2B4(u8 taskId)
}
}
-void sub_80AF314(void)
+void FieldCB_ReturnToFieldWirelessLink(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- palette_bg_faded_fill_black();
- CreateTask(sub_80AF234, 10);
+ FillPalBufferBlack();
+ CreateTask(Task_ReturnToFieldWirelessLink, 10);
}
-static void sub_80AF334(void)
+static void SetUpWarpExitTask(void)
{
s16 x, y;
u8 behavior;
@@ -264,59 +265,59 @@ static void sub_80AF334(void)
PlayerGetDestCoords(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
if (MetatileBehavior_IsDoor(behavior) == TRUE)
- func = sub_80AF438;
+ func = Task_ExitDoor;
else if (MetatileBehavior_IsNonAnimDoor(behavior) == TRUE)
- func = task_map_chg_seq_0807E20C;
+ func = Task_ExitNonAnimDoor;
else
- func = task_map_chg_seq_0807E2CC;
+ func = Task_ExitNonDoor;
CreateTask(func, 10);
}
-void mapldr_default(void)
+void FieldCB_DefaultWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
- sub_80AF334();
+ WarpFadeInScreen();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3B0(void)
+void FieldCB_WarpExitFadeFromWhite(void)
{
Overworld_PlaySpecialMapMusic();
- sub_80AF08C();
- sub_80AF334();
+ FadeInFromWhite();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3C8(void)
+void FieldCB_WarpExitFadeFromBlack(void)
{
- if (!sub_81D6534())
+ if (!sub_81D6534()) // sub_81D6534 always returns false
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- sub_80AF334();
+ FadeInFromBlack();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3E8(void)
+static void FieldCB_TeleportWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
PlaySE(SE_TK_WARPOUT);
CreateTask(task0A_mpl_807E31C, 10);
ScriptContext2_Enable();
}
-void sub_80AF40C(void)
+static void FieldCB_MossdeepGymWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
PlaySE(SE_TK_WARPOUT);
- CreateTask(task_map_chg_seq_0807E2CC, 10);
+ CreateTask(Task_ExitNonDoor, 10);
ScriptContext2_Enable();
sub_8085540(0xE);
}
-static void sub_80AF438(u8 taskId)
+static void Task_ExitDoor(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -325,7 +326,7 @@ static void sub_80AF438(u8 taskId)
switch (task->data[0])
{
case 0:
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
FreezeObjectEvents();
PlayerGetDestCoords(x, y);
FieldSetDoorOpened(*x, *y);
@@ -335,18 +336,18 @@ static void sub_80AF438(u8 taskId)
if (WaitForWeatherFadeIn())
{
u8 objEventId;
- sub_80AF0F4(1);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ SetPlayerVisibility(TRUE);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_DOWN);
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
u8 objEventId;
task->data[1] = FieldAnimateDoorClose(*x, *y);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]);
task->data[0] = 3;
}
@@ -365,7 +366,7 @@ static void sub_80AF438(u8 taskId)
}
}
-static void task_map_chg_seq_0807E20C(u8 taskId)
+static void Task_ExitNonAnimDoor(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -374,7 +375,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
switch (task->data[0])
{
case 0:
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
FreezeObjectEvents();
PlayerGetDestCoords(x, y);
task->data[0] = 1;
@@ -383,14 +384,14 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
if (WaitForWeatherFadeIn())
{
u8 objEventId;
- sub_80AF0F4(1);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ SetPlayerVisibility(TRUE);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], GetWalkNormalMovementAction(GetPlayerFacingDirection()));
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
UnfreezeObjectEvents();
task->data[0] = 3;
@@ -403,7 +404,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
}
}
-static void task_map_chg_seq_0807E2CC(u8 taskId)
+static void Task_ExitNonDoor(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
@@ -423,7 +424,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId)
}
}
-static void sub_80AF660(u8 taskId)
+static void Task_WaitForFadeShowStartMenu(u8 taskId)
{
if (WaitForWeatherFadeIn() == TRUE)
{
@@ -432,16 +433,16 @@ static void sub_80AF660(u8 taskId)
}
}
-void sub_80AF688(void)
+void ReturnToFieldOpenStartMenu(void)
{
- pal_fill_black();
- CreateTask(sub_80AF660, 0x50);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeShowStartMenu, 0x50);
ScriptContext2_Enable();
}
-bool8 sub_80AF6A4(void)
+bool8 FieldCB_ReturnToFieldOpenStartMenu(void)
{
- sub_809FA18();
+ ShowReturnToFieldStartMenu();
return FALSE;
}
@@ -458,7 +459,7 @@ static void task_mpl_807E3C8(u8 taskId)
void sub_80AF6D4(void)
{
ScriptContext2_Enable();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task_mpl_807E3C8, 10);
}
@@ -466,7 +467,7 @@ void sub_80AF6F0(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task_mpl_807E3C8, 10);
}
@@ -487,72 +488,72 @@ void DoWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
PlaySE(SE_KAIDAN);
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
void DoDiveWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
-void sub_80AF79C(void)
+void DoSootopolisLegendWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
FadeScreen(FADE_TO_WHITE, 8);
PlayRainStoppingSoundEffect();
- gFieldCallback = sub_80AF3B0;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_WarpExitFadeFromWhite;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
void DoDoorWarp(void)
{
ScriptContext2_Enable();
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA88, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_DoDoorWarp, 10);
}
void DoFallWarp(void)
{
DoDiveWarp();
- gFieldCallback = sub_80B6B68;
+ gFieldCallback = FieldCB_FallWarpExit;
}
-void sub_80AF80C(u8 metatileBehavior)
+void DoEscalatorWarp(u8 metatileBehavior)
{
ScriptContext2_Enable();
- sub_80B6E4C(metatileBehavior, 10);
+ StartEscalatorWarp(metatileBehavior, 10);
}
-void sub_80AF828(void)
+void DoLavaridgeGymB1FWarp(void)
{
ScriptContext2_Enable();
- sub_80B75D8(10);
+ StartLavaridgeGymB1FWarp(10);
}
-void sub_80AF838(void)
+void DoLavaridgeGym1FWarp(void)
{
ScriptContext2_Enable();
- sub_80B7A74(10);
+ StartLavaridgeGym1FWarp(10);
}
-void sub_80AF848(void)
+void DoTeleportWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_TK_WARPIN);
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF3E8;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_TeleportWarpExit;
}
void DoMossdeepGymWarp(void)
@@ -561,18 +562,18 @@ void DoMossdeepGymWarp(void)
ScriptContext2_Enable();
SaveObjectEvents();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_TK_WARPIN);
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF40C;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_MossdeepGymWarpExit;
}
-void sub_80AF8B8(void)
+void DoPortholeWarp(void)
{
ScriptContext2_Enable();
- WarpFadeScreen();
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80FB768;
+ WarpFadeOutScreen();
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_ShowPortholeView;
}
static void sub_80AF8E0(u8 taskId)
@@ -591,17 +592,17 @@ static void sub_80AF8E0(u8 taskId)
break;
case 2:
WarpIntoMap();
- SetMainCallback2(sub_8086074);
+ SetMainCallback2(CB2_ReturnToFieldCableClub);
DestroyTask(taskId);
break;
}
}
-void sub_80AF948(void)
+void DoCableClubWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_KAIDAN);
CreateTask(sub_80AF8E0, 10);
}
@@ -642,7 +643,7 @@ void ReturnFromLinkRoom(void)
CreateTask(Task_ReturnToWorldFromLinkRoom, 10);
}
-static void sub_80AFA0C(u8 taskId)
+static void Task_WarpAndLoadMap(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -673,7 +674,7 @@ static void sub_80AFA0C(u8 taskId)
}
}
-static void sub_80AFA88(u8 taskId)
+static void Task_DoDoorWarp(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -692,21 +693,21 @@ static void sub_80AFA88(u8 taskId)
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
{
u8 objEventId;
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventClearHeldMovementIfActive(&gObjectEvents[objEventId]);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_UP);
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
u8 objEventId;
task->data[1] = FieldAnimateDoorClose(*x, *y - 1);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]);
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
task->data[0] = 3;
}
break;
@@ -718,10 +719,10 @@ static void sub_80AFA88(u8 taskId)
break;
case 4:
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
task->data[0] = 0;
- task->func = sub_80AFA0C;
+ task->func = Task_WarpAndLoadMap;
break;
}
}
@@ -755,10 +756,10 @@ void DoContestHallWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
PlaySE(SE_KAIDAN);
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
CreateTask(task0A_fade_n_map_maybe, 10);
}
@@ -1032,7 +1033,7 @@ static void sub_80B01BC(u8 taskId)
case 1:
if (!sub_808D1E8())
{
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
break;
@@ -1051,14 +1052,14 @@ static void sub_80B01BC(u8 taskId)
void sub_80B0244(void)
{
ScriptContext2_Enable();
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF3E8;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_TeleportWarpExit;
}
void sub_80B0268(void)
{
ScriptContext2_Enable();
- gFieldCallback = mapldr_default;
+ gFieldCallback = FieldCB_DefaultWarpExit;
CreateTask(sub_80B01BC, 10);
}
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index f5d3abce6..540bcd1d4 100644
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -179,7 +179,7 @@ void Task_HandleTruckSequence(u8 taskId)
data[1]++;
if (data[1] == SECONDS(2.5))
{
- pal_fill_black();
+ FadeInFromBlack();
data[1] = 0;
data[0] = 2;
}
@@ -249,12 +249,12 @@ void EndTruckSequence(u8 taskId)
}
}
-bool8 sub_80FB59C(void)
+bool8 TrySetPortholeWarpDestination(void)
{
s8 mapGroup, mapNum;
s16 x, y;
- if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y))
+ if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y) != SS_TIDAL_LOCATION_CURRENTS)
{
return FALSE;
}
@@ -336,11 +336,11 @@ static void ShowSSTidalWhileSailing(void)
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(DIR_WEST));
}
-void sub_80FB768(void)
+void FieldCB_ShowPortholeView(void)
{
ShowSSTidalWhileSailing();
gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE;
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_HandlePorthole, 80);
ScriptContext2_Enable();
}
@@ -351,6 +351,6 @@ void LookThroughPorthole(void)
FlagSet(FLAG_DONT_TRANSITION_MUSIC);
FlagSet(FLAG_HIDE_MAP_NAME_POPUP);
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
- sub_80FB59C();
- sub_80AF8B8();
+ TrySetPortholeWarpDestination();
+ DoPortholeWarp();
}
diff --git a/src/field_specials.c b/src/field_specials.c
index 143e61477..0e7637e6d 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -366,7 +366,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y)
}
*mapGroup = MAP_GROUP(ROUTE132);
*y = 20;
- return SS_TIDAL_LOCATION_OTHER;
+ return SS_TIDAL_LOCATION_CURRENTS;
}
bool32 ShouldDoWallyCall(void)
diff --git a/src/item_use.c b/src/item_use.c
index 2a614243b..82ffd7170 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -138,7 +138,7 @@ void SetUpItemUseOnFieldCallback(u8 taskId)
void MapPostLoadHook_UseItem(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_CallItemUseOnFieldCallback, 8);
}
diff --git a/src/move_relearner.c b/src/move_relearner.c
index 6d9b5865b..e88008689 100644
--- a/src/move_relearner.c
+++ b/src/move_relearner.c
@@ -376,7 +376,7 @@ static void Task_WaitForFadeOut(u8 taskId)
if (!gPaletteFade.active)
{
SetMainCallback2(CB2_InitLearnMove);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskId);
}
}
diff --git a/src/overworld.c b/src/overworld.c
index 2d3125fc4..47bb278bf 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -1526,7 +1526,7 @@ static bool8 map_post_load_hook_exec(void)
if (gFieldCallback)
gFieldCallback();
else
- mapldr_default();
+ FieldCB_DefaultWarpExit();
gFieldCallback = NULL;
}
@@ -1565,7 +1565,7 @@ void CB2_WhiteOut(void)
ResetInitialPlayerAvatarState();
ScriptContext1_Init();
ScriptContext2_Disable();
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
val = 0;
do_load_map_stuff_loop(&val);
SetFieldVBlankCallback();
@@ -1609,10 +1609,10 @@ void sub_8086024(void)
}
}
-void sub_8086074(void)
+void CB2_ReturnToFieldCableClub(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF314;
+ gFieldCallback = FieldCB_ReturnToFieldWirelessLink;
SetMainCallback2(c2_80567AC);
}
@@ -1663,9 +1663,9 @@ void CB2_ReturnToFieldFromMultiplayer(void)
ResetAllMultiplayerState();
if (gWirelessCommType != 0)
- gFieldCallback = sub_80AF314;
+ gFieldCallback = FieldCB_ReturnToFieldWirelessLink;
else
- gFieldCallback = sub_80AF214;
+ gFieldCallback = FieldCB_ReturnToFieldCableLink;
ScriptContext1_Init();
ScriptContext2_Disable();
@@ -1675,28 +1675,28 @@ void CB2_ReturnToFieldFromMultiplayer(void)
void CB2_ReturnToFieldWithOpenMenu(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback2 = sub_80AF6A4;
+ gFieldCallback2 = FieldCB_ReturnToFieldOpenStartMenu;
CB2_ReturnToField();
}
void CB2_ReturnToFieldContinueScript(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF188;
+ gFieldCallback = FieldCB_ContinueScript;
CB2_ReturnToField();
}
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
CB2_ReturnToField();
}
void sub_80861E8(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
CB2_ReturnToField();
}
@@ -1704,7 +1704,7 @@ static void sub_8086204(void)
{
if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE)
ShowMapNamePopup();
- sub_80AF3C8();
+ FieldCB_WarpExitFadeFromBlack();
}
void CB2_ContinueSavedGame(void)
diff --git a/src/party_menu.c b/src/party_menu.c
index e8a019d66..367e84295 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -3745,7 +3745,7 @@ static void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId)
bool8 FieldCallback_PrepareFadeInFromMenu(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_FieldMoveWaitForFade, 8);
return TRUE;
}
@@ -6143,7 +6143,7 @@ static void BufferMonSelection(void)
bool8 CB2_FadeFromPartyMenu(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_PartyMenuWaitForFade, 10);
return TRUE;
}
@@ -6268,7 +6268,7 @@ static void Task_BattlePyramidChooseMonHeldItems(u8 taskId)
void MoveDeleterChooseMoveToForget(void)
{
ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
}
void GetNumMovesSelectedMonHas(void)
diff --git a/src/player_pc.c b/src/player_pc.c
index e10af43b8..bf3a5b01d 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -508,7 +508,7 @@ void Mailbox_DoRedrawMailboxMenuAfterReturn(void)
sub_81973A4();
DrawDialogueFrame(0, 1);
InitItemStorageMenu(CreateTask(ItemStorage_HandleReturnToProcessInput, 0), 1);
- pal_fill_black();
+ FadeInFromBlack();
}
static void ItemStorage_HandleReturnToProcessInput(u8 taskId)
@@ -745,7 +745,7 @@ static void pal_fill_for_maplights_or_black(void)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
- pal_fill_black();
+ FadeInFromBlack();
}
static void Mailbox_HandleReturnToProcessInput(u8 taskId)
@@ -852,7 +852,7 @@ static void Mailbox_UpdateMailListAfterDeposit(void)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
- pal_fill_black();
+ FadeInFromBlack();
}
static void Mailbox_NoPokemonForMail(u8 taskId)
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 03d5f4da4..342221880 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -960,7 +960,7 @@ static void Task_FreeDataAndExitPokeblockCase(u8 taskId)
if (!gPaletteFade.active)
{
if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE)
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyListMenuTask(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
sub_8136418();
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 3118f66cd..4ccb39ce2 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1855,7 +1855,7 @@ static void FieldCb_ReturnToPcMenu(void)
gTasks[taskId].data[1] = sPreviousBoxOption;
Task_PokemonStorageSystemPC(taskId);
SetVBlankCallback(vblankCb);
- pal_fill_black();
+ FadeInFromBlack();
}
static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr)
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 00b2cb076..f290c8554 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -369,7 +369,7 @@ static void Task_RecordMixing_Main(u8 taskId)
sub_808729C();
if (gWirelessCommType != 0)
{
- CreateTask(sub_80AF2B4, 10);
+ CreateTask(Task_ReturnToFieldRecordMixing, 10);
}
ClearDialogWindowAndFrame(0, 1);
DestroyTask(taskId);
diff --git a/src/region_map.c b/src/region_map.c
index b1ba2795c..75ce60056 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -1158,7 +1158,7 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void)
gRegionMap->mapSecId = MAPSEC_ROUTE_131;
break;
default:
- case SS_TIDAL_LOCATION_OTHER:
+ case SS_TIDAL_LOCATION_CURRENTS:
mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum);
gRegionMap->mapSecId = mapHeader->regionMapSectionId;
diff --git a/src/roulette.c b/src/roulette.c
index fb0677cbf..e38da31d0 100644
--- a/src/roulette.c
+++ b/src/roulette.c
@@ -1727,7 +1727,7 @@ static void sub_8141E7C(u8 taskId) // end roulette ?
ResetPaletteFade();
ResetSpriteData();
sub_8140418();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_ReturnToField);
DestroyTask(taskId);
}
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 82da62b27..e53b20b6b 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -810,7 +810,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF848();
+ DoTeleportWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
@@ -2286,7 +2286,7 @@ void SetMovingNpcId(u16 npcId)
sMovingNpcId = npcId;
}
-bool8 ScrCmd_warpE0(struct ScriptContext *ctx)
+bool8 ScrCmd_warpsootopolislegend(struct ScriptContext *ctx)
{
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
@@ -2295,7 +2295,7 @@ bool8 ScrCmd_warpE0(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF79C();
+ DoSootopolisLegendWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
diff --git a/src/secret_base.c b/src/secret_base.c
index fe941008c..0c67c9596 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -413,7 +413,7 @@ static void Task_EnterSecretBase(u8 taskId)
SetSecretBaseWarpDestination();
WarpIntoMap();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_LoadMap);
DestroyTask(taskId);
break;
@@ -456,7 +456,7 @@ static void EnterNewlyCreatedSecretBase_StartFadeIn(void)
y += 7;
MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0);
}
@@ -678,7 +678,7 @@ static void Task_WarpOutOfSecretBase(u8 taskId)
case 2:
SetWarpDestinationToDynamicWarp(0x7e);
WarpIntoMap();
- gFieldCallback = mapldr_default;
+ gFieldCallback = FieldCB_DefaultWarpExit;
SetMainCallback2(CB2_LoadMap);
ScriptContext2_Disable();
DestroyTask(taskId);
diff --git a/src/shop.c b/src/shop.c
index 5b83ca2a9..0bb527f81 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -390,7 +390,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId)
static void MapPostLoadHook_ReturnToShopMenu(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_ReturnToShopMenu, 8);
}
diff --git a/src/start_menu.c b/src/start_menu.c
index 99f474a90..e13fc4b26 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -83,7 +83,7 @@ EWRAM_DATA static u8 sBattlePyramidFloorWindowId = 0;
EWRAM_DATA static u8 sStartMenuCursorPos = 0;
EWRAM_DATA static u8 sNumStartMenuActions = 0;
EWRAM_DATA static u8 sCurrentStartMenuActions[9] = {0};
-EWRAM_DATA static u8 sUnknown_02037619[2] = {0};
+EWRAM_DATA static u8 sInitStartMenuData[2] = {0};
EWRAM_DATA static u8 (*sSaveDialogCallback)(void) = NULL;
EWRAM_DATA static u8 sSaveDialogTimer = 0;
@@ -135,9 +135,7 @@ static void StartMenuTask(u8 taskId);
static void SaveGameTask(u8 taskId);
static void sub_80A0550(u8 taskId);
static void sub_80A08A4(u8 taskId);
-
-// Some other callback
-static bool8 sub_809FA00(void);
+static bool8 FieldCB_ReturnToFieldStartMenu(void);
static const struct WindowTemplate sSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8};
@@ -440,33 +438,33 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count)
static bool32 InitStartMenuStep(void)
{
- s8 value = sUnknown_02037619[0];
+ s8 state = sInitStartMenuData[0];
- switch (value)
+ switch (state)
{
case 0:
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 1:
BuildStartMenuActions();
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 2:
sub_81973A4();
DrawStdWindowFrame(sub_81979C4(sNumStartMenuActions), FALSE);
- sUnknown_02037619[1] = 0;
- sUnknown_02037619[0]++;
+ sInitStartMenuData[1] = 0;
+ sInitStartMenuData[0]++;
break;
case 3:
if (GetSafariZoneFlag())
ShowSafariBallsWindow();
if (InBattlePyramid())
ShowPyramidFloorWindow();
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 4:
- if (PrintStartMenuActions(&sUnknown_02037619[1], 2))
- sUnknown_02037619[0]++;
+ if (PrintStartMenuActions(&sInitStartMenuData[1], 2))
+ sInitStartMenuData[0]++;
break;
case 5:
sStartMenuCursorPos = sub_81983AC(GetStartMenuWindowId(), 1, 0, 9, 16, sNumStartMenuActions, sStartMenuCursorPos);
@@ -479,8 +477,8 @@ static bool32 InitStartMenuStep(void)
static void InitStartMenu(void)
{
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
while (!InitStartMenuStep())
;
}
@@ -495,28 +493,28 @@ static void CreateStartMenuTask(TaskFunc followupFunc)
{
u8 taskId;
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
taskId = CreateTask(StartMenuTask, 0x50);
SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc);
}
-static bool8 sub_809FA00(void)
+static bool8 FieldCB_ReturnToFieldStartMenu(void)
{
if (InitStartMenuStep() == FALSE)
{
return FALSE;
}
- sub_80AF688();
+ ReturnToFieldOpenStartMenu();
return TRUE;
}
-void sub_809FA18(void)
+void ShowReturnToFieldStartMenu(void)
{
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
- gFieldCallback2 = sub_809FA00;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
+ gFieldCallback2 = FieldCB_ReturnToFieldStartMenu;
}
void Task_ShowStartMenu(u8 taskId)
diff --git a/src/trade.c b/src/trade.c
index 91b514067..af60d64c9 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -1988,73 +1988,28 @@ static void DrawTradeMenuPartyMonInfo(u8 whichParty, u8 monIdx, u8 x, u8 y, u8 w
sTradeMenuData->tilemapBuffer[(y - 1) * 32 + x + 1] = symbolTile;
}
-// Very close but loop preamble not working.
-#ifdef NONMATCHING
static void DrawTradeMenuPartyInfo(u8 whichParty)
{
- int i;
-
+ s32 i;
for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
{
- DrawTradeMenuPartyMonInfo(whichParty, i,
- sTradeMonLevelCoords[whichParty][i][0],
- sTradeMonLevelCoords[whichParty][i][1],
- sTradeMonBoxCoords[whichParty][i][0],
- sTradeMonBoxCoords[whichParty][i][1]);
+ const u8 (*r5)[2];
+ const u8 (*r4)[2];
+ u32 r0 = 3 * whichParty;
+ const u8 (*r1)[2][2] = sTradeMonLevelCoords;
+
+ r5 = r1[r0];
+ r4 = sTradeMonBoxCoords[r0];
+ DrawTradeMenuPartyMonInfo(
+ whichParty,
+ i,
+ r5[i][0],
+ r5[i][1],
+ r4[i][0],
+ r4[i][1]
+ );
}
}
-#else
-NAKED
-static void DrawTradeMenuPartyInfo(u8 whichParty)
-{
- asm_unified("push {r4-r7,lr}\n\
- sub sp, 0x8\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- movs r7, 0\n\
- ldr r0, =sTradeMenuData\n\
- ldr r0, [r0]\n\
- adds r0, 0x36\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- cmp r7, r0\n\
- bge _08079E94\n\
- lsls r0, r6, 1\n\
- adds r0, r6\n\
- ldr r1, =sTradeMonLevelCoords\n\
- lsls r0, 2\n\
- adds r5, r0, r1\n\
- ldr r1, =sTradeMonBoxCoords\n\
- adds r4, r0, r1\n\
-_08079E6A:\n\
- lsls r1, r7, 24\n\
- lsrs r1, 24\n\
- ldrb r2, [r5]\n\
- ldrb r3, [r5, 0x1]\n\
- ldrb r0, [r4]\n\
- str r0, [sp]\n\
- ldrb r0, [r4, 0x1]\n\
- str r0, [sp, 0x4]\n\
- adds r0, r6, 0\n\
- bl DrawTradeMenuPartyMonInfo\n\
- adds r5, 0x2\n\
- adds r4, 0x2\n\
- adds r7, 0x1\n\
- ldr r0, =sTradeMenuData\n\
- ldr r0, [r0]\n\
- adds r0, 0x36\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- cmp r7, r0\n\
- blt _08079E6A\n\
-_08079E94:\n\
- add sp, 0x8\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool");
-}
-#endif // NONMATCHING
static void ResetTradeMenuPartyPositions(u8 whichParty)
{
@@ -2541,10 +2496,8 @@ int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuP
return CANT_REGISTER_MON;
}
-// r6/r7 flip. Ugh.
// Spin Trade wasnt fully implemented, but this checks if a mon would be valid to Spin Trade
// Unlike later generations, this version of Spin Trade isnt only for Eggs
-#ifdef NONMATCHING
int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
{
int i, version, versions, canTradeAnyMon, numMonsLeft;
@@ -2560,8 +2513,8 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
}
}
- canTradeAnyMon = TRUE;
versions = 0;
+ canTradeAnyMon = TRUE;
for (i = 0; i < GetLinkPlayerCount(); i++)
{
version = gLinkPlayers[i].version & 0xFF;
@@ -2581,11 +2534,14 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
struct LinkPlayer *player = &gLinkPlayers[i];
// Does player not have National Dex
- if (!(player->progressFlags & 0xF))
- canTradeAnyMon = FALSE;
+ do
+ {
+ if (!(player->progressFlags & 0xF))
+ canTradeAnyMon = FALSE;
- if (versions && (player->progressFlags / 16))
- canTradeAnyMon = FALSE;
+ if (versions && (player->progressFlags / 16))
+ canTradeAnyMon = FALSE;
+ } while (0);
}
if (canTradeAnyMon == FALSE)
@@ -2611,154 +2567,6 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
else
return CAN_TRADE_MON;
}
-#else
-NAKED
-int CanSpinTradeMon(struct Pokemon *mon, u16 a1)
-{
- asm_unified("push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- sub sp, 0x18\n\
- adds r6, r0, 0\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- mov r8, r1\n\
- movs r5, 0\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r5, r0\n\
- bge _0807A95A\n\
- mov r4, sp\n\
-_0807A934:\n\
- movs r0, 0x64\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- movs r1, 0x41\n\
- bl GetMonData\n\
- str r0, [r4]\n\
- movs r1, 0xCE\n\
- lsls r1, 1\n\
- cmp r0, r1\n\
- bne _0807A94E\n\
- movs r0, 0\n\
- str r0, [r4]\n\
-_0807A94E:\n\
- adds r4, 0x4\n\
- adds r5, 0x1\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r5, r0\n\
- blt _0807A934\n\
-_0807A95A:\n\
- movs r7, 0\n\
- movs r6, 0x1\n\
- movs r5, 0\n\
- ldr r4, =gLinkPlayers\n\
- b _0807A980\n\
- .pool\n\
-_0807A96C:\n\
- ldrb r0, [r4]\n\
- subs r0, 0x4\n\
- cmp r0, 0x1\n\
- bhi _0807A978\n\
- movs r7, 0\n\
- b _0807A97C\n\
-_0807A978:\n\
- movs r0, 0x1\n\
- orrs r7, r0\n\
-_0807A97C:\n\
- adds r4, 0x1C\n\
- adds r5, 0x1\n\
-_0807A980:\n\
- bl GetLinkPlayerCount\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r5, r0\n\
- blt _0807A96C\n\
- movs r5, 0\n\
- movs r4, 0\n\
- b _0807A9B4\n\
-_0807A992:\n\
- ldr r0, =gLinkPlayers\n\
- adds r2, r4, r0\n\
- ldrb r1, [r2, 0x10]\n\
- movs r0, 0xF\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0807A9A2\n\
- movs r6, 0\n\
-_0807A9A2:\n\
- cmp r7, 0\n\
- beq _0807A9B0\n\
- ldrb r0, [r2, 0x10]\n\
- lsrs r0, 4\n\
- cmp r0, 0\n\
- beq _0807A9B0\n\
- movs r6, 0\n\
-_0807A9B0:\n\
- adds r4, 0x1C\n\
- adds r5, 0x1\n\
-_0807A9B4:\n\
- bl GetLinkPlayerCount\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r5, r0\n\
- blt _0807A992\n\
- cmp r6, 0\n\
- bne _0807A9EA\n\
- mov r1, r8\n\
- lsls r0, r1, 2\n\
- mov r1, sp\n\
- adds r4, r1, r0\n\
- ldrh r0, [r4]\n\
- bl IsSpeciesInHoennDex\n\
- cmp r0, 0\n\
- bne _0807A9E0\n\
- movs r0, 0x2\n\
- b _0807AA1A\n\
- .pool\n\
-_0807A9E0:\n\
- ldr r0, [r4]\n\
- cmp r0, 0\n\
- bne _0807A9EA\n\
- movs r0, 0x3\n\
- b _0807AA1A\n\
-_0807A9EA:\n\
- movs r2, 0\n\
- movs r5, 0\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r2, r0\n\
- bge _0807AA0A\n\
- adds r3, r0, 0\n\
- mov r1, sp\n\
-_0807A9FA:\n\
- cmp r8, r5\n\
- beq _0807AA02\n\
- ldr r0, [r1]\n\
- adds r2, r0\n\
-_0807AA02:\n\
- adds r1, 0x4\n\
- adds r5, 0x1\n\
- cmp r5, r3\n\
- blt _0807A9FA\n\
-_0807AA0A:\n\
- cmp r2, 0\n\
- beq _0807AA18\n\
- movs r0, 0\n\
- b _0807AA1A\n\
- .pool\n\
-_0807AA18:\n\
- movs r0, 0x1\n\
-_0807AA1A:\n\
- add sp, 0x18\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1");
-}
-#endif // NONMATCHING
static void sub_807AA28(struct Sprite *sprite)
{
@@ -4942,7 +4750,7 @@ static void Task_InGameTrade(u8 taskId)
if (!gPaletteFade.active)
{
SetMainCallback2(CB2_InGameTrade);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskId);
}
}
diff --git a/src/union_room.c b/src/union_room.c
index 3880d85be..08e177bac 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -1424,7 +1424,7 @@ void sub_8014384(void)
break;
case 1:
if (!FuncIsActiveTask(sub_80140E0))
- SetMainCallback2(sub_8086074);
+ SetMainCallback2(CB2_ReturnToFieldCableClub);
break;
}
@@ -2880,7 +2880,7 @@ void sub_80156E0(u8 taskId)
if (!gPaletteFade.active)
{
sUnionRoomTrade.field_0 = 1;
- gFieldCallback = sub_80AF128;
+ gFieldCallback = FieldCB_ContinueScriptUnionRoom;
ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_REGISTER, CB2_ReturnToField);
}
break;
@@ -2992,7 +2992,7 @@ void sub_80156E0(u8 taskId)
memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38));
gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].unk.field_0.type;
gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].unk.field_0.species;
- gFieldCallback = sub_80AF128;
+ gFieldCallback = FieldCB_ContinueScriptUnionRoom;
ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_TRADE, CB2_ReturnToField);
sub_80156B0(data);
sUnionRoomTrade.field_8 = taskData[1];
diff --git a/src/walda_phrase.c b/src/walda_phrase.c
index e8c1e4aed..4b617e3b8 100644
--- a/src/walda_phrase.c
+++ b/src/walda_phrase.c
@@ -70,7 +70,7 @@ static void CB2_HandleGivenWaldaPhrase(void)
}
StringCopy(gStringVar1, GetWaldaPhrasePtr());
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_ReturnToField);
}