first commit

This commit is contained in:
sceptillion
2017-12-16 23:54:22 -08:00
commit 670fef77ac
305 changed files with 758939 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
@ status 1
.equiv SLP, 0x07
.equiv PSN, 0x08
.equiv BRN, 0x10
.equiv FRZ, 0x20
.equiv PAR, 0x40
.equiv TOX, 0x80
@ status 2
.equiv S_CONFUSED, 0x00000007
.equiv S_CONTINUE, 0x00001000
.equiv S_TEMP_TRAP, 0x0000E000 @ Wrap, Bind, etc.
.equiv S_INFATUATED, 0x000F0000
.equiv S_FOCUS_ENERGY, 0x00100000
.equiv S_SUBSTITUTE, 0x01000000
.equiv S_MEAN_LOOK, 0x04000000
.equiv S_NIGHTMARE, 0x08000000
.equiv S_CURSED, 0x10000000
.equiv S_FORESIGHT, 0x20000000
.equiv S_TORMENT, 0x80000000
@ status 3
.equiv S_LEECH_SEED, 0x00000004
.equiv S_ALWAYS_HIT, 0x00000010
.equiv S_PERISH_SONG, 0x00000020
.equiv S_ROOTED, 0x00000400
.equiv S_YAWN, 0x00001800
.equiv S_IMPRISONED, 0x00002000
.equiv S_MUD_SPORT, 0x00010000
.equiv S_WATER_SPORT, 0x00020000
@ status 4
.equiv S_REFLECT, 0x0001
.equiv S_LIGHT_SCREEN, 0x0002
.equiv S_SPIKES, 0x0010
.equiv S_SAFEGUARD, 0x0020
.equiv S_FUTURE_SIGHT, 0x0040
.equiv S_MIST, 0x0100
.equiv TARGET, 0
.equiv USER, 1
.equiv WEATHER_SUN, 0
.equiv WEATHER_RAIN, 1
.equiv WEATHER_SANDSTORM, 2
.equiv WEATHER_HAIL, 3
enum_start 1
enum ATTACK
enum DEFENSE
enum SPEED
enum SP_ATTACK
enum SP_DEFENSE
enum ACCURACY
enum EVASION
@ status animation table
.equiv B_ANIM_STATUS_PSN, 0x0
.equiv B_ANIM_STATUS_CONFUSION, 0x1
.equiv B_ANIM_STATUS_BRN, 0x2
.equiv B_ANIM_STATUS_INFATUATION, 0x3
.equiv B_ANIM_STATUS_SLP, 0x4
.equiv B_ANIM_STATUS_PRZ, 0x5
.equiv B_ANIM_STATUS_FRZ, 0x6
.equiv B_ANIM_STATUS_CURSED, 0x7
.equiv B_ANIM_STATUS_NIGHTMARE, 0x8
.equiv B_ANIM_STATUS_WRAPPED, 0x9
@ general animation table
.equiv B_ANIM_CASTFORM_CHANGE, 0x0
.equiv B_ANIM_STATS_CHANGE, 0x1
.equiv B_ANIM_SUBSTITUTE_FADE, 0x2
.equiv B_ANIM_SUBSTITUTE_APPEAR, 0x3
.equiv B_ANIM_POKEBLOCK_THROW, 0x4
.equiv B_ANIM_ITEM_KNOCKOFF, 0x5
.equiv B_ANIM_TURN_TRAP, 0x6
.equiv B_ANIM_ITEM_EFFECT, 0x7
.equiv B_ANIM_SMOKEBALL_ESCAPE, 0x8
.equiv B_ANIM_HANGED_ON, 0x9
.equiv B_ANIM_RAIN_CONTINUES, 0xA
.equiv B_ANIM_SUN_CONTINUES, 0xB
.equiv B_ANIM_SANDSTORM_CONTINUES, 0xC
.equiv B_ANIM_HAIL_CONTINUES, 0xD
.equiv B_ANIM_LEECH_SEED_DRAIN, 0xE
.equiv B_ANIM_MON_HIT, 0xF
.equiv B_ANIM_ITEM_STEAL, 0x10
.equiv B_ANIM_SNATCH_MOVE, 0x11
.equiv B_ANIM_FUTURE_SIGHT_HIT, 0x12
.equiv B_ANIM_DOOM_DESIRE_HIT, 0x13
.equiv B_ANIM_FOCUS_PUNCH_SET_UP, 0x14
.equiv B_ANIM_INGRAIN_HEAL, 0x15
.equiv B_ANIM_WISH_HEAL, 0x16
@ special animation table
.equiv B_ANIM_LVL_UP, 0x0
.equiv B_ANIM_SWITCH_OUT_PLAYER_MON, 0x1
.equiv B_ANIM_SWITCH_OUT_OPPONENT_MON, 0x2
.equiv B_ANIM_BALL_THROW, 0x3
.equiv B_ANIM_SAFARI_BALL_THROW, 0x4
.equiv B_ANIM_SUBSTITUTE_TO_MON, 0x5
.equiv B_ANIM_MON_TO_SUBSTITUTE, 0x6
+15
View File
@@ -0,0 +1,15 @@
.set TARGET_SELECTED_POKEMON, 0
.set F_TARGET_SPECIAL, 1 << 0
.set F_TARGET_RANDOM, 1 << 2
.set F_TARGET_BOTH_ENEMIES, 1 << 3
.set F_TARGET_USER, 1 << 4
.set F_TARGET_ALL_EXCEPT_USER, 1 << 5
.set F_TARGET_ENEMY_SIDE, 1 << 6
.set F_MAKES_CONTACT, 1 << 0
.set F_AFFECTED_BY_PROTECT, 1 << 1
.set F_AFFECTED_BY_MAGIC_COAT, 1 << 2
.set F_AFFECTED_BY_SNATCH, 1 << 3
.set F_MIRROR_MOVE_COMPATIBLE, 1 << 4
.set F_AFFECTED_BY_KINGS_ROCK, 1 << 5
+352
View File
@@ -0,0 +1,352 @@
enum_start 12
enum BATTLE_TEXT_UnknownString
enum BATTLE_TEXT_GainExpPoints
enum BATTLE_TEXT_GrewLevel
enum BATTLE_TEXT_LearnedMove
enum BATTLE_TEXT_TryingToLearnMove
enum BATTLE_TEXT_CantLearnMore
enum BATTLE_TEXT_DeleteMove
enum BATTLE_TEXT_DeletedMove
enum BATTLE_TEXT_StopLearning
enum BATTLE_TEXT_DidNotLearn
enum BATTLE_TEXT_LearnedMove2
enum BATTLE_TEXT_AttackMissed
enum BATTLE_TEXT_ProtectedItself
enum BATTLE_TEXT_StatNoHigher
enum BATTLE_TEXT_AvoidedDamage
enum BATTLE_TEXT_DoesntAffect
enum BATTLE_TEXT_AttackingFainted
enum BATTLE_TEXT_DefendingFainted
enum BATTLE_TEXT_WinningPrize
enum BATTLE_TEXT_OutOfUsablePoke
enum BATTLE_TEXT_WhitedOut
enum BATTLE_TEXT_PreventEscape
enum BATTLE_TEXT_HitMulti
enum BATTLE_TEXT_FellAsleep
enum BATTLE_TEXT_MadeAsleep
enum BATTLE_TEXT_DefendingAsleep
enum BATTLE_TEXT_AttackingAsleep
enum BATTLE_TEXT_WasntAffected
enum BATTLE_TEXT_Poisoned
enum BATTLE_TEXT_Poisoned2
enum BATTLE_TEXT_PoisonHurt
enum BATTLE_TEXT_AlreadyPoisoned
enum BATTLE_TEXT_BadlyPoisoned
enum BATTLE_TEXT_EnergyDrained
enum BATTLE_TEXT_Burned
enum BATTLE_TEXT_Burned2
enum BATTLE_TEXT_BurnHurt
enum BATTLE_TEXT_Frozen
enum BATTLE_TEXT_Frozen2
enum BATTLE_TEXT_FrozenSolid
enum BATTLE_TEXT_DefendingDefrosted
enum BATTLE_TEXT_AttackingDefrosted
enum BATTLE_TEXT_Defrosted
enum BATTLE_TEXT_Paralyzed
enum BATTLE_TEXT_Paralyzed2
enum BATTLE_TEXT_Paralyzed3
enum BATTLE_TEXT_AlreadyParalyzed
enum BATTLE_TEXT_ParalysisHealed
enum BATTLE_TEXT_DreamEaten
enum BATTLE_TEXT_AttackingStatNoHigher
enum BATTLE_TEXT_DefendingStatNoHigher
enum BATTLE_TEXT_StoppedWorking
enum BATTLE_TEXT_StoppedWorking2
enum BATTLE_TEXT_Confused
enum BATTLE_TEXT_ConfusionSnapOut
enum BATTLE_TEXT_BecameConfused
enum BATTLE_TEXT_AlreadyConfused
enum BATTLE_TEXT_FellLove
enum BATTLE_TEXT_InLoveWith
enum BATTLE_TEXT_ImmobilizedBy
enum BATTLE_TEXT_BlownAway
enum BATTLE_TEXT_TypeTransform
enum BATTLE_TEXT_Flinched
enum BATTLE_TEXT_RegainedHealth
enum BATTLE_TEXT_HPFull
enum BATTLE_TEXT_RaisedSpDef
enum BATTLE_TEXT_RaisedDefense
enum BATTLE_TEXT_CoveredVeil
enum BATTLE_TEXT_SafeguardActive
enum BATTLE_TEXT_SafeguardFaded
enum BATTLE_TEXT_WentToSleep
enum BATTLE_TEXT_SpeltHealthy
enum BATTLE_TEXT_WhipWhirlwind
enum BATTLE_TEXT_TookSunlight
enum BATTLE_TEXT_LoweredHead
enum BATTLE_TEXT_IsGlowing
enum BATTLE_TEXT_FlewHigh
enum BATTLE_TEXT_DugHole
enum BATTLE_TEXT_SqueezedBind
enum BATTLE_TEXT_TrappedVortex
enum BATTLE_TEXT_Wrapped
enum BATTLE_TEXT_Clamped
enum BATTLE_TEXT_HurtBy
enum BATTLE_TEXT_FreedFrom
enum BATTLE_TEXT_KeptGoingCrash
enum BATTLE_TEXT_MistShroud
enum BATTLE_TEXT_MistProtect
enum BATTLE_TEXT_GetPumped
enum BATTLE_TEXT_HitRecoil
enum BATTLE_TEXT_ProtectedItself2
enum BATTLE_TEXT_SandBuffeted
enum BATTLE_TEXT_HailStricken
enum BATTLE_TEXT_WasSeeded
enum BATTLE_TEXT_EvadedAttack
enum BATTLE_TEXT_HealthSapped
enum BATTLE_TEXT_FastAsleep
enum BATTLE_TEXT_WokeUp
enum BATTLE_TEXT_UproarAwake
enum BATTLE_TEXT_UproarWoke
enum BATTLE_TEXT_UproarCaused
enum BATTLE_TEXT_UproarMaking
enum BATTLE_TEXT_CalmedDown
enum BATTLE_TEXT_UproarCantSleep
enum BATTLE_TEXT_Stockpiled
enum BATTLE_TEXT_StockpiledCant
enum BATTLE_TEXT_UproarCantSleep2
enum BATTLE_TEXT_UproarKeptAwake
enum BATTLE_TEXT_StayedAwake
enum BATTLE_TEXT_StoringEnergy
enum BATTLE_TEXT_UnleashedEnergy
enum BATTLE_TEXT_FatigueConfuse
enum BATTLE_TEXT_PickedUpYen
enum BATTLE_TEXT_Unaffected
enum BATTLE_TEXT_Transformed
enum BATTLE_TEXT_SubMade
enum BATTLE_TEXT_SubAlready
enum BATTLE_TEXT_SubTookDamage
enum BATTLE_TEXT_SubFaded
enum BATTLE_TEXT_MustRecharge
enum BATTLE_TEXT_RageBuilding
enum BATTLE_TEXT_MoveWasDisabled
enum BATTLE_TEXT_MoveIsDisabled
enum BATTLE_TEXT_DisabledNoMore
enum BATTLE_TEXT_EncoreGot
enum BATTLE_TEXT_EncoreEnded
enum BATTLE_TEXT_TookAim
enum BATTLE_TEXT_SketchedMove
enum BATTLE_TEXT_DestinyBondTake
enum BATTLE_TEXT_DestinyBondTaken
enum BATTLE_TEXT_ReducedBy
enum BATTLE_TEXT_StoleSomething
enum BATTLE_TEXT_CantEscapeNow
enum BATTLE_TEXT_NightmareStart
enum BATTLE_TEXT_NightmareLock
enum BATTLE_TEXT_CurseLay
enum BATTLE_TEXT_CurseAfflict
enum BATTLE_TEXT_SpikesScattered
enum BATTLE_TEXT_SpikesHurt
enum BATTLE_TEXT_IdentifiedPoke
enum BATTLE_TEXT_PerishSongFell
enum BATTLE_TEXT_BracedItself
enum BATTLE_TEXT_EnduredHit
enum BATTLE_TEXT_MagnitudeCount
enum BATTLE_TEXT_CutHPMaxATK
enum BATTLE_TEXT_CopyStatChanges
enum BATTLE_TEXT_GotFreeFrom
enum BATTLE_TEXT_LeechShed
enum BATTLE_TEXT_SpikesBlownAway
enum BATTLE_TEXT_FledBattle
enum BATTLE_TEXT_ForesawAttack
enum BATTLE_TEXT_TookAttack
enum BATTLE_TEXT_PokeAttack
enum BATTLE_TEXT_CenterAttention
enum BATTLE_TEXT_ChargingPower
enum BATTLE_TEXT_NaturePower
enum BATTLE_TEXT_StatusNormal
enum BATTLE_TEXT_NoMovesLeft
enum BATTLE_TEXT_TormentSubject
enum BATTLE_TEXT_TormentNoUse
enum BATTLE_TEXT_TightenFocus
enum BATTLE_TEXT_TauntFell
enum BATTLE_TEXT_TauntNoUse
enum BATTLE_TEXT_ReadyToHelp
enum BATTLE_TEXT_SwitchedItems
enum BATTLE_TEXT_CopiedObject
enum BATTLE_TEXT_WishMade
enum BATTLE_TEXT_WishTrue
enum BATTLE_TEXT_PlantedRoots
enum BATTLE_TEXT_AbsorbNutrients
enum BATTLE_TEXT_AnchoredItself
enum BATTLE_TEXT_DrowsyMade
enum BATTLE_TEXT_KnockedOffItem
enum BATTLE_TEXT_AbilitySwap
enum BATTLE_TEXT_SealedMove
enum BATTLE_TEXT_SealedNoUse
enum BATTLE_TEXT_GrudgeBear
enum BATTLE_TEXT_GrudgeLosePP
enum BATTLE_TEXT_ShroudedItself
enum BATTLE_TEXT_MagicCoatBounce
enum BATTLE_TEXT_AwaitMove
enum BATTLE_TEXT_SnatchedMove
enum BATTLE_TEXT_RainMade
enum BATTLE_TEXT_SpeedRisen
enum BATTLE_TEXT_ProtectedBy
enum BATTLE_TEXT_PreventedBy
enum BATTLE_TEXT_HPRestoredUsing
enum BATTLE_TEXT_MadeType
enum BATTLE_TEXT_PreventedPara
enum BATTLE_TEXT_PreventedRomance
enum BATTLE_TEXT_PreventedPoison
enum BATTLE_TEXT_PreventedConfusion
enum BATTLE_TEXT_RaisedFirePower
enum BATTLE_TEXT_AnchorsItself
enum BATTLE_TEXT_CutsAttack
enum BATTLE_TEXT_PreventedStatLoss
enum BATTLE_TEXT_HurtOther
enum BATTLE_TEXT_Traced
enum BATTLE_TEXT_Sharply
enum BATTLE_TEXT_Rose
enum BATTLE_TEXT_Harshly
enum BATTLE_TEXT_Fell
enum BATTLE_TEXT_UnknownString7
enum BATTLE_TEXT_UnknownString3
enum BATTLE_TEXT_UnknownString5
enum BATTLE_TEXT_UnknownString6
enum BATTLE_TEXT_Critical
enum BATTLE_TEXT_GrandSlam
enum BATTLE_TEXT_MoveForget123
enum BATTLE_TEXT_MoveForgetAnd
enum BATTLE_TEXT_NotEffective
enum BATTLE_TEXT_SuperEffective
enum BATTLE_TEXT_GotAwaySafely
enum BATTLE_TEXT_FledWild
enum BATTLE_TEXT_NoRunning
enum BATTLE_TEXT_CantEscape2
enum BATTLE_TEXT_BirchDontLeaveMe
enum BATTLE_TEXT_Nothing
enum BATTLE_TEXT_Failed
enum BATTLE_TEXT_HurtItself
enum BATTLE_TEXT_MirrorFail
enum BATTLE_TEXT_RainStart
enum BATTLE_TEXT_PourStart
enum BATTLE_TEXT_RainCont1
enum BATTLE_TEXT_PourCont
enum BATTLE_TEXT_RainStop
enum BATTLE_TEXT_SandBrewed
enum BATTLE_TEXT_SandRages
enum BATTLE_TEXT_SandSubsided
enum BATTLE_TEXT_SunBright
enum BATTLE_TEXT_SunStrong
enum BATTLE_TEXT_SunFaded
enum BATTLE_TEXT_HailStart
enum BATTLE_TEXT_HailCont
enum BATTLE_TEXT_HailStop
enum BATTLE_TEXT_SpitUpFail
enum BATTLE_TEXT_SwallowFail
enum BATTLE_TEXT_WindHeatWave
enum BATTLE_TEXT_StatElim
enum BATTLE_TEXT_CoinScatter
enum BATTLE_TEXT_SubWeak
enum BATTLE_TEXT_PainSplit
enum BATTLE_TEXT_BellChime
enum BATTLE_TEXT_PerishSong
enum BATTLE_TEXT_NoPP1
enum BATTLE_TEXT_NoPP2
enum BATTLE_TEXT_Used1
enum BATTLE_TEXT_TutorialUsed
enum BATTLE_TEXT_BlockBall
enum BATTLE_TEXT_DontBeAThief
enum BATTLE_TEXT_DodgeBall
enum BATTLE_TEXT_MissPoke
enum BATTLE_TEXT_BallBrokeOhNo
enum BATTLE_TEXT_BallBrokeAppeared
enum BATTLE_TEXT_BallBrokeAlmost
enum BATTLE_TEXT_BallBrokeSoClose
enum BATTLE_TEXT_BallCaught1
enum BATTLE_TEXT_BallCaught2
enum BATTLE_TEXT_GiveNickname
enum BATTLE_TEXT_SentToPC
enum BATTLE_TEXT_AddedToDex
enum BATTLE_TEXT_Raining
enum BATTLE_TEXT_Sandstorm
enum BATTLE_TEXT_CantEscape
enum BATTLE_TEXT_IgnoredOrdersSLP
enum BATTLE_TEXT_IgnoredOrders
enum BATTLE_TEXT_BeganNap
enum BATTLE_TEXT_LoafingAround
enum BATTLE_TEXT_WontObey
enum BATTLE_TEXT_TurnedAway
enum BATTLE_TEXT_NotNotice
enum BATTLE_TEXT_WillSwitch
enum BATTLE_TEXT_CreptCloser
enum BATTLE_TEXT_CantGetCloser
enum BATTLE_TEXT_WatchingCarefully
enum BATTLE_TEXT_CuriousAbout
enum BATTLE_TEXT_EnthralledBy
enum BATTLE_TEXT_IgnoredThing
enum BATTLE_TEXT_ThrewBlock
enum BATTLE_TEXT_SafariOver
enum BATTLE_TEXT_CuredParalysis
enum BATTLE_TEXT_CuredPoison
enum BATTLE_TEXT_CuredBurn
enum BATTLE_TEXT_CuredFreeze
enum BATTLE_TEXT_CuredSleep
enum BATTLE_TEXT_CuredConfusion
enum BATTLE_TEXT_CuredStatus
enum BATTLE_TEXT_RestoredHealth
enum BATTLE_TEXT_RestoredPP
enum BATTLE_TEXT_RestoredStatus
enum BATTLE_TEXT_RestoredHPLittle
enum BATTLE_TEXT_ChoiceBand
enum BATTLE_TEXT_FocusSash
enum BATTLE_TEXT_Terminator2 @ terminator?
enum BATTLE_TEXT_PreventedBurn
enum BATTLE_TEXT_BlocksOther
enum BATTLE_TEXT_RestoredHPByItem
enum BATTLE_TEXT_WhipSandstorm
enum BATTLE_TEXT_PreventedLoss
enum BATTLE_TEXT_InfatuatedPoke
enum BATTLE_TEXT_MadeIneffective
enum BATTLE_TEXT_CuredProblem
enum BATTLE_TEXT_OozeSuckup
enum BATTLE_TEXT_Transformed2
enum BATTLE_TEXT_ElecWeakened
enum BATTLE_TEXT_FireWeakened
enum BATTLE_TEXT_HidUnderwater
enum BATTLE_TEXT_SprangUp
enum BATTLE_TEXT_CantForgetHM
enum BATTLE_TEXT_FoundOne
enum BATTLE_TEXT_PlayerDefeatedTrainer2
enum BATTLE_TEXT_SoothingAroma
enum BATTLE_TEXT_CantUseItems
enum BATTLE_TEXT_UnknownString2
enum BATTLE_TEXT_UnknownString4
enum BATTLE_TEXT_HustleUse
enum BATTLE_TEXT_MadeUseless
enum BATTLE_TEXT_SandTombTrapped @ sand tomb
enum BATTLE_TEXT_Terminator
enum BATTLE_TEXT_BoostedExp
enum BATTLE_TEXT_SunIntensified
enum BATTLE_TEXT_GroundMoveNegate
enum BATTLE_TEXT_WallyBall
enum BATTLE_TEXT_TookAttack2
enum BATTLE_TEXT_ChoseDestiny
enum BATTLE_TEXT_LostFocus
enum BATTLE_TEXT_UseNext
enum BATTLE_TEXT_FledUsingItem
enum BATTLE_TEXT_FledUsingOther
enum BATTLE_TEXT_DraggedOut
enum BATTLE_TEXT_PreventedOther
enum BATTLE_TEXT_NormalizedStatus
enum BATTLE_TEXT_Used2
enum BATTLE_TEXT_BoxFull
enum BATTLE_TEXT_AvoidedAttack
enum BATTLE_TEXT_MadeIneffective2
enum BATTLE_TEXT_PreventedFlinching
enum BATTLE_TEXT_AlreadyBurned
enum BATTLE_TEXT_StatNoLower
enum BATTLE_TEXT_BlocksOther2
enum BATTLE_TEXT_WoreOff
enum BATTLE_TEXT_RaisedDefenseLittle
enum BATTLE_TEXT_RaisedSpDefLittle
enum BATTLE_TEXT_BrokeWall
enum BATTLE_TEXT_PreventedOther2
enum BATTLE_TEXT_CuredOfProblem
enum BATTLE_TEXT_AttackingCantEscape
enum BATTLE_TEXT_Obtained1
enum BATTLE_TEXT_Obtained2
enum BATTLE_TEXT_Obtained3
enum BATTLE_TEXT_NoEffect
enum BATTLE_TEXT_NoEffectOn
+6
View File
@@ -0,0 +1,6 @@
.set BERRY_FIRMNESS_UNKNOWN, 0
.set BERRY_FIRMNESS_VERY_SOFT, 1
.set BERRY_FIRMNESS_SOFT, 2
.set BERRY_FIRMNESS_HARD, 3
.set BERRY_FIRMNESS_VERY_HARD, 4
.set BERRY_FIRMNESS_SUPER_HARD, 5
+12
View File
@@ -0,0 +1,12 @@
.include "constants/gba_constants.inc"
.include "constants/misc_constants.inc"
.include "constants/type_constants.inc"
.include "constants/contest_constants.inc"
.include "constants/item_data_constants.inc"
.include "constants/battle_move_constants.inc"
.include "constants/trainer_constants.inc"
.include "constants/berry_constants.inc"
.include "constants/version.inc"
.include "constants/battle.inc"
.include "constants/battle_text.inc"
.include "constants/contest_move_effects.inc"
+68
View File
@@ -0,0 +1,68 @@
.set CONTEST_COOL, 0x00
.set CONTEST_BEAUTY, 0x01
.set CONTEST_CUTE, 0x02
.set CONTEST_SMART, 0x03
.set CONTEST_TOUGH, 0x04
.set COMBO_STARTER_RAIN_DANCE, 0x01
.set COMBO_STARTER_RAGE, 0x02
.set COMBO_STARTER_FOCUS_ENERGY, 0x03
.set COMBO_STARTER_HYPNOSIS, 0x04
.set COMBO_STARTER_ENDURE, 0x05
.set COMBO_STARTER_HORN_ATTACK, 0x06
.set COMBO_STARTER_SWORDS_DANCE, 0x07
.set COMBO_STARTER_STOCKPILE, 0x08
.set COMBO_STARTER_SUNNY_DAY, 0x09
.set COMBO_STARTER_REST, 0x0A
.set COMBO_STARTER_VICE_GRIP, 0x0B
.set COMBO_STARTER_DEFENSE_CURL, 0x0C
.set COMBO_STARTER_CHARGE, 0x0D
.set COMBO_STARTER_ROCK_THROW, 0x0E
.set COMBO_STARTER_YAWN, 0x0F
.set COMBO_STARTER_SCARY_FACE, 0x10
.set COMBO_STARTER_POWDER_SNOW, 0x11
.set COMBO_STARTER_LOCK_ON, 0x12
.set COMBO_STARTER_SOFT_BOILED, 0x13
.set COMBO_STARTER_MEAN_LOOK, 0x14
.set COMBO_STARTER_SCRATCH, 0x15
.set COMBO_STARTER_GROWTH, 0x16
.set COMBO_STARTER_HAIL, 0x17
.set COMBO_STARTER_SANDSTORM, 0x18
.set COMBO_STARTER_BELLY_DRUM, 0x19
.set COMBO_STARTER_MIND_READER, 0x1A
.set COMBO_STARTER_DRAGON_BREATH, 0x1B
.set COMBO_STARTER_DRAGON_RAGE, 0x1C
.set COMBO_STARTER_DRAGON_DANCE, 0x1D
.set COMBO_STARTER_SURF, 0x1E
.set COMBO_STARTER_DIVE, 0x1F
.set COMBO_STARTER_STRING_SHOT, 0x20
.set COMBO_STARTER_LEER, 0x21
.set COMBO_STARTER_TAUNT, 0x22
.set COMBO_STARTER_CHARM, 0x23
.set COMBO_STARTER_HARDEN, 0x24
.set COMBO_STARTER_SING, 0x25
.set COMBO_STARTER_EARTHQUAKE, 0x26
.set COMBO_STARTER_DOUBLE_TEAM, 0x27
.set COMBO_STARTER_CURSE, 0x28
.set COMBO_STARTER_SWEET_SCENT, 0x29
.set COMBO_STARTER_SLUDGE, 0x2A
.set COMBO_STARTER_SLUDGE_BOMB, 0x2B
.set COMBO_STARTER_THUNDER_PUNCH, 0x2C
.set COMBO_STARTER_FIRE_PUNCH, 0x2D
.set COMBO_STARTER_ICE_PUNCH, 0x2E
.set COMBO_STARTER_PECK, 0x2F
.set COMBO_STARTER_METAL_SOUND, 0x30
.set COMBO_STARTER_MUD_SPORT, 0x31
.set COMBO_STARTER_WATER_SPORT, 0x32
.set COMBO_STARTER_BONE_CLUB, 0x33
.set COMBO_STARTER_BONEMERANG, 0x34
.set COMBO_STARTER_BONE_RUSH, 0x35
.set COMBO_STARTER_SAND_ATTACK, 0x36
.set COMBO_STARTER_MUD_SLAP, 0x37
.set COMBO_STARTER_FAKE_OUT, 0x38
.set COMBO_STARTER_PSYCHIC, 0x39
.set COMBO_STARTER_KINESIS, 0x3A
.set COMBO_STARTER_CONFUSION, 0x3B
.set COMBO_STARTER_POUND, 0x3C
.set COMBO_STARTER_SMOG, 0x3D
.set COMBO_STARTER_CALM_MIND, 0x3E
+49
View File
@@ -0,0 +1,49 @@
enum_start
enum CONTEST_EFFECT_HIGHLY_APPEALING @ 0
enum CONTEST_EFFECT_USER_MORE_EASILY_STARTLED @ 1
enum CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES @ 2
enum CONTEST_EFFECT_REPETITION_NOT_BORING @ 3
enum CONTEST_EFFECT_AVOID_STARTLE_ONCE @ 4
enum CONTEST_EFFECT_AVOID_STARTLE @ 5
enum CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY @ 6
enum CONTEST_EFFECT_USER_LESS_EASILY_STARTLED @ 7
enum CONTEST_EFFECT_STARTLE_FRONT_MON @ 8
enum CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS @ 9
enum CONTEST_EFFECT_STARTLE_PREV_MON @ 10
enum CONTEST_EFFECT_STARTLE_PREV_MONS @ 11
enum CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON @ 12
enum CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS @ 13
enum CONTEST_EFFECT_STARTLE_PREV_MON_2 @ 14
enum CONTEST_EFFECT_STARTLE_PREV_MONS_2 @ 15
enum CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION @ 16
enum CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION @ 17
enum CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN @ 18
enum CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL @ 19
enum CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL @ 20
enum CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL @ 21
enum CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL @ 22
enum CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL @ 23
enum CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL @ 24
enum CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS @ 25
enum CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS @ 26
enum CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS @ 27
enum CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION @ 28
enum CONTEST_EFFECT_BETTER_IF_FIRST @ 29
enum CONTEST_EFFECT_BETTER_IF_LAST @ 30
enum CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES @ 31
enum CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE @ 32
enum CONTEST_EFFECT_BETTER_WHEN_LATER @ 33
enum CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING @ 34
enum CONTEST_EFFECT_BETTER_IF_SAME_TYPE @ 35
enum CONTEST_EFFECT_BETTER_IF_DIFF_TYPE @ 36
enum CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL @ 37
enum CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS @ 38
enum CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION @ 39
enum CONTEST_EFFECT_NEXT_APPEAL_EARLIER @ 40
enum CONTEST_EFFECT_NEXT_APPEAL_LATER @ 41
enum CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER @ 42
enum CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER @ 43
enum CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST @ 44
enum CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS @ 45
enum CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED @ 46
enum CONTEST_EFFECT_DONT_EXCITE_AUDIENCE @ 47
+490
View File
@@ -0,0 +1,490 @@
.set PSR_USR_MODE, 0x00000010
.set PSR_FIQ_MODE, 0x00000011
.set PSR_IRQ_MODE, 0x00000012
.set PSR_SVC_MODE, 0x00000013
.set PSR_ABT_MODE, 0x00000017
.set PSR_UND_MODE, 0x0000001b
.set PSR_SYS_MODE, 0x0000001f
.set PSR_MODE_MASK, 0x0000001f
.set PSR_T_BIT, 0x00000020
.set PSR_F_BIT, 0x00000040
.set PSR_I_BIT, 0x00000080
.set EWRAM_START, 0x02000000
.set EWRAM_END, EWRAM_START + 0x40000
.set IWRAM_START, 0x03000000
.set IWRAM_END, IWRAM_START + 0x8000
.set PLTT, 0x5000000
.set BG_PLTT, PLTT
.set OBJ_PLTT, PLTT + 0x200
.set VRAM, 0x6000000
.set BG_VRAM, VRAM
.set OBJ_VRAM0, VRAM + 0x10000 @ text-mode BG
.set OBJ_VRAM1, VRAM + 0x14000 @ bitmap-mode BG
.set OAM, 0x7000000
.set SOUND_INFO_PTR, 0x3007FF0
.set INTR_CHECK, 0x3007FF8
.set INTR_VECTOR, 0x3007FFC
.set INTR_FLAG_VBLANK, 1 << 0
.set INTR_FLAG_HBLANK, 1 << 1
.set INTR_FLAG_VCOUNT, 1 << 2
.set INTR_FLAG_TIMER0, 1 << 3
.set INTR_FLAG_TIMER1, 1 << 4
.set INTR_FLAG_TIMER2, 1 << 5
.set INTR_FLAG_TIMER3, 1 << 6
.set INTR_FLAG_SERIAL, 1 << 7
.set INTR_FLAG_DMA0, 1 << 8
.set INTR_FLAG_DMA1, 1 << 9
.set INTR_FLAG_DMA2, 1 << 10
.set INTR_FLAG_DMA3, 1 << 11
.set INTR_FLAG_KEYPAD, 1 << 12
.set INTR_FLAG_GAMEPAK, 1 << 13
.set VCOUNT_VBLANK, 160
.set TOTAL_SCANLINES, 228
.set REG_BASE, 0x4000000 @ I/O register base address
@ I/O register offsets
.set OFFSET_REG_DISPCNT, 0x0
.set OFFSET_REG_DISPSTAT, 0x4
.set OFFSET_REG_VCOUNT, 0x6
.set OFFSET_REG_BG0CNT, 0x8
.set OFFSET_REG_BG1CNT, 0xa
.set OFFSET_REG_BG2CNT, 0xc
.set OFFSET_REG_BG3CNT, 0xe
.set OFFSET_REG_BG0HOFS, 0x10
.set OFFSET_REG_BG0VOFS, 0x12
.set OFFSET_REG_BG1HOFS, 0x14
.set OFFSET_REG_BG1VOFS, 0x16
.set OFFSET_REG_BG2HOFS, 0x18
.set OFFSET_REG_BG2VOFS, 0x1a
.set OFFSET_REG_BG3HOFS, 0x1c
.set OFFSET_REG_BG3VOFS, 0x1e
.set OFFSET_REG_BG2PA, 0x20
.set OFFSET_REG_BG2PB, 0x22
.set OFFSET_REG_BG2PC, 0x24
.set OFFSET_REG_BG2PD, 0x26
.set OFFSET_REG_BG2X_L, 0x28
.set OFFSET_REG_BG2X_H, 0x2a
.set OFFSET_REG_BG2Y_L, 0x2c
.set OFFSET_REG_BG2Y_H, 0x2e
.set OFFSET_REG_BG3PA, 0x30
.set OFFSET_REG_BG3PB, 0x32
.set OFFSET_REG_BG3PC, 0x34
.set OFFSET_REG_BG3PD, 0x36
.set OFFSET_REG_BG3X_L, 0x38
.set OFFSET_REG_BG3X_H, 0x3a
.set OFFSET_REG_BG3Y_L, 0x3c
.set OFFSET_REG_BG3Y_H, 0x3e
.set OFFSET_REG_WIN0H, 0x40
.set OFFSET_REG_WIN1H, 0x42
.set OFFSET_REG_WIN0V, 0x44
.set OFFSET_REG_WIN1V, 0x46
.set OFFSET_REG_WININ, 0x48
.set OFFSET_REG_WINOUT, 0x4a
.set OFFSET_REG_MOSAIC, 0x4c
.set OFFSET_REG_BLDCNT, 0x50
.set OFFSET_REG_BLDALPHA, 0x52
.set OFFSET_REG_BLDY, 0x54
.set OFFSET_REG_SOUND1CNT, 0x60
.set OFFSET_REG_SOUND1CNT_L, 0x60
.set OFFSET_REG_NR10, 0x60
.set OFFSET_REG_SOUND1CNT_H, 0x62
.set OFFSET_REG_NR11, 0x62
.set OFFSET_REG_NR12, 0x63
.set OFFSET_REG_SOUND1CNT_X, 0x64
.set OFFSET_REG_NR13, 0x64
.set OFFSET_REG_NR14, 0x65
.set OFFSET_REG_SOUND2CNT, 0x68
.set OFFSET_REG_SOUND2CNT_L, 0x68
.set OFFSET_REG_NR21, 0x68
.set OFFSET_REG_NR22, 0x69
.set OFFSET_REG_SOUND2CNT_H, 0x6c
.set OFFSET_REG_NR23, 0x6c
.set OFFSET_REG_NR24, 0x6d
.set OFFSET_REG_SOUND3CNT, 0x70
.set OFFSET_REG_SOUND3CNT_L, 0x70
.set OFFSET_REG_NR30, 0x70
.set OFFSET_REG_SOUND3CNT_H, 0x72
.set OFFSET_REG_NR31, 0x72
.set OFFSET_REG_NR32, 0x73
.set OFFSET_REG_SOUND3CNT_X, 0x74
.set OFFSET_REG_NR33, 0x74
.set OFFSET_REG_NR34, 0x75
.set OFFSET_REG_SOUND4CNT, 0x78
.set OFFSET_REG_SOUND4CNT_L, 0x78
.set OFFSET_REG_NR41, 0x78
.set OFFSET_REG_NR42, 0x79
.set OFFSET_REG_SOUND4CNT_H, 0x7c
.set OFFSET_REG_NR43, 0x7c
.set OFFSET_REG_NR44, 0x7d
.set OFFSET_REG_SOUNDCNT, 0x80
.set OFFSET_REG_SOUNDCNT_L, 0x80
.set OFFSET_REG_NR50, 0x80
.set OFFSET_REG_NR51, 0x81
.set OFFSET_REG_SOUNDCNT_H, 0x82
.set OFFSET_REG_SOUNDCNT_X, 0x84
.set OFFSET_REG_NR52, 0x84
.set OFFSET_REG_SOUNDBIAS, 0x88
.set OFFSET_REG_WAVE_RAM, 0x90
.set OFFSET_REG_WAVE_RAM0, 0x90
.set OFFSET_REG_WAVE_RAM0_L, 0x90
.set OFFSET_REG_WAVE_RAM0_H, 0x92
.set OFFSET_REG_WAVE_RAM1, 0x94
.set OFFSET_REG_WAVE_RAM1_L, 0x94
.set OFFSET_REG_WAVE_RAM1_H, 0x96
.set OFFSET_REG_WAVE_RAM2, 0x98
.set OFFSET_REG_WAVE_RAM2_L, 0x98
.set OFFSET_REG_WAVE_RAM2_H, 0x9a
.set OFFSET_REG_WAVE_RAM3, 0x9c
.set OFFSET_REG_WAVE_RAM3_L, 0x9c
.set OFFSET_REG_WAVE_RAM3_H, 0x9e
.set OFFSET_REG_FIFO, 0xa0
.set OFFSET_REG_FIFO_A, 0xa0
.set OFFSET_REG_FIFO_A_L, 0xa0
.set OFFSET_REG_FIFO_A_H, 0xa2
.set OFFSET_REG_FIFO_B, 0xa4
.set OFFSET_REG_FIFO_B_L, 0xa4
.set OFFSET_REG_FIFO_B_H, 0xa6
.set OFFSET_REG_DMA0, 0xb0
.set OFFSET_REG_DMA0SAD, 0xb0
.set OFFSET_REG_DMA0SAD_L, 0xb0
.set OFFSET_REG_DMA0SAD_H, 0xb2
.set OFFSET_REG_DMA0DAD, 0xb4
.set OFFSET_REG_DMA0DAD_L, 0xb4
.set OFFSET_REG_DMA0DAD_H, 0xb6
.set OFFSET_REG_DMA0CNT, 0xb8
.set OFFSET_REG_DMA0CNT_L, 0xb8
.set OFFSET_REG_DMA0CNT_H, 0xba
.set OFFSET_REG_DMA1, 0xbc
.set OFFSET_REG_DMA1SAD, 0xbc
.set OFFSET_REG_DMA1SAD_L, 0xbc
.set OFFSET_REG_DMA1SAD_H, 0xbe
.set OFFSET_REG_DMA1DAD, 0xc0
.set OFFSET_REG_DMA1DAD_L, 0xc0
.set OFFSET_REG_DMA1DAD_H, 0xc2
.set OFFSET_REG_DMA1CNT, 0xc4
.set OFFSET_REG_DMA1CNT_L, 0xc4
.set OFFSET_REG_DMA1CNT_H, 0xc6
.set OFFSET_REG_DMA2, 0xc8
.set OFFSET_REG_DMA2SAD, 0xc8
.set OFFSET_REG_DMA2SAD_L, 0xc8
.set OFFSET_REG_DMA2SAD_H, 0xca
.set OFFSET_REG_DMA2DAD, 0xcc
.set OFFSET_REG_DMA2DAD_L, 0xcc
.set OFFSET_REG_DMA2DAD_H, 0xce
.set OFFSET_REG_DMA2CNT, 0xd0
.set OFFSET_REG_DMA2CNT_L, 0xd0
.set OFFSET_REG_DMA2CNT_H, 0xd2
.set OFFSET_REG_DMA3, 0xd4
.set OFFSET_REG_DMA3SAD, 0xd4
.set OFFSET_REG_DMA3SAD_L, 0xd4
.set OFFSET_REG_DMA3SAD_H, 0xd6
.set OFFSET_REG_DMA3DAD, 0xd8
.set OFFSET_REG_DMA3DAD_L, 0xd8
.set OFFSET_REG_DMA3DAD_H, 0xda
.set OFFSET_REG_DMA3CNT, 0xdc
.set OFFSET_REG_DMA3CNT_L, 0xdc
.set OFFSET_REG_DMA3CNT_H, 0xde
.set OFFSET_REG_TM0CNT, 0x100
.set OFFSET_REG_TM0CNT_L, 0x100
.set OFFSET_REG_TM0CNT_H, 0x102
.set OFFSET_REG_TM1CNT, 0x104
.set OFFSET_REG_TM1CNT_L, 0x104
.set OFFSET_REG_TM1CNT_H, 0x106
.set OFFSET_REG_TM2CNT, 0x108
.set OFFSET_REG_TM2CNT_L, 0x108
.set OFFSET_REG_TM2CNT_H, 0x10a
.set OFFSET_REG_TM3CNT, 0x10c
.set OFFSET_REG_TM3CNT_L, 0x10c
.set OFFSET_REG_TM3CNT_H, 0x10e
.set OFFSET_REG_SIOCNT, 0x128
.set OFFSET_REG_SIODATA8, 0x12a
.set OFFSET_REG_SIODATA32, 0x120
.set OFFSET_REG_SIOMLT_SEND, 0x12a
.set OFFSET_REG_SIOMLT_RECV, 0x120
.set OFFSET_REG_SIOMULTI0, 0x120
.set OFFSET_REG_SIOMULTI1, 0x122
.set OFFSET_REG_SIOMULTI2, 0x124
.set OFFSET_REG_SIOMULTI3, 0x126
.set OFFSET_REG_KEYINPUT, 0x130
.set OFFSET_REG_KEYCNT, 0x132
.set OFFSET_REG_RCNT, 0x134
.set OFFSET_REG_JOYCNT, 0x140
.set OFFSET_REG_JOYSTAT, 0x158
.set OFFSET_REG_JOY_RECV, 0x150
.set OFFSET_REG_JOY_RECV_L, 0x150
.set OFFSET_REG_JOY_RECV_H, 0x152
.set OFFSET_REG_JOY_TRANS, 0x154
.set OFFSET_REG_JOY_TRANS_L, 0x154
.set OFFSET_REG_JOY_TRANS_H, 0x156
.set OFFSET_REG_IME, 0x208
.set OFFSET_REG_IE, 0x200
.set OFFSET_REG_IF, 0x202
.set OFFSET_REG_WAITCNT, 0x204
@ I/O register addresses
.set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT
.set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT
.set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT
.set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT
.set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT
.set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT
.set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT
.set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS
.set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS
.set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS
.set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS
.set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS
.set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS
.set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS
.set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS
.set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA
.set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB
.set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC
.set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD
.set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L
.set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H
.set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L
.set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H
.set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA
.set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB
.set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC
.set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD
.set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L
.set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H
.set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L
.set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H
.set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H
.set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H
.set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V
.set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V
.set REG_WININ, REG_BASE + OFFSET_REG_WININ
.set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT
.set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC
.set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT
.set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA
.set REG_BLDY, REG_BASE + OFFSET_REG_BLDY
.set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT
.set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L
.set REG_NR10, REG_BASE + OFFSET_REG_NR10
.set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H
.set REG_NR11, REG_BASE + OFFSET_REG_NR11
.set REG_NR12, REG_BASE + OFFSET_REG_NR12
.set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X
.set REG_NR13, REG_BASE + OFFSET_REG_NR13
.set REG_NR14, REG_BASE + OFFSET_REG_NR14
.set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT
.set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L
.set REG_NR21, REG_BASE + OFFSET_REG_NR21
.set REG_NR22, REG_BASE + OFFSET_REG_NR22
.set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H
.set REG_NR23, REG_BASE + OFFSET_REG_NR23
.set REG_NR24, REG_BASE + OFFSET_REG_NR24
.set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT
.set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L
.set REG_NR30, REG_BASE + OFFSET_REG_NR30
.set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H
.set REG_NR31, REG_BASE + OFFSET_REG_NR31
.set REG_NR32, REG_BASE + OFFSET_REG_NR32
.set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X
.set REG_NR33, REG_BASE + OFFSET_REG_NR33
.set REG_NR34, REG_BASE + OFFSET_REG_NR34
.set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT
.set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L
.set REG_NR41, REG_BASE + OFFSET_REG_NR41
.set REG_NR42, REG_BASE + OFFSET_REG_NR42
.set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H
.set REG_NR43, REG_BASE + OFFSET_REG_NR43
.set REG_NR44, REG_BASE + OFFSET_REG_NR44
.set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT
.set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L
.set REG_NR50, REG_BASE + OFFSET_REG_NR50
.set REG_NR51, REG_BASE + OFFSET_REG_NR51
.set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H
.set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X
.set REG_NR52, REG_BASE + OFFSET_REG_NR52
.set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS
.set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM
.set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0
.set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L
.set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H
.set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1
.set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L
.set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H
.set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2
.set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L
.set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H
.set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3
.set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L
.set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H
.set REG_FIFO, REG_BASE + OFFSET_REG_FIFO
.set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A
.set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L
.set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H
.set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B
.set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L
.set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H
.set REG_DMA0, REG_BASE + OFFSET_REG_DMA0
.set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD
.set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L
.set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H
.set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD
.set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L
.set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H
.set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT
.set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L
.set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H
.set REG_DMA1, REG_BASE + OFFSET_REG_DMA1
.set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD
.set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L
.set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H
.set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD
.set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L
.set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H
.set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT
.set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L
.set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H
.set REG_DMA2, REG_BASE + OFFSET_REG_DMA2
.set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD
.set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L
.set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H
.set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD
.set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L
.set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H
.set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT
.set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L
.set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H
.set REG_DMA3, REG_BASE + OFFSET_REG_DMA3
.set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD
.set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L
.set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H
.set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD
.set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L
.set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H
.set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT
.set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L
.set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H
.set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT
.set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L
.set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H
.set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT
.set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L
.set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H
.set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT
.set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L
.set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H
.set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT
.set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L
.set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H
.set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT
.set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8
.set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32
.set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND
.set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV
.set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0
.set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1
.set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2
.set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3
.set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT
.set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT
.set REG_RCNT, REG_BASE + OFFSET_REG_RCNT
.set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT
.set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT
.set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV
.set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L
.set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H
.set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS
.set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L
.set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H
.set REG_IME, REG_BASE + OFFSET_REG_IME
.set REG_IE, REG_BASE + OFFSET_REG_IE
.set REG_IF, REG_BASE + OFFSET_REG_IF
.set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT
@ DMA register constants
.set DMA_DEST_INC, 0x0000
.set DMA_DEST_DEC, 0x0020
.set DMA_DEST_FIXED, 0x0040
.set DMA_DEST_RELOAD, 0x0060
.set DMA_SRC_INC, 0x0000
.set DMA_SRC_DEC, 0x0080
.set DMA_SRC_FIXED, 0x0100
.set DMA_REPEAT, 0x0200
.set DMA_16BIT, 0x0000
.set DMA_32BIT, 0x0400
.set DMA_DREQ_ON, 0x0800
.set DMA_START_NOW, 0x0000
.set DMA_START_VBLANK, 0x1000
.set DMA_START_HBLANK, 0x2000
.set DMA_START_SPECIAL, 0x3000
.set DMA_INTR_ENABLE, 0x4000
.set DMA_ENABLE, 0x8000
@ OAM attribute constants
.set OAM_OBJ_NORMAL, 0x00000000
.set OAM_OBJ_BLEND, 0x00000400
.set OAM_OBJ_WINDOW, 0x00000800
.set OAM_AFFINE_NONE, 0x00000000
.set OAM_AFFINE_NORMAL_SIZE, 0x00000100
.set OAM_OBJ_DISABLED, 0x00000200
.set OAM_AFFINE_DOUBLE_SIZE, 0x00000300
.set OAM_MOSAIC_OFF, 0x00000000
.set OAM_MOSAIC_ON, 0x00001000
.set OAM_4BPP, 0x00000000
.set OAM_8BPP, 0x00002000
.set OAM_H_FLIP, 0x10000000
.set OAM_V_FLIP, 0x20000000
.set OAM_SQUARE, 0x00000000
.set OAM_H_RECTANGLE, 0x00004000
.set OAM_V_RECTANGLE, 0x00008000
.set OAM_SIZE_0, 0x00000000
.set OAM_SIZE_1, 0x40000000
.set OAM_SIZE_2, 0x80000000
.set OAM_SIZE_3, 0xc0000000
.set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE
.set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE
.set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE
.set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE
.set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE
.set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE
.set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE
.set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE
.set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE
.set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE
.set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE
.set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE
+5
View File
@@ -0,0 +1,5 @@
.set POCKET_ITEMS, 0x01
.set POCKET_POKE_BALLS, 0x02
.set POCKET_TM_HM, 0x03
.set POCKET_BERRIES, 0x04
.set POCKET_KEY_ITEMS, 0x05
+199
View File
@@ -0,0 +1,199 @@
.equiv ID_NUMBER, 0x68736d53
.equiv PCM_DMA_BUF_SIZE, 1584
.equiv TONEDATA_TYPE_CGB, 0x07
.equiv TONEDATA_TYPE_FIX, 0x08
.equiv TONEDATA_TYPE_SPL, 0x40 @ key split
.equiv TONEDATA_TYPE_RHY, 0x80 @ rhythm
.macro struct_begin
.struct 0
.endm
.macro struct_field name, size
\name:
.struct \name + \size
.endm
struct_begin
struct_field o_SoundInfo_ident, 4
struct_field o_SoundInfo_pcmDmaCounter, 1
struct_field o_SoundInfo_reverb, 1
struct_field o_SoundInfo_maxChans, 1
struct_field o_SoundInfo_masterVolume, 1
struct_field o_SoundInfo_freq, 1
struct_field o_SoundInfo_mode, 1
struct_field o_SoundInfo_c15, 1
struct_field o_SoundInfo_pcmDmaPeriod, 1
struct_field o_SoundInfo_maxLines, 1
struct_field o_SoundInfo_gap, 3
struct_field o_SoundInfo_pcmSamplesPerVBlank, 4
struct_field o_SoundInfo_pcmFreq, 4
struct_field o_SoundInfo_divFreq, 4
struct_field o_SoundInfo_cgbChans, 4
struct_field o_SoundInfo_func, 4
struct_field o_SoundInfo_intp, 4
struct_field o_SoundInfo_CgbSound, 4
struct_field o_SoundInfo_CgbOscOff, 4
struct_field o_SoundInfo_MidiKeyToCgbFreq, 4
struct_field o_SoundInfo_MPlayJumpTable, 4
struct_field o_SoundInfo_plynote, 4
struct_field o_SoundInfo_ExtVolPit, 4
struct_field o_SoundInfo_gap2, 16
struct_field o_SoundInfo_chans, 768
struct_field o_SoundInfo_pcmBuffer, PCM_DMA_BUF_SIZE * 2
struct_field SoundInfo_size, 0
struct_begin
struct_field o_SoundChannel_status, 1
struct_field o_SoundChannel_type, 1
struct_field o_SoundChannel_rightVolume, 1
struct_field o_SoundChannel_leftVolume, 1
struct_field o_SoundChannel_attack, 1
struct_field o_SoundChannel_decay, 1
struct_field o_SoundChannel_sustain, 1
struct_field o_SoundChannel_release, 1
struct_field o_SoundChannel_ky, 1
struct_field o_SoundChannel_ev, 1
struct_field o_SoundChannel_er, 1
struct_field o_SoundChannel_el, 1
struct_field o_SoundChannel_iev, 1
struct_field o_SoundChannel_iel, 1
struct_field o_SoundChannel_d1, 1
struct_field o_SoundChannel_d2, 1
struct_field o_SoundChannel_gt, 1
struct_field o_SoundChannel_mk, 1
struct_field o_SoundChannel_ve, 1
struct_field o_SoundChannel_pr, 1
struct_field o_SoundChannel_rp, 1
struct_field o_SoundChannel_d3, 3
struct_field o_SoundChannel_ct, 4
struct_field o_SoundChannel_fw, 4
struct_field o_SoundChannel_freq, 4
struct_field o_SoundChannel_wav, 4
struct_field o_SoundChannel_cp, 4
struct_field o_SoundChannel_track, 4
struct_field o_SoundChannel_pp, 4
struct_field o_SoundChannel_np, 4
struct_field o_SoundChannel_d4, 4
struct_field o_SoundChannel_xpi, 2
struct_field o_SoundChannel_xpc, 2
struct_field SoundChannel_size, 0
struct_begin
struct_field o_MusicPlayerTrack_flags, 1
struct_field o_MusicPlayerTrack_wait, 1
struct_field o_MusicPlayerTrack_patternLevel, 1
struct_field o_MusicPlayerTrack_repN, 1
struct_field o_MusicPlayerTrack_gateTime, 1
struct_field o_MusicPlayerTrack_key, 1
struct_field o_MusicPlayerTrack_velocity, 1
struct_field o_MusicPlayerTrack_runningStatus, 1
struct_field o_MusicPlayerTrack_keyM, 1
struct_field o_MusicPlayerTrack_pitM, 1
struct_field o_MusicPlayerTrack_keyShift, 1
struct_field o_MusicPlayerTrack_keyShiftX, 1
struct_field o_MusicPlayerTrack_tune, 1
struct_field o_MusicPlayerTrack_pitX, 1
struct_field o_MusicPlayerTrack_bend, 1
struct_field o_MusicPlayerTrack_bendRange, 1
struct_field o_MusicPlayerTrack_volMR, 1
struct_field o_MusicPlayerTrack_volML, 1
struct_field o_MusicPlayerTrack_vol, 1
struct_field o_MusicPlayerTrack_volX, 1
struct_field o_MusicPlayerTrack_pan, 1
struct_field o_MusicPlayerTrack_panX, 1
struct_field o_MusicPlayerTrack_modM, 1
struct_field o_MusicPlayerTrack_mod, 1
struct_field o_MusicPlayerTrack_modT, 1
struct_field o_MusicPlayerTrack_lfoSpeed, 1
struct_field o_MusicPlayerTrack_lfoSpeedC, 1
struct_field o_MusicPlayerTrack_lfoDelay, 1
struct_field o_MusicPlayerTrack_lfoDelayC, 1
struct_field o_MusicPlayerTrack_priority, 1
struct_field o_MusicPlayerTrack_echoVolume, 1
struct_field o_MusicPlayerTrack_echoLength, 1
struct_field o_MusicPlayerTrack_chan, 4
struct_field o_MusicPlayerTrack_ToneData_type, 1
struct_field o_MusicPlayerTrack_ToneData_key, 1
struct_field o_MusicPlayerTrack_ToneData_length, 1
struct_field o_MusicPlayerTrack_ToneData_pan_sweep, 1
struct_field o_MusicPlayerTrack_ToneData_wav, 4
struct_field o_MusicPlayerTrack_ToneData_attack, 1
struct_field o_MusicPlayerTrack_ToneData_decay, 1
struct_field o_MusicPlayerTrack_ToneData_sustain, 1
struct_field o_MusicPlayerTrack_ToneData_release, 1
struct_field o_MusicPlayerTrack_gap, 10
struct_field o_MusicPlayerTrack_unk_3A, 2
struct_field o_MusicPlayerTrack_unk_3C, 4
struct_field o_MusicPlayerTrack_cmdPtr, 4
struct_field o_MusicPlayerTrack_patternStack, 12
struct_field MusicPlayerTrack_size, 0
.equiv o_MusicPlayerTrack_ToneData_keySplitTable, o_MusicPlayerTrack_ToneData_attack
struct_begin
struct_field o_MusicPlayerInfo_songHeader, 4
struct_field o_MusicPlayerInfo_status, 4
struct_field o_MusicPlayerInfo_trackCount, 1
struct_field o_MusicPlayerInfo_priority, 1
struct_field o_MusicPlayerInfo_cmd, 1
struct_field o_MusicPlayerInfo_unk_B, 1
struct_field o_MusicPlayerInfo_clock, 4
struct_field o_MusicPlayerInfo_gap, 8
struct_field o_MusicPlayerInfo_memAccArea, 4
struct_field o_MusicPlayerInfo_tempoD, 2
struct_field o_MusicPlayerInfo_tempoU, 2
struct_field o_MusicPlayerInfo_tempoI, 2
struct_field o_MusicPlayerInfo_tempoC, 2
struct_field o_MusicPlayerInfo_fadeOI, 2
struct_field o_MusicPlayerInfo_fadeOC, 2
struct_field o_MusicPlayerInfo_fadeOV, 2
struct_field o_MusicPlayerInfo_padding, 2
struct_field o_MusicPlayerInfo_tracks, 4
struct_field o_MusicPlayerInfo_tone, 4
struct_field o_MusicPlayerInfo_ident, 4
struct_field o_MusicPlayerInfo_func, 4
struct_field o_MusicPlayerInfo_intp, 4
struct_field MusicPlayerInfo_size, 0
struct_begin
struct_field o_CgbChannel_sf, 1
struct_field o_CgbChannel_ty, 1
struct_field o_CgbChannel_rightVolume, 1
struct_field o_CgbChannel_leftVolume, 1
struct_field o_CgbChannel_at, 1
struct_field o_CgbChannel_de, 1
struct_field o_CgbChannel_su, 1
struct_field o_CgbChannel_re, 1
struct_field o_CgbChannel_ky, 1
struct_field o_CgbChannel_ev, 1
struct_field o_CgbChannel_eg, 1
struct_field o_CgbChannel_ec, 1
struct_field o_CgbChannel_echoVolume, 1
struct_field o_CgbChannel_echoLength, 1
struct_field o_CgbChannel_d1, 1
struct_field o_CgbChannel_d2, 1
struct_field o_CgbChannel_gt, 1
struct_field o_CgbChannel_mk, 1
struct_field o_CgbChannel_ve, 1
struct_field o_CgbChannel_pr, 1
struct_field o_CgbChannel_rp, 1
struct_field o_CgbChannel_d3, 3
struct_field o_CgbChannel_d5, 1
struct_field o_CgbChannel_sg, 1
struct_field o_CgbChannel_n4, 1
struct_field o_CgbChannel_pan, 1
struct_field o_CgbChannel_panMask, 1
struct_field o_CgbChannel_mo, 1
struct_field o_CgbChannel_le, 1
struct_field o_CgbChannel_sw, 1
struct_field o_CgbChannel_fr, 4
struct_field o_CgbChannel_wp, 4
struct_field o_CgbChannel_cp, 4
struct_field o_CgbChannel_tp, 4
struct_field o_CgbChannel_pp, 4
struct_field o_CgbChannel_np, 4
struct_field o_CgbChannel_d4, 8
struct_field CgbChannel_size, 0
+51
View File
@@ -0,0 +1,51 @@
.set TRUE, 1
.set FALSE, 0
.set NULL, 0
.set POKEMON_NAME_LENGTH, 11
.set MOVE_NAME_LENGTH, 13
.set SPRITE_SIZE_8x8, (OAM_SIZE_0 >> 28) | (OAM_SQUARE >> 14)
.set SPRITE_SIZE_16x16, (OAM_SIZE_1 >> 28) | (OAM_SQUARE >> 14)
.set SPRITE_SIZE_32x32, (OAM_SIZE_2 >> 28) | (OAM_SQUARE >> 14)
.set SPRITE_SIZE_64x64, (OAM_SIZE_3 >> 28) | (OAM_SQUARE >> 14)
.set SPRITE_SIZE_16x8, (OAM_SIZE_0 >> 28) | (OAM_H_RECTANGLE >> 14)
.set SPRITE_SIZE_32x8, (OAM_SIZE_1 >> 28) | (OAM_H_RECTANGLE >> 14)
.set SPRITE_SIZE_32x16, (OAM_SIZE_2 >> 28) | (OAM_H_RECTANGLE >> 14)
.set SPRITE_SIZE_64x32, (OAM_SIZE_3 >> 28) | (OAM_H_RECTANGLE >> 14)
.set SPRITE_SIZE_8x16, (OAM_SIZE_0 >> 28) | (OAM_V_RECTANGLE >> 14)
.set SPRITE_SIZE_8x32, (OAM_SIZE_1 >> 28) | (OAM_V_RECTANGLE >> 14)
.set SPRITE_SIZE_16x32, (OAM_SIZE_2 >> 28) | (OAM_V_RECTANGLE >> 14)
.set SPRITE_SIZE_32x64, (OAM_SIZE_3 >> 28) | (OAM_V_RECTANGLE >> 14)
.set OBJ_IMAGE_ANIM_H_FLIP, 1 << 6
.set OBJ_IMAGE_ANIM_V_FLIP, 1 << 7
.equiv DIR_SOUTH, 1
.equiv DIR_NORTH, 2
.equiv DIR_WEST, 3
.equiv DIR_EAST, 4
.equiv MALE, 0
.equiv FEMALE, 1
.ifdef ENGLISH
.equiv GAME_LANGUAGE, 2
.else
.ifdef GERMAN
.equiv GAME_LANGUAGE, 5
.endif
.endif
.equiv ENEMY_TYPE1, 0
.equiv ENEMY_TYPE2, 1
.equiv PLAYER_TYPE1, 2
.equiv PLAYER_TYPE2, 3
.equiv CURRENT_MOVE, 4
.equiv LESS_THAN, 0
.equiv GREATER_THAN, 1
.equiv EQUAL, 2
+78
View File
@@ -0,0 +1,78 @@
.set NATURE_HARDY, 0
.set NATURE_LONELY, 1
.set NATURE_BRAVE, 2
.set NATURE_ADAMANT, 3
.set NATURE_NAUGHTY, 4
.set NATURE_BOLD, 5
.set NATURE_DOCILE, 6
.set NATURE_RELAXED, 7
.set NATURE_IMPISH, 8
.set NATURE_LAX, 9
.set NATURE_TIMID, 10
.set NATURE_HASTY, 11
.set NATURE_SERIOUS, 12
.set NATURE_JOLLY, 13
.set NATURE_NAIVE, 14
.set NATURE_MODEST, 15
.set NATURE_MILD, 16
.set NATURE_QUIET, 17
.set NATURE_BASHFUL, 18
.set NATURE_RASH, 19
.set NATURE_CALM, 20
.set NATURE_GENTLE, 21
.set NATURE_SASSY, 22
.set NATURE_CAREFUL, 23
.set NATURE_QUIRKY, 24
.set GROWTH_MEDIUM_FAST, 0x00
.set GROWTH_ERRATIC, 0x01
.set GROWTH_FLUCTUATING, 0x02
.set GROWTH_MEDIUM_SLOW, 0x03
.set GROWTH_FAST, 0x04
.set GROWTH_SLOW, 0x05
.set EGG_GROUP_NONE, 0x00
.set EGG_GROUP_MONSTER, 0x01
.set EGG_GROUP_WATER_1, 0x02
.set EGG_GROUP_BUG, 0x03
.set EGG_GROUP_FLYING, 0x04
.set EGG_GROUP_FIELD, 0x05
.set EGG_GROUP_FAIRY, 0x06
.set EGG_GROUP_GRASS, 0x07
.set EGG_GROUP_HUMAN_LIKE, 0x08
.set EGG_GROUP_WATER_3, 0x09
.set EGG_GROUP_MINERAL, 0x0a
.set EGG_GROUP_AMORPHOUS, 0x0b
.set EGG_GROUP_WATER_2, 0x0c
.set EGG_GROUP_DITTO, 0x0d
.set EGG_GROUP_DRAGON, 0x0e
.set EGG_GROUP_UNDISCOVERED, 0x0f
.set BODY_COLOR_RED, 0x00
.set BODY_COLOR_BLUE, 0x01
.set BODY_COLOR_YELLOW, 0x02
.set BODY_COLOR_GREEN, 0x03
.set BODY_COLOR_BLACK, 0x04
.set BODY_COLOR_BROWN, 0x05
.set BODY_COLOR_PURPLE, 0x06
.set BODY_COLOR_GRAY, 0x07
.set BODY_COLOR_WHITE, 0x08
.set BODY_COLOR_PINK, 0x09
.set F_SUMMARY_SCREEN_FLIP_SPRITE, 0x80
.set EVO_FRIENDSHIP, 0x0001 @ Pokémon levels up with friendship 220
.set EVO_FRIENDSHIP_DAY, 0x0002 @ Pokémon levels up during the day with friendship 220
.set EVO_FRIENDSHIP_NIGHT, 0x0003 @ Pokémon levels up at night with friendship 220
.set EVO_LEVEL, 0x0004 @ Pokémon reaches the specified level
.set EVO_TRADE, 0x0005 @ Pokémon is traded
.set EVO_TRADE_ITEM, 0x0006 @ Pokémon is traded while it's holding the specified item
.set EVO_ITEM, 0x0007 @ specified item is used on Pokémon
.set EVO_LEVEL_ATK_GT_DEF, 0x0008 @ Pokémon reaches the specified level with attack > defense
.set EVO_LEVEL_ATK_EQ_DEF, 0x0009 @ Pokémon reaches the specified level with attack = defense
.set EVO_LEVEL_ATK_LT_DEF, 0x000a @ Pokémon reaches the specified level with attack < defense
.set EVO_LEVEL_SILCOON, 0x000b @ Pokémon reaches the specified level with a Silcoon personality value
.set EVO_LEVEL_CASCOON, 0x000c @ Pokémon reaches the specified level with a Cascoon personality value
.set EVO_LEVEL_NINJASK, 0x000d @ Pokémon reaches the specified level (special value for Ninjask)
.set EVO_LEVEL_SHEDINJA, 0x000e @ Pokémon reaches the specified level (special value for Shedinja)
.set EVO_BEAUTY, 0x000f @ Pokémon levels up with beauty specified value
+243
View File
@@ -0,0 +1,243 @@
.set TRAINER_CLASS_AQUA_LEADER, 0
.set TRAINER_CLASS_TEAM_AQUA_M, 1
.set TRAINER_CLASS_TEAM_AQUA_F, 2
.set TRAINER_CLASS_AROMA_LADY, 3
.set TRAINER_CLASS_RUIN_MANIAC, 4
.set TRAINER_CLASS_INTERVIEWER, 5
.set TRAINER_CLASS_TUBER_F, 6
.set TRAINER_CLASS_TUBER_M, 7
.set TRAINER_CLASS_COOL_TRAINER_M, 8
.set TRAINER_CLASS_COOL_TRAINER_F, 9
.set TRAINER_CLASS_HEX_MANIAC, 10
.set TRAINER_CLASS_LADY, 11
.set TRAINER_CLASS_BEAUTY, 12
.set TRAINER_CLASS_RICH_BOY, 13
.set TRAINER_CLASS_POKEMANIAC, 14
.set TRAINER_CLASS_SWIMMER_M, 15
.set TRAINER_CLASS_BLACK_BELT, 16
.set TRAINER_CLASS_GUITARIST, 17
.set TRAINER_CLASS_KINDLER, 18
.set TRAINER_CLASS_CAMPER, 19
.set TRAINER_CLASS_BUG_MANIAC, 20
.set TRAINER_CLASS_PSYCHIC_M, 21
.set TRAINER_CLASS_PSYCHIC_F, 22
.set TRAINER_CLASS_GENTLEMAN, 23
.set TRAINER_CLASS_ELITE_FOUR_M, 24
.set TRAINER_CLASS_ELITE_FOUR_F, 25
.set TRAINER_CLASS_LEADER_F, 26
.set TRAINER_CLASS_LEADER_M, 27
.set TRAINER_CLASS_LEADER_MF, 28
.set TRAINER_CLASS_SCHOOL_KID_M, 29
.set TRAINER_CLASS_SCHOOL_KID_F, 30
.set TRAINER_CLASS_SR_AND_JR, 31
.set TRAINER_CLASS_POKEFAN_M, 32
.set TRAINER_CLASS_POKEFAN_F, 33
.set TRAINER_CLASS_EXPERT_M, 34
.set TRAINER_CLASS_EXPERT_F, 35
.set TRAINER_CLASS_YOUNGSTER, 36
.set TRAINER_CLASS_CHAMPION, 37
.set TRAINER_CLASS_FISHERMAN, 38
.set TRAINER_CLASS_CYCLING_TRIATHLETE_M, 39
.set TRAINER_CLASS_CYCLING_TRIATHLETE_F, 40
.set TRAINER_CLASS_RUNNING_TRIATHLETE_M, 41
.set TRAINER_CLASS_RUNNING_TRIATHLETE_F, 42
.set TRAINER_CLASS_SWIMMING_TRIATHLETE_M, 43
.set TRAINER_CLASS_SWIMMING_TRIATHLETE_F, 44
.set TRAINER_CLASS_DRAGON_TAMER, 45
.set TRAINER_CLASS_BIRD_KEEPER, 46
.set TRAINER_CLASS_NINJA_BOY, 47
.set TRAINER_CLASS_BATTLE_GIRL, 48
.set TRAINER_CLASS_PARASOL_LADY, 49
.set TRAINER_CLASS_SWIMMER_F, 50
.set TRAINER_CLASS_PICNICKER, 51
.set TRAINER_CLASS_TWINS, 52
.set TRAINER_CLASS_SAILOR, 53
.set TRAINER_CLASS_BOARDER_1, 54
.set TRAINER_CLASS_BOARDER_2, 55
.set TRAINER_CLASS_COLLECTOR, 56
.set TRAINER_CLASS_WALLY, 57
.set TRAINER_CLASS_BRENDAN_1, 58
.set TRAINER_CLASS_BRENDAN_2, 59
.set TRAINER_CLASS_BRENDAN_3, 60
.set TRAINER_CLASS_MAY_1, 61
.set TRAINER_CLASS_MAY_2, 62
.set TRAINER_CLASS_MAY_3, 63
.set TRAINER_CLASS_POKEMON_BREEDER_M, 64
.set TRAINER_CLASS_POKEMON_BREEDER_F, 65
.set TRAINER_CLASS_POKEMON_RANGER_M, 66
.set TRAINER_CLASS_POKEMON_RANGER_F, 67
.set TRAINER_CLASS_MAGMA_LEADER, 68
.set TRAINER_CLASS_TEAM_MAGMA_M, 69
.set TRAINER_CLASS_TEAM_MAGMA_F, 70
.set TRAINER_CLASS_LASS, 71
.set TRAINER_CLASS_BUG_CATCHER, 72
.set TRAINER_CLASS_HIKER, 73
.set TRAINER_CLASS_YOUNG_COUPLE, 74
.set TRAINER_CLASS_OLD_COUPLE, 75
.set TRAINER_CLASS_SIS_AND_BRO, 76
.set TRAINER_PIC_BRENDAN, 0
.set TRAINER_PIC_MAY, 1
.set TRAINER_PIC_LASS, 2
.set TRAINER_PIC_YOUNGSTER, 3
.set TRAINER_PIC_HIKER, 4
.set TRAINER_PIC_BEAUTY, 5
.set TRAINER_PIC_FISHERMAN, 6
.set TRAINER_PIC_LADY, 7
.set TRAINER_PIC_CYCLING_TRIATHLETE_M, 8
.set TRAINER_PIC_AQUA_GRUNT_M, 9
.set TRAINER_PIC_TWINS, 10
.set TRAINER_PIC_SWIMMER_F, 11
.set TRAINER_PIC_BUG_CATCHER, 12
.set TRAINER_PIC_SCHOOL_KID_M, 13
.set TRAINER_PIC_RICH_BOY, 14
.set TRAINER_PIC_SR_AND_JR, 15
.set TRAINER_PIC_BLACK_BELT, 16
.set TRAINER_PIC_WALLY, 17
.set TRAINER_PIC_AQUA_GRUNT_F, 18
.set TRAINER_PIC_TUBER_F, 19
.set TRAINER_PIC_HEX_MANIAC, 20
.set TRAINER_PIC_POKEMON_BREEDER_F, 21
.set TRAINER_PIC_MAGMA_GRUNT_M, 22
.set TRAINER_PIC_MAGMA_GRUNT_F, 23
.set TRAINER_PIC_INTERVIEWER, 24
.set TRAINER_PIC_TUBER_M, 25
.set TRAINER_PIC_YOUNG_COUPLE, 26
.set TRAINER_PIC_GUITARIST, 27
.set TRAINER_PIC_GENTLEMAN, 28
.set TRAINER_PIC_STEVEN, 29
.set TRAINER_PIC_MAXIE, 30
.set TRAINER_PIC_RUNNING_TRIATHLETE_F, 31
.set TRAINER_PIC_RUNNING_TRIATHLETE_M, 32
.set TRAINER_PIC_BATTLE_GIRL, 33
.set TRAINER_PIC_CYCLING_TRIATHLETE_F, 34
.set TRAINER_PIC_SWIMMER_M, 35
.set TRAINER_PIC_POKEFAN_F, 36
.set TRAINER_PIC_EXPERT_M, 37
.set TRAINER_PIC_EXPERT_F, 38
.set TRAINER_PIC_SWIMMING_TRIATHLETE_M, 39
.set TRAINER_PIC_SWIMMING_TRIATHLETE_F, 40
.set TRAINER_PIC_DRAGON_TAMER, 41
.set TRAINER_PIC_BIRD_KEEPER, 42
.set TRAINER_PIC_NINJA_BOY, 43
.set TRAINER_PIC_PARASOL_LADY, 44
.set TRAINER_PIC_BUG_MANIAC, 45
.set TRAINER_PIC_SAILOR, 46
.set TRAINER_PIC_COLLECTOR, 47
.set TRAINER_PIC_POKEMON_BREEDER_M, 48
.set TRAINER_PIC_POKEMON_RANGER_M, 49
.set TRAINER_PIC_POKEMON_RANGER_F, 50
.set TRAINER_PIC_MAGMA_ADMIN_M, 51
.set TRAINER_PIC_MAGMA_ADMIN_F, 52
.set TRAINER_PIC_AROMA_LADY, 53
.set TRAINER_PIC_RUIN_MANIAC, 54
.set TRAINER_PIC_COOL_TRAINER_M, 55
.set TRAINER_PIC_COOL_TRAINER_F, 56
.set TRAINER_PIC_POKEMANIAC, 57
.set TRAINER_PIC_KINDLER, 58
.set TRAINER_PIC_CAMPER, 59
.set TRAINER_PIC_PICNICKER, 60
.set TRAINER_PIC_PSYCHIC_M, 61
.set TRAINER_PIC_PSYCHIC_F, 62
.set TRAINER_PIC_SCHOOL_KID_F, 63
.set TRAINER_PIC_POKEFAN_M, 64
.set TRAINER_PIC_SIS_AND_BRO, 65
.set TRAINER_PIC_OLD_COUPLE, 66
.set TRAINER_PIC_AQUA_ADMIN_M, 67
.set TRAINER_PIC_AQUA_ADMIN_F, 68
.set TRAINER_PIC_UNUSED_AQUA, 69
.set TRAINER_PIC_ARCHIE, 70
.set TRAINER_PIC_ROXANNE, 71
.set TRAINER_PIC_BRAWLY, 72
.set TRAINER_PIC_WATTSON, 73
.set TRAINER_PIC_FLANNERY, 74
.set TRAINER_PIC_NORMAN, 75
.set TRAINER_PIC_WINONA, 76
.set TRAINER_PIC_TATE_AND_LIZA, 77
.set TRAINER_PIC_WALLACE, 78
.set TRAINER_PIC_SIDNEY, 79
.set TRAINER_PIC_PHOEBE, 80
.set TRAINER_PIC_GLACIA, 81
.set TRAINER_PIC_DRAKE, 82
.set TRAINER_CLASS_NAME_POKEMON_TRAINER_1, 0
.set TRAINER_CLASS_NAME_POKEMON_TRAINER_2, 1
.set TRAINER_CLASS_NAME_AQUA_LEADER, 2
.set TRAINER_CLASS_NAME_TEAM_AQUA, 3
.set TRAINER_CLASS_NAME_AQUA_ADMIN, 4
.set TRAINER_CLASS_NAME_AROMA_LADY, 5
.set TRAINER_CLASS_NAME_RUIN_MANIAC, 6
.set TRAINER_CLASS_NAME_INTERVIEWER, 7
.set TRAINER_CLASS_NAME_TUBER_F, 8
.set TRAINER_CLASS_NAME_TUBER_M, 9
.set TRAINER_CLASS_NAME_COOL_TRAINER, 10
.set TRAINER_CLASS_NAME_HEX_MANIAC, 11
.set TRAINER_CLASS_NAME_LADY, 12
.set TRAINER_CLASS_NAME_BEAUTY, 13
.set TRAINER_CLASS_NAME_RICH_BOY, 14
.set TRAINER_CLASS_NAME_POKEMANIAC, 15
.set TRAINER_CLASS_NAME_SWIMMER_M, 16
.set TRAINER_CLASS_NAME_BLACK_BELT, 17
.set TRAINER_CLASS_NAME_GUITARIST, 18
.set TRAINER_CLASS_NAME_KINDLER, 19
.set TRAINER_CLASS_NAME_CAMPER, 20
.set TRAINER_CLASS_NAME_BUG_MANIAC, 21
.set TRAINER_CLASS_NAME_PSYCHIC, 22
.set TRAINER_CLASS_NAME_GENTLEMAN, 23
.set TRAINER_CLASS_NAME_ELITE_FOUR, 24
.set TRAINER_CLASS_NAME_LEADER, 25
.set TRAINER_CLASS_NAME_SCHOOL_KID, 26
.set TRAINER_CLASS_NAME_SR_AND_JR, 27
.set TRAINER_CLASS_NAME_WINSTRATE, 28
.set TRAINER_CLASS_NAME_POKEFAN, 29
.set TRAINER_CLASS_NAME_EXPERT, 30
.set TRAINER_CLASS_NAME_YOUNGSTER, 31
.set TRAINER_CLASS_NAME_CHAMPION, 32
.set TRAINER_CLASS_NAME_FISHERMAN, 33
.set TRAINER_CLASS_NAME_TRIATHLETE, 34
.set TRAINER_CLASS_NAME_DRAGON_TAMER, 35
.set TRAINER_CLASS_NAME_BIRD_KEEPER, 36
.set TRAINER_CLASS_NAME_NINJA_BOY, 37
.set TRAINER_CLASS_NAME_BATTLE_GIRL, 38
.set TRAINER_CLASS_NAME_PARASOL_LADY, 39
.set TRAINER_CLASS_NAME_SWIMMER_F, 40
.set TRAINER_CLASS_NAME_PICNICKER, 41
.set TRAINER_CLASS_NAME_TWINS, 42
.set TRAINER_CLASS_NAME_SAILOR, 43
.set TRAINER_CLASS_NAME_BOARDER, 44
.set TRAINER_CLASS_NAME_COLLECTOR, 45
.set TRAINER_CLASS_NAME_POKEMON_TRAINER_3, 46
.set TRAINER_CLASS_NAME_POKEMON_BREEDER, 47
.set TRAINER_CLASS_NAME_POKEMON_RANGER, 48
.set TRAINER_CLASS_NAME_MAGMA_LEADER, 49
.set TRAINER_CLASS_NAME_TEAM_MAGMA, 50
.set TRAINER_CLASS_NAME_MAGMA_ADMIN, 51
.set TRAINER_CLASS_NAME_LASS, 52
.set TRAINER_CLASS_NAME_BUG_CATCHER, 53
.set TRAINER_CLASS_NAME_HIKER, 54
.set TRAINER_CLASS_NAME_YOUNG_COUPLE, 55
.set TRAINER_CLASS_NAME_OLD_COUPLE, 56
.set TRAINER_CLASS_NAME_SIS_AND_BRO, 57
.set TRAINER_ENCOUNTER_MUSIC_MALE, 0 @ standard male encounter music
.set TRAINER_ENCOUNTER_MUSIC_FEMALE, 1 @ standard female encounter music
.set TRAINER_ENCOUNTER_MUSIC_GIRL, 2 @ used for male Tubers and Young Couples too
.set TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, 3
.set TRAINER_ENCOUNTER_MUSIC_INTENSE, 4
.set TRAINER_ENCOUNTER_MUSIC_COOL, 5
.set TRAINER_ENCOUNTER_MUSIC_AQUA, 6
.set TRAINER_ENCOUNTER_MUSIC_MAGMA, 7
.set TRAINER_ENCOUNTER_MUSIC_SWIMMER, 8
.set TRAINER_ENCOUNTER_MUSIC_TWINS, 9 @ used for other trainer classes too
.set TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, 10
.set TRAINER_ENCOUNTER_MUSIC_HIKER, 11 @ used for other trainer classes too
.set TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, 12
.set TRAINER_ENCOUNTER_MUSIC_RICH, 13 @ Rich Boys and Gentlemen
.set F_TRAINER_FEMALE, 1 << 7
@ All trainer parties specify the IV, level, and species for each Pokémon in the
@ party. Some trainer parties also specify held items and custom moves for each
@ Pokémon.
.set F_TRAINER_PARTY_CUSTOM_MOVESET, 1 << 0
.set F_TRAINER_PARTY_HELD_ITEM, 1 << 1
+18
View File
@@ -0,0 +1,18 @@
.set TYPE_NORMAL, 0x00
.set TYPE_FIGHTING, 0x01
.set TYPE_FLYING, 0x02
.set TYPE_POISON, 0x03
.set TYPE_GROUND, 0x04
.set TYPE_ROCK, 0x05
.set TYPE_BUG, 0x06
.set TYPE_GHOST, 0x07
.set TYPE_STEEL, 0x08
.set TYPE_MYSTERY, 0x09
.set TYPE_FIRE, 0x0a
.set TYPE_WATER, 0x0b
.set TYPE_GRASS, 0x0c
.set TYPE_ELECTRIC, 0x0d
.set TYPE_PSYCHIC, 0x0e
.set TYPE_ICE, 0x0f
.set TYPE_DRAGON, 0x10
.set TYPE_DARK, 0x11
+6
View File
@@ -0,0 +1,6 @@
.equiv FACING, 0x800C
.equiv RESULT, 0x800D
.equiv ITEM_ID, 0x800E
.equiv LAST_TALKED, 0x800F
.equiv CONTEST_RANK, 0x8010
.equiv CONTEST_CATEGORY, 0x8011
+91
View File
@@ -0,0 +1,91 @@
.ifdef SAPPHIRE
.equiv GAME_VERSION, 1
.else
.equiv GAME_VERSION, 2
.endif
.ifdef SAPPHIRE
.set BGM_EVIL_TEAM, BGM_AQA_0
.set BGM_GOOD_TEAM, BGM_MGM0
.else
.set BGM_EVIL_TEAM, BGM_MGM0
.set BGM_GOOD_TEAM, BGM_AQA_0
.endc
.ifdef SAPPHIRE
.set ITEM_RED_OR_BLUE_ORB, ITEM_BLUE_ORB
.else
.set ITEM_RED_OR_BLUE_ORB, ITEM_RED_ORB
.endif
.ifdef SAPPHIRE
.set SPECIES_GROUDON_OR_KYOGRE, SPECIES_KYOGRE
.else
.set SPECIES_GROUDON_OR_KYOGRE, SPECIES_GROUDON
.endif
.ifdef SAPPHIRE
.set SPECIES_LATIAS_OR_LATIOS, SPECIES_LATIOS
.else
.set SPECIES_LATIAS_OR_LATIOS, SPECIES_LATIAS
.endif
.ifdef SAPPHIRE
.set OPPONENT_PETALBURG_WOODS_GRUNT, OPPONENT_GRUNT_9
.set OPPONENT_RUSTURF_TUNNEL_GRUNT, OPPONENT_GRUNT_15
.set OPPONENT_MUSEUM_2F_GRUNT_1, OPPONENT_GRUNT_19
.set OPPONENT_MUSEUM_2F_GRUNT_2, OPPONENT_GRUNT_20
.set OPPONENT_514, OPPONENT_HECTOR_1
.set OPPONENT_MT_CHIMNEY_GRUNT_1, OPPONENT_MATT_2
.set OPPONENT_MT_CHIMNEY_GRUNT_2, OPPONENT_GRUNT_13
.set OPPONENT_HIDEOUT_1F_GRUNT, OPPONENT_GRUNT_1
.set OPPONENT_HIDEOUT_B1F_GRUNT_1, OPPONENT_GRUNT_2
.set OPPONENT_HIDEOUT_B1F_GRUNT_2, OPPONENT_GRUNT_3
.set OPPONENT_HIDEOUT_B1F_GRUNT_3, OPPONENT_GRUNT_26
.set OPPONENT_HIDEOUT_B2F_GRUNT_1, OPPONENT_MATT_1
.set OPPONENT_HIDEOUT_B2F_GRUNT_2, OPPONENT_GRUNT_4
.set OPPONENT_HIDEOUT_B2F_GRUNT_3, OPPONENT_GRUNT_27
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_1, OPPONENT_GRUNT_5
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_2, OPPONENT_GRUNT_6
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_3, OPPONENT_SHELLY_2
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_4, OPPONENT_GRUNT_7
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_5, OPPONENT_ARCHIE_2
.set OPPONENT_MT_CHIMNEY_GRUNT_3, OPPONENT_ARCHIE_3
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_1, OPPONENT_GRUNT_22
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_2, OPPONENT_GRUNT_23
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_3, OPPONENT_GRUNT_24
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_1, OPPONENT_GRUNT_16
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_2, OPPONENT_GRUNT_25
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_3, OPPONENT_GRUNT_17
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_4, OPPONENT_GRUNT_18
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_5, OPPONENT_SHELLY_1
.else
.set OPPONENT_PETALBURG_WOODS_GRUNT, OPPONENT_GRUNT_36
.set OPPONENT_RUSTURF_TUNNEL_GRUNT, OPPONENT_GRUNT_42
.set OPPONENT_MUSEUM_2F_GRUNT_1, OPPONENT_GRUNT_46
.set OPPONENT_MUSEUM_2F_GRUNT_2, OPPONENT_GRUNT_47
.set OPPONENT_514, OPPONENT_HECTOR_2
.set OPPONENT_MT_CHIMNEY_GRUNT_1, OPPONENT_TABITHA_2
.set OPPONENT_MT_CHIMNEY_GRUNT_2, OPPONENT_GRUNT_40
.set OPPONENT_HIDEOUT_1F_GRUNT, OPPONENT_GRUNT_28
.set OPPONENT_HIDEOUT_B1F_GRUNT_1, OPPONENT_GRUNT_29
.set OPPONENT_HIDEOUT_B1F_GRUNT_2, OPPONENT_GRUNT_30
.set OPPONENT_HIDEOUT_B1F_GRUNT_3, OPPONENT_GRUNT_53
.set OPPONENT_HIDEOUT_B2F_GRUNT_1, OPPONENT_TABITHA_1
.set OPPONENT_HIDEOUT_B2F_GRUNT_2, OPPONENT_GRUNT_31
.set OPPONENT_HIDEOUT_B2F_GRUNT_3, OPPONENT_GRUNT_54
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_1, OPPONENT_GRUNT_32
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_2, OPPONENT_GRUNT_33
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_3, OPPONENT_COURTNEY_2
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_4, OPPONENT_GRUNT_34
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_5, OPPONENT_MAXIE_2
.set OPPONENT_MT_CHIMNEY_GRUNT_3, OPPONENT_MAXIE_3
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_1, OPPONENT_GRUNT_49
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_2, OPPONENT_GRUNT_50
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_3, OPPONENT_GRUNT_51
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_1, OPPONENT_GRUNT_43
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_2, OPPONENT_GRUNT_52
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_3, OPPONENT_GRUNT_44
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_4, OPPONENT_GRUNT_45
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_5, OPPONENT_COURTNEY_1
.endif