32 Commits

Author SHA1 Message Date
26ffb213cc Merge branch 'master' of https://gitea.moustos.net/dionmoustos/PokemonEmeraldSafariFrontier
Some checks failed
CI / build (push) Has been cancelled
2026-01-30 20:21:35 +10:30
5b0768536a use docker and install dependencies 2026-01-30 20:21:30 +10:30
d509c399d5 Update Jenkinsfile
Some checks failed
CI / build (push) Has been cancelled
2026-01-30 20:18:52 +10:30
01b3b7a401 jenkins
Some checks failed
CI / build (push) Has been cancelled
2026-01-30 20:17:16 +10:30
7a7b469b54 set limit to 252 (#23)
Some checks failed
CI / build (push) Has been cancelled
Reviewed-on: #23
2026-01-30 18:22:13 +10:30
Flit
7b6bdab12a add arm-none-eabi-newlib to required arch linux packages 2025-11-20 09:46:02 +01:00
Martin Griffin
ff230c7603 Merge pull request #2208 from Mitsunee/spelling-synchronize-paralyze
Standardize Spelling of "synchronize" and "paralyze"
2025-11-19 20:28:33 +00:00
mitsunee
afa42f5d29 Standardize spelling of "paralyze" 2025-11-19 21:19:15 +01:00
mitsunee
c0569cd529 Standardize spelling of "synchronize" 2025-11-19 21:14:45 +01:00
Martin Griffin
c5bbaeab5d STATIC_ASSERT for sizeof(struct ListMenu) 2025-11-18 00:34:07 +01:00
hedara90
f8e7a2db5f Fix incorrect UBFIX checks (#2206)
Co-authored-by: Hedara <hedara90@gmail.com>
2025-11-16 10:33:16 +00:00
GriffinR
b231424527 Merge pull request #2205 from Mitsunee/standardize-spelling-of-canceler
Standardize spelling of "canceler"
2025-11-15 23:12:55 -05:00
mitsunee
73ec0813e1 Standardize spelling of "canceler"
just a quick grep -r and regex substitution, but didn't see anything wrong in the diffs during a quick proofread
2025-11-15 12:11:32 +01:00
Martin Griffin
1a9fbbcfba Fix copyvar with non-var argument 2025-11-06 14:29:09 +01:00
psf
fdcaac9175 Added some music documentation (#2198) 2025-11-06 09:27:16 +00:00
FosterProgramming
8b8c593bf6 Fix preproc not correctly reading skipped lines symbols inside enum (#2197) 2025-11-05 09:04:30 +00:00
Martin Griffin
d1d5435487 Improve undefined map assembler messages (#2196) 2025-10-29 21:34:03 -04:00
Estellar
1de27646d2 Remove magic numbers in slot_machine.c (#2195) 2025-10-28 09:19:12 +00:00
Josh
fa5ca10b17 Add spritesheet rules for healthbox graphics (#2180) 2025-10-19 18:32:19 +01:00
DavidJCobb
7fd0029ed7 Add typedefs for MAPSEC and METLOC values (#2183)
Added typedefs: mapsec_t, metloc_t, and variants for MAPSEC and METLOC values. There are some rough edges that could do with smoothing out, but for now, this gets us close to ideal with a ROM that compares equal.

Per feedback, all typedefs to mention the underlying type within the typedef name. The documentation comments reflect and explain the naming convention.

Updated comments to reflect the fact that we're no longer using SET8 for a Pokemon's met locations, in favor of a new macro (added by this PR) that adjusts to match the width of whatever is being set.
2025-10-19 17:37:13 +01:00
Estellar
0965dffe70 Use TaskFunc wherever posible (#2188) 2025-10-18 17:53:50 +01:00
Jan Helbling
f2cf20ce9b INSTALL.MD updated for OpenBSD (#2186)
Co-authored-by: Jan Helbling <janhelbling@laptop-home.my.domain>
2025-10-14 12:30:26 +01:00
Estellar
f4f7c38255 Use MainCallback wherever posible (#2184) 2025-10-14 09:41:27 +01:00
FosterProgramming
d05742ca05 Fix include order in wild_encounter.c (#2185) 2025-10-14 09:36:32 +01:00
Jan Helbling
80ec69fc5d switched from head -c 12 to dd bs=1 count=12, to successful compiling with OpenBSD (#2091)
Co-authored-by: Jan Helbling <janhelbling@laptop-home.my.domain>
2025-10-14 09:35:53 +01:00
FosterProgramming
9c8cfe3b75 Fix include order in src/clock.c to be alphabetical (#2181) 2025-09-13 17:49:36 +01:00
FosterProgramming
276275f837 Fix 3 spaces tabs in field_message_box.c (#2179) 2025-09-10 06:44:14 +01:00
Alex
208f97e1e3 Rename passive damage hitmarker (#2174) 2025-08-21 13:43:19 +01:00
GriffinR
92f7727a60 Merge pull request #2107 from AsparagusEduardo/pret/pr/simpleMultiBattleFix
Simplified Multi Battle bugfix, removing duplicate code
2025-08-14 15:09:42 -04:00
Josh
65f9c04757 Key split restructure (#2168)
Key split tables have been given names based on usage (KeySplitTable1 -> keysplit_piano etc) and a new macro has been set up to better represent the individual bytes for key splits with it being more obvious to how said bytes are used for the respective voice in the voicegroup.

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
2025-08-02 02:11:50 +01:00
Josh
0dfec24967 Allow names for voicegroups and use a macro for use with drumsets (#2149)
mid2agb has been modified to allow more than just numbers when naming voicegroups and voicegroups have been renamed to match. A "voice_group" macro has been set up with a optional parameter for the starting note will shift the offset by the specified amount * 0xC which is the length of 1 voice in a voicegroup. All drumset voicegroups have a "starting_note" of 36.
2025-07-30 19:43:08 +01:00
Eduardo Quezada
0eabbf7a3f Simplified Multi Battle bugfix, removing duplicate code 2025-03-02 18:10:22 -03:00
415 changed files with 3913 additions and 4140 deletions

View File

@@ -339,7 +339,7 @@ Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to
### Arch Linux
Run this command as root to install the necessary packages:
```bash
pacman -S base-devel arm-none-eabi-binutils git libpng
pacman -S base-devel arm-none-eabi-binutils arm-none-eabi-newlib git libpng
```
Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to-store-pokeemerald-linux).
<details>
@@ -357,6 +357,26 @@ nix-shell -p pkgsCross.arm-embedded.stdenv.cc git pkg-config libpng
```
Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to-store-pokeemerald-linux).
### OpenBSD
Install requirements:
```bash
pkg_add gmake bash arm-none-eabi-binutils clang git
```
Clone pokeemerald & agbcc, and Build agbcc
```bash
git clone https://github.com/pret/pokeemerald
git clone https://github.com/pret/agbcc
cd agbcc && ./build.sh
./install.sh ../pokeemerald
```
Build the ROM:
```bash
cd ../pokeemerald
gmake
```
### Other distributions
_(Specific instructions for other distributions would be greatly appreciated!)_

47
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,47 @@
pipeline {
agent any
agent {
docker {
image 'ubuntu:22.04'
args '-u root'
}
}
stages {
stage('Install Dependencies') {
steps {
sh '''
apt update
apt install -y build-essential binutils-arm-none-eabi git libpng-dev cmake
'''
}
}
stage('Checkout') {
steps {
checkout scm
}
}
stage('Configure') {
steps {
sh '''
mkdir -p build
cd build
cmake ..
'''
}
}
stage('Build') {
steps {
sh '''
cd build
make -j$(nproc)
'''
}
}
}
}

View File

@@ -1048,7 +1048,7 @@
.byte 0xcc
.endm
.macro cureifburnedparalysedorpoisoned ptr:req
.macro cureifburnedparalyzedorpoisoned ptr:req
.byte 0xcd
.4byte \ptr
.endm

View File

@@ -169,7 +169,10 @@
.endm
@ Copies the value of source into destination.
.macro copyvar destination:req, source:req
.macro copyvar destination:req, source:req, warn=TRUE
.if \warn && !((\source >= VARS_START && \source <= VARS_END) || (\source >= SPECIAL_VARS_START && \source <= SPECIAL_VARS_END))
.warning "copyvar with a value that is not a VAR_ constant; did you mean setvar instead?"
.endif
.byte SCR_OP_COPYVAR
.2byte \destination
.2byte \source
@@ -667,6 +670,14 @@
map \map
.endm
@ Set the player object's invisibility to FALSE.
.macro showplayer
.byte SCR_OP_SHOWOBJECTAT
.2byte LOCALID_PLAYER
.byte 0 @ map group
.byte 0 @ map num
.endm
@ Sets the specified object's invisibility to TRUE.
.macro hideobjectat localId:req, map:req
.byte SCR_OP_HIDEOBJECTAT
@@ -674,6 +685,14 @@
map \map
.endm
@ Set the player object's invisibility to TRUE.
.macro hideplayer
.byte SCR_OP_HIDEOBJECTAT
.2byte LOCALID_PLAYER
.byte 0 @ map group
.byte 0 @ map num
.endm
@ Turns the currently selected object (if there is one) to face the player.
.macro faceplayer
.byte SCR_OP_FACEPLAYER

View File

@@ -11,3 +11,41 @@
.space 1 @ Padding
.2byte \unknown
.endm
.macro voice_group label:req, starting_note
.align 2
.ifb \starting_note
.global voicegroup_\label
voicegroup_\label:
.else
.set voicegroup_\label, . - \starting_note * 0xC
.endif
.endm
.macro keysplit label:req, starting_note
.ifb \starting_note
.global keysplit_\label
keysplit_\label:
.set _last_note, 0
.else
.set keysplit_\label, . - \starting_note
.set _last_note, \starting_note
.endif
.set _last_split, 0
.endm
.macro split index:req, ending_note:req
.if \ending_note < _last_note
.if _last_split == 0
.error "split's ending_note earlier than previous keysplit's starting_note"
.else
.error "split's ending_note earlier than previous split's ending_note"
.endif
.else
.rept \ending_note - _last_note
.byte \index
.endr
.endif
.set _last_note, \ending_note
.set _last_split, 1
.endm

View File

@@ -2,8 +2,12 @@
@ Takes a MAP constant and outputs the map group and map number as separate bytes
.macro map map_id:req
.ifdef \map_id
.byte \map_id >> 8 @ map group
.byte \map_id & 0xFF @ map num
.else
.error "undefined map (check for typos)"
.endif
.endm
@ Defines a map script. 'type' is any MAP_SCRIPT_* constant (see include/constants/map_scripts.h)

View File

@@ -2521,7 +2521,7 @@ BattleScript_EffectRefresh::
attackcanceler
attackstring
ppreduce
cureifburnedparalysedorpoisoned BattleScript_ButItFailed
cureifburnedparalyzedorpoisoned BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNSTATUSNORMAL
@@ -3208,7 +3208,7 @@ BattleScript_DamagingWeatherLoop::
jumpifword CMP_EQUAL, gBattleMoveDamage, 0, BattleScript_DamagingWeatherLoopIncrement
printfromtable gSandStormHailDmgStringIds
waitmessage B_WAIT_TIME_LONG
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE | HITMARKER_GRUDGE
effectivenesssound
hitanimation BS_ATTACKER
healthbarupdate BS_ATTACKER
@@ -3220,7 +3220,7 @@ BattleScript_DamagingWeatherLoopIncrement::
addbyte gBattleCommunication, 1
jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop
BattleScript_DamagingWeatherContinuesEnd::
bicword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
bicword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE | HITMARKER_GRUDGE
end2
BattleScript_SandStormHailEnds::
@@ -3264,7 +3264,7 @@ BattleScript_SafeguardEnds::
BattleScript_LeechSeedTurnDrain::
playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
copyword gBattleMoveDamage, gHpDealt
@@ -3275,7 +3275,7 @@ BattleScript_LeechSeedTurnDrain::
BattleScript_LeechSeedTurnPrintLiquidOoze::
setbyte cMULTISTRING_CHOOSER, B_MSG_LEECH_SEED_OOZE
BattleScript_LeechSeedTurnPrintAndUpdateHp::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_TARGET
datahpupdate BS_TARGET
printfromtable gLeechSeedStringIds
@@ -3379,14 +3379,14 @@ BattleScript_EncoredNoMore::
BattleScript_DestinyBondTakesLife::
printstring STRINGID_PKMNTOOKFOE
waitmessage B_WAIT_TIME_LONG
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
tryfaintmon BS_ATTACKER
return
BattleScript_SpikesOnAttacker::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
call BattleScript_PrintHurtBySpikes
@@ -3401,7 +3401,7 @@ BattleScript_SpikesOnAttackerFainted::
goto BattleScript_HandleFaintedMon
BattleScript_SpikesOnTarget::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_TARGET
datahpupdate BS_TARGET
call BattleScript_PrintHurtBySpikes
@@ -3416,7 +3416,7 @@ BattleScript_SpikesOnTargetFainted::
goto BattleScript_HandleFaintedMon
BattleScript_SpikesOnFaintedBattler::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_FAINTED
datahpupdate BS_FAINTED
call BattleScript_PrintHurtBySpikes
@@ -3438,7 +3438,7 @@ BattleScript_PrintHurtBySpikes::
BattleScript_PerishSongTakesLife::
printstring STRINGID_PKMNPERISHCOUNTFELL
waitmessage B_WAIT_TIME_LONG
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
tryfaintmon BS_ATTACKER
@@ -3739,7 +3739,7 @@ BattleScript_PoisonTurnDmg::
BattleScript_DoStatusTurnDmg::
statusanimation BS_ATTACKER
BattleScript_DoTurnDmg::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
tryfaintmon BS_ATTACKER
@@ -3806,7 +3806,7 @@ BattleScript_DoSelfConfusionDmg::
effectivenesssound
hitanimation BS_ATTACKER
waitstate
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
resultmessage
@@ -3939,7 +3939,7 @@ BattleScript_MoveEffectRecoil::
jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil
jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd
BattleScript_DoRecoil::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_PKMNHITWITHRECOIL
@@ -4182,7 +4182,7 @@ BattleScript_ColorChangeActivates::
return
BattleScript_RoughSkinActivates::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_HP_UPDATE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_PKMNHURTSWITH

View File

@@ -787,7 +787,7 @@ EventScript_UnusedBoardFerry::
delay 30
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
showobjectat LOCALID_PLAYER, 0
showplayer
delay 30
applymovement LOCALID_PLAYER, Movement_UnusedBoardFerry
waitmovement 0
@@ -802,7 +802,7 @@ Common_EventScript_FerryDepartIsland::
call_if_eq VAR_FACING, DIR_SOUTH, Ferry_EventScript_DepartIslandSouth
call_if_eq VAR_FACING, DIR_WEST, Ferry_EventScript_DepartIslandWest
delay 30
hideobjectat LOCALID_PLAYER, 0
hideplayer
call Common_EventScript_FerryDepart
return

View File

@@ -349,7 +349,11 @@ LilycoveCity_ContestLobby_EventScript_SetMasterContestType::
@ Functionally unused
LilycoveCity_ContestLobby_EventScript_SetDebug::
setflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1
#ifdef UBFIX
setvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1
#else
copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1, warn=FALSE
#endif
additem ITEM_CONTEST_PASS
setvar VAR_0x800B, 8
setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER

View File

@@ -333,7 +333,7 @@ LilycoveCity_Harbor_EventScript_BoardFerryWithSailor::
call_if_eq VAR_FACING, DIR_NORTH, LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth
call_if_eq VAR_FACING, DIR_EAST, LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast
delay 30
hideobjectat LOCALID_PLAYER, 0
hideplayer
setvar VAR_0x8004, LOCALID_LILYCOVE_HARBOR_SS_TIDAL
call Common_EventScript_FerryDepart
return
@@ -393,7 +393,7 @@ LilycoveCity_Harbor_EventScript_BoardFerry::
call_if_eq VAR_FACING, DIR_NORTH, LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth
call_if_eq VAR_FACING, DIR_EAST, LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast
delay 30
hideobjectat LOCALID_PLAYER, 0
hideplayer
setvar VAR_0x8004, LOCALID_LILYCOVE_HARBOR_SS_TIDAL
call Common_EventScript_FerryDepart
return

View File

@@ -76,7 +76,11 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_ShowExhibitHall::
applymovement LOCALID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft
waitmovement 0
msgbox LilycoveCity_LilycoveMuseum_2F_Text_PleaseObtainPaintingsForExhibit, MSGBOX_SIGN
copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1
#ifdef UBFIX
setvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1
#else
copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1, warn=FALSE
#endif
releaseall
end

View File

@@ -156,7 +156,7 @@ LittlerootTown_EventScript_GoInsideWithMom::
waitmovement 0
setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
setvar VAR_LITTLEROOT_INTRO_STATE, 3
hideobjectat LOCALID_PLAYER, 0
hideplayer
closedoor VAR_0x8004, VAR_0x8005
waitdooranim
clearflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN

View File

@@ -6,7 +6,11 @@ SkyPillar_2F_MapScripts::
SkyPillar_2F_OnTransition:
call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_2F_EventScript_CleanFloor
copyvar VAR_ICE_STEP_COUNT, 1
#ifdef UBFIX
setvar VAR_ICE_STEP_COUNT, 1
#else
copyvar VAR_ICE_STEP_COUNT, 1, warn=FALSE
#endif
end
SkyPillar_2F_EventScript_CleanFloor::

View File

@@ -6,7 +6,11 @@ SkyPillar_4F_MapScripts::
SkyPillar_4F_OnTransition:
call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_4F_EventScript_CleanFloor
copyvar VAR_ICE_STEP_COUNT, 1
#ifdef UBFIX
setvar VAR_ICE_STEP_COUNT, 1
#else
copyvar VAR_ICE_STEP_COUNT, 1, warn=FALSE
#endif
end
SkyPillar_4F_EventScript_CleanFloor::

View File

@@ -228,7 +228,7 @@ SlateportCity_Harbor_EventScript_BoardFerry::
call_if_eq VAR_FACING, DIR_NORTH, SlateportCity_Harbor_EventScript_BoardFerryNorth
call_if_eq VAR_FACING, DIR_EAST, SlateportCity_Harbor_EventScript_BoardFerryEast
delay 30
hideobjectat LOCALID_PLAYER, 0
hideplayer
setvar VAR_0x8004, LOCALID_SLATEPORT_HARBOR_SS_TIDAL
call Common_EventScript_FerryDepart
return

View File

@@ -356,7 +356,7 @@ CableClub_EventScript_EnterColosseum::
waitdooranim
applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
hideobjectat LOCALID_PLAYER, 0
hideplayer
closedoor 9, 1
waitdooranim
release
@@ -450,7 +450,7 @@ CableClub_EventScript_EnterTradeCenter::
waitdooranim
applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
hideobjectat LOCALID_PLAYER, 0
hideplayer
closedoor 9, 1
waitdooranim
release
@@ -515,7 +515,7 @@ CableClub_EventScript_EnterRecordCorner::
waitdooranim
applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
hideobjectat LOCALID_PLAYER, 0
hideplayer
closedoor 9, 1
waitdooranim
release
@@ -902,7 +902,7 @@ CableClub_EventScript_EnterUnionRoom::
waitdooranim
applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
hideobjectat LOCALID_PLAYER, 0
hideplayer
closedoor 5, 1
waitdooranim
special Script_ResetUnionRoomTrade
@@ -1202,7 +1202,7 @@ CableClub_EventScript_EnterWirelessLinkRoom::
waitdooranim
applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
hideobjectat LOCALID_PLAYER, 0
hideplayer
closedoor 9, 1
waitdooranim
release
@@ -1380,7 +1380,7 @@ MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom::
closemessage
applymovement LOCALID_PLAYER, Movement_PlayerEnterMinigameRoom
waitmovement 0
hideobjectat LOCALID_PLAYER, 0
hideplayer
release
waitstate
end

View File

@@ -3,7 +3,11 @@ CaveHole_CheckFallDownHole:
.2byte 0
CaveHole_FixCrackedGround:
copyvar VAR_ICE_STEP_COUNT, 1
#ifdef UBFIX
setvar VAR_ICE_STEP_COUNT, 1
#else
copyvar VAR_ICE_STEP_COUNT, 1, warn=FALSE
#endif
end
EventScript_FallDownHole::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 B

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 B

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 B

After

Width:  |  Height:  |  Size: 328 B

View File

@@ -431,7 +431,7 @@ $(RAYQUAZAGFXDIR)/scene_3/rayquaza.4bpp: %.4bpp: %.png
$(RAYQUAZAGFXDIR)/scene_3/rayquaza_tail_fix.4bpp: $(RAYQUAZAGFXDIR)/scene_3/rayquaza_tail.4bpp
cp $< $@
head -c 12 /dev/zero >> $@
dd if=/dev/zero bs=1 count=12 >> $@
$(RAYQUAZAGFXDIR)/scene_4/streaks.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 19 -Wnum_tiles

View File

@@ -12,6 +12,7 @@
#include "battle_util2.h"
#include "battle_bg.h"
#include "pokeball.h"
#include "main.h"
#define GET_BATTLER_SIDE(battler) (GetBattlerPosition(battler) & BIT_SIDE)
#define GET_BATTLER_SIDE2(battler) (gBattlerPositions[battler] & BIT_SIDE)
@@ -430,7 +431,7 @@ struct BattleStruct
u8 wishPerishSongState;
u8 wishPerishSongBattlerId;
bool8 overworldWeatherDone;
u8 atkCancellerTracker;
u8 atkCancelerTracker;
struct BattleTvMovePoints tvMovePoints;
struct BattleTv tv;
u8 unused_7[0x28];
@@ -716,7 +717,7 @@ extern u16 gBattleMovePower;
extern u16 gMoveToLearn;
extern u8 gBattleMonForms[MAX_BATTLERS_COUNT];
extern void (*gPreBattleCallback1)(void);
extern MainCallback gPreBattleCallback1;
extern void (*gBattleMainFunc)(void);
extern struct BattleResults gBattleResults;
extern u8 gLeveledUpInBattle;

View File

@@ -2,6 +2,8 @@
#define GUARD_BATTLE_PYRAMID_BAG_H
#include "list_menu.h"
#include "main.h"
#include "task.h"
enum {
PYRAMIDBAG_LOC_FIELD,
@@ -29,7 +31,7 @@ enum {
struct PyramidBagMenu
{
void (*newScreenCallback)(void);
MainCallback newScreenCallback;
u8 tilemapBuffer[BG_SCREEN_SIZE];
u8 spriteIds[PBAG_SPRITE_COUNT];
u8 windowIds[5];
@@ -49,7 +51,7 @@ struct PyramidBagMenu
struct PyramidBagMenuState
{
void (*exitCallback)(void);
MainCallback exitCallback;
u8 location;
u16 cursorPosition;
u16 scrollPosition;
@@ -63,11 +65,11 @@ void CB2_PyramidBagMenuFromStartMenu(void);
void CB2_ReturnToPyramidBagMenu(void);
void UpdatePyramidBagList(void);
void UpdatePyramidBagCursorPos(void);
void GoToBattlePyramidBagMenu(u8 location, void (*exitCallback)(void));
void GoToBattlePyramidBagMenu(u8 location, MainCallback exitCallback);
void Task_CloseBattlePyramidBagMessage(u8 taskId);
void TryStoreHeldItemsInPyramidBag(void);
void ChooseItemsToTossFromPyramidBag(void);
void CloseBattlePyramidBag(u8 taskId);
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId));
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, TaskFunc callback);
#endif // GUARD_BATTLE_PYRAMID_BAG_H

View File

@@ -84,7 +84,7 @@ u8 DoBattlerEndTurnEffects(void);
bool8 HandleWishPerishSongOnTurnEnd(void);
bool8 HandleFaintedMonActions(void);
void TryClearRageStatuses(void);
u8 AtkCanceller_UnableToUseMove(void);
u8 AtkCanceler_UnableToUseMove(void);
bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2);
u8 CastformDataTypeChange(u8 battler);
u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveArg);

View File

@@ -188,13 +188,13 @@ enum BattlerId
#define HITMARKER_NO_PPDEDUCT (1 << 11)
#define HITMARKER_SWAP_ATTACKER_TARGET (1 << 12)
#define HITMARKER_STATUS_ABILITY_EFFECT (1 << 13)
#define HITMARKER_SYNCHRONISE_EFFECT (1 << 14)
#define HITMARKER_SYNCHRONIZE_EFFECT (1 << 14)
#define HITMARKER_RUN (1 << 15)
#define HITMARKER_IGNORE_ON_AIR (1 << 16)
#define HITMARKER_IGNORE_UNDERGROUND (1 << 17)
#define HITMARKER_IGNORE_UNDERWATER (1 << 18)
#define HITMARKER_UNABLE_TO_USE_MOVE (1 << 19)
#define HITMARKER_PASSIVE_DAMAGE (1 << 20)
#define HITMARKER_PASSIVE_HP_UPDATE (1 << 20)
#define HITMARKER_DISOBEDIENT_MOVE (1 << 21)
#define HITMARKER_PLAYER_FAINTED (1 << 22)
#define HITMARKER_ALLOW_NO_PP (1 << 23)

View File

@@ -3,11 +3,14 @@
#include "map_groups.h"
// Warps using this map will instead use the warp data stored in gSaveBlock1Ptr->dynamicWarp.
// Used for warps that need to change destinations, e.g. when stepping off an elevator.
#define MAP_DYNAMIC (0x7F | (0x7F << 8))
enum
{
// Warps using this map will instead use the warp data stored in gSaveBlock1Ptr->dynamicWarp.
// Used for warps that need to change destinations, e.g. when stepping off an elevator.
MAP_DYNAMIC = (0x7F | (0x7F << 8)),
#define MAP_UNDEFINED (0xFF | (0xFF << 8))
MAP_UNDEFINED = (0xFF | (0xFF << 8)),
};
#define MAP_GROUP(map) (map >> 8)
#define MAP_NUM(map) (map & 0xFF)

View File

@@ -202,7 +202,7 @@
#define USE_RANDOM_IVS (MAX_PER_STAT_IVS + 1)
#define MAX_PER_STAT_EVS 255
#define MAX_TOTAL_EVS 510
#define EV_ITEM_RAISE_LIMIT 100
#define EV_ITEM_RAISE_LIMIT 252
// Battle move flags
#define FLAG_MAKES_CONTACT (1 << 0)

View File

@@ -1,7 +1,9 @@
#ifndef GUARD_DODRIO_BERRY_PICKING_H
#define GUARD_DODRIO_BERRY_PICKING_H
void StartDodrioBerryPicking(u16 partyId, void (*exitCallback)(void));
#include "main.h"
void StartDodrioBerryPicking(u16 partyId, MainCallback exitCallback);
void IsDodrioInParty(void);
void ShowDodrioBerryPickingRecords(void);

67
include/gametypes.h Normal file
View File

@@ -0,0 +1,67 @@
#ifndef GUARD_GAMETYPES_H
#define GUARD_GAMETYPES_H
#include "gba/types.h"
//
// This header includes typedefs for fields that commonly appear throughout
// the codebase, and which ROM hacks might benefit from being able to widen.
//
// These typedefs include the underlying type in their name for two reasons:
//
// - Game Freak wasn't fully consistent about field widths throughout
// their codebase. For example, when Region Map Sections are persistently
// stored in savedata, they're stored as 8-bit values; but much of the
// codebase handles them as 16-bit values.
//
// - Although Pokemon Emerald doesn't come close to maxing out RAM, it *does*
// use nearly all of its EEPROM. That is: the vanilla game uses 96% of the
// flash memory available for storing players' save files, leaving 2172
// bytes to spare within each of the game's two save files (primary and
// backup). These spare bytes are not contiguous: SaveBlock1 can only grow
// by 84 bytes, and SaveBlock2 can only grow by 120 bytes, with the rest
// of the free space located after the player's PC-boxed Pokemon.
//
// With so little flash memory to spare, keeping track of how much space
// you're using is vital -- and so is arranging struct members to minimize
// compiler-inserted padding. It's easier to deal with this when you can
// see these types' widths at a glance.
//
// Accordingly, this file generally doesn't contain just single types, but
// rather families of types. For example, Region Map Sections are saved as
// u8s within the player's save file, but are sometimes handled as u16s or
// even s16s and ints; and so there are multiple typedefs for Map Sections
// corresponding to each of these underlying types, and each typedef has a
// name which indicates the underlying type.
//
// For a given family of typedefs, the smallest one should be considered
// the "real" or "canonical" type. Continuing with Map Sections as our
// example, the smallest type is an 8-bit integer, and so any values that
// can't fit in an 8-bit integer will be truncated and lost at some point
// within the codebase. Therefore mapsec_u8_t is the "canonical" type for
// Map Sections, and the larger typedefs just exist to describe situations
// where the game handles Map Sections inconsistently with that "canon."
//
// Map Sections are named areas that can appear in the region map. Each
// individual map can be assigned to a Map Section as appropriate. The
// possible values are in constants/region_map_sections.h.
//
// If you choose to widen Map Sections, be aware that Met Locations (below)
// are based on Map Sections and will also be widened.
typedef u8 mapsec_u8_t;
typedef u16 mapsec_u16_t;
typedef s16 mapsec_s16_t;
typedef s32 mapsec_s32_t;
// Met Locations for caught Pokemon use the same values as Map Sections,
// except that 0xFD, 0xFE, and 0xFF have special meanings.
//
// Because this value appears inside every Pokemon's data, widening it will
// consume a lot more space within flash memory. The space usage will be
// greater than you expect due to how Pokemon substructs are laid out; you
// would have to rearrange the substructs' contents in order to minimize
// how much more space a wider Met Location would consume.
typedef mapsec_u8_t metloc_u8_t;
#endif //GUARD_GAMETYPES_H

View File

@@ -401,7 +401,7 @@ extern const u8 gNoiseTable[];
extern const struct PokemonCrySong gPokemonCrySongTemplate;
extern const struct ToneData voicegroup000;
extern const struct ToneData voicegroup_dummy;
extern char gNumMusicPlayers[];
extern char gMaxLines[];

View File

@@ -167,7 +167,7 @@ struct MapHeader
/* 0x0C */ const struct MapConnections *connections;
/* 0x10 */ u16 music;
/* 0x12 */ u16 mapLayoutId;
/* 0x14 */ u8 regionMapSectionId;
/* 0x14 */ mapsec_u8_t regionMapSectionId;
/* 0x15 */ u8 cave;
/* 0x16 */ u8 weather;
/* 0x17 */ u8 mapType;

View File

@@ -5,6 +5,7 @@
#include <limits.h>
#include "config.h" // we need to define config before gba headers as print stuff needs the functions nulled before defines.
#include "gba/gba.h"
#include "gametypes.h"
#include "constants/global.h"
#include "constants/flags.h"
#include "constants/vars.h"

View File

@@ -226,7 +226,7 @@ typedef union // size = 0x24
/*0x04*/ u8 filler_04[2];
/*0x06*/ u16 itemIds[SMARTSHOPPER_NUM_ITEMS];
/*0x0C*/ u16 itemAmounts[SMARTSHOPPER_NUM_ITEMS];
/*0x12*/ u8 shopLocation;
/*0x12*/ mapsec_u8_t shopLocation;
/*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x1B*/ //u8 padding;
} smartshopperShow;
@@ -241,7 +241,7 @@ typedef union // size = 0x24
/*0x0E*/ u16 species2;
/*0x10*/ u8 nBallsUsed;
/*0x11*/ u8 outcome;
/*0x12*/ u8 location;
/*0x12*/ mapsec_u8_t location;
/*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x1B*/ //u8 padding;
} pokemonTodayFailed;
@@ -267,7 +267,7 @@ typedef union // size = 0x24
/*0x04*/ u16 caughtPoke;
/*0x06*/ u16 steps;
/*0x08*/ u16 species;
/*0x0A*/ u8 location;
/*0x0A*/ mapsec_u8_t location;
/*0x0B*/ u8 language;
/*0x0C*/ u8 filler_0C[7];
/*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
@@ -282,7 +282,7 @@ typedef union // size = 0x24
/*0x04*/ u8 badgeCount;
/*0x05*/ u8 nSilverSymbols;
/*0x06*/ u8 nGoldSymbols;
/*0x07*/ u8 location;
/*0x07*/ mapsec_u8_t location;
/*0x08*/ u16 battlePoints;
/*0x0A*/ u16 mapLayoutId;
/*0x0C*/ u8 language;
@@ -309,7 +309,7 @@ typedef union // size = 0x24
/*0x00*/ u8 kind;
/*0x01*/ bool8 active;
/*0x02*/ u16 item;
/*0x04*/ u8 location;
/*0x04*/ mapsec_u8_t location;
/*0x05*/ u8 language;
/*0x06*/ u16 mapLayoutId;
/*0x08*/ u8 filler_08[11];
@@ -336,7 +336,7 @@ typedef union // size = 0x24
/*0x00*/ u8 kind;
/*0x01*/ bool8 active;
/*0x02*/ u16 lastOpponentSpecies;
/*0x04*/ u8 location;
/*0x04*/ mapsec_u8_t location;
/*0x05*/ u8 outcome;
/*0x06*/ u16 caughtMonBall;
/*0x08*/ u16 balls;
@@ -505,7 +505,7 @@ struct GabbyAndTyData
/*2BA6*/ u16 mon2;
/*2BA8*/ u16 lastMove;
/*2BAA*/ u16 quote[1];
/*2BAC*/ u8 mapnum;
/*2BAC*/ mapsec_u8_t mapnum;
/*2BAD*/ u8 battleNum;
/*2BAE*/ u8 battleTookMoreThanOneTurn:1;
u8 playerLostAMon:1;

View File

@@ -2,6 +2,7 @@
#define GUARD_ITEM_MENU_H
#include "item.h"
#include "main.h"
#include "menu_helpers.h"
enum {
@@ -47,7 +48,7 @@ enum {
struct BagPosition
{
void (*exitCallback)(void);
MainCallback exitCallback;
u8 location;
u8 pocket;
u16 pocketSwitchArrowPos;
@@ -59,7 +60,7 @@ extern struct BagPosition gBagPosition;
struct BagMenu
{
void (*newScreenCallback)(void);
MainCallback newScreenCallback;
u8 tilemapBuffer[BG_SCREEN_SIZE];
u8 spriteIds[ITEMMENUSPRITE_COUNT];
u8 windowIds[ITEMWIN_COUNT];
@@ -96,15 +97,15 @@ void CB2_BagMenuFromStartMenu(void);
u8 GetItemListPosition(u8 pocketId);
bool8 UseRegisteredKeyItemOnField(void);
void CB2_GoToSellMenu(void);
void GoToBagMenu(u8 location, u8 pocket, void ( *exitCallback)());
void GoToBagMenu(u8 location, u8 pocket, MainCallback exitCallback);
void DoWallyTutorialBagMenu(void);
void ResetBagScrollPositions(void);
void ChooseBerryForMachine(void (*exitCallback)(void));
void ChooseBerryForMachine(MainCallback exitCallback);
void CB2_ChooseBerry(void);
void Task_FadeAndCloseBagMenu(u8 taskId);
void BagMenu_YesNo(u8 taskId, u8 windowType, const struct YesNoFuncTable *funcTable);
void UpdatePocketItemList(u8 pocketId);
void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void (*callback)(u8 taskId));
void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, TaskFunc callback);
void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback);
void CloseItemMessage(u8 taskId);

View File

@@ -1,6 +1,6 @@
#ifndef GUARD_LANDMARK_H
#define GUARD_LANDMARK_H
const u8 *GetLandmarkName(u8 mapSection, u8 id, u8 count);
const u8 *GetLandmarkName(mapsec_u8_t mapSection, u8 id, u8 count);
#endif // GUARD_LANDMARK_H

View File

@@ -1,6 +1,8 @@
#ifndef GUARD_MAIL_H
#define GUARD_MAIL_H
#include "main.h"
#define IS_ITEM_MAIL(itemId) ((itemId == ITEM_ORANGE_MAIL \
|| itemId == ITEM_HARBOR_MAIL \
|| itemId == ITEM_GLITTER_MAIL \
@@ -15,7 +17,7 @@
|| itemId == ITEM_RETRO_MAIL))
// mail.h
void ReadMail(struct Mail *mail, void (*exitCallback)(void), bool8 hasText);
void ReadMail(struct Mail *mail, MainCallback exitCallback, bool8 hasText);
// mail_data.h
void ClearAllMail(void);

View File

@@ -121,8 +121,8 @@ u8 GetLastUsedWarpMapType(void);
bool8 IsMapTypeOutdoors(u8 mapType);
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
bool8 IsMapTypeIndoors(u8 mapType);
u8 GetSavedWarpRegionMapSectionId(void);
u8 GetCurrentRegionMapSectionId(void);
mapsec_u8_t GetSavedWarpRegionMapSectionId(void);
mapsec_u8_t GetCurrentRegionMapSectionId(void);
u8 GetCurrentMapBattleScene(void);
void CleanupOverworldWindowsAndTilemaps(void);
bool32 IsOverworldLinkActive(void);

View File

@@ -131,7 +131,7 @@ struct PokemonSubstruct2
struct PokemonSubstruct3
{
/* 0x00 */ u8 pokerus;
/* 0x01 */ u8 metLocation;
/* 0x01 */ metloc_u8_t metLocation;
/* 0x02 */ u16 metLevel:7;
/* 0x02 */ u16 metGame:4;

View File

@@ -17,7 +17,7 @@ struct PokenavMonListItem
struct PokenavMatchCallEntry
{
bool8 isSpecialTrainer;
u8 mapSec;
mapsec_u8_t mapSec;
u16 headerId;
};
@@ -410,7 +410,7 @@ void FreeMatchCallSubstruct1(void);
int IsMatchCallListInitFinished(void);
int GetNumberRegistered(void);
struct PokenavMatchCallEntry *GetMatchCallList(void);
u16 GetMatchCallMapSec(int index);
mapsec_u16_t GetMatchCallMapSec(int index);
bool32 ShouldDrawRematchPokeballIcon(int index);
void ClearRematchPokeballIcon(u16 windowId, u32 tileOffset);
int GetMatchCallTrainerPic(int index);
@@ -419,7 +419,7 @@ const u8 *GetMatchCallMessageText(int index, bool8 *newRematchRequest);
u16 GetMatchCallOptionCursorPos(void);
u16 GetMatchCallOptionId(int optionId);
void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntry *matchCallEntry, u8 *str);
u8 GetMatchTableMapSectionId(int rematchIndex);
mapsec_u8_t GetMatchTableMapSectionId(int rematchIndex);
int GetIndexDeltaOfNextCheckPageDown(int index);
int GetIndexDeltaOfNextCheckPageUp(int index);
bool32 IsRematchEntryRegistered(int rematchIndex);

View File

@@ -1,6 +1,8 @@
#ifndef GUARD_RAYQUAZA_SCENE_H
#define GUARD_RAYQUAZA_SCENE_H
void DoRayquazaScene(u8 animId, bool8 endEarly, void (*exitCallback)(void));
#include "main.h"
void DoRayquazaScene(u8 animId, bool8 endEarly, MainCallback exitCallback);
#endif // GUARD_RAYQUAZA_SCENE_H

View File

@@ -26,7 +26,7 @@ enum {
};
struct RegionMap {
/*0x000*/ u16 mapSecId;
/*0x000*/ mapsec_u16_t mapSecId;
/*0x002*/ u8 mapSecType;
/*0x003*/ u8 posWithinMapSec;
/*0x004*/ u8 mapSecName[20];
@@ -99,14 +99,14 @@ void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed);
u8 DoRegionMapInputCallback(void);
bool8 UpdateRegionMapZoom(void);
void FreeRegionMapIconResources(void);
u16 GetRegionMapSecIdAt(u16 x, u16 y);
mapsec_u16_t GetRegionMapSecIdAt(u16 x, u16 y);
void CreateRegionMapPlayerIcon(u16 tileTag, u16 paletteTag);
void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
bool32 IsEventIslandMapSecId(u8 mapSecId);
u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength);
u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId);
u8 *GetMapNameHandleAquaHideout(u8 *dest, u16 mapSecId);
u16 CorrectSpecialMapSecId(u16 mapSecId);
bool32 IsEventIslandMapSecId(mapsec_u8_t mapSecId);
u8 *GetMapName(u8 *dest, mapsec_u16_t regionMapId, u16 padLength);
u8 *GetMapNameGeneric(u8 *dest, mapsec_u16_t mapSecId);
u8 *GetMapNameHandleAquaHideout(u8 *dest, mapsec_u16_t mapSecId);
mapsec_u16_t CorrectSpecialMapSecId(mapsec_u16_t mapSecId);
void ShowRegionMapForPokedexAreaScreen(struct RegionMap *regionMap);
void PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(s16 x, s16 y);
void CB2_OpenFlyMap(void);

View File

@@ -1,6 +1,8 @@
#ifndef GUARD_SAVE_H
#define GUARD_SAVE_H
#include "main.h"
// Each 4 KiB flash sector contains 3968 bytes of actual data followed by a 128 byte footer.
// Only 12 bytes of the footer are used.
#define SECTOR_DATA_SIZE 3968
@@ -87,7 +89,7 @@ extern u32 gSaveCounter;
extern struct SaveSector *gFastSaveSector;
extern u16 gIncrementalSectorId;
extern u16 gSaveFileStatus;
extern void (*gGameContinueCallback)(void);
extern MainCallback gGameContinueCallback;
extern struct SaveSectorLocation gRamSaveSectorLocations[];
extern struct SaveSector gSaveDataBuffer;

View File

@@ -1,6 +1,6 @@
@ Due to the way mks4agb (Nintendo's tool) works, key split table labels can
@ appear before the actual start of the key split table data. If you look at
@ the first keysplit table (KeySplitTable1), you'll notice it's offset backwards
@ the first keysplit table (keysplit_piano), you'll notice it's offset backwards
@ by 36 bytes. This is because the key split tables don't map instruments
@ for the entire note range (0-127)--they only map subsets, and the upper
@ and lower ranges aren't necessarily 0 or 127.
@@ -10,384 +10,26 @@
@ begins. Therefore, the notes naturally map to the key split table without
@ any extra offset calculation.
.set KeySplitTable1, . - 36
.byte 0 @ 36
.byte 0 @ 37
.byte 0 @ 38
.byte 0 @ 39
.byte 0 @ 40
.byte 0 @ 41
.byte 0 @ 42
.byte 0 @ 43
.byte 0 @ 44
.byte 0 @ 45
.byte 0 @ 46
.byte 0 @ 47
.byte 0 @ 48
.byte 0 @ 49
.byte 0 @ 50
.byte 0 @ 51
.byte 0 @ 52
.byte 0 @ 53
.byte 0 @ 54
.byte 1 @ 55
.byte 1 @ 56
.byte 1 @ 57
.byte 1 @ 58
.byte 1 @ 59
.byte 1 @ 60
.byte 1 @ 61
.byte 1 @ 62
.byte 1 @ 63
.byte 1 @ 64
.byte 1 @ 65
.byte 1 @ 66
.byte 1 @ 67
.byte 1 @ 68
.byte 1 @ 69
.byte 2 @ 70
.byte 2 @ 71
.byte 2 @ 72
.byte 2 @ 73
.byte 2 @ 74
.byte 2 @ 75
.byte 2 @ 76
.byte 2 @ 77
.byte 2 @ 78
.byte 2 @ 79
.byte 2 @ 80
.byte 2 @ 81
.byte 2 @ 82
.byte 2 @ 83
.byte 2 @ 84
.byte 2 @ 85
.byte 2 @ 86
.byte 2 @ 87
.byte 2 @ 88
.byte 2 @ 89
.byte 2 @ 90
.byte 3 @ 91
.byte 3 @ 92
.byte 3 @ 93
.byte 3 @ 94
.byte 3 @ 95
.byte 3 @ 96
.byte 3 @ 97
.byte 3 @ 98
.byte 3 @ 99
.byte 3 @ 100
.byte 3 @ 101
.byte 3 @ 102
.byte 3 @ 103
.byte 3 @ 104
.byte 3 @ 105
.byte 3 @ 106
.byte 3 @ 107
keysplit piano, 36
split 0, 55
split 1, 70
split 2, 91
split 3, 108
.set KeySplitTable2, . - 36
.byte 0 @ 36
.byte 0 @ 37
.byte 0 @ 38
.byte 0 @ 39
.byte 0 @ 40
.byte 0 @ 41
.byte 0 @ 42
.byte 0 @ 43
.byte 0 @ 44
.byte 0 @ 45
.byte 0 @ 46
.byte 0 @ 47
.byte 0 @ 48
.byte 0 @ 49
.byte 0 @ 50
.byte 0 @ 51
.byte 0 @ 52
.byte 0 @ 53
.byte 0 @ 54
.byte 0 @ 55
.byte 0 @ 56
.byte 0 @ 57
.byte 0 @ 58
.byte 0 @ 59
.byte 0 @ 60
.byte 0 @ 61
.byte 0 @ 62
.byte 0 @ 63
.byte 0 @ 64
.byte 0 @ 65
.byte 0 @ 66
.byte 0 @ 67
.byte 0 @ 68
.byte 1 @ 69
.byte 1 @ 70
.byte 1 @ 71
.byte 1 @ 72
.byte 1 @ 73
.byte 1 @ 74
.byte 1 @ 75
.byte 1 @ 76
.byte 1 @ 77
.byte 1 @ 78
.byte 1 @ 79
.byte 1 @ 80
.byte 2 @ 81
.byte 2 @ 82
.byte 2 @ 83
.byte 2 @ 84
.byte 2 @ 85
.byte 2 @ 86
.byte 2 @ 87
.byte 2 @ 88
.byte 2 @ 89
.byte 2 @ 90
.byte 2 @ 91
.byte 2 @ 92
.byte 2 @ 93
.byte 2 @ 94
.byte 2 @ 95
.byte 2 @ 96
.byte 2 @ 97
.byte 2 @ 98
.byte 2 @ 99
.byte 2 @ 100
.byte 2 @ 101
.byte 2 @ 102
.byte 2 @ 103
.byte 2 @ 104
.byte 2 @ 105
.byte 2 @ 106
.byte 2 @ 107
keysplit strings, 36
split 0, 69
split 1, 81
split 2, 108
.set KeySplitTable3, . - 36
.byte 0 @ 36
.byte 0 @ 37
.byte 0 @ 38
.byte 0 @ 39
.byte 0 @ 40
.byte 0 @ 41
.byte 0 @ 42
.byte 0 @ 43
.byte 0 @ 44
.byte 0 @ 45
.byte 0 @ 46
.byte 0 @ 47
.byte 0 @ 48
.byte 0 @ 49
.byte 0 @ 50
.byte 0 @ 51
.byte 0 @ 52
.byte 0 @ 53
.byte 0 @ 54
.byte 0 @ 55
.byte 0 @ 56
.byte 0 @ 57
.byte 0 @ 58
.byte 0 @ 59
.byte 0 @ 60
.byte 0 @ 61
.byte 0 @ 62
.byte 0 @ 63
.byte 0 @ 64
.byte 0 @ 65
.byte 1 @ 66
.byte 1 @ 67
.byte 1 @ 68
.byte 1 @ 69
.byte 1 @ 70
.byte 1 @ 71
.byte 1 @ 72
.byte 1 @ 73
.byte 1 @ 74
.byte 1 @ 75
.byte 1 @ 76
.byte 1 @ 77
.byte 1 @ 78
.byte 1 @ 79
.byte 1 @ 80
.byte 1 @ 81
.byte 1 @ 82
.byte 1 @ 83
.byte 2 @ 84
.byte 2 @ 85
.byte 2 @ 86
.byte 2 @ 87
.byte 2 @ 88
.byte 2 @ 89
.byte 2 @ 90
.byte 2 @ 91
.byte 2 @ 92
.byte 2 @ 93
.byte 2 @ 94
.byte 2 @ 95
.byte 2 @ 96
.byte 2 @ 97
.byte 2 @ 98
.byte 2 @ 99
.byte 2 @ 100
.byte 2 @ 101
.byte 2 @ 102
.byte 2 @ 103
.byte 2 @ 104
.byte 2 @ 105
.byte 2 @ 106
.byte 2 @ 107
keysplit trumpet, 36
split 0, 66
split 1, 84
split 2, 108
.set KeySplitTable4, . - 24
.byte 0 @ 24
.byte 0 @ 25
.byte 0 @ 26
.byte 0 @ 27
.byte 0 @ 28
.byte 0 @ 29
.byte 0 @ 30
.byte 0 @ 31
.byte 0 @ 32
.byte 0 @ 33
.byte 0 @ 34
.byte 0 @ 35
.byte 0 @ 36
.byte 0 @ 37
.byte 0 @ 38
.byte 0 @ 39
.byte 0 @ 40
.byte 0 @ 41
.byte 1 @ 42
.byte 1 @ 43
.byte 1 @ 44
.byte 1 @ 45
.byte 1 @ 46
.byte 1 @ 47
.byte 1 @ 48
.byte 1 @ 49
.byte 1 @ 50
.byte 1 @ 51
.byte 1 @ 52
.byte 1 @ 53
.byte 1 @ 54
.byte 1 @ 55
.byte 1 @ 56
.byte 1 @ 57
.byte 1 @ 58
.byte 1 @ 59
.byte 1 @ 60
.byte 1 @ 61
.byte 1 @ 62
.byte 1 @ 63
.byte 1 @ 64
.byte 1 @ 65
.byte 1 @ 66
.byte 1 @ 67
.byte 1 @ 68
.byte 1 @ 69
.byte 1 @ 70
.byte 1 @ 71
.byte 1 @ 72
.byte 1 @ 73
.byte 1 @ 74
.byte 1 @ 75
.byte 1 @ 76
.byte 1 @ 77
.byte 1 @ 78
.byte 1 @ 79
.byte 1 @ 80
.byte 1 @ 81
.byte 1 @ 82
.byte 1 @ 83
.byte 1 @ 84
.byte 1 @ 85
.byte 1 @ 86
.byte 1 @ 87
.byte 1 @ 88
.byte 1 @ 89
.byte 1 @ 90
.byte 1 @ 91
.byte 1 @ 92
.byte 1 @ 93
.byte 1 @ 94
.byte 1 @ 95
.byte 1 @ 96
.byte 1 @ 97
.byte 1 @ 98
.byte 1 @ 99
.byte 1 @ 100
.byte 1 @ 101
.byte 1 @ 102
.byte 1 @ 103
.byte 1 @ 104
.byte 1 @ 105
.byte 1 @ 106
.byte 1 @ 107
keysplit tuba, 24
split 0, 42
split 1, 108
.set KeySplitTable5, . - 36
.byte 0 @ 36
.byte 0 @ 37
.byte 0 @ 38
.byte 0 @ 39
.byte 0 @ 40
.byte 0 @ 41
.byte 0 @ 42
.byte 0 @ 43
.byte 0 @ 44
.byte 0 @ 45
.byte 0 @ 46
.byte 0 @ 47
.byte 0 @ 48
.byte 0 @ 49
.byte 0 @ 50
.byte 0 @ 51
.byte 0 @ 52
.byte 0 @ 53
.byte 0 @ 54
.byte 0 @ 55
.byte 0 @ 56
.byte 0 @ 57
.byte 0 @ 58
.byte 0 @ 59
.byte 0 @ 60
.byte 0 @ 61
.byte 0 @ 62
.byte 0 @ 63
.byte 0 @ 64
.byte 0 @ 65
.byte 1 @ 66
.byte 1 @ 67
.byte 1 @ 68
.byte 1 @ 69
.byte 1 @ 70
.byte 1 @ 71
.byte 1 @ 72
.byte 1 @ 73
.byte 1 @ 74
.byte 1 @ 75
.byte 1 @ 76
.byte 1 @ 77
.byte 1 @ 78
.byte 1 @ 79
.byte 1 @ 80
.byte 1 @ 81
.byte 1 @ 82
.byte 1 @ 83
.byte 1 @ 84
.byte 1 @ 85
.byte 1 @ 86
.byte 1 @ 87
.byte 1 @ 88
.byte 1 @ 89
.byte 1 @ 90
.byte 1 @ 91
.byte 1 @ 92
.byte 1 @ 93
.byte 1 @ 94
.byte 1 @ 95
.byte 1 @ 96
.byte 1 @ 97
.byte 1 @ 98
.byte 1 @ 99
.byte 1 @ 100
.byte 1 @ 101
.byte 1 @ 102
.byte 1 @ 103
.byte 1 @ 104
.byte 1 @ 105
.byte 1 @ 106
.byte 1 @ 107
keysplit french_horn, 36
split 0, 66
split 1, 108

File diff suppressed because it is too large Load Diff

View File

@@ -1,420 +1,420 @@
mus_abandoned_ship.mid: -E -R50 -G030 -V080
mus_abnormal_weather.mid: -E -R50 -G089 -V080
mus_aqua_magma_hideout.mid: -E -R50 -G076 -V084
mus_awaken_legend.mid: -E -R50 -G012 -V090 -P5
mus_b_arena.mid: -E -R50 -G104 -V090
mus_b_dome_lobby.mid: -E -R50 -G111 -V056
mus_b_dome.mid: -E -R50 -G111 -V090
mus_b_factory.mid: -E -R50 -G113 -V100
mus_b_frontier.mid: -E -R50 -G103 -V094
mus_b_palace.mid: -E -R50 -G108 -V105
mus_b_pike.mid: -E -R50 -G112 -V092
mus_b_pyramid_top.mid: -E -R50 -G107 -V077
mus_b_pyramid.mid: -E -R50 -G106 -V079
mus_b_tower_rs.mid: -E -R50 -G035 -V080
mus_b_tower.mid: -E -R50 -G110 -V100
mus_birch_lab.mid: -E -R50 -G033 -V080
mus_abandoned_ship.mid: -E -R50 -G_abandoned_ship -V080
mus_abnormal_weather.mid: -E -R50 -G_abnormal_weather -V080
mus_aqua_magma_hideout.mid: -E -R50 -G_aqua_magma_hideout -V084
mus_awaken_legend.mid: -E -R50 -G_fanfare -V090 -P5
mus_b_arena.mid: -E -R50 -G_b_arena -V090
mus_b_dome_lobby.mid: -E -R50 -G_b_dome -V056
mus_b_dome.mid: -E -R50 -G_b_dome -V090
mus_b_factory.mid: -E -R50 -G_b_factory -V100
mus_b_frontier.mid: -E -R50 -G_b_frontier -V094
mus_b_palace.mid: -E -R50 -G_b_palace -V105
mus_b_pike.mid: -E -R50 -G_b_pike -V092
mus_b_pyramid_top.mid: -E -R50 -G_b_pyramid_top -V077
mus_b_pyramid.mid: -E -R50 -G_b_pyramid -V079
mus_b_tower_rs.mid: -E -R50 -G_b_tower_rs -V080
mus_b_tower.mid: -E -R50 -G_b_tower -V100
mus_birch_lab.mid: -E -R50 -G_birch_lab -V080
mus_c_comm_center.mid: -E -R50 -V080
mus_c_vs_legend_beast.mid: -E -R50 -V080
mus_cable_car.mid: -E -R50 -G071 -V078
mus_caught.mid: -E -R50 -G025 -V080
mus_cave_of_origin.mid: -E -R50 -G037 -V080
mus_contest_lobby.mid: -E -R50 -G098 -V060
mus_contest_results.mid: -E -R50 -G092 -V080
mus_contest_winner.mid: -E -R50 -G085 -V100
mus_contest.mid: -E -R50 -G086 -V088
mus_credits.mid: -E -R50 -G101 -V100
mus_cycling.mid: -E -R50 -G049 -V083
mus_dewford.mid: -E -R50 -G073 -V078
mus_cable_car.mid: -E -R50 -G_cable_car -V078
mus_caught.mid: -E -R50 -G_victory_wild -V080
mus_cave_of_origin.mid: -E -R50 -G_cave_of_origin -V080
mus_contest_lobby.mid: -E -R50 -G_contest_lobby -V060
mus_contest_results.mid: -E -R50 -G_contest_results -V080
mus_contest_winner.mid: -E -R50 -G_contest_winner -V100
mus_contest.mid: -E -R50 -G_contest -V088
mus_credits.mid: -E -R50 -G_credits -V100
mus_cycling.mid: -E -R50 -G_cycling -V083
mus_dewford.mid: -E -R50 -G_dewford -V078
mus_dummy.mid: -E -R40
mus_encounter_aqua.mid: -E -R50 -G065 -V086
mus_encounter_brendan.mid: -E -R50 -G067 -V078
mus_encounter_champion.mid: -E -R50 -G100 -V076
mus_encounter_cool.mid: -E -R50 -G063 -V086
mus_encounter_elite_four.mid: -E -R50 -G096 -V078
mus_encounter_female.mid: -E -R50 -G053 -V072
mus_encounter_girl.mid: -E -R50 -G027 -V080
mus_encounter_hiker.mid: -E -R50 -G097 -V076
mus_encounter_intense.mid: -E -R50 -G062 -V078
mus_encounter_interviewer.mid: -E -R50 -G099 -V062
mus_encounter_magma.mid: -E -R50 -G087 -V072
mus_encounter_male.mid: -E -R50 -G028 -V080
mus_encounter_may.mid: -E -R50 -G061 -V078
mus_encounter_rich.mid: -E -R50 -G043 -V094
mus_encounter_suspicious.mid: -E -R50 -G069 -V078
mus_encounter_swimmer.mid: -E -R50 -G036 -V080
mus_encounter_twins.mid: -E -R50 -G095 -V075
mus_end.mid: -E -R50 -G102 -V036
mus_ever_grande.mid: -E -R50 -G068 -V086
mus_evolution_intro.mid: -E -R50 -G026 -V080
mus_evolution.mid: -E -R50 -G026 -V080
mus_evolved.mid: -E -R50 -G012 -V090 -P5
mus_fallarbor.mid: -E -R50 -G083 -V100
mus_follow_me.mid: -E -R50 -G066 -V074
mus_fortree.mid: -E -R50 -G032 -V080
mus_game_corner.mid: -E -R50 -G072 -V072
mus_encounter_aqua.mid: -E -R50 -G_encounter_aqua -V086
mus_encounter_brendan.mid: -E -R50 -G_encounter_brendan -V078
mus_encounter_champion.mid: -E -R50 -G_encounter_champion -V076
mus_encounter_cool.mid: -E -R50 -G_encounter_cool -V086
mus_encounter_elite_four.mid: -E -R50 -G_encounter_elite_four -V078
mus_encounter_female.mid: -E -R50 -G_encounter_female -V072
mus_encounter_girl.mid: -E -R50 -G_encounter_girl -V080
mus_encounter_hiker.mid: -E -R50 -G_encounter_hiker -V076
mus_encounter_intense.mid: -E -R50 -G_encounter_intense -V078
mus_encounter_interviewer.mid: -E -R50 -G_encounter_interviewer -V062
mus_encounter_magma.mid: -E -R50 -G_encounter_magma -V072
mus_encounter_male.mid: -E -R50 -G_encounter_male -V080
mus_encounter_may.mid: -E -R50 -G_encounter_may -V078
mus_encounter_rich.mid: -E -R50 -G_encounter_rich -V094
mus_encounter_suspicious.mid: -E -R50 -G_encounter_suspicious -V078
mus_encounter_swimmer.mid: -E -R50 -G_encounter_swimmer -V080
mus_encounter_twins.mid: -E -R50 -G_encounter_twins -V075
mus_end.mid: -E -R50 -G_end -V036
mus_ever_grande.mid: -E -R50 -G_ever_grande -V086
mus_evolution_intro.mid: -E -R50 -G_evolution -V080
mus_evolution.mid: -E -R50 -G_evolution -V080
mus_evolved.mid: -E -R50 -G_fanfare -V090 -P5
mus_fallarbor.mid: -E -R50 -G_fallarbor -V100
mus_follow_me.mid: -E -R50 -G_follow_me -V074
mus_fortree.mid: -E -R50 -G_fortree -V080
mus_game_corner.mid: -E -R50 -G_game_corner -V072
mus_gsc_pewter.mid: -E -R50 -V080
mus_gsc_route38.mid: -E -R50 -V080
mus_gym.mid: -E -R50 -G013 -V080
mus_hall_of_fame_room.mid: -E -R50 -G093 -V080
mus_hall_of_fame.mid: -E -R50 -G082 -V078
mus_heal.mid: -E -R50 -G012 -V090 -P5
mus_help.mid: -E -R50 -G056 -V078
mus_intro_battle.mid: -E -R50 -G088 -V088
mus_intro.mid: -E -R50 -G060 -V090
mus_level_up.mid: -E -R50 -G012 -V090 -P5
mus_lilycove_museum.mid: -E -R50 -G020 -V080
mus_lilycove.mid: -E -R50 -G054 -V085
mus_link_contest_p1.mid: -E -R50 -G039 -V079
mus_link_contest_p2.mid: -E -R50 -G040 -V090
mus_link_contest_p3.mid: -E -R50 -G041 -V075
mus_link_contest_p4.mid: -E -R50 -G042 -V090
mus_littleroot_test.mid: -E -R50 -G034 -V099
mus_littleroot.mid: -E -R50 -G051 -V100
mus_move_deleted.mid: -E -R50 -G012 -V090 -P5
mus_mt_chimney.mid: -E -R50 -G052 -V078
mus_mt_pyre_exterior.mid: -E -R50 -G080 -V080
mus_mt_pyre.mid: -E -R50 -G078 -V088
mus_obtain_b_points.mid: -E -R50 -G103 -V090 -P5
mus_obtain_badge.mid: -E -R50 -G012 -V090 -P5
mus_obtain_berry.mid: -E -R50 -G012 -V090 -P5
mus_obtain_item.mid: -E -R50 -G012 -V090 -P5
mus_obtain_symbol.mid: -E -R50 -G103 -V100 -P5
mus_obtain_tmhm.mid: -E -R50 -G012 -V090 -P5
mus_oceanic_museum.mid: -E -R50 -G023 -V080
mus_oldale.mid: -E -R50 -G019 -V080
mus_petalburg_woods.mid: -E -R50 -G018 -V080
mus_petalburg.mid: -E -R50 -G015 -V080
mus_poke_center.mid: -E -R50 -G046 -V092
mus_poke_mart.mid: -E -R50 -G050 -V085
mus_rayquaza_appears.mid: -E -R50 -G109 -V090
mus_register_match_call.mid: -E -R50 -G105 -V090 -P5
mus_rg_berry_pick.mid: -E -R50 -G132 -V090
mus_rg_caught_intro.mid: -E -R50 -G179 -V094 -P5
mus_rg_caught.mid: -E -R50 -G170 -V100
mus_rg_celadon.mid: -E -R50 -G168 -V070
mus_rg_cinnabar.mid: -E -R50 -G138 -V090
mus_rg_credits.mid: -E -R50 -G149 -V090
mus_rg_cycling.mid: -E -R50 -G141 -V090
mus_rg_dex_rating.mid: -E -R50 -G175 -V070 -P5
mus_rg_encounter_boy.mid: -E -R50 -G144 -V090
mus_rg_encounter_deoxys.mid: -E -R50 -G184 -V079
mus_rg_encounter_girl.mid: -E -R50 -G143 -V051
mus_rg_encounter_gym_leader: -E -R50 -G144 -V090
mus_rg_encounter_rival.mid: -E -R50 -G174 -V079
mus_rg_encounter_rocket.mid: -E -R50 -G142 -V096
mus_rg_follow_me.mid: -E -R50 -G131 -V068
mus_rg_fuchsia.mid: -E -R50 -G167 -V090
mus_rg_game_corner.mid: -E -R50 -G132 -V090
mus_rg_game_freak.mid: -E -R50 -G181 -V075
mus_rg_gym.mid: -E -R50 -G134 -V090
mus_rg_hall_of_fame.mid: -E -R50 -G145 -V079
mus_rg_heal.mid: -E -R50 -G140 -V090
mus_rg_intro_fight.mid: -E -R50 -G136 -V090
mus_rg_jigglypuff.mid: -E -R50 -G135 -V068 -P5
mus_rg_lavender.mid: -E -R50 -G139 -V090
mus_rg_mt_moon.mid: -E -R50 -G147 -V090
mus_rg_mystery_gift.mid: -E -R50 -G183 -V100
mus_rg_net_center.mid: -E -R50 -G162 -V096
mus_rg_new_game_exit.mid: -E -R50 -G182 -V088
mus_rg_new_game_instruct.mid: -E -R50 -G182 -V085
mus_rg_new_game_intro.mid: -E -R50 -G182 -V088
mus_rg_oak_lab.mid: -E -R50 -G160 -V075
mus_rg_oak.mid: -E -R50 -G161 -V086
mus_rg_obtain_key_item.mid: -E -R50 -G178 -V077 -P5
mus_rg_pallet.mid: -E -R50 -G159 -V100
mus_rg_pewter.mid: -E -R50 -G173 -V084
mus_rg_photo.mid: -E -R50 -G180 -V100 -P5
mus_rg_poke_center.mid: -E -R50 -G162 -V096
mus_rg_poke_flute.mid: -E -R50 -G165 -V048 -P5
mus_rg_poke_jump.mid: -E -R50 -G132 -V090
mus_rg_poke_mansion.mid: -E -R50 -G148 -V090
mus_rg_poke_tower.mid: -E -R50 -G165 -V090
mus_rg_rival_exit.mid: -E -R50 -G174 -V079
mus_rg_rocket_hideout.mid: -E -R50 -G133 -V090
mus_rg_route1.mid: -E -R50 -G150 -V079
mus_rg_route3.mid: -E -R50 -G152 -V083
mus_rg_route11.mid: -E -R50 -G153 -V090
mus_rg_route24.mid: -E -R50 -G151 -V086
mus_rg_sevii_45.mid: -E -R50 -G188 -V084
mus_rg_sevii_67.mid: -E -R50 -G189 -V084
mus_rg_sevii_123.mid: -E -R50 -G173 -V084
mus_rg_sevii_cave.mid: -E -R50 -G147 -V090
mus_rg_sevii_dungeon.mid: -E -R50 -G146 -V090
mus_rg_sevii_route.mid: -E -R50 -G187 -V080
mus_rg_silph.mid: -E -R50 -G166 -V076
mus_rg_slow_pallet.mid: -E -R50 -G159 -V092
mus_rg_ss_anne.mid: -E -R50 -G163 -V090
mus_rg_surf.mid: -E -R50 -G164 -V071
mus_rg_teachy_tv_menu.mid: -E -R50 -G186 -V059
mus_rg_teachy_tv_show.mid: -E -R50 -G131 -V068
mus_rg_title.mid: -E -R50 -G137 -V090
mus_rg_trainer_tower.mid: -E -R50 -G134 -V090
mus_rg_union_room.mid: -E -R50 -G132 -V090
mus_rg_vermillion.mid: -E -R50 -G172 -V090
mus_rg_victory_gym_leader.mid: -E -R50 -G171 -V090
mus_rg_victory_road.mid: -E -R50 -G154 -V090
mus_rg_victory_trainer.mid: -E -R50 -G169 -V089
mus_rg_victory_wild.mid: -E -R50 -G170 -V090
mus_rg_viridian_forest.mid: -E -R50 -G146 -V090
mus_rg_vs_champion.mid: -E -R50 -G158 -V090
mus_rg_vs_deoxys.mid: -E -R50 -G185 -V080
mus_rg_vs_gym_leader.mid: -E -R50 -G155 -V090
mus_rg_vs_legend.mid: -E -R50 -G157 -V090
mus_rg_vs_mewtwo.mid: -E -R50 -G157 -V090
mus_rg_vs_trainer.mid: -E -R50 -G156 -V090
mus_rg_vs_wild.mid: -E -R50 -G157 -V090
mus_roulette.mid: -E -R50 -G038 -V080
mus_route101.mid: -E -R50 -G011 -V080
mus_route104.mid: -E -R50 -G047 -V097
mus_route110.mid: -E -R50 -G010 -V080
mus_route111.mid: -E -R50 -G055 -V076
mus_route113.mid: -E -R50 -G064 -V084
mus_route119.mid: -E -R50 -G048 -V096
mus_route120.mid: -E -R50 -G014 -V080
mus_route122.mid: -E -R50 -G021 -V080
mus_rustboro.mid: -E -R50 -G045 -V085
mus_safari_zone.mid: -E -R50 -G074 -V082
mus_sailing.mid: -E -R50 -G077 -V086
mus_school.mid: -E -R50 -G081 -V100
mus_sealed_chamber.mid: -E -R50 -G084 -V100
mus_slateport.mid: -E -R50 -G079 -V070
mus_slots_jackpot.mid: -E -R50 -G012 -V090 -P5
mus_slots_win.mid: -E -R50 -G012 -V090 -P5
mus_sootopolis.mid: -E -R50 -G091 -V062
mus_surf.mid: -E -R50 -G017 -V080
mus_title.mid: -E -R50 -G059 -V090
mus_too_bad.mid: -E -R50 -G012 -V090 -P5
mus_trick_house.mid: -E -R50 -G094 -V070
mus_underwater.mid: -E -R50 -G057 -V094
mus_verdanturf.mid: -E -R50 -G044 -V090
mus_victory_aqua_magma.mid: -E -R50 -G070 -V088
mus_victory_gym_leader.mid: -E -R50 -G024 -V080
mus_victory_league.mid: -E -R50 -G029 -V080
mus_victory_road.mid: -E -R50 -G075 -V076
mus_victory_trainer.mid: -E -R50 -G058 -V091
mus_victory_wild.mid: -E -R50 -G025 -V080
mus_vs_aqua_magma_leader.mid: -E -R50 -G126 -V080 -P1
mus_vs_aqua_magma.mid: -E -R50 -G118 -V080 -P1
mus_vs_champion.mid: -E -R50 -G121 -V080 -P1
mus_vs_elite_four.mid: -E -R50 -G125 -V080 -P1
mus_vs_frontier_brain.mid: -E -R50 -G115 -V090 -P1
mus_vs_gym_leader.mid: -E -R50 -G120 -V080 -P1
mus_vs_kyogre_groudon.mid: -E -R50 -G123 -V080 -P1
mus_vs_mew.mid: -E -R50 -G116 -V090
mus_vs_rayquaza.mid: -E -R50 -G114 -V080 -P1
mus_vs_regi.mid: -E -R50 -G122 -V080 -P1
mus_vs_rival.mid: -E -R50 -G124 -V080 -P1
mus_vs_trainer.mid: -E -R50 -G119 -V080 -P1
mus_vs_wild.mid: -E -R50 -G117 -V080 -P1
mus_weather_groudon.mid: -E -R50 -G090 -V050
ph_choice_blend.mid: -E -G130 -P4
ph_choice_held.mid: -E -G130 -P4
ph_choice_solo.mid: -E -G130 -P4
ph_cloth_blend.mid: -E -G130 -P4
ph_cloth_held.mid: -E -G130 -P4
ph_cloth_solo.mid: -E -G130 -P4
ph_cure_blend.mid: -E -G130 -P4
ph_cure_held.mid: -E -G130 -P4
ph_cure_solo.mid: -E -G130 -P4
ph_dress_blend.mid: -E -G130 -P4
ph_dress_held.mid: -E -G130 -P4
ph_dress_solo.mid: -E -G130 -P4
ph_face_blend.mid: -E -G130 -P4
ph_face_held.mid: -E -G130 -P4
ph_face_solo.mid: -E -G130 -P4
ph_fleece_blend.mid: -E -G130 -P4
ph_fleece_held.mid: -E -G130 -P4
ph_fleece_solo.mid: -E -G130 -P4
ph_foot_blend.mid: -E -G130 -P4
ph_foot_held.mid: -E -G130 -P4
ph_foot_solo.mid: -E -G130 -P4
ph_goat_blend.mid: -E -G130 -P4
ph_goat_held.mid: -E -G130 -P4
ph_goat_solo.mid: -E -G130 -P4
ph_goose_blend.mid: -E -G130 -P4
ph_goose_held.mid: -E -G130 -P4
ph_goose_solo.mid: -E -G130 -P4
ph_kit_blend.mid: -E -G130 -P4
ph_kit_held.mid: -E -G130 -P4
ph_kit_solo.mid: -E -G130 -P4
ph_lot_blend.mid: -E -G130 -P4
ph_lot_held.mid: -E -G130 -P4
ph_lot_solo.mid: -E -G130 -P4
ph_mouth_blend.mid: -E -G130 -P4
ph_mouth_held.mid: -E -G130 -P4
ph_mouth_solo.mid: -E -G130 -P4
ph_nurse_blend.mid: -E -G130 -P4
ph_nurse_held.mid: -E -G130 -P4
ph_nurse_solo.mid: -E -G130 -P4
ph_price_blend.mid: -E -G130 -P4
ph_price_held.mid: -E -G130 -P4
ph_price_solo.mid: -E -G130 -P4
ph_strut_blend.mid: -E -G130 -P4
ph_strut_held.mid: -E -G130 -P4
ph_strut_solo.mid: -E -G130 -P4
ph_thought_blend.mid: -E -G130 -P4
ph_thought_held.mid: -E -G130 -P4
ph_thought_solo.mid: -E -G130 -P4
ph_trap_blend.mid: -E -G130 -P4
ph_trap_held.mid: -E -G130 -P4
ph_trap_solo.mid: -E -G130 -P4
se_a.mid: -E -R50 -G128 -V095 -P4
se_applause.mid: -E -R50 -G128 -V100 -P5
se_arena_timeup1.mid: -E -R50 -G129 -P5
se_arena_timeup2.mid: -E -R50 -G129 -P5
se_ball_bounce_1.mid: -E -R50 -G128 -V100 -P4
se_ball_bounce_2.mid: -E -R50 -G128 -V100 -P4
se_ball_bounce_3.mid: -E -R50 -G128 -V100 -P4
se_ball_bounce_4.mid: -E -R50 -G128 -V100 -P4
se_ball_open.mid: -E -R50 -G127 -V100 -P5
se_ball_throw.mid: -E -R50 -G128 -V120 -P5
se_ball_trade.mid: -E -R50 -G127 -V100 -P5
se_ball_tray_ball.mid: -E -R50 -G128 -V110 -P5
se_ball_tray_enter.mid: -E -R50 -G128 -V110 -P5
se_ball_tray_exit.mid: -E -R50 -G127 -V100 -P5
se_ball.mid: -E -R50 -G127 -V070 -P4
se_balloon_blue.mid: -E -R50 -G128 -V105 -P4
se_balloon_red.mid: -E -R50 -G128 -V105 -P4
se_balloon_yellow.mid: -E -R50 -G128 -V105 -P4
se_bang.mid: -E -R50 -G128 -V110 -P4
se_berry_blender.mid: -E -R50 -G128 -V090 -P4
se_bike_bell.mid: -E -R50 -G128 -V090 -P4
se_bike_hop.mid: -E -R50 -G127 -V090 -P4
se_boo.mid: -E -R50 -G127 -V110 -P4
se_breakable_door.mid: -E -R50 -G128 -V110 -P4
se_bridge_walk.mid: -E -R50 -G128 -V095 -P4
se_card.mid: -E -R50 -G127 -V100 -P4
se_click.mid: -E -R50 -G127 -V110 -P4
se_contest_condition_lose.mid: -E -R50 -G127 -V110 -P4
se_contest_curtain_fall.mid: -E -R50 -G128 -V070 -P5
se_contest_curtain_rise.mid: -E -R50 -G128 -V070 -P5
se_contest_heart.mid: -E -R50 -G128 -V090 -P5
se_contest_icon_change.mid: -E -R50 -G128 -V110 -P5
se_contest_icon_clear.mid: -E -R50 -G128 -V090 -P5
se_contest_mons_turn.mid: -E -R50 -G128 -V090 -P5
se_contest_place.mid: -E -R50 -G127 -V110 -P4
se_dex_search.mid: -E -R50 -G127 -v100 -P5
se_ding_dong.mid: -E -R50 -G127 -V090 -P5
se_door.mid: -E -R50 -G127 -V080 -P5
se_downpour_stop.mid: -E -R50 -G128 -V100 -P2
se_downpour.mid: -E -R50 -G128 -V100 -P2
se_e.mid: -E -R50 -G128 -V120 -P4
se_effective.mid: -E -R50 -G127 -V110 -P5
se_egg_hatch.mid: -E -R50 -G128 -V120 -P5
se_elevator.mid: -E -R50 -G128 -V100 -P4
se_escalator.mid: -E -R50 -G128 -V100 -P4
se_exit.mid: -E -R50 -G127 -V120 -P5
se_exp_max.mid: -E -R50 -G128 -V094 -P5
se_exp.mid: -E -R50 -G127 -V080 -P5
se_failure.mid: -E -R50 -G127 -V120 -P4
se_faint.mid: -E -R50 -G127 -V110 -P5
se_fall.mid: -E -R50 -G128 -V110 -P4
se_field_poison.mid: -E -R50 -G127 -V110 -P5
se_flee.mid: -E -R50 -G127 -V090 -P5
se_fu_zaku.mid: -E -R50 -G127 -V120 -P4
se_glass_flute.mid: -E -R50 -G128 -V105 -P5
se_i.mid: -E -R50 -G128 -V120 -P4
se_ice_break.mid: -E -R50 -G128 -V100 -P4
se_ice_crack.mid: -E -R50 -G127 -V100 -P4
se_ice_stairs.mid: -E -R50 -G128 -V090 -P4
se_intro_blast.mid: -E -R50 -G127 -V100 -P5
se_itemfinder.mid: -E -R50 -G127 -V090 -P5
se_lavaridge_fall_warp.mid: -E -R50 -G127 -P4
se_ledge.mid: -E -R50 -G127 -V100 -P4
se_low_health.mid: -E -R50 -G127 -V100 -P3
se_m_bind.mid: -E -R50 -G128 -V100 -P4
se_m_comet_punch.mid: -E -R50 -G128 -V120 -P4
se_m_cut.mid: -E -R50 -G128 -V120 -P4
se_m_double_slap.mid: -E -R50 -G128 -V110 -P4
se_m_fire_punch.mid: -E -R50 -G128 -V110 -P4
se_m_fly.mid: -E -R50 -G128 -V110 -P4
se_m_gust.mid: -E -R50 -G128 -V110 -P4
se_m_gust2.mid: -E -R50 -G128 -V110 -P4
se_m_headbutt.mid: -E -R50 -G128 -V110 -P4
se_m_horn_attack.mid: -E -R50 -G128 -V110 -P4
se_m_jump_kick.mid: -E -R50 -G128 -V110 -P4
se_m_leer.mid: -E -R50 -G128 -V110 -P4
se_m_mega_kick.mid: -E -R50 -G128 -V090 -P4
se_m_mega_kick2.mid: -E -R50 -G128 -V110 -P4
se_m_pay_day.mid: -E -R50 -G128 -V095 -P4
se_m_razor_wind.mid: -E -R50 -G128 -V110 -P4
se_m_razor_wind2.mid: -E -R50 -G128 -V090 -P4
se_m_sand_attack.mid: -E -R50 -G128 -V110 -P4
se_m_scratch.mid: -E -R50 -G128 -V110 -P4
se_m_swords_dance.mid: -E -R50 -G128 -V100 -P4
se_m_tail_whip.mid: -E -R50 -G128 -V110 -P4
se_m_take_down.mid: -E -R50 -G128 -V105 -P4
se_m_vicegrip.mid: -E -R50 -G128 -V110 -P4
se_m_wing_attack.mid: -E -R50 -G128 -V105 -P4
se_mud_ball.mid: -E -R50 -G128 -V110 -P4
se_mugshot.mid: -E -R50 -G128 -V090 -P5
se_n.mid: -E -R50 -G128 -P4
se_not_effective.mid: -E -R50 -G127 -V110 -P5
se_note_a.mid: -E -R50 -G128 -V110 -P4
se_note_b.mid: -E -R50 -G128 -V110 -P4
se_note_c_high.mid: -E -R50 -G128 -V110 -P4
se_note_c.mid: -E -R50 -G128 -V110 -P4
se_note_d.mid: -E -R50 -G128 -V110 -P4
se_note_e.mid: -E -R50 -G128 -V110 -P4
se_note_f.mid: -E -R50 -G128 -V110 -P4
se_note_g.mid: -E -R50 -G128 -V110 -P4
se_o.mid: -E -R50 -G128 -V120 -P4
se_orb.mid: -E -R50 -G128 -V100 -P5
se_pc_login.mid: -E -R50 -G127 -V100 -P5
se_pc_off.mid: -E -R50 -G127 -V100 -P5
se_pc_on.mid: -E -R50 -G127 -V100 -P5
se_pike_curtain_close.mid: -E -R50 -G129 -P5
se_pike_curtain_open.mid: -E -R50 -G129 -P5
se_pin.mid: -E -R50 -G127 -V060 -P4
se_pokenav_call.mid: -E -R50 -G129 -V120 -P5
se_pokenav_hang_up.mid: -E -R50 -G129 -V110 -P5
se_pokenav_off.mid: -E -R50 -G127 -V100 -P5
se_pokenav_on.mid: -E -R50 -G127 -V100 -P5
se_puddle.mid: -E -R50 -G128 -V020 -P4
se_rain_stop.mid: -E -R50 -G128 -V080 -P2
se_rain.mid: -E -R50 -G128 -V080 -P2
se_repel.mid: -E -R50 -G127 -V090 -P4
se_rg_bag_cursor.mid: -E -R50 -G129 -P5
se_rg_bag_pocket.mid: -E -R50 -G129 -P5
se_rg_ball_click.mid: -E -R50 -G129 -V100 -P5
se_rg_card_flip.mid: -E -R50 -G129 -P5
se_rg_card_flipping.mid: -E -R50 -G129 -P5
se_rg_card_open.mid: -E -R50 -G129 -V112 -P5
se_rg_deoxys_move.mid: -E -R50 -G129 -V080 -P5
se_rg_door.mid: -E -R50 -G129 -V100 -P5
se_rg_help_close.mid: -E -R50 -G129 -V095 -P5
se_rg_help_error.mid: -E -R50 -G129 -V125 -P5
se_rg_help_open.mid: -E -R50 -G129 -V096 -P5
se_rg_poke_jump_failure.mid: -E -R50 -G127 -P5
se_rg_poke_jump_success.mid: -E -R50 -G128 -V110 -P5
se_rg_shop.mid: -E -R50 -G129 -V080 -P5
se_rg_ss_anne_horn.mid: -E -R50 -G129 -V096 -P5
se_rotating_gate.mid: -E -R50 -G128 -V090 -P4
se_roulette_ball.mid: -E -R50 -G128 -V110 -P2
se_roulette_ball2.mid: -E -R50 -G128 -V110 -P2
se_save.mid: -E -R50 -G128 -V080 -P5
se_select.mid: -E -R50 -G127 -V080 -P5
se_shiny.mid: -E -R50 -G128 -V095 -P5
se_ship.mid: -E -R50 -G127 -V075 -P4
se_shop.mid: -E -R50 -G127 -V090 -P5
se_sliding_door.mid: -E -R50 -G128 -V095 -P4
se_success.mid: -E -R50 -G127 -V080 -P4
se_sudowoodo_shake.mid: -E -R50 -G129 -V077 -P5
se_super_effective.mid: -E -R50 -G127 -V110 -P5
se_switch.mid: -E -R50 -G127 -V100 -P4
se_taillow_wing_flap.mid: -E -R50 -G128 -V105 -P5
se_thunder.mid: -E -R50 -G128 -V110 -P3
se_thunder2.mid: -E -R50 -G128 -V110 -P3
se_thunderstorm_stop.mid: -E -R50 -G128 -V080 -P2
se_thunderstorm.mid: -E -R50 -G128 -V080 -P2
se_truck_door.mid: -E -R50 -G128 -V110 -P4
se_truck_move.mid: -E -R50 -G128 -P4
se_truck_stop.mid: -E -R50 -G128 -P4
se_truck_unload.mid: -E -R50 -G127 -P4
se_u.mid: -E -R50 -G128 -P4
se_unlock.mid: -E -R50 -G128 -V100 -P4
se_use_item.mid: -E -R50 -G127 -V100 -P5
se_vend.mid: -E -R50 -G128 -V110 -P4
se_warp_in.mid: -E -R50 -G127 -V090 -P4
se_warp_out.mid: -E -R50 -G127 -V090 -P4
mus_gym.mid: -E -R50 -G_gym -V080
mus_hall_of_fame_room.mid: -E -R50 -G_hall_of_fame_room -V080
mus_hall_of_fame.mid: -E -R50 -G_hall_of_fame -V078
mus_heal.mid: -E -R50 -G_fanfare -V090 -P5
mus_help.mid: -E -R50 -G_help -V078
mus_intro_battle.mid: -E -R50 -G_intro_battle -V088
mus_intro.mid: -E -R50 -G_intro -V090
mus_level_up.mid: -E -R50 -G_fanfare -V090 -P5
mus_lilycove_museum.mid: -E -R50 -G_lilycove_museum -V080
mus_lilycove.mid: -E -R50 -G_lilycove -V085
mus_link_contest_p1.mid: -E -R50 -G_link_contest_p1 -V079
mus_link_contest_p2.mid: -E -R50 -G_link_contest_p2 -V090
mus_link_contest_p3.mid: -E -R50 -G_link_contest_p3 -V075
mus_link_contest_p4.mid: -E -R50 -G_link_contest_p4 -V090
mus_littleroot_test.mid: -E -R50 -G_littleroot_test -V099
mus_littleroot.mid: -E -R50 -G_littleroot -V100
mus_move_deleted.mid: -E -R50 -G_fanfare -V090 -P5
mus_mt_chimney.mid: -E -R50 -G_mt_chimney -V078
mus_mt_pyre_exterior.mid: -E -R50 -G_mt_pyre_exterior -V080
mus_mt_pyre.mid: -E -R50 -G_mt_pyre -V088
mus_obtain_b_points.mid: -E -R50 -G_b_frontier -V090 -P5
mus_obtain_badge.mid: -E -R50 -G_fanfare -V090 -P5
mus_obtain_berry.mid: -E -R50 -G_fanfare -V090 -P5
mus_obtain_item.mid: -E -R50 -G_fanfare -V090 -P5
mus_obtain_symbol.mid: -E -R50 -G_b_frontier -V100 -P5
mus_obtain_tmhm.mid: -E -R50 -G_fanfare -V090 -P5
mus_oceanic_museum.mid: -E -R50 -G_oceanic_museum -V080
mus_oldale.mid: -E -R50 -G_oldale -V080
mus_petalburg_woods.mid: -E -R50 -G_petalburg_woods -V080
mus_petalburg.mid: -E -R50 -G_petalburg -V080
mus_poke_center.mid: -E -R50 -G_poke_center -V092
mus_poke_mart.mid: -E -R50 -G_poke_mart -V085
mus_rayquaza_appears.mid: -E -R50 -G_rayquaza_appears -V090
mus_register_match_call.mid: -E -R50 -G_register_match_call -V090 -P5
mus_rg_berry_pick.mid: -E -R50 -G_rg_game_corner -V090
mus_rg_caught_intro.mid: -E -R50 -G_rg_caught_intro -V094 -P5
mus_rg_caught.mid: -E -R50 -G_rg_victory_wild -V100
mus_rg_celadon.mid: -E -R50 -G_rg_celadon -V070
mus_rg_cinnabar.mid: -E -R50 -G_rg_cinnabar -V090
mus_rg_credits.mid: -E -R50 -G_rg_credits -V090
mus_rg_cycling.mid: -E -R50 -G_rg_cycling -V090
mus_rg_dex_rating.mid: -E -R50 -G_rg_dex_rating -V070 -P5
mus_rg_encounter_boy.mid: -E -R50 -G_rg_encounter_boy -V090
mus_rg_encounter_deoxys.mid: -E -R50 -G_rg_encounter_deoxys -V079
mus_rg_encounter_girl.mid: -E -R50 -G_rg_encounter_girl -V051
mus_rg_encounter_gym_leader: -E -R50 -G_rg_encounter_boy -V090
mus_rg_encounter_rival.mid: -E -R50 -G_rg_encounter_rival -V079
mus_rg_encounter_rocket.mid: -E -R50 -G_rg_encounter_rocket -V096
mus_rg_follow_me.mid: -E -R50 -G_rg_follow_me -V068
mus_rg_fuchsia.mid: -E -R50 -G_rg_fuchsia -V090
mus_rg_game_corner.mid: -E -R50 -G_rg_game_corner -V090
mus_rg_game_freak.mid: -E -R50 -G_rg_game_freak -V075
mus_rg_gym.mid: -E -R50 -G_rg_gym -V090
mus_rg_hall_of_fame.mid: -E -R50 -G_rg_hall_of_fame -V079
mus_rg_heal.mid: -E -R50 -G_rg_heal -V090
mus_rg_intro_fight.mid: -E -R50 -G_rg_intro_fight -V090
mus_rg_jigglypuff.mid: -E -R50 -G_rg_jigglypuff -V068 -P5
mus_rg_lavender.mid: -E -R50 -G_rg_lavender -V090
mus_rg_mt_moon.mid: -E -R50 -G_rg_mt_moon -V090
mus_rg_mystery_gift.mid: -E -R50 -G_rg_mystery_gift -V100
mus_rg_net_center.mid: -E -R50 -G_rg_poke_center -V096
mus_rg_new_game_exit.mid: -E -R50 -G_rg_new_game -V088
mus_rg_new_game_instruct.mid: -E -R50 -G_rg_new_game -V085
mus_rg_new_game_intro.mid: -E -R50 -G_rg_new_game -V088
mus_rg_oak_lab.mid: -E -R50 -G_rg_oak_lab -V075
mus_rg_oak.mid: -E -R50 -G_rg_oak -V086
mus_rg_obtain_key_item.mid: -E -R50 -G_rg_obtain_key_item -V077 -P5
mus_rg_pallet.mid: -E -R50 -G_rg_pallet -V100
mus_rg_pewter.mid: -E -R50 -G_rg_pewter -V084
mus_rg_photo.mid: -E -R50 -G_rg_photo -V100 -P5
mus_rg_poke_center.mid: -E -R50 -G_rg_poke_center -V096
mus_rg_poke_flute.mid: -E -R50 -G_rg_poke_tower -V048 -P5
mus_rg_poke_jump.mid: -E -R50 -G_rg_game_corner -V090
mus_rg_poke_mansion.mid: -E -R50 -G_rg_poke_mansion -V090
mus_rg_poke_tower.mid: -E -R50 -G_rg_poke_tower -V090
mus_rg_rival_exit.mid: -E -R50 -G_rg_encounter_rival -V079
mus_rg_rocket_hideout.mid: -E -R50 -G_rg_rocket_hideout -V090
mus_rg_route1.mid: -E -R50 -G_rg_route1 -V079
mus_rg_route3.mid: -E -R50 -G_rg_route3 -V083
mus_rg_route11.mid: -E -R50 -G_rg_route11 -V090
mus_rg_route24.mid: -E -R50 -G_rg_route24 -V086
mus_rg_sevii_45.mid: -E -R50 -G_rg_sevii_45 -V084
mus_rg_sevii_67.mid: -E -R50 -G_rg_sevii_67 -V084
mus_rg_sevii_123.mid: -E -R50 -G_rg_pewter -V084
mus_rg_sevii_cave.mid: -E -R50 -G_rg_mt_moon -V090
mus_rg_sevii_dungeon.mid: -E -R50 -G_rg_viridian_forest -V090
mus_rg_sevii_route.mid: -E -R50 -G_rg_sevii_route -V080
mus_rg_silph.mid: -E -R50 -G_rg_silph -V076
mus_rg_slow_pallet.mid: -E -R50 -G_rg_pallet -V092
mus_rg_ss_anne.mid: -E -R50 -G_rg_ss_anne -V090
mus_rg_surf.mid: -E -R50 -G_rg_surf -V071
mus_rg_teachy_tv_menu.mid: -E -R50 -G_rg_teachy_tv_menu -V059
mus_rg_teachy_tv_show.mid: -E -R50 -G_rg_follow_me -V068
mus_rg_title.mid: -E -R50 -G_rg_title -V090
mus_rg_trainer_tower.mid: -E -R50 -G_rg_gym -V090
mus_rg_union_room.mid: -E -R50 -G_rg_game_corner -V090
mus_rg_vermillion.mid: -E -R50 -G_rg_vermillion -V090
mus_rg_victory_gym_leader.mid: -E -R50 -G_rg_victory_gym_leader -V090
mus_rg_victory_road.mid: -E -R50 -G_rg_victory_road -V090
mus_rg_victory_trainer.mid: -E -R50 -G_rg_victory_trainer -V089
mus_rg_victory_wild.mid: -E -R50 -G_rg_victory_wild -V090
mus_rg_viridian_forest.mid: -E -R50 -G_rg_viridian_forest -V090
mus_rg_vs_champion.mid: -E -R50 -G_rg_vs_champion -V090
mus_rg_vs_deoxys.mid: -E -R50 -G_rg_vs_deoxys -V080
mus_rg_vs_gym_leader.mid: -E -R50 -G_rg_vs_gym_leader -V090
mus_rg_vs_legend.mid: -E -R50 -G_rg_vs_wild -V090
mus_rg_vs_mewtwo.mid: -E -R50 -G_rg_vs_wild -V090
mus_rg_vs_trainer.mid: -E -R50 -G_rg_vs_trainer -V090
mus_rg_vs_wild.mid: -E -R50 -G_rg_vs_wild -V090
mus_roulette.mid: -E -R50 -G_roulette -V080
mus_route101.mid: -E -R50 -G_route101 -V080
mus_route104.mid: -E -R50 -G_route104 -V097
mus_route110.mid: -E -R50 -G_route110 -V080
mus_route111.mid: -E -R50 -G_route111 -V076
mus_route113.mid: -E -R50 -G_route113 -V084
mus_route119.mid: -E -R50 -G_route119 -V096
mus_route120.mid: -E -R50 -G_route120 -V080
mus_route122.mid: -E -R50 -G_route122 -V080
mus_rustboro.mid: -E -R50 -G_rustboro -V085
mus_safari_zone.mid: -E -R50 -G_safari_zone -V082
mus_sailing.mid: -E -R50 -G_sailing -V086
mus_school.mid: -E -R50 -G_school -V100
mus_sealed_chamber.mid: -E -R50 -G_sealed_chamber -V100
mus_slateport.mid: -E -R50 -G_slateport -V070
mus_slots_jackpot.mid: -E -R50 -G_fanfare -V090 -P5
mus_slots_win.mid: -E -R50 -G_fanfare -V090 -P5
mus_sootopolis.mid: -E -R50 -G_sootopolis -V062
mus_surf.mid: -E -R50 -G_surf -V080
mus_title.mid: -E -R50 -G_title -V090
mus_too_bad.mid: -E -R50 -G_fanfare -V090 -P5
mus_trick_house.mid: -E -R50 -G_trick_house -V070
mus_underwater.mid: -E -R50 -G_underwater -V094
mus_verdanturf.mid: -E -R50 -G_verdanturf -V090
mus_victory_aqua_magma.mid: -E -R50 -G_victory_aqua_magma -V088
mus_victory_gym_leader.mid: -E -R50 -G_victory_gym_leader -V080
mus_victory_league.mid: -E -R50 -G_victory_league -V080
mus_victory_road.mid: -E -R50 -G_victory_road -V076
mus_victory_trainer.mid: -E -R50 -G_victory_trainer -V091
mus_victory_wild.mid: -E -R50 -G_victory_wild -V080
mus_vs_aqua_magma_leader.mid: -E -R50 -G_vs_aqua_magma_leader -V080 -P1
mus_vs_aqua_magma.mid: -E -R50 -G_vs_aqua_magma -V080 -P1
mus_vs_champion.mid: -E -R50 -G_vs_champion -V080 -P1
mus_vs_elite_four.mid: -E -R50 -G_vs_elite_four -V080 -P1
mus_vs_frontier_brain.mid: -E -R50 -G_vs_frontier_brain -V090 -P1
mus_vs_gym_leader.mid: -E -R50 -G_vs_gym_leader -V080 -P1
mus_vs_kyogre_groudon.mid: -E -R50 -G_vs_kyogre_groudon -V080 -P1
mus_vs_mew.mid: -E -R50 -G_vs_mew -V090
mus_vs_rayquaza.mid: -E -R50 -G_vs_rayquaza -V080 -P1
mus_vs_regi.mid: -E -R50 -G_vs_regi -V080 -P1
mus_vs_rival.mid: -E -R50 -G_vs_rival -V080 -P1
mus_vs_trainer.mid: -E -R50 -G_vs_trainer -V080 -P1
mus_vs_wild.mid: -E -R50 -G_vs_wild -V080 -P1
mus_weather_groudon.mid: -E -R50 -G_weather_groudon -V050
ph_choice_blend.mid: -E -G_bard -P4
ph_choice_held.mid: -E -G_bard -P4
ph_choice_solo.mid: -E -G_bard -P4
ph_cloth_blend.mid: -E -G_bard -P4
ph_cloth_held.mid: -E -G_bard -P4
ph_cloth_solo.mid: -E -G_bard -P4
ph_cure_blend.mid: -E -G_bard -P4
ph_cure_held.mid: -E -G_bard -P4
ph_cure_solo.mid: -E -G_bard -P4
ph_dress_blend.mid: -E -G_bard -P4
ph_dress_held.mid: -E -G_bard -P4
ph_dress_solo.mid: -E -G_bard -P4
ph_face_blend.mid: -E -G_bard -P4
ph_face_held.mid: -E -G_bard -P4
ph_face_solo.mid: -E -G_bard -P4
ph_fleece_blend.mid: -E -G_bard -P4
ph_fleece_held.mid: -E -G_bard -P4
ph_fleece_solo.mid: -E -G_bard -P4
ph_foot_blend.mid: -E -G_bard -P4
ph_foot_held.mid: -E -G_bard -P4
ph_foot_solo.mid: -E -G_bard -P4
ph_goat_blend.mid: -E -G_bard -P4
ph_goat_held.mid: -E -G_bard -P4
ph_goat_solo.mid: -E -G_bard -P4
ph_goose_blend.mid: -E -G_bard -P4
ph_goose_held.mid: -E -G_bard -P4
ph_goose_solo.mid: -E -G_bard -P4
ph_kit_blend.mid: -E -G_bard -P4
ph_kit_held.mid: -E -G_bard -P4
ph_kit_solo.mid: -E -G_bard -P4
ph_lot_blend.mid: -E -G_bard -P4
ph_lot_held.mid: -E -G_bard -P4
ph_lot_solo.mid: -E -G_bard -P4
ph_mouth_blend.mid: -E -G_bard -P4
ph_mouth_held.mid: -E -G_bard -P4
ph_mouth_solo.mid: -E -G_bard -P4
ph_nurse_blend.mid: -E -G_bard -P4
ph_nurse_held.mid: -E -G_bard -P4
ph_nurse_solo.mid: -E -G_bard -P4
ph_price_blend.mid: -E -G_bard -P4
ph_price_held.mid: -E -G_bard -P4
ph_price_solo.mid: -E -G_bard -P4
ph_strut_blend.mid: -E -G_bard -P4
ph_strut_held.mid: -E -G_bard -P4
ph_strut_solo.mid: -E -G_bard -P4
ph_thought_blend.mid: -E -G_bard -P4
ph_thought_held.mid: -E -G_bard -P4
ph_thought_solo.mid: -E -G_bard -P4
ph_trap_blend.mid: -E -G_bard -P4
ph_trap_held.mid: -E -G_bard -P4
ph_trap_solo.mid: -E -G_bard -P4
se_a.mid: -E -R50 -G_rs_sfx_2 -V095 -P4
se_applause.mid: -E -R50 -G_rs_sfx_2 -V100 -P5
se_arena_timeup1.mid: -E -R50 -G_frlg_sfx -P5
se_arena_timeup2.mid: -E -R50 -G_frlg_sfx -P5
se_ball_bounce_1.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_ball_bounce_2.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_ball_bounce_3.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_ball_bounce_4.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_ball_open.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_ball_throw.mid: -E -R50 -G_rs_sfx_2 -V120 -P5
se_ball_trade.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_ball_tray_ball.mid: -E -R50 -G_rs_sfx_2 -V110 -P5
se_ball_tray_enter.mid: -E -R50 -G_rs_sfx_2 -V110 -P5
se_ball_tray_exit.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_ball.mid: -E -R50 -G_rs_sfx_1 -V070 -P4
se_balloon_blue.mid: -E -R50 -G_rs_sfx_2 -V105 -P4
se_balloon_red.mid: -E -R50 -G_rs_sfx_2 -V105 -P4
se_balloon_yellow.mid: -E -R50 -G_rs_sfx_2 -V105 -P4
se_bang.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_berry_blender.mid: -E -R50 -G_rs_sfx_2 -V090 -P4
se_bike_bell.mid: -E -R50 -G_rs_sfx_2 -V090 -P4
se_bike_hop.mid: -E -R50 -G_rs_sfx_1 -V090 -P4
se_boo.mid: -E -R50 -G_rs_sfx_1 -V110 -P4
se_breakable_door.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_bridge_walk.mid: -E -R50 -G_rs_sfx_2 -V095 -P4
se_card.mid: -E -R50 -G_rs_sfx_1 -V100 -P4
se_click.mid: -E -R50 -G_rs_sfx_1 -V110 -P4
se_contest_condition_lose.mid: -E -R50 -G_rs_sfx_1 -V110 -P4
se_contest_curtain_fall.mid: -E -R50 -G_rs_sfx_2 -V070 -P5
se_contest_curtain_rise.mid: -E -R50 -G_rs_sfx_2 -V070 -P5
se_contest_heart.mid: -E -R50 -G_rs_sfx_2 -V090 -P5
se_contest_icon_change.mid: -E -R50 -G_rs_sfx_2 -V110 -P5
se_contest_icon_clear.mid: -E -R50 -G_rs_sfx_2 -V090 -P5
se_contest_mons_turn.mid: -E -R50 -G_rs_sfx_2 -V090 -P5
se_contest_place.mid: -E -R50 -G_rs_sfx_1 -V110 -P4
se_dex_search.mid: -E -R50 -G_rs_sfx_1 -v100 -P5
se_ding_dong.mid: -E -R50 -G_rs_sfx_1 -V090 -P5
se_door.mid: -E -R50 -G_rs_sfx_1 -V080 -P5
se_downpour_stop.mid: -E -R50 -G_rs_sfx_2 -V100 -P2
se_downpour.mid: -E -R50 -G_rs_sfx_2 -V100 -P2
se_e.mid: -E -R50 -G_rs_sfx_2 -V120 -P4
se_effective.mid: -E -R50 -G_rs_sfx_1 -V110 -P5
se_egg_hatch.mid: -E -R50 -G_rs_sfx_2 -V120 -P5
se_elevator.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_escalator.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_exit.mid: -E -R50 -G_rs_sfx_1 -V120 -P5
se_exp_max.mid: -E -R50 -G_rs_sfx_2 -V094 -P5
se_exp.mid: -E -R50 -G_rs_sfx_1 -V080 -P5
se_failure.mid: -E -R50 -G_rs_sfx_1 -V120 -P4
se_faint.mid: -E -R50 -G_rs_sfx_1 -V110 -P5
se_fall.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_field_poison.mid: -E -R50 -G_rs_sfx_1 -V110 -P5
se_flee.mid: -E -R50 -G_rs_sfx_1 -V090 -P5
se_fu_zaku.mid: -E -R50 -G_rs_sfx_1 -V120 -P4
se_glass_flute.mid: -E -R50 -G_rs_sfx_2 -V105 -P5
se_i.mid: -E -R50 -G_rs_sfx_2 -V120 -P4
se_ice_break.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_ice_crack.mid: -E -R50 -G_rs_sfx_1 -V100 -P4
se_ice_stairs.mid: -E -R50 -G_rs_sfx_2 -V090 -P4
se_intro_blast.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_itemfinder.mid: -E -R50 -G_rs_sfx_1 -V090 -P5
se_lavaridge_fall_warp.mid: -E -R50 -G_rs_sfx_1 -P4
se_ledge.mid: -E -R50 -G_rs_sfx_1 -V100 -P4
se_low_health.mid: -E -R50 -G_rs_sfx_1 -V100 -P3
se_m_bind.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_m_comet_punch.mid: -E -R50 -G_rs_sfx_2 -V120 -P4
se_m_cut.mid: -E -R50 -G_rs_sfx_2 -V120 -P4
se_m_double_slap.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_fire_punch.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_fly.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_gust.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_gust2.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_headbutt.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_horn_attack.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_jump_kick.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_leer.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_mega_kick.mid: -E -R50 -G_rs_sfx_2 -V090 -P4
se_m_mega_kick2.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_pay_day.mid: -E -R50 -G_rs_sfx_2 -V095 -P4
se_m_razor_wind.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_razor_wind2.mid: -E -R50 -G_rs_sfx_2 -V090 -P4
se_m_sand_attack.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_scratch.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_swords_dance.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_m_tail_whip.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_take_down.mid: -E -R50 -G_rs_sfx_2 -V105 -P4
se_m_vicegrip.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_m_wing_attack.mid: -E -R50 -G_rs_sfx_2 -V105 -P4
se_mud_ball.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_mugshot.mid: -E -R50 -G_rs_sfx_2 -V090 -P5
se_n.mid: -E -R50 -G_rs_sfx_2 -P4
se_not_effective.mid: -E -R50 -G_rs_sfx_1 -V110 -P5
se_note_a.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_note_b.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_note_c_high.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_note_c.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_note_d.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_note_e.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_note_f.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_note_g.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_o.mid: -E -R50 -G_rs_sfx_2 -V120 -P4
se_orb.mid: -E -R50 -G_rs_sfx_2 -V100 -P5
se_pc_login.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_pc_off.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_pc_on.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_pike_curtain_close.mid: -E -R50 -G_frlg_sfx -P5
se_pike_curtain_open.mid: -E -R50 -G_frlg_sfx -P5
se_pin.mid: -E -R50 -G_rs_sfx_1 -V060 -P4
se_pokenav_call.mid: -E -R50 -G_frlg_sfx -V120 -P5
se_pokenav_hang_up.mid: -E -R50 -G_frlg_sfx -V110 -P5
se_pokenav_off.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_pokenav_on.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_puddle.mid: -E -R50 -G_rs_sfx_2 -V020 -P4
se_rain_stop.mid: -E -R50 -G_rs_sfx_2 -V080 -P2
se_rain.mid: -E -R50 -G_rs_sfx_2 -V080 -P2
se_repel.mid: -E -R50 -G_rs_sfx_1 -V090 -P4
se_rg_bag_cursor.mid: -E -R50 -G_frlg_sfx -P5
se_rg_bag_pocket.mid: -E -R50 -G_frlg_sfx -P5
se_rg_ball_click.mid: -E -R50 -G_frlg_sfx -V100 -P5
se_rg_card_flip.mid: -E -R50 -G_frlg_sfx -P5
se_rg_card_flipping.mid: -E -R50 -G_frlg_sfx -P5
se_rg_card_open.mid: -E -R50 -G_frlg_sfx -V112 -P5
se_rg_deoxys_move.mid: -E -R50 -G_frlg_sfx -V080 -P5
se_rg_door.mid: -E -R50 -G_frlg_sfx -V100 -P5
se_rg_help_close.mid: -E -R50 -G_frlg_sfx -V095 -P5
se_rg_help_error.mid: -E -R50 -G_frlg_sfx -V125 -P5
se_rg_help_open.mid: -E -R50 -G_frlg_sfx -V096 -P5
se_rg_poke_jump_failure.mid: -E -R50 -G_rs_sfx_1 -P5
se_rg_poke_jump_success.mid: -E -R50 -G_rs_sfx_2 -V110 -P5
se_rg_shop.mid: -E -R50 -G_frlg_sfx -V080 -P5
se_rg_ss_anne_horn.mid: -E -R50 -G_frlg_sfx -V096 -P5
se_rotating_gate.mid: -E -R50 -G_rs_sfx_2 -V090 -P4
se_roulette_ball.mid: -E -R50 -G_rs_sfx_2 -V110 -P2
se_roulette_ball2.mid: -E -R50 -G_rs_sfx_2 -V110 -P2
se_save.mid: -E -R50 -G_rs_sfx_2 -V080 -P5
se_select.mid: -E -R50 -G_rs_sfx_1 -V080 -P5
se_shiny.mid: -E -R50 -G_rs_sfx_2 -V095 -P5
se_ship.mid: -E -R50 -G_rs_sfx_1 -V075 -P4
se_shop.mid: -E -R50 -G_rs_sfx_1 -V090 -P5
se_sliding_door.mid: -E -R50 -G_rs_sfx_2 -V095 -P4
se_success.mid: -E -R50 -G_rs_sfx_1 -V080 -P4
se_sudowoodo_shake.mid: -E -R50 -G_frlg_sfx -V077 -P5
se_super_effective.mid: -E -R50 -G_rs_sfx_1 -V110 -P5
se_switch.mid: -E -R50 -G_rs_sfx_1 -V100 -P4
se_taillow_wing_flap.mid: -E -R50 -G_rs_sfx_2 -V105 -P5
se_thunder.mid: -E -R50 -G_rs_sfx_2 -V110 -P3
se_thunder2.mid: -E -R50 -G_rs_sfx_2 -V110 -P3
se_thunderstorm_stop.mid: -E -R50 -G_rs_sfx_2 -V080 -P2
se_thunderstorm.mid: -E -R50 -G_rs_sfx_2 -V080 -P2
se_truck_door.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_truck_move.mid: -E -R50 -G_rs_sfx_2 -P4
se_truck_stop.mid: -E -R50 -G_rs_sfx_2 -P4
se_truck_unload.mid: -E -R50 -G_rs_sfx_1 -P4
se_u.mid: -E -R50 -G_rs_sfx_2 -P4
se_unlock.mid: -E -R50 -G_rs_sfx_2 -V100 -P4
se_use_item.mid: -E -R50 -G_rs_sfx_1 -V100 -P5
se_vend.mid: -E -R50 -G_rs_sfx_2 -V110 -P4
se_warp_in.mid: -E -R50 -G_rs_sfx_1 -V090 -P4
se_warp_out.mid: -E -R50 -G_rs_sfx_1 -V090 -P4

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_dex_page_grp, voicegroup127
.equ se_dex_page_grp, voicegroup_rs_sfx_1
.equ se_dex_page_pri, 5
.equ se_dex_page_rev, reverb_set+50
.equ se_dex_page_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_dex_scroll_grp, voicegroup127
.equ se_dex_scroll_grp, voicegroup_rs_sfx_1
.equ se_dex_scroll_pri, 5
.equ se_dex_scroll_rev, reverb_set+50
.equ se_dex_scroll_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_absorb_grp, voicegroup128
.equ se_m_absorb_grp, voicegroup_rs_sfx_2
.equ se_m_absorb_pri, 4
.equ se_m_absorb_rev, reverb_set+50
.equ se_m_absorb_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_absorb_2_grp, voicegroup128
.equ se_m_absorb_2_grp, voicegroup_rs_sfx_2
.equ se_m_absorb_2_pri, 4
.equ se_m_absorb_2_rev, reverb_set+50
.equ se_m_absorb_2_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_acid_armor_grp, voicegroup128
.equ se_m_acid_armor_grp, voicegroup_rs_sfx_2
.equ se_m_acid_armor_pri, 4
.equ se_m_acid_armor_rev, reverb_set+50
.equ se_m_acid_armor_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_attract_grp, voicegroup128
.equ se_m_attract_grp, voicegroup_rs_sfx_2
.equ se_m_attract_pri, 4
.equ se_m_attract_rev, reverb_set+50
.equ se_m_attract_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_attract2_grp, voicegroup128
.equ se_m_attract2_grp, voicegroup_rs_sfx_2
.equ se_m_attract2_pri, 4
.equ se_m_attract2_rev, reverb_set+50
.equ se_m_attract2_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_barrier_grp, voicegroup128
.equ se_m_barrier_grp, voicegroup_rs_sfx_2
.equ se_m_barrier_pri, 4
.equ se_m_barrier_rev, reverb_set+50
.equ se_m_barrier_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_baton_pass_grp, voicegroup128
.equ se_m_baton_pass_grp, voicegroup_rs_sfx_2
.equ se_m_baton_pass_pri, 4
.equ se_m_baton_pass_rev, reverb_set+50
.equ se_m_baton_pass_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_belly_drum_grp, voicegroup128
.equ se_m_belly_drum_grp, voicegroup_rs_sfx_2
.equ se_m_belly_drum_pri, 4
.equ se_m_belly_drum_rev, reverb_set+50
.equ se_m_belly_drum_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_bite_grp, voicegroup128
.equ se_m_bite_grp, voicegroup_rs_sfx_2
.equ se_m_bite_pri, 4
.equ se_m_bite_rev, reverb_set+50
.equ se_m_bite_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_blizzard_grp, voicegroup128
.equ se_m_blizzard_grp, voicegroup_rs_sfx_2
.equ se_m_blizzard_pri, 4
.equ se_m_blizzard_rev, reverb_set+50
.equ se_m_blizzard_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_blizzard2_grp, voicegroup128
.equ se_m_blizzard2_grp, voicegroup_rs_sfx_2
.equ se_m_blizzard2_pri, 4
.equ se_m_blizzard2_rev, reverb_set+50
.equ se_m_blizzard2_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_bonemerang_grp, voicegroup128
.equ se_m_bonemerang_grp, voicegroup_rs_sfx_2
.equ se_m_bonemerang_pri, 4
.equ se_m_bonemerang_rev, reverb_set+50
.equ se_m_bonemerang_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_brick_break_grp, voicegroup128
.equ se_m_brick_break_grp, voicegroup_rs_sfx_2
.equ se_m_brick_break_pri, 4
.equ se_m_brick_break_rev, reverb_set+50
.equ se_m_brick_break_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_bubble_grp, voicegroup128
.equ se_m_bubble_grp, voicegroup_rs_sfx_2
.equ se_m_bubble_pri, 4
.equ se_m_bubble_rev, reverb_set+50
.equ se_m_bubble_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_bubble2_grp, voicegroup128
.equ se_m_bubble2_grp, voicegroup_rs_sfx_2
.equ se_m_bubble2_pri, 4
.equ se_m_bubble2_rev, reverb_set+50
.equ se_m_bubble2_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_bubble3_grp, voicegroup128
.equ se_m_bubble3_grp, voicegroup_rs_sfx_2
.equ se_m_bubble3_pri, 4
.equ se_m_bubble3_rev, reverb_set+50
.equ se_m_bubble3_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_bubble_beam_grp, voicegroup128
.equ se_m_bubble_beam_grp, voicegroup_rs_sfx_2
.equ se_m_bubble_beam_pri, 4
.equ se_m_bubble_beam_rev, reverb_set+50
.equ se_m_bubble_beam_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_bubble_beam2_grp, voicegroup128
.equ se_m_bubble_beam2_grp, voicegroup_rs_sfx_2
.equ se_m_bubble_beam2_pri, 4
.equ se_m_bubble_beam2_rev, reverb_set+50
.equ se_m_bubble_beam2_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_charge_grp, voicegroup128
.equ se_m_charge_grp, voicegroup_rs_sfx_2
.equ se_m_charge_pri, 4
.equ se_m_charge_rev, reverb_set+50
.equ se_m_charge_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_charm_grp, voicegroup128
.equ se_m_charm_grp, voicegroup_rs_sfx_2
.equ se_m_charm_pri, 4
.equ se_m_charm_rev, reverb_set+50
.equ se_m_charm_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_confuse_ray_grp, voicegroup128
.equ se_m_confuse_ray_grp, voicegroup_rs_sfx_2
.equ se_m_confuse_ray_pri, 4
.equ se_m_confuse_ray_rev, reverb_set+50
.equ se_m_confuse_ray_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_cosmic_power_grp, voicegroup128
.equ se_m_cosmic_power_grp, voicegroup_rs_sfx_2
.equ se_m_cosmic_power_pri, 4
.equ se_m_cosmic_power_rev, reverb_set+50
.equ se_m_cosmic_power_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_crabhammer_grp, voicegroup128
.equ se_m_crabhammer_grp, voicegroup_rs_sfx_2
.equ se_m_crabhammer_pri, 4
.equ se_m_crabhammer_rev, reverb_set+50
.equ se_m_crabhammer_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_detect_grp, voicegroup128
.equ se_m_detect_grp, voicegroup_rs_sfx_2
.equ se_m_detect_pri, 4
.equ se_m_detect_rev, reverb_set+50
.equ se_m_detect_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_dig_grp, voicegroup128
.equ se_m_dig_grp, voicegroup_rs_sfx_2
.equ se_m_dig_pri, 4
.equ se_m_dig_rev, reverb_set+50
.equ se_m_dig_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_dive_grp, voicegroup128
.equ se_m_dive_grp, voicegroup_rs_sfx_2
.equ se_m_dive_pri, 4
.equ se_m_dive_rev, reverb_set+50
.equ se_m_dive_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_dizzy_punch_grp, voicegroup128
.equ se_m_dizzy_punch_grp, voicegroup_rs_sfx_2
.equ se_m_dizzy_punch_pri, 4
.equ se_m_dizzy_punch_rev, reverb_set+50
.equ se_m_dizzy_punch_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_double_team_grp, voicegroup128
.equ se_m_double_team_grp, voicegroup_rs_sfx_2
.equ se_m_double_team_pri, 4
.equ se_m_double_team_rev, reverb_set+50
.equ se_m_double_team_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_dragon_rage_grp, voicegroup128
.equ se_m_dragon_rage_grp, voicegroup_rs_sfx_2
.equ se_m_dragon_rage_pri, 4
.equ se_m_dragon_rage_rev, reverb_set+50
.equ se_m_dragon_rage_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_earthquake_grp, voicegroup128
.equ se_m_earthquake_grp, voicegroup_rs_sfx_2
.equ se_m_earthquake_pri, 4
.equ se_m_earthquake_rev, reverb_set+50
.equ se_m_earthquake_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_ember_grp, voicegroup128
.equ se_m_ember_grp, voicegroup_rs_sfx_2
.equ se_m_ember_pri, 4
.equ se_m_ember_rev, reverb_set+50
.equ se_m_ember_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_encore_grp, voicegroup128
.equ se_m_encore_grp, voicegroup_rs_sfx_2
.equ se_m_encore_pri, 4
.equ se_m_encore_rev, reverb_set+50
.equ se_m_encore_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_encore2_grp, voicegroup128
.equ se_m_encore2_grp, voicegroup_rs_sfx_2
.equ se_m_encore2_pri, 4
.equ se_m_encore2_rev, reverb_set+50
.equ se_m_encore2_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_explosion_grp, voicegroup128
.equ se_m_explosion_grp, voicegroup_rs_sfx_2
.equ se_m_explosion_pri, 4
.equ se_m_explosion_rev, reverb_set+50
.equ se_m_explosion_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_faint_attack_grp, voicegroup128
.equ se_m_faint_attack_grp, voicegroup_rs_sfx_2
.equ se_m_faint_attack_pri, 4
.equ se_m_faint_attack_rev, reverb_set+50
.equ se_m_faint_attack_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_flame_wheel_grp, voicegroup128
.equ se_m_flame_wheel_grp, voicegroup_rs_sfx_2
.equ se_m_flame_wheel_pri, 4
.equ se_m_flame_wheel_rev, reverb_set+50
.equ se_m_flame_wheel_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_flame_wheel2_grp, voicegroup128
.equ se_m_flame_wheel2_grp, voicegroup_rs_sfx_2
.equ se_m_flame_wheel2_pri, 4
.equ se_m_flame_wheel2_rev, reverb_set+50
.equ se_m_flame_wheel2_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_flamethrower_grp, voicegroup128
.equ se_m_flamethrower_grp, voicegroup_rs_sfx_2
.equ se_m_flamethrower_pri, 4
.equ se_m_flamethrower_rev, reverb_set+50
.equ se_m_flamethrower_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_flatter_grp, voicegroup128
.equ se_m_flatter_grp, voicegroup_rs_sfx_2
.equ se_m_flatter_pri, 4
.equ se_m_flatter_rev, reverb_set+50
.equ se_m_flatter_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_giga_drain_grp, voicegroup128
.equ se_m_giga_drain_grp, voicegroup_rs_sfx_2
.equ se_m_giga_drain_pri, 4
.equ se_m_giga_drain_rev, reverb_set+50
.equ se_m_giga_drain_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_grasswhistle_grp, voicegroup128
.equ se_m_grasswhistle_grp, voicegroup_rs_sfx_2
.equ se_m_grasswhistle_pri, 4
.equ se_m_grasswhistle_rev, reverb_set+50
.equ se_m_grasswhistle_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_hail_grp, voicegroup128
.equ se_m_hail_grp, voicegroup_rs_sfx_2
.equ se_m_hail_pri, 4
.equ se_m_hail_rev, reverb_set+50
.equ se_m_hail_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_harden_grp, voicegroup128
.equ se_m_harden_grp, voicegroup_rs_sfx_2
.equ se_m_harden_pri, 4
.equ se_m_harden_rev, reverb_set+50
.equ se_m_harden_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_haze_grp, voicegroup128
.equ se_m_haze_grp, voicegroup_rs_sfx_2
.equ se_m_haze_pri, 4
.equ se_m_haze_rev, reverb_set+50
.equ se_m_haze_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_heal_bell_grp, voicegroup128
.equ se_m_heal_bell_grp, voicegroup_rs_sfx_2
.equ se_m_heal_bell_pri, 4
.equ se_m_heal_bell_rev, reverb_set+50
.equ se_m_heal_bell_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_heat_wave_grp, voicegroup128
.equ se_m_heat_wave_grp, voicegroup_rs_sfx_2
.equ se_m_heat_wave_pri, 4
.equ se_m_heat_wave_rev, reverb_set+50
.equ se_m_heat_wave_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_hydro_pump_grp, voicegroup128
.equ se_m_hydro_pump_grp, voicegroup_rs_sfx_2
.equ se_m_hydro_pump_pri, 4
.equ se_m_hydro_pump_rev, reverb_set+50
.equ se_m_hydro_pump_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_hyper_beam_grp, voicegroup128
.equ se_m_hyper_beam_grp, voicegroup_rs_sfx_2
.equ se_m_hyper_beam_pri, 4
.equ se_m_hyper_beam_rev, reverb_set+50
.equ se_m_hyper_beam_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_hyper_beam2_grp, voicegroup128
.equ se_m_hyper_beam2_grp, voicegroup_rs_sfx_2
.equ se_m_hyper_beam2_pri, 4
.equ se_m_hyper_beam2_rev, reverb_set+50
.equ se_m_hyper_beam2_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_icy_wind_grp, voicegroup128
.equ se_m_icy_wind_grp, voicegroup_rs_sfx_2
.equ se_m_icy_wind_pri, 4
.equ se_m_icy_wind_rev, reverb_set+50
.equ se_m_icy_wind_mvl, 127

View File

@@ -1,6 +1,6 @@
.include "MPlayDef.s"
.equ se_m_lick_grp, voicegroup128
.equ se_m_lick_grp, voicegroup_rs_sfx_2
.equ se_m_lick_pri, 4
.equ se_m_lick_rev, reverb_set+50
.equ se_m_lick_mvl, 127

Some files were not shown because too many files have changed in this diff Show More