diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 146fea5cc..1a6641e76 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1290,7 +1290,7 @@ .4byte \ptr .endm - .macro trygetbaddreamstarget ptr:req + .macro unused ptr:req .byte 0xfd .4byte \ptr .endm @@ -1789,9 +1789,9 @@ various BS_ATTACKER, VARIOUS_SET_Z_EFFECT .endm - .macro consumeberry battler:req, restoreItem=FALSE + .macro consumeberry battler:req, frombattler:req various \battler, VARIOUS_CONSUME_BERRY - .byte \restoreItem + .byte \frombattler .endm .macro activateitemeffects battler:req @@ -1988,6 +1988,12 @@ various \battler, VARIOUS_GET_BATTLER_SIDE .endm + .macro checkparentalbondcounter counter:req, ptr:req + various BS_ATTACKER, VARIOUS_CHECK_PARENTAL_BOND_COUNTER + .byte \counter + .4byte \ptr + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7 diff --git a/asm/macros/event.inc b/asm/macros/event.inc index c7a899eb4..49a97a247 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -469,7 +469,7 @@ formatwarp \map, \a, \b, \c .endm - @ Sets the dynamic warp destination. Warps with a destination map of MAP_NONE will target this destination. + @ Sets the dynamic warp destination. Warps with a destination map of MAP_DYNAMIC will target this destination. @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro setdynamicwarp map:req, a, b, c diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index e5f32e09a..ff407c0c4 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2987,21 +2987,26 @@ Move_MUD_BOMB: end Move_PSYCHO_CUT: - loadspritegfx ANIM_TAG_SPIRAL - loadspritegfx ANIM_TAG_PSYCHO_CUT - monbg ANIM_ATK_PARTNER + loadspritegfx ANIM_TAG_SPIRAL + loadspritegfx ANIM_TAG_PSYCHO_CUT + loadspritegfx ANIM_TAG_CROSS_IMPACT + monbg ANIM_ATK_PARTNER + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_CROSS_IMPACT, 0, 9, 9, RGB_PURPLE + createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, ANIM_ATTACKER createsprite gPsychoCutSpiralSpriteTemplate, 2, 4, 0, 0, 0, 0 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 0, 4, RGB_BLACK createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 0, 10, RGB(20, 12, 23) delay 30 - clearmonbg ANIM_ATK_PARTNER - waitforvisualfinish - monbg ANIM_TARGET - splitbgprio ANIM_TARGET - setalpha 12, 8 - playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, - createsprite gPsychoCutSpriteTemplate, 130, 5, 20, 0, -8, 0, 20 - waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + waitforvisualfinish + monbg ANIM_TARGET + splitbgprio ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, + createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 20, 0, -8, 0, 20 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1 + createsprite gCrossImpactSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 20 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 4, 0, RGB_BLACK createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 10, 0, RGB(20, 12, 23) clearmonbg ANIM_TARGET diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c3bf65edb..63719e2b6 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -51,7 +51,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectBide @ EFFECT_BIDE .4byte BattleScript_EffectRampage @ EFFECT_RAMPAGE .4byte BattleScript_EffectRoar @ EFFECT_ROAR - .4byte BattleScript_EffectMultiHit @ EFFECT_MULTI_HIT + .4byte BattleScript_EffectHit @ EFFECT_MULTI_HIT .4byte BattleScript_EffectConversion @ EFFECT_CONVERSION .4byte BattleScript_EffectFlinchHit @ EFFECT_FLINCH_HIT .4byte BattleScript_EffectRestoreHp @ EFFECT_RESTORE_HP @@ -66,11 +66,10 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectDragonRage @ EFFECT_DRAGON_RAGE .4byte BattleScript_EffectTrap @ EFFECT_TRAP .4byte BattleScript_EffectHealBlock @ EFFECT_HEAL_BLOCK - .4byte BattleScript_EffectDoubleHit @ EFFECT_DOUBLE_HIT .4byte BattleScript_EffectRecoilIfMiss @ EFFECT_RECOIL_IF_MISS .4byte BattleScript_EffectMist @ EFFECT_MIST .4byte BattleScript_EffectFocusEnergy @ EFFECT_FOCUS_ENERGY - .4byte BattleScript_EffectRecoil25 @ EFFECT_RECOIL_25 + .4byte BattleScript_EffectHit @ EFFECT_RECOIL_25 .4byte BattleScript_EffectConfuse @ EFFECT_CONFUSE .4byte BattleScript_EffectAttackUp2 @ EFFECT_ATTACK_UP_2 .4byte BattleScript_EffectDefenseUp2 @ EFFECT_DEFENSE_UP_2 @@ -99,7 +98,6 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_EVASION_DOWN_HIT .4byte BattleScript_EffectTwoTurnsAttack @ EFFECT_TWO_TURNS_ATTACK .4byte BattleScript_EffectConfuseHit @ EFFECT_CONFUSE_HIT - .4byte BattleScript_EffectTwineedle @ EFFECT_TWINEEDLE .4byte BattleScript_EffectHit @ EFFECT_VITAL_THROW .4byte BattleScript_EffectSubstitute @ EFFECT_SUBSTITUTE .4byte BattleScript_EffectRecharge @ EFFECT_RECHARGE @@ -220,7 +218,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectSnatch @ EFFECT_SNATCH .4byte BattleScript_EffectHit @ EFFECT_LOW_KICK .4byte BattleScript_EffectSecretPower @ EFFECT_SECRET_POWER - .4byte BattleScript_EffectRecoil33 @ EFFECT_RECOIL_33 + .4byte BattleScript_EffectHit @ EFFECT_RECOIL_33 .4byte BattleScript_EffectTeeterDance @ EFFECT_TEETER_DANCE .4byte BattleScript_EffectHitEscape @ EFFECT_HIT_ESCAPE .4byte BattleScript_EffectMudSport @ EFFECT_MUD_SPORT @@ -309,9 +307,9 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectGrowth @ EFFECT_GROWTH .4byte BattleScript_EffectCloseCombat @ EFFECT_CLOSE_COMBAT .4byte BattleScript_EffectLastResort @ EFFECT_LAST_RESORT - .4byte BattleScript_EffectRecoil33Status @ EFFECT_RECOIL_33_STATUS + .4byte BattleScript_EffectHit @ EFFECT_RECOIL_33_STATUS .4byte BattleScript_EffectFlinchStatus @ EFFECT_FLINCH_STATUS - .4byte BattleScript_EffectRecoil50 @ EFFECT_RECOIL_50 + .4byte BattleScript_EffectHit @ EFFECT_RECOIL_50 .4byte BattleScript_EffectShellSmash @ EFFECT_SHELL_SMASH .4byte BattleScript_EffectShiftGear @ EFFECT_SHIFT_GEAR .4byte BattleScript_EffectDefenseUp3 @ EFFECT_DEFENSE_UP_3 @@ -381,12 +379,10 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_DYNAMAX_DOUBLE_DMG .4byte BattleScript_EffectDecorate @ EFFECT_DECORATE .4byte BattleScript_EffectHit @ EFFECT_SNIPE_SHOT - .4byte BattleScript_EffectTripleHit @ EFFECT_TRIPLE_HIT .4byte BattleScript_EffectRecoilHP25 @ EFFECT_RECOIL_HP_25 .4byte BattleScript_EffectStuffCheeks @ EFFECT_STUFF_CHEEKS .4byte BattleScript_EffectDefenseDownHit @ EFFECT_GRAV_APPLE .4byte BattleScript_EffectEvasionUpHit @ EFFECT_EVASION_UP_HIT - .4byte BattleScript_EffectDoubleIronBash @ EFFECT_DOUBLE_IRON_BASH .4byte BattleScript_EffectGlitzyGlow @ EFFECT_GLITZY_GLOW .4byte BattleScript_EffectBaddyBad @ EFFECT_BADDY_BAD .4byte BattleScript_EffectSappySeed @ EFFECT_SAPPY_SEED @@ -415,6 +411,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectSteelBeam @ EFFECT_STEEL_BEAM .4byte BattleScript_EffectExtremeEvoboost @ EFFECT_EXTREME_EVOBOOST .4byte BattleScript_EffectTerrainHit @ EFFECT_DAMAGE_SET_TERRAIN + .4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID BattleScript_AffectionBasedEndurance:: playanimation BS_TARGET, B_ANIM_AFFECTION_HANGED_ON @@ -698,11 +695,11 @@ BattleScript_EffectFling: BattleScript_EffectFlingConsumeBerry: savebattleritem BS_TARGET battleritemtolastuseditem BS_TARGET - setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries + setbyte sBERRY_OVERRIDE, 1 @ override the requirements for eating berries orword gHitMarker, HITMARKER_NO_ANIMATIONS - consumeberry BS_TARGET + consumeberry BS_TARGET, TRUE bicword gHitMarker, HITMARKER_NO_ANIMATIONS - setbyte sBERRY_OVERRIDE, FALSE + setbyte sBERRY_OVERRIDE, 0 restorebattleritem BS_TARGET BattleScript_FlingEnd: tryfaintmon BS_TARGET @@ -779,9 +776,7 @@ BattleScript_EffectPhotonGeyser: BattleScript_EffectAuraWheel: @ Aura Wheel can only be used by Morpeko jumpifspecies BS_ATTACKER, SPECIES_MORPEKO, BattleScript_EffectSpeedUpHit jumpifspecies BS_ATTACKER, SPECIES_MORPEKO_HANGRY, BattleScript_EffectSpeedUpHit - printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE - waitmessage B_WAIT_TIME_LONG - goto BattleScript_MoveEnd + goto BattleScript_PokemonCantUseTheMove BattleScript_EffectClangorousSoul: attackcanceler @@ -893,9 +888,7 @@ BattleScript_BothCanNoLongerEscape:: BattleScript_EffectHyperspaceFury: jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectHyperspaceFuryUnbound jumpifspecies BS_ATTACKER, SPECIES_HOOPA, BattleScript_ButHoopaCantUseIt - printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE - waitmessage B_WAIT_TIME_LONG - goto BattleScript_MoveEnd + goto BattleScript_PokemonCantUseTheMove BattleScript_EffectHyperspaceFuryUnbound:: attackcanceler @@ -1074,16 +1067,6 @@ BattleScript_EffectGlitzyGlow: waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd -BattleScript_EffectDoubleIronBash: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - setmultihitcounter 2 - initmultihitstring - sethword sMULTIHIT_EFFECT, MOVE_EFFECT_FLINCH - goto BattleScript_MultiHitLoop - BattleScript_EffectEvasionUpHit: setmoveeffect MOVE_EFFECT_EVS_PLUS_1 | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit @@ -1096,11 +1079,12 @@ BattleScript_EffectStuffCheeks:: attackanimation waitanimation BattleScript_StuffCheeksEatBerry: - setbyte sBERRY_OVERRIDE, TRUE + setbyte sBERRY_OVERRIDE, 1 orword gHitMarker, HITMARKER_NO_ANIMATIONS - consumeberry BS_ATTACKER + consumeberry BS_ATTACKER, TRUE bicword gHitMarker, HITMARKER_NO_ANIMATIONS - setbyte sBERRY_OVERRIDE, FALSE + setbyte sBERRY_OVERRIDE, 0 + removeitem BS_ATTACKER setstatchanger STAT_DEF, 2, FALSE statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_StuffCheeksEnd setgraphicalstatchangevalues @@ -1286,28 +1270,17 @@ BattleScript_EffectBurnUp: ppreduce jumpiftype BS_ATTACKER, TYPE_FIRE, BattleScript_BurnUpWorks goto BattleScript_ButItFailed + BattleScript_BurnUpWorks: - accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + setmoveeffect MOVE_EFFECT_BURN_UP | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_BurnUpRemoveType:: losetype BS_ATTACKER, TYPE_FIRE printstring STRINGID_ATTACKERLOSTFIRETYPE waitmessage B_WAIT_TIME_LONG - tryfaintmon BS_TARGET - goto BattleScript_MoveEnd - + return + BattleScript_EffectPurify: attackcanceler attackstring @@ -1389,11 +1362,13 @@ BattleScript_MoveEffectBugBite:: printstring STRINGID_BUGBITE waitmessage B_WAIT_TIME_LONG orword gHitMarker, HITMARKER_NO_ANIMATIONS - setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries - consumeberry BS_ATTACKER, TRUE @ consume the berry, then restore the item from changedItems + setbyte sBERRY_OVERRIDE, 1 @ override the requirements for eating berries + savetarget + consumeberry BS_ATTACKER, FALSE bicword gHitMarker, HITMARKER_NO_ANIMATIONS - setbyte sBERRY_OVERRIDE, FALSE + setbyte sBERRY_OVERRIDE, 0 trysymbiosis + restoretarget return BattleScript_EffectCoreEnforcer: @@ -3026,6 +3001,7 @@ BattleScript_EffectNaturalGift: waitmessage B_WAIT_TIME_LONG seteffectwithchance jumpifmovehadnoeffect BattleScript_EffectNaturalGiftEnd + checkparentalbondcounter 2, BattleScript_EffectNaturalGiftEnd removeitem BS_ATTACKER BattleScript_EffectNaturalGiftEnd: tryfaintmon BS_TARGET @@ -3044,6 +3020,11 @@ BattleScript_MoveMissed:: waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd +BattleScript_EffectDarkVoid:: +.if B_DARK_VOID_FAIL >= GEN_7 + jumpifspecies BS_ATTACKER, SPECIES_DARKRAI, BattleScript_EffectSleep + goto BattleScript_PokemonCantUseTheMove +.endif BattleScript_EffectSleep:: attackcanceler attackstring @@ -3571,6 +3552,8 @@ BattleScript_MultiHitPrintStrings:: copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring STRINGID_HITXTIMES waitmessage B_WAIT_TIME_LONG + return + BattleScript_MultiHitEnd:: seteffectwithchance tryfaintmon BS_TARGET @@ -3789,26 +3772,6 @@ BattleScript_EffectTrap:: setmoveeffect MOVE_EFFECT_WRAP goto BattleScript_EffectHit -BattleScript_EffectTripleHit:: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - setmultihitcounter 3 - initmultihitstring - sethword sMULTIHIT_EFFECT, 0 - goto BattleScript_MultiHitLoop - -BattleScript_EffectDoubleHit:: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - setmultihitcounter 2 - initmultihitstring - sethword sMULTIHIT_EFFECT, 0 - goto BattleScript_MultiHitLoop - BattleScript_EffectRecoilIfMiss:: attackcanceler accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE @@ -4165,16 +4128,6 @@ BattleScript_EffectConfuseHit:: setmoveeffect MOVE_EFFECT_CONFUSION goto BattleScript_EffectHit -BattleScript_EffectTwineedle:: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - sethword sMULTIHIT_EFFECT, MOVE_EFFECT_POISON - attackstring - ppreduce - setmultihitcounter 2 - initmultihitstring - goto BattleScript_MultiHitLoop - BattleScript_EffectSubstitute:: attackcanceler ppreduce @@ -4520,64 +4473,16 @@ BattleScript_PartyHealEnd:: BattleScript_EffectTripleKick:: attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce - sethword sTRIPLE_KICK_POWER, 0 - initmultihitstring - setmultihit 3 -BattleScript_TripleKickLoop:: - jumpifhasnohp BS_ATTACKER, BattleScript_TripleKickEnd - jumpifhasnohp BS_TARGET, BattleScript_TripleKickNoMoreHits - jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoTripleKickAttack - jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_TripleKickNoMoreHits -BattleScript_DoTripleKickAttack:: - accuracycheck BattleScript_TripleKickNoMoreHits, ACC_CURR_MOVE - movevaluescleanup - jumpifmove MOVE_SURGING_STRIKES, EffectTripleKick_DoDmgCalcs @ no power boost each hit - jumpifmove MOVE_TRIPLE_AXEL, EffectTripleKick_TripleAxelBoost @ triple axel gets +20 power - addbyte sTRIPLE_KICK_POWER, 10 @ triple kick gets +10 power - goto EffectTripleKick_DoDmgCalcs -EffectTripleKick_TripleAxelBoost: - addbyte sTRIPLE_KICK_POWER, 20 -EffectTripleKick_DoDmgCalcs: - addbyte sTRIPLE_KICK_POWER, 10 - addbyte sMULTIHIT_STRING + 4, 1 - critcalc - damagecalc - adjustdamage - jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - printstring STRINGID_EMPTYSTRING3 - waitmessage 1 - moveendto MOVEEND_NEXT_TARGET - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings - decrementmultihit BattleScript_TripleKickLoop - goto BattleScript_TripleKickPrintStrings -BattleScript_TripleKickNoMoreHits:: - pause B_WAIT_TIME_SHORT - jumpifbyte CMP_EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickPrintStrings - bichalfword gMoveResultFlags, MOVE_RESULT_MISSED -BattleScript_TripleKickPrintStrings:: - resultmessage - waitmessage B_WAIT_TIME_LONG - jumpifbyte CMP_EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickEnd - jumpifhalfword CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_TripleKickEnd - copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 - printstring STRINGID_HITXTIMES - waitmessage B_WAIT_TIME_LONG -BattleScript_TripleKickEnd:: - seteffectwithchance - tryfaintmon BS_TARGET - moveendfrom MOVEEND_UPDATE_LAST_MOVES - end + jumpifmove MOVE_TRIPLE_AXEL BS_TripleAxel + addbyte sTRIPLE_KICK_POWER, 10 @ triple kick gets +10 power + goto BattleScript_HitFromAtkString + +BS_TripleAxel: + addbyte sTRIPLE_KICK_POWER, 20 @ triple axel gets +20 power + goto BattleScript_HitFromAtkString BattleScript_EffectThief:: setmoveeffect MOVE_EFFECT_STEAL_ITEM @@ -5217,6 +5122,7 @@ BattleScript_EffectTeleportNew: BattleScript_EffectTeleportNewEnd: goto BattleScript_MoveEnd +.if B_BEAT_UP < GEN_5 BattleScript_EffectBeatUp:: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE @@ -5249,6 +5155,13 @@ BattleScript_BeatUpAttack:: goto BattleScript_BeatUpLoop BattleScript_BeatUpEnd:: end +.else +BattleScript_EffectBeatUp:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + addbyte gBattleCommunication, 1 + goto BattleScript_HitFromAtkString +.endif BattleScript_EffectSemiInvulnerable:: jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable @@ -5411,9 +5324,11 @@ BattleScript_EffectSpitUp:: stockpiletobasedamage BattleScript_SpitUpFail goto BattleScript_HitFromAtkAnimation BattleScript_SpitUpFail:: + checkparentalbondcounter 2, BattleScript_SpitUpEnd pause B_WAIT_TIME_SHORT printstring STRINGID_FAILEDTOSPITUP waitmessage B_WAIT_TIME_LONG +BattleScript_SpitUpEnd: goto BattleScript_MoveEnd BattleScript_SpitUpFailProtect:: @@ -5898,24 +5813,6 @@ BattleScript_EffectSecretPower:: getsecretpowereffect goto BattleScript_EffectHit -BattleScript_EffectRecoil25: - setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit - incrementgamestat GAME_STAT_USED_STRUGGLE - goto BattleScript_EffectHit - -BattleScript_EffectRecoil33:: - setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - goto BattleScript_EffectHit - -BattleScript_EffectRecoil33Status: - setmoveeffect MOVE_EFFECT_RECOIL_33_STATUS | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - goto BattleScript_EffectHit - -BattleScript_EffectRecoil50: - setmoveeffect MOVE_EFFECT_RECOIL_50 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - goto BattleScript_EffectHit - BattleScript_EffectRecoilHP25: setmoveeffect MOVE_EFFECT_RECOIL_HP_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit @@ -8045,7 +7942,6 @@ BattleScript_MoveEffectConfusion:: BattleScript_MoveEffectRecoilWithStatus:: argumentstatuseffect - copyword gBattleMoveDamage, sSAVED_DMG BattleScript_MoveEffectRecoil:: jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd @@ -8467,24 +8363,33 @@ BattleScript_PsychicSurgeActivates:: call BattleScript_TerrainSeedLoop end3 -BattleScript_BadDreamsActivates:: - setbyte gBattlerTarget, 0 - call BattleScript_AbilityPopUp -BattleScript_BadDreamsLoop: - trygetbaddreamstarget BattleScript_BadDreamsEnd - dmg_1_8_targethp +BattleScript_HurtTarget_NoString: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE - printstring STRINGID_BADDREAMSDMG - waitmessage B_WAIT_TIME_LONG - jumpifability BS_TARGET, ABILITY_MAGIC_GUARD, BattleScript_BadDreamsIncrement healthbarupdate BS_TARGET datahpupdate BS_TARGET tryfaintmon BS_TARGET - checkteamslost BattleScript_BadDreamsIncrement + return + +BattleScript_BadDreamsActivates:: + call BattleScript_AbilityPopUp + setbyte sFIXED_ABILITY_POPUP, TRUE + setbyte gBattlerTarget, 0 +BattleScript_BadDreamsLoop: + jumpiftargetally BattleScript_BadDreamsIncrement + jumpifability BS_TARGET, ABILITY_MAGIC_GUARD, BattleScript_BadDreamsIncrement + jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_BadDreams_Dmg + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_BadDreams_Dmg + goto BattleScript_BadDreamsIncrement +BattleScript_BadDreams_Dmg: + printstring STRINGID_BADDREAMSDMG + waitmessage B_WAIT_TIME_LONG + dmg_1_8_targethp + call BattleScript_HurtTarget_NoString BattleScript_BadDreamsIncrement: addbyte gBattlerTarget, 1 - goto BattleScript_BadDreamsLoop + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_BadDreamsLoop BattleScript_BadDreamsEnd: + destroyabilitypopup end3 BattleScript_TookAttack:: @@ -9126,6 +9031,7 @@ BattleScript_BerryCureSlpRet:: BattleScript_GemActivates:: playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT waitanimation + setlastuseditem BS_ATTACKER printstring STRINGID_GEMACTIVATES waitmessage B_WAIT_TIME_LONG removeitem BS_ATTACKER @@ -9134,6 +9040,7 @@ BattleScript_GemActivates:: BattleScript_BerryReduceDmg:: playanimation BS_TARGET, B_ANIM_HELD_ITEM_EFFECT waitanimation + setlastuseditem BS_TARGET printstring STRINGID_TARGETATEITEM waitmessage B_WAIT_TIME_LONG removeitem BS_TARGET @@ -9382,11 +9289,15 @@ BattleScript_BerryStatRaiseRet_Anim: BattleScript_BerryStatRaiseRet_End: return -BattleScript_BerryFocusEnergyEnd2:: - playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT +BattleScript_BerryFocusEnergyRet:: + playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT printstring STRINGID_PKMNUSEDXTOGETPUMPED waitmessage B_WAIT_TIME_LONG - removeitem BS_ATTACKER + removeitem BS_SCRIPTING + return + +BattleScript_BerryFocusEnergyEnd2:: + call BattleScript_BerryFocusEnergyRet end2 BattleScript_ActionSelectionItemsCantBeUsed:: @@ -9880,3 +9791,21 @@ BattleScript_SymbiosisActivates:: printstring STRINGID_SYMBIOSISITEMPASS waitmessage B_WAIT_TIME_LONG return + +BattleScript_TargetAbilityStatRaiseRet:: + copybyte gBattlerAbility, gEffectBattler + copybyte gBattlerAttacker, gBattlerTarget + call BattleScript_AbilityPopUp + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_TargetAbilityStatRaiseRet_End + setgraphicalstatchangevalues + call BattleScript_StatUp +BattleScript_TargetAbilityStatRaiseRet_End: + return + +BattleScript_PokemonCantUseTheMove:: + attackstring + ppreduce + pause B_WAIT_TIME_SHORT + printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE + waitmessage B_WAIT_TIME_LONG + goto BattleScript_MoveEnd diff --git a/data/event_scripts.s b/data/event_scripts.s index 848a831fe..d77b9b9de 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -30,6 +30,7 @@ #include "constants/frontier_util.h" #include "constants/game_stat.h" #include "constants/item.h" +#include "constants/item_config.h" #include "constants/items.h" #include "constants/heal_locations.h" #include "constants/layouts.h" diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.json b/data/maps/AbandonedShip_CaptainsOffice/map.json index e4522dfca..3b7ee528f 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/map.json +++ b/data/maps/AbandonedShip_CaptainsOffice/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 8, "y": 6, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Corridors_1F/map.json b/data/maps/AbandonedShip_Corridors_1F/map.json index 94f42d654..f44cbe69c 100644 --- a/data/maps/AbandonedShip_Corridors_1F/map.json +++ b/data/maps/AbandonedShip_Corridors_1F/map.json @@ -47,84 +47,84 @@ "y": 11, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 8, "y": 11, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 0, "y": 11, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 11, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 11, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 11, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 14, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 3, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 2, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 5, "y": 2, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Corridors_B1F/map.json b/data/maps/AbandonedShip_Corridors_B1F/map.json index c65e58ca5..a7ce21358 100644 --- a/data/maps/AbandonedShip_Corridors_B1F/map.json +++ b/data/maps/AbandonedShip_Corridors_B1F/map.json @@ -47,56 +47,56 @@ "y": 4, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 4, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 11, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 11, "y": 4, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOM_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 0, "y": 2, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 8, "y": 2, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Deck/map.json b/data/maps/AbandonedShip_Deck/map.json index d50e015f3..8d05589d7 100644 --- a/data/maps/AbandonedShip_Deck/map.json +++ b/data/maps/AbandonedShip_Deck/map.json @@ -20,35 +20,35 @@ "y": 15, "elevation": 3, "dest_map": "MAP_ROUTE108", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 15, "elevation": 3, "dest_map": "MAP_ROUTE108", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 5, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CAPTAINS_OFFICE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json index e0cba2d6a..245e68b8d 100644 --- a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json @@ -20,42 +20,42 @@ "y": 8, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 9, "y": 8, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 6, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 9, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json index 0c6962688..dce9111eb 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json +++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json @@ -73,63 +73,63 @@ "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 21, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 22, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 36, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 37, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 21, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 36, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Room_B1F/map.json b/data/maps/AbandonedShip_Room_B1F/map.json index 537f0ec64..2a296325c 100644 --- a/data/maps/AbandonedShip_Room_B1F/map.json +++ b/data/maps/AbandonedShip_Room_B1F/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 5, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.json b/data/maps/AbandonedShip_Rooms2_1F/map.json index b85422096..32db9dcaa 100644 --- a/data/maps/AbandonedShip_Rooms2_1F/map.json +++ b/data/maps/AbandonedShip_Rooms2_1F/map.json @@ -86,21 +86,21 @@ "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 5, "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.json b/data/maps/AbandonedShip_Rooms2_B1F/map.json index 5768a9a95..d8dace774 100644 --- a/data/maps/AbandonedShip_Rooms2_B1F/map.json +++ b/data/maps/AbandonedShip_Rooms2_B1F/map.json @@ -47,28 +47,28 @@ "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 13, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Rooms_1F/map.json b/data/maps/AbandonedShip_Rooms_1F/map.json index 3fae6f96e..6c0614ac7 100644 --- a/data/maps/AbandonedShip_Rooms_1F/map.json +++ b/data/maps/AbandonedShip_Rooms_1F/map.json @@ -73,42 +73,42 @@ "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 13, "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 14, "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Rooms_B1F/map.json b/data/maps/AbandonedShip_Rooms_B1F/map.json index d69b43157..a698e0575 100644 --- a/data/maps/AbandonedShip_Rooms_B1F/map.json +++ b/data/maps/AbandonedShip_Rooms_B1F/map.json @@ -47,21 +47,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 22, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Underwater1/map.json b/data/maps/AbandonedShip_Underwater1/map.json index 7a2f9cd15..57ff86e43 100644 --- a/data/maps/AbandonedShip_Underwater1/map.json +++ b/data/maps/AbandonedShip_Underwater1/map.json @@ -20,14 +20,14 @@ "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Underwater2/map.json b/data/maps/AbandonedShip_Underwater2/map.json index 072ec34f4..5cbb058c5 100644 --- a/data/maps/AbandonedShip_Underwater2/map.json +++ b/data/maps/AbandonedShip_Underwater2/map.json @@ -20,7 +20,7 @@ "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER1", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AlteringCave/map.json b/data/maps/AlteringCave/map.json index f6b0acc10..ac40311cf 100644 --- a/data/maps/AlteringCave/map.json +++ b/data/maps/AlteringCave/map.json @@ -20,7 +20,7 @@ "y": 22, "elevation": 0, "dest_map": "MAP_ROUTE103", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AncientTomb/map.json b/data/maps/AncientTomb/map.json index 06254e1f9..0f4c37556 100644 --- a/data/maps/AncientTomb/map.json +++ b/data/maps/AncientTomb/map.json @@ -34,21 +34,21 @@ "y": 29, "elevation": 3, "dest_map": "MAP_ROUTE120", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 20, "elevation": 0, "dest_map": "MAP_ANCIENT_TOMB", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 8, "y": 11, "elevation": 3, "dest_map": "MAP_ANCIENT_TOMB", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/AquaHideout_1F/map.json b/data/maps/AquaHideout_1F/map.json index 6b9145add..4d28e5327 100644 --- a/data/maps/AquaHideout_1F/map.json +++ b/data/maps/AquaHideout_1F/map.json @@ -60,21 +60,21 @@ "y": 27, "elevation": 1, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 14, "y": 27, "elevation": 1, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 22, "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AquaHideout_B1F/map.json b/data/maps/AquaHideout_B1F/map.json index 0b4cb8317..471ffb951 100644 --- a/data/maps/AquaHideout_B1F/map.json +++ b/data/maps/AquaHideout_B1F/map.json @@ -138,175 +138,175 @@ "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 18, "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 31, "y": 4, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 27, "y": 4, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 20, "y": 4, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 27, "y": 12, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 3, "y": 15, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 3, "y": 20, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 32, "y": 19, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 23, "y": 10, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 45, "y": 3, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 42, "y": 5, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 18 + "dest_warp_id": "18" }, { "x": 45, "y": 5, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 48, "y": 5, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 16 + "dest_warp_id": "16" }, { "x": 42, "y": 9, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 45, "y": 9, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 48, "y": 9, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 42, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 24 + "dest_warp_id": "24" }, { "x": 45, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 17 + "dest_warp_id": "17" }, { "x": 48, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 42, "y": 17, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 45, "y": 17, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 17 + "dest_warp_id": "17" }, { "x": 48, "y": 17, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 19 + "dest_warp_id": "19" } ], "coord_events": [], diff --git a/data/maps/AquaHideout_B2F/map.json b/data/maps/AquaHideout_B2F/map.json index d5697bfcd..bc58b8d6b 100644 --- a/data/maps/AquaHideout_B2F/map.json +++ b/data/maps/AquaHideout_B2F/map.json @@ -99,70 +99,70 @@ "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 31, "y": 8, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 8, "y": 8, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 5, "y": 8, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 18, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 12, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 31, "y": 17, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 32, "y": 20, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [ diff --git a/data/maps/ArtisanCave_1F/map.json b/data/maps/ArtisanCave_1F/map.json index 0d315b8ee..d424b07d5 100644 --- a/data/maps/ArtisanCave_1F/map.json +++ b/data/maps/ArtisanCave_1F/map.json @@ -34,14 +34,14 @@ "y": 17, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 6, "y": 5, "elevation": 0, "dest_map": "MAP_ARTISAN_CAVE_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/ArtisanCave_B1F/map.json b/data/maps/ArtisanCave_B1F/map.json index 07a897bb9..f7b315e6e 100644 --- a/data/maps/ArtisanCave_B1F/map.json +++ b/data/maps/ArtisanCave_B1F/map.json @@ -34,14 +34,14 @@ "y": 48, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 38, "y": 5, "elevation": 0, "dest_map": "MAP_ARTISAN_CAVE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleColosseum_2P/map.json b/data/maps/BattleColosseum_2P/map.json index 3c9887a65..b6aa44b99 100644 --- a/data/maps/BattleColosseum_2P/map.json +++ b/data/maps/BattleColosseum_2P/map.json @@ -33,15 +33,15 @@ "x": 6, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 7, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/BattleColosseum_4P/map.json b/data/maps/BattleColosseum_4P/map.json index a6eddc9a8..19a4a9ef2 100644 --- a/data/maps/BattleColosseum_4P/map.json +++ b/data/maps/BattleColosseum_4P/map.json @@ -19,29 +19,29 @@ "x": 5, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 6, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 7, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 8, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/BattleFrontier_BattleArenaLobby/map.json b/data/maps/BattleFrontier_BattleArenaLobby/map.json index 27dd33317..210da8118 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/map.json +++ b/data/maps/BattleFrontier_BattleArenaLobby/map.json @@ -86,7 +86,7 @@ "y": 12, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/map.json b/data/maps/BattleFrontier_BattleDomeCorridor/map.json index 89fc022c5..5a68af443 100644 --- a/data/maps/BattleFrontier_BattleDomeCorridor/map.json +++ b/data/maps/BattleFrontier_BattleDomeCorridor/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleDomeLobby/map.json b/data/maps/BattleFrontier_BattleDomeLobby/map.json index e550bbaf5..d47bb0f2b 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/map.json +++ b/data/maps/BattleFrontier_BattleDomeLobby/map.json @@ -99,14 +99,14 @@ "y": 16, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 16, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json index eb278c10d..a175248ab 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/map.json b/data/maps/BattleFrontier_BattleFactoryLobby/map.json index f68567886..15d395fd8 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/map.json +++ b/data/maps/BattleFrontier_BattleFactoryLobby/map.json @@ -99,14 +99,14 @@ "y": 11, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 10, "y": 11, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json index 2d721ad08..a0d00b5c0 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json @@ -86,14 +86,14 @@ "y": 9, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 9, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/map.json b/data/maps/BattleFrontier_BattlePalaceCorridor/map.json index 147aac55d..e96f6d9e8 100644 --- a/data/maps/BattleFrontier_BattlePalaceCorridor/map.json +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/map.json @@ -112,28 +112,28 @@ "y": 13, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 9, "y": 13, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 3, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 3, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/map.json b/data/maps/BattleFrontier_BattlePalaceLobby/map.json index bcf3793e3..7c8ee0cd1 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/map.json +++ b/data/maps/BattleFrontier_BattlePalaceLobby/map.json @@ -99,21 +99,21 @@ "y": 11, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 11, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 4, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePikeLobby/map.json b/data/maps/BattleFrontier_BattlePikeLobby/map.json index 2ca2ce485..0faca2e94 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/map.json +++ b/data/maps/BattleFrontier_BattlePikeLobby/map.json @@ -73,21 +73,21 @@ "y": 12, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 12, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/map.json b/data/maps/BattleFrontier_BattlePyramidLobby/map.json index 56736628f..4652af274 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/map.json +++ b/data/maps/BattleFrontier_BattlePyramidLobby/map.json @@ -73,7 +73,7 @@ "y": 17, "elevation": 4, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json index 7cb154d8d..1018ebb6d 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleTowerLobby/map.json b/data/maps/BattleFrontier_BattleTowerLobby/map.json index 3135c48fe..d672f0718 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/map.json +++ b/data/maps/BattleFrontier_BattleTowerLobby/map.json @@ -138,21 +138,21 @@ "y": 9, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 9, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 1, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 40936936a..4e7284fd0 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -911,7 +911,7 @@ BattleFrontier_BattleTowerLobby_EventScript_ExitRules:: end @ Unused -BattleFrontier_BattleTowerLobby_EventScript_DirectYouToBattleRoom: +BattleFrontier_BattleTowerLobby_Text_DirectYouToBattleRoom: .string "I'll direct you to your BATTLE ROOM now.$" BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting: diff --git a/data/maps/BattleFrontier_ExchangeServiceCorner/map.json b/data/maps/BattleFrontier_ExchangeServiceCorner/map.json index 50c6a90a9..94de094bb 100644 --- a/data/maps/BattleFrontier_ExchangeServiceCorner/map.json +++ b/data/maps/BattleFrontier_ExchangeServiceCorner/map.json @@ -138,21 +138,21 @@ "y": 10, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 6, "y": 10, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 8, "y": 10, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge1/map.json b/data/maps/BattleFrontier_Lounge1/map.json index a650e3ce7..dbbe0be81 100644 --- a/data/maps/BattleFrontier_Lounge1/map.json +++ b/data/maps/BattleFrontier_Lounge1/map.json @@ -60,7 +60,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge2/map.json b/data/maps/BattleFrontier_Lounge2/map.json index 856e2d395..00411ca89 100644 --- a/data/maps/BattleFrontier_Lounge2/map.json +++ b/data/maps/BattleFrontier_Lounge2/map.json @@ -86,14 +86,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 2, "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge3/map.json b/data/maps/BattleFrontier_Lounge3/map.json index 58aee4d41..368df22b9 100644 --- a/data/maps/BattleFrontier_Lounge3/map.json +++ b/data/maps/BattleFrontier_Lounge3/map.json @@ -86,7 +86,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge4/map.json b/data/maps/BattleFrontier_Lounge4/map.json index c82c51dce..750f928c0 100644 --- a/data/maps/BattleFrontier_Lounge4/map.json +++ b/data/maps/BattleFrontier_Lounge4/map.json @@ -60,7 +60,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge5/map.json b/data/maps/BattleFrontier_Lounge5/map.json index a8650cfd6..cf8505868 100644 --- a/data/maps/BattleFrontier_Lounge5/map.json +++ b/data/maps/BattleFrontier_Lounge5/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 2, "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge6/map.json b/data/maps/BattleFrontier_Lounge6/map.json index 36027a47e..19c816253 100644 --- a/data/maps/BattleFrontier_Lounge6/map.json +++ b/data/maps/BattleFrontier_Lounge6/map.json @@ -34,7 +34,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge7/map.json b/data/maps/BattleFrontier_Lounge7/map.json index 36cf3a882..12fd7e588 100644 --- a/data/maps/BattleFrontier_Lounge7/map.json +++ b/data/maps/BattleFrontier_Lounge7/map.json @@ -73,7 +73,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge8/map.json b/data/maps/BattleFrontier_Lounge8/map.json index 0736d3b5c..7e18c9a63 100644 --- a/data/maps/BattleFrontier_Lounge8/map.json +++ b/data/maps/BattleFrontier_Lounge8/map.json @@ -60,7 +60,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 10 + "dest_warp_id": "10" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge9/map.json b/data/maps/BattleFrontier_Lounge9/map.json index d73ad0e92..2c19d35a3 100644 --- a/data/maps/BattleFrontier_Lounge9/map.json +++ b/data/maps/BattleFrontier_Lounge9/map.json @@ -34,14 +34,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 2, "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Mart/map.json b/data/maps/BattleFrontier_Mart/map.json index 10dc2cb1b..28261958a 100644 --- a/data/maps/BattleFrontier_Mart/map.json +++ b/data/maps/BattleFrontier_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_OutsideEast/map.json b/data/maps/BattleFrontier_OutsideEast/map.json index 21ae9446c..c99fe3047 100644 --- a/data/maps/BattleFrontier_OutsideEast/map.json +++ b/data/maps/BattleFrontier_OutsideEast/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", "offset": 0, - "map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST" + "direction": "left" } ], "object_events": [ @@ -365,98 +365,98 @@ "y": 14, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 39, "y": 29, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 45, "y": 56, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 58, "y": 14, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 35, "y": 12, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_RANKING_HALL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 44, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 28, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 22, "y": 51, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE6", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 65, "y": 31, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 51, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE8", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 21, "y": 45, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE9", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 51, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 28, "y": 7, "elevation": 0, "dest_map": "MAP_ARTISAN_CAVE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_OutsideWest/map.json b/data/maps/BattleFrontier_OutsideWest/map.json index e28eea22d..bcf579cf1 100644 --- a/data/maps/BattleFrontier_OutsideWest/map.json +++ b/data/maps/BattleFrontier_OutsideWest/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "right", + "map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", "offset": 0, - "map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST" + "direction": "right" } ], "object_events": [ @@ -339,77 +339,77 @@ "y": 27, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 17, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 38, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 45, "y": 44, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 51, "y": 51, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 44, "y": 5, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_SCOTTS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 53, "y": 44, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 20, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE7", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 65, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_RECEPTION_GATE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 61, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_RECEPTION_GATE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 39, "y": 55, "elevation": 0, "dest_map": "MAP_ARTISAN_CAVE_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/map.json b/data/maps/BattleFrontier_PokemonCenter_1F/map.json index b4b16ba94..b993e9277 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/map.json +++ b/data/maps/BattleFrontier_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/map.json b/data/maps/BattleFrontier_PokemonCenter_2F/map.json index cb3191649..e8bdfb2b2 100644 --- a/data/maps/BattleFrontier_PokemonCenter_2F/map.json +++ b/data/maps/BattleFrontier_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_RankingHall/map.json b/data/maps/BattleFrontier_RankingHall/map.json index 5ac9f6699..dc5fc9ce7 100644 --- a/data/maps/BattleFrontier_RankingHall/map.json +++ b/data/maps/BattleFrontier_RankingHall/map.json @@ -60,14 +60,14 @@ "y": 14, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 27, "y": 14, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_ReceptionGate/map.json b/data/maps/BattleFrontier_ReceptionGate/map.json index 44c71ccd1..12a178198 100644 --- a/data/maps/BattleFrontier_ReceptionGate/map.json +++ b/data/maps/BattleFrontier_ReceptionGate/map.json @@ -86,14 +86,14 @@ "y": 13, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 1, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_ScottsHouse/map.json b/data/maps/BattleFrontier_ScottsHouse/map.json index 74393db0b..7a6de715a 100644 --- a/data/maps/BattleFrontier_ScottsHouse/map.json +++ b/data/maps/BattleFrontier_ScottsHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 3, "y": 7, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/BirthIsland_Exterior/map.json b/data/maps/BirthIsland_Exterior/map.json index 3ee9e551d..3c5cc874c 100644 --- a/data/maps/BirthIsland_Exterior/map.json +++ b/data/maps/BirthIsland_Exterior/map.json @@ -47,7 +47,7 @@ "y": 24, "elevation": 0, "dest_map": "MAP_BIRTH_ISLAND_HARBOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BirthIsland_Harbor/map.json b/data/maps/BirthIsland_Harbor/map.json index d76ed4782..cce96bfc1 100644 --- a/data/maps/BirthIsland_Harbor/map.json +++ b/data/maps/BirthIsland_Harbor/map.json @@ -47,7 +47,7 @@ "y": 2, "elevation": 0, "dest_map": "MAP_BIRTH_ISLAND_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_1F/map.json b/data/maps/CaveOfOrigin_1F/map.json index 17da43907..292c006c2 100644 --- a/data/maps/CaveOfOrigin_1F/map.json +++ b/data/maps/CaveOfOrigin_1F/map.json @@ -20,14 +20,14 @@ "y": 17, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 5, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_B1F/map.json b/data/maps/CaveOfOrigin_B1F/map.json index 690d26055..166f79998 100644 --- a/data/maps/CaveOfOrigin_B1F/map.json +++ b/data/maps/CaveOfOrigin_B1F/map.json @@ -34,7 +34,7 @@ "y": 3, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_Entrance/map.json b/data/maps/CaveOfOrigin_Entrance/map.json index f45f47f99..ad5d8b2bb 100644 --- a/data/maps/CaveOfOrigin_Entrance/map.json +++ b/data/maps/CaveOfOrigin_Entrance/map.json @@ -20,14 +20,14 @@ "y": 20, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 9, "y": 5, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.json index 8b05ac536..ac711a04c 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.json +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 11, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json index 9a3d09810..b603bd515 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json @@ -20,14 +20,14 @@ "y": 10, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 14, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json index 9456f4012..4566a1ea5 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json @@ -20,14 +20,14 @@ "y": 14, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 6, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/DesertRuins/map.json b/data/maps/DesertRuins/map.json index c87df0dee..abbe0db10 100644 --- a/data/maps/DesertRuins/map.json +++ b/data/maps/DesertRuins/map.json @@ -34,21 +34,21 @@ "y": 29, "elevation": 3, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 20, "elevation": 0, "dest_map": "MAP_DESERT_RUINS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 8, "y": 11, "elevation": 3, "dest_map": "MAP_DESERT_RUINS", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/DesertUnderpass/map.json b/data/maps/DesertUnderpass/map.json index 20db73381..152d32a79 100644 --- a/data/maps/DesertUnderpass/map.json +++ b/data/maps/DesertUnderpass/map.json @@ -34,7 +34,7 @@ "y": 12, "elevation": 0, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/DewfordTown/map.json b/data/maps/DewfordTown/map.json index 8beb5add7..f073a7436 100644 --- a/data/maps/DewfordTown/map.json +++ b/data/maps/DewfordTown/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE106", "offset": -60, - "map": "MAP_ROUTE106" + "direction": "up" }, { - "direction": "right", + "map": "MAP_ROUTE107", "offset": 0, - "map": "MAP_ROUTE107" + "direction": "right" } ], "object_events": [ @@ -97,35 +97,35 @@ "y": 3, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_HALL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 10, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 17, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 14, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_Gym/map.json b/data/maps/DewfordTown_Gym/map.json index f28550f6e..d1ae1d7fc 100644 --- a/data/maps/DewfordTown_Gym/map.json +++ b/data/maps/DewfordTown_Gym/map.json @@ -125,14 +125,14 @@ "y": 27, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 27, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_Hall/map.json b/data/maps/DewfordTown_Hall/map.json index 24cde4ea1..9489a3d1e 100644 --- a/data/maps/DewfordTown_Hall/map.json +++ b/data/maps/DewfordTown_Hall/map.json @@ -138,14 +138,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_House1/map.json b/data/maps/DewfordTown_House1/map.json index fd53469b9..57e1909f4 100644 --- a/data/maps/DewfordTown_House1/map.json +++ b/data/maps/DewfordTown_House1/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_House2/map.json b/data/maps/DewfordTown_House2/map.json index 4384f3767..63e9e42ba 100644 --- a/data/maps/DewfordTown_House2/map.json +++ b/data/maps/DewfordTown_House2/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_PokemonCenter_1F/map.json b/data/maps/DewfordTown_PokemonCenter_1F/map.json index 131c93092..5e5c7b93e 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/map.json +++ b/data/maps/DewfordTown_PokemonCenter_1F/map.json @@ -60,21 +60,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_PokemonCenter_2F/map.json b/data/maps/DewfordTown_PokemonCenter_2F/map.json index 56add5053..8fd655abf 100644 --- a/data/maps/DewfordTown_PokemonCenter_2F/map.json +++ b/data/maps/DewfordTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity/map.json b/data/maps/EverGrandeCity/map.json index 9db9c8feb..58978b7ff 100644 --- a/data/maps/EverGrandeCity/map.json +++ b/data/maps/EverGrandeCity/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE128", "offset": 40, - "map": "MAP_ROUTE128" + "direction": "left" } ], "object_events": [], @@ -26,28 +26,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 27, "y": 48, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 41, "elevation": 0, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 27, "elevation": 0, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/EverGrandeCity_ChampionsRoom/map.json b/data/maps/EverGrandeCity_ChampionsRoom/map.json index 34fb96e46..305a1f16f 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/map.json +++ b/data/maps/EverGrandeCity_ChampionsRoom/map.json @@ -60,14 +60,14 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL4", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL_OF_FAME", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_DrakesRoom/map.json b/data/maps/EverGrandeCity_DrakesRoom/map.json index b7bcd4966..249e244d0 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/map.json +++ b/data/maps/EverGrandeCity_DrakesRoom/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL3", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL4", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_GlaciasRoom/map.json b/data/maps/EverGrandeCity_GlaciasRoom/map.json index 86a840d13..fd861a55b 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/map.json +++ b/data/maps/EverGrandeCity_GlaciasRoom/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL2", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall1/map.json b/data/maps/EverGrandeCity_Hall1/map.json index 426b9f6e4..7e430832e 100644 --- a/data/maps/EverGrandeCity_Hall1/map.json +++ b/data/maps/EverGrandeCity_Hall1/map.json @@ -20,28 +20,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall2/map.json b/data/maps/EverGrandeCity_Hall2/map.json index 3535734e9..3ff291251 100644 --- a/data/maps/EverGrandeCity_Hall2/map.json +++ b/data/maps/EverGrandeCity_Hall2/map.json @@ -20,28 +20,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall3/map.json b/data/maps/EverGrandeCity_Hall3/map.json index b7fe8f4ec..a12fe19b3 100644 --- a/data/maps/EverGrandeCity_Hall3/map.json +++ b/data/maps/EverGrandeCity_Hall3/map.json @@ -20,28 +20,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_DRAKES_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall4/map.json b/data/maps/EverGrandeCity_Hall4/map.json index b0501cd38..09cf73961 100644 --- a/data/maps/EverGrandeCity_Hall4/map.json +++ b/data/maps/EverGrandeCity_Hall4/map.json @@ -20,14 +20,14 @@ "y": 33, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_DRAKES_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall5/map.json b/data/maps/EverGrandeCity_Hall5/map.json index 1f6705f3a..b63907630 100644 --- a/data/maps/EverGrandeCity_Hall5/map.json +++ b/data/maps/EverGrandeCity_Hall5/map.json @@ -20,28 +20,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_HallOfFame/map.json b/data/maps/EverGrandeCity_HallOfFame/map.json index e09190eb9..82219dfd4 100644 --- a/data/maps/EverGrandeCity_HallOfFame/map.json +++ b/data/maps/EverGrandeCity_HallOfFame/map.json @@ -34,7 +34,7 @@ "y": 11, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PhoebesRoom/map.json b/data/maps/EverGrandeCity_PhoebesRoom/map.json index 09c6dd40e..7fdc61651 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/map.json +++ b/data/maps/EverGrandeCity_PhoebesRoom/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL1", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json index 196ebd0f2..a146dc11a 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json index b734f9ad5..c20b8a732 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json index f76febc01..6dd97c0b7 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json @@ -73,35 +73,35 @@ "y": 11, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 11, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 7, "elevation": 4, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json index a4b5cb1f2..e271becd6 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_SidneysRoom/map.json b/data/maps/EverGrandeCity_SidneysRoom/map.json index dc84d36d6..dfe6fe36c 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/map.json +++ b/data/maps/EverGrandeCity_SidneysRoom/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL5", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL1", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FallarborTown/map.json b/data/maps/FallarborTown/map.json index 74355a870..4888640a5 100644 --- a/data/maps/FallarborTown/map.json +++ b/data/maps/FallarborTown/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE114", "offset": 0, - "map": "MAP_ROUTE114" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE113", "offset": 0, - "map": "MAP_ROUTE113" + "direction": "right" } ], "object_events": [ @@ -84,35 +84,35 @@ "y": 15, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 17, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_COZMOS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_BattleTentLobby/map.json b/data/maps/FallarborTown_BattleTentLobby/map.json index a796a3f10..b8f274df3 100644 --- a/data/maps/FallarborTown_BattleTentLobby/map.json +++ b/data/maps/FallarborTown_BattleTentLobby/map.json @@ -86,14 +86,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 9, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_CozmosHouse/map.json b/data/maps/FallarborTown_CozmosHouse/map.json index a7ae1f90d..a9986b6df 100644 --- a/data/maps/FallarborTown_CozmosHouse/map.json +++ b/data/maps/FallarborTown_CozmosHouse/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_Mart/map.json b/data/maps/FallarborTown_Mart/map.json index 77c5df976..c72605a36 100644 --- a/data/maps/FallarborTown_Mart/map.json +++ b/data/maps/FallarborTown_Mart/map.json @@ -86,14 +86,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_MoveRelearnersHouse/map.json b/data/maps/FallarborTown_MoveRelearnersHouse/map.json index ce3f3a3dd..947967720 100644 --- a/data/maps/FallarborTown_MoveRelearnersHouse/map.json +++ b/data/maps/FallarborTown_MoveRelearnersHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_PokemonCenter_1F/map.json b/data/maps/FallarborTown_PokemonCenter_1F/map.json index cb0690829..93204a215 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/map.json +++ b/data/maps/FallarborTown_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_PokemonCenter_2F/map.json b/data/maps/FallarborTown_PokemonCenter_2F/map.json index ada498a42..94f56ecb4 100644 --- a/data/maps/FallarborTown_PokemonCenter_2F/map.json +++ b/data/maps/FallarborTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FarawayIsland_Entrance/map.json b/data/maps/FarawayIsland_Entrance/map.json index d3c6056a0..bd42f1295 100644 --- a/data/maps/FarawayIsland_Entrance/map.json +++ b/data/maps/FarawayIsland_Entrance/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 3, "dest_map": "MAP_FARAWAY_ISLAND_INTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 23, "y": 7, "elevation": 3, "dest_map": "MAP_FARAWAY_ISLAND_INTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ @@ -63,7 +63,7 @@ "x": 9, "y": 18, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "FarawayIsland_Entrance_EventScript_SetCloudsWeather" }, @@ -72,7 +72,7 @@ "x": 10, "y": 20, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "FarawayIsland_Entrance_EventScript_ClearWeather" }, @@ -81,7 +81,7 @@ "x": 22, "y": 9, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "FarawayIsland_Entrance_EventScript_SetCloudsWeather" } diff --git a/data/maps/FarawayIsland_Interior/map.json b/data/maps/FarawayIsland_Interior/map.json index 1ec092fbe..14850995c 100644 --- a/data/maps/FarawayIsland_Interior/map.json +++ b/data/maps/FarawayIsland_Interior/map.json @@ -34,14 +34,14 @@ "y": 19, "elevation": 0, "dest_map": "MAP_FARAWAY_ISLAND_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 19, "elevation": 0, "dest_map": "MAP_FARAWAY_ISLAND_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/FieryPath/map.json b/data/maps/FieryPath/map.json index ef11990d8..38b9aff75 100644 --- a/data/maps/FieryPath/map.json +++ b/data/maps/FieryPath/map.json @@ -125,14 +125,14 @@ "y": 36, "elevation": 3, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 26, "y": 4, "elevation": 3, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/FortreeCity/map.json b/data/maps/FortreeCity/map.json index fd23e6ffd..007d8b22d 100644 --- a/data/maps/FortreeCity/map.json +++ b/data/maps/FortreeCity/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE119", "offset": 0, - "map": "MAP_ROUTE119" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE120", "offset": 0, - "map": "MAP_ROUTE120" + "direction": "right" } ], "object_events": [ @@ -123,63 +123,63 @@ "y": 6, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 3, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 22, "y": 11, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 14, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 3, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 25, "y": 3, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 32, "y": 2, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 13, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 37, "y": 13, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_DECORATION_SHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_DecorationShop/map.json b/data/maps/FortreeCity_DecorationShop/map.json index 59b707a95..3c6d2f34d 100644 --- a/data/maps/FortreeCity_DecorationShop/map.json +++ b/data/maps/FortreeCity_DecorationShop/map.json @@ -73,14 +73,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_Gym/map.json b/data/maps/FortreeCity_Gym/map.json index 0db326d07..0796912dd 100644 --- a/data/maps/FortreeCity_Gym/map.json +++ b/data/maps/FortreeCity_Gym/map.json @@ -125,14 +125,14 @@ "y": 24, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 16, "y": 24, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House1/map.json b/data/maps/FortreeCity_House1/map.json index cef203093..5013cbd65 100644 --- a/data/maps/FortreeCity_House1/map.json +++ b/data/maps/FortreeCity_House1/map.json @@ -60,14 +60,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House2/map.json b/data/maps/FortreeCity_House2/map.json index fed6a9f65..26d666a55 100644 --- a/data/maps/FortreeCity_House2/map.json +++ b/data/maps/FortreeCity_House2/map.json @@ -47,14 +47,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House3/map.json b/data/maps/FortreeCity_House3/map.json index f7c47ede1..b305190df 100644 --- a/data/maps/FortreeCity_House3/map.json +++ b/data/maps/FortreeCity_House3/map.json @@ -47,14 +47,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House4/map.json b/data/maps/FortreeCity_House4/map.json index a01772eea..8123d2c4d 100644 --- a/data/maps/FortreeCity_House4/map.json +++ b/data/maps/FortreeCity_House4/map.json @@ -60,14 +60,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House5/map.json b/data/maps/FortreeCity_House5/map.json index b1577e648..b76a869f5 100644 --- a/data/maps/FortreeCity_House5/map.json +++ b/data/maps/FortreeCity_House5/map.json @@ -60,14 +60,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_Mart/map.json b/data/maps/FortreeCity_Mart/map.json index 61ab4cefd..27a82e69f 100644 --- a/data/maps/FortreeCity_Mart/map.json +++ b/data/maps/FortreeCity_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_PokemonCenter_1F/map.json b/data/maps/FortreeCity_PokemonCenter_1F/map.json index d59349033..e28907ad4 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/map.json +++ b/data/maps/FortreeCity_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_PokemonCenter_2F/map.json b/data/maps/FortreeCity_PokemonCenter_2F/map.json index 1859bf131..8635a5320 100644 --- a/data/maps/FortreeCity_PokemonCenter_2F/map.json +++ b/data/maps/FortreeCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/GraniteCave_1F/map.json b/data/maps/GraniteCave_1F/map.json index ff60d726b..c254c4b00 100644 --- a/data/maps/GraniteCave_1F/map.json +++ b/data/maps/GraniteCave_1F/map.json @@ -47,28 +47,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_ROUTE106", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 35, "y": 3, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 11, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 10, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_STEVENS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/GraniteCave_B1F/map.json b/data/maps/GraniteCave_B1F/map.json index be2f5ae01..8c6a112a6 100644 --- a/data/maps/GraniteCave_B1F/map.json +++ b/data/maps/GraniteCave_B1F/map.json @@ -34,49 +34,49 @@ "y": 13, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 21, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 29, "y": 13, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 28, "y": 21, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 5, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 3, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 29, "y": 2, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/GraniteCave_B2F/map.json b/data/maps/GraniteCave_B2F/map.json index bf58a40e3..e3748ee4b 100644 --- a/data/maps/GraniteCave_B2F/map.json +++ b/data/maps/GraniteCave_B2F/map.json @@ -138,35 +138,35 @@ "y": 13, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 28, "y": 21, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 8, "y": 5, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 12, "y": 3, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 29, "y": 2, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/GraniteCave_StevensRoom/map.json b/data/maps/GraniteCave_StevensRoom/map.json index 070530378..280af56c8 100644 --- a/data/maps/GraniteCave_StevensRoom/map.json +++ b/data/maps/GraniteCave_StevensRoom/map.json @@ -34,7 +34,7 @@ "y": 3, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/InsideOfTruck/map.json b/data/maps/InsideOfTruck/map.json index 0ddc579fc..4b027853a 100644 --- a/data/maps/InsideOfTruck/map.json +++ b/data/maps/InsideOfTruck/map.json @@ -59,22 +59,22 @@ "x": 4, "y": 1, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 4, "y": 2, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 4, "y": 3, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/IslandCave/map.json b/data/maps/IslandCave/map.json index 7c540411f..b8518ac94 100644 --- a/data/maps/IslandCave/map.json +++ b/data/maps/IslandCave/map.json @@ -34,21 +34,21 @@ "y": 29, "elevation": 3, "dest_map": "MAP_ROUTE105", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 20, "elevation": 0, "dest_map": "MAP_ISLAND_CAVE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 8, "y": 11, "elevation": 3, "dest_map": "MAP_ISLAND_CAVE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/JaggedPass/map.json b/data/maps/JaggedPass/map.json index d7e7d5e2e..ba4cdf3e0 100644 --- a/data/maps/JaggedPass/map.json +++ b/data/maps/JaggedPass/map.json @@ -112,35 +112,35 @@ "y": 40, "elevation": 3, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 15, "y": 40, "elevation": 3, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 13, "y": 5, "elevation": 3, "dest_map": "MAP_MT_CHIMNEY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 14, "y": 5, "elevation": 3, "dest_map": "MAP_MT_CHIMNEY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 16, "y": 18, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LavaridgeTown/map.json b/data/maps/LavaridgeTown/map.json index 54bda6ca3..ecf7c5b9f 100644 --- a/data/maps/LavaridgeTown/map.json +++ b/data/maps/LavaridgeTown/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "right", + "map": "MAP_ROUTE112", "offset": -40, - "map": "MAP_ROUTE112" + "direction": "right" } ], "object_events": [ @@ -144,42 +144,42 @@ "y": 15, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_HERB_SHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 15, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 5, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 6, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 15, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [ @@ -188,7 +188,7 @@ "x": 6, "y": 3, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "LavaridgeTown_EventScript_HotSpringsTrigger" } diff --git a/data/maps/LavaridgeTown_Gym_1F/map.json b/data/maps/LavaridgeTown_Gym_1F/map.json index 2f624a2f9..dc30c6ea9 100644 --- a/data/maps/LavaridgeTown_Gym_1F/map.json +++ b/data/maps/LavaridgeTown_Gym_1F/map.json @@ -99,182 +99,182 @@ "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 10, "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 9, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 0, "y": 17, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 9, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 2, "y": 15, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 3, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 1, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 0, "y": 10, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 3, "y": 10, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 0, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 3, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 5, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 2, "y": 3, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 14 + "dest_warp_id": "14" }, { "x": 5, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 7, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 16 + "dest_warp_id": "16" }, { "x": 8, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 17 + "dest_warp_id": "17" }, { "x": 10, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 18 + "dest_warp_id": "18" }, { "x": 4, "y": 16, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 12, "y": 3, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 19 + "dest_warp_id": "19" }, { "x": 14, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 21 + "dest_warp_id": "21" }, { "x": 13, "y": 17, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 12, "y": 12, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 23 + "dest_warp_id": "23" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.json b/data/maps/LavaridgeTown_Gym_B1F/map.json index bbcdbcbe1..b90802b17 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/map.json +++ b/data/maps/LavaridgeTown_Gym_B1F/map.json @@ -73,168 +73,168 @@ "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 0, "y": 17, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 8, "y": 9, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 5, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 9, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 2, "y": 15, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 3, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 1, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 0, "y": 10, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 3, "y": 10, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 0, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 3, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 14 + "dest_warp_id": "14" }, { "x": 5, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 2, "y": 3, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 16 + "dest_warp_id": "16" }, { "x": 5, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 17 + "dest_warp_id": "17" }, { "x": 7, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 18 + "dest_warp_id": "18" }, { "x": 8, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 19 + "dest_warp_id": "19" }, { "x": 10, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 12, "y": 3, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 4, "y": 16, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 21 + "dest_warp_id": "21" }, { "x": 14, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 23 + "dest_warp_id": "23" }, { "x": 13, "y": 17, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 24 + "dest_warp_id": "24" }, { "x": 12, "y": 12, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 25 + "dest_warp_id": "25" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_HerbShop/map.json b/data/maps/LavaridgeTown_HerbShop/map.json index 6be35b729..7a3d8f0e1 100644 --- a/data/maps/LavaridgeTown_HerbShop/map.json +++ b/data/maps/LavaridgeTown_HerbShop/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_House/map.json b/data/maps/LavaridgeTown_House/map.json index 2a8d5362c..a45ac0e7f 100644 --- a/data/maps/LavaridgeTown_House/map.json +++ b/data/maps/LavaridgeTown_House/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_Mart/map.json b/data/maps/LavaridgeTown_Mart/map.json index 5c871785d..82078a382 100644 --- a/data/maps/LavaridgeTown_Mart/map.json +++ b/data/maps/LavaridgeTown_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json index 42cf11aed..8cbeae092 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json @@ -73,28 +73,28 @@ "y": 8, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json index 72a5f688b..2a7ce1551 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity/map.json b/data/maps/LilycoveCity/map.json index a13904ca9..398cf219e 100644 --- a/data/maps/LilycoveCity/map.json +++ b/data/maps/LilycoveCity/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE121", "offset": 10, - "map": "MAP_ROUTE121" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE124", "offset": -10, - "map": "MAP_ROUTE124" + "direction": "right" } ], "object_events": [ @@ -318,98 +318,98 @@ "y": 6, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 37, "y": 24, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 24, "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 5, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 23, "y": 24, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 39, "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 70, "y": 5, "elevation": 1, "dest_map": "MAP_AQUA_HIDEOUT_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 36, "y": 6, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 42, "y": 6, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 55, "y": 15, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 22, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HOUSE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HARBOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 5, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_ContestHall/map.json b/data/maps/LilycoveCity_ContestHall/map.json index e8151c832..a55d21498 100644 --- a/data/maps/LilycoveCity_ContestHall/map.json +++ b/data/maps/LilycoveCity_ContestHall/map.json @@ -437,28 +437,28 @@ "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 30, "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 20, "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 31, "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_ContestLobby/map.json b/data/maps/LilycoveCity_ContestLobby/map.json index ac5346dc4..276b5a6c2 100644 --- a/data/maps/LilycoveCity_ContestLobby/map.json +++ b/data/maps/LilycoveCity_ContestLobby/map.json @@ -346,28 +346,28 @@ "y": 11, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 15, "y": 11, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 9, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_HALL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 21, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_HALL", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json index 4b18e22c1..098b53336 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json @@ -34,21 +34,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json index 0edd978fd..10333f1b4 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json @@ -112,7 +112,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json index 9a3c43308..b9bd8305b 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json @@ -33,15 +33,15 @@ "x": 1, "y": 5, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 2, "y": 5, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json index deb7ad044..c1f2a619f 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json @@ -73,7 +73,7 @@ "y": 3, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/map.json b/data/maps/LilycoveCity_DepartmentStore_1F/map.json index 758e063f6..951777f8f 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_1F/map.json @@ -99,28 +99,28 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/map.json b/data/maps/LilycoveCity_DepartmentStore_2F/map.json index ebef46ae5..e31ceb56e 100644 --- a/data/maps/LilycoveCity_DepartmentStore_2F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_2F/map.json @@ -86,21 +86,21 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/map.json b/data/maps/LilycoveCity_DepartmentStore_3F/map.json index c911b9d26..01bad861c 100644 --- a/data/maps/LilycoveCity_DepartmentStore_3F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_3F/map.json @@ -86,21 +86,21 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 16, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/map.json b/data/maps/LilycoveCity_DepartmentStore_4F/map.json index c6291ec2c..e4b14a770 100644 --- a/data/maps/LilycoveCity_DepartmentStore_4F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_4F/map.json @@ -86,21 +86,21 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/map.json b/data/maps/LilycoveCity_DepartmentStore_5F/map.json index 6123c1c78..e816d3f21 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_5F/map.json @@ -112,21 +112,21 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_Harbor/map.json b/data/maps/LilycoveCity_Harbor/map.json index 491d42624..06d49e0c8 100644 --- a/data/maps/LilycoveCity_Harbor/map.json +++ b/data/maps/LilycoveCity_Harbor/map.json @@ -86,14 +86,14 @@ "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 12, "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 12 + "dest_warp_id": "12" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_House1/map.json b/data/maps/LilycoveCity_House1/map.json index cbd7cdbdf..d2b258652 100644 --- a/data/maps/LilycoveCity_House1/map.json +++ b/data/maps/LilycoveCity_House1/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_House2/map.json b/data/maps/LilycoveCity_House2/map.json index 5c208c852..3e5e6ce2b 100644 --- a/data/maps/LilycoveCity_House2/map.json +++ b/data/maps/LilycoveCity_House2/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 3, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_House3/map.json b/data/maps/LilycoveCity_House3/map.json index 0331372c9..bba3bf205 100644 --- a/data/maps/LilycoveCity_House3/map.json +++ b/data/maps/LilycoveCity_House3/map.json @@ -99,14 +99,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_House4/map.json b/data/maps/LilycoveCity_House4/map.json index 7a1571abf..21d2880cc 100644 --- a/data/maps/LilycoveCity_House4/map.json +++ b/data/maps/LilycoveCity_House4/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json index 09875fddc..1710e0df8 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json @@ -151,21 +151,21 @@ "y": 13, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 10, "y": 13, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 16, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json index 76d30eb68..83fe63aab 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json @@ -73,7 +73,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/map.json b/data/maps/LilycoveCity_MoveDeletersHouse/map.json index 814719a9c..29c6f3636 100644 --- a/data/maps/LilycoveCity_MoveDeletersHouse/map.json +++ b/data/maps/LilycoveCity_MoveDeletersHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/map.json b/data/maps/LilycoveCity_PokemonCenter_1F/map.json index daaec1191..595b5af54 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/map.json +++ b/data/maps/LilycoveCity_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/map.json b/data/maps/LilycoveCity_PokemonCenter_2F/map.json index b9c8e1302..89c7e385f 100644 --- a/data/maps/LilycoveCity_PokemonCenter_2F/map.json +++ b/data/maps/LilycoveCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json index 7d5c42034..ccd988bf3 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json @@ -138,14 +138,14 @@ "y": 13, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 5, "y": 13, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_UnusedMart/map.json b/data/maps/LilycoveCity_UnusedMart/map.json index 696674bf1..a1eba6f4e 100644 --- a/data/maps/LilycoveCity_UnusedMart/map.json +++ b/data/maps/LilycoveCity_UnusedMart/map.json @@ -20,14 +20,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LittlerootTown/map.json b/data/maps/LittlerootTown/map.json index 5335dd66e..8311ffaa3 100644 --- a/data/maps/LittlerootTown/map.json +++ b/data/maps/LittlerootTown/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE101", "offset": 0, - "map": "MAP_ROUTE101" + "direction": "up" } ], "object_events": [ @@ -131,21 +131,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 16, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/map.json b/data/maps/LittlerootTown_BrendansHouse_1F/map.json index 3929b2e0c..23b1bf28c 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/map.json +++ b/data/maps/LittlerootTown_BrendansHouse_1F/map.json @@ -112,21 +112,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 2, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/map.json b/data/maps/LittlerootTown_BrendansHouse_2F/map.json index c938aaae2..e9b6834ee 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/map.json +++ b/data/maps/LittlerootTown_BrendansHouse_2F/map.json @@ -229,7 +229,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LittlerootTown_MaysHouse_1F/map.json b/data/maps/LittlerootTown_MaysHouse_1F/map.json index 739665181..4e4887003 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/map.json +++ b/data/maps/LittlerootTown_MaysHouse_1F/map.json @@ -112,21 +112,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 2, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LittlerootTown_MaysHouse_2F/map.json b/data/maps/LittlerootTown_MaysHouse_2F/map.json index 080eb0fe5..ce3a5f570 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/map.json +++ b/data/maps/LittlerootTown_MaysHouse_2F/map.json @@ -229,7 +229,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json index deee3e264..d97c026bd 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json @@ -99,14 +99,14 @@ "y": 12, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 7, "y": 12, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json index fe5513e3f..ad36acca3 100644 --- a/data/maps/MagmaHideout_1F/map.json +++ b/data/maps/MagmaHideout_1F/map.json @@ -99,28 +99,28 @@ "y": 34, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 25, "y": 34, "elevation": 3, "dest_map": "MAP_MAGMA_HIDEOUT_2F_1R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 31, "y": 3, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_2R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 20, "y": 22, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_3R", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_2F_1R/map.json b/data/maps/MagmaHideout_2F_1R/map.json index a5c52683c..4a173b31a 100644 --- a/data/maps/MagmaHideout_2F_1R/map.json +++ b/data/maps/MagmaHideout_2F_1R/map.json @@ -73,21 +73,21 @@ "y": 23, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_2R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 2, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 17, "y": 33, "elevation": 3, "dest_map": "MAP_MAGMA_HIDEOUT_3F_1R", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_2F_2R/map.json b/data/maps/MagmaHideout_2F_2R/map.json index 968c07fb7..a5f79b3e9 100644 --- a/data/maps/MagmaHideout_2F_2R/map.json +++ b/data/maps/MagmaHideout_2F_2R/map.json @@ -99,14 +99,14 @@ "y": 22, "elevation": 3, "dest_map": "MAP_MAGMA_HIDEOUT_2F_1R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 36, "y": 4, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_2F_3R/map.json b/data/maps/MagmaHideout_2F_3R/map.json index 51a4daf26..40cbc1994 100644 --- a/data/maps/MagmaHideout_2F_3R/map.json +++ b/data/maps/MagmaHideout_2F_3R/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 16, "y": 13, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_3R", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_3F_1R/map.json b/data/maps/MagmaHideout_3F_1R/map.json index edf4cfa21..48dd16844 100644 --- a/data/maps/MagmaHideout_3F_1R/map.json +++ b/data/maps/MagmaHideout_3F_1R/map.json @@ -60,21 +60,21 @@ "y": 21, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 21, "y": 9, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_2R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 23, "y": 3, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_1R", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_3F_2R/map.json b/data/maps/MagmaHideout_3F_2R/map.json index 70c6bfb97..51ad53545 100644 --- a/data/maps/MagmaHideout_3F_2R/map.json +++ b/data/maps/MagmaHideout_3F_2R/map.json @@ -47,7 +47,7 @@ "y": 15, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_1R", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_3F_3R/map.json b/data/maps/MagmaHideout_3F_3R/map.json index 824f5cb74..c3e7f3241 100644 --- a/data/maps/MagmaHideout_3F_3R/map.json +++ b/data/maps/MagmaHideout_3F_3R/map.json @@ -34,14 +34,14 @@ "y": 1, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_3R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 16, "y": 21, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_4F/map.json b/data/maps/MagmaHideout_4F/map.json index 67c11481f..d426affde 100644 --- a/data/maps/MagmaHideout_4F/map.json +++ b/data/maps/MagmaHideout_4F/map.json @@ -125,14 +125,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_1R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 20, "y": 21, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_3R", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MarineCave_End/map.json b/data/maps/MarineCave_End/map.json index 0beeb7a4c..3430b2da0 100644 --- a/data/maps/MarineCave_End/map.json +++ b/data/maps/MarineCave_End/map.json @@ -34,7 +34,7 @@ "y": 4, "elevation": 0, "dest_map": "MAP_MARINE_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/MarineCave_Entrance/map.json b/data/maps/MarineCave_Entrance/map.json index f815ca069..d15583dac 100644 --- a/data/maps/MarineCave_Entrance/map.json +++ b/data/maps/MarineCave_Entrance/map.json @@ -20,7 +20,7 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MARINE_CAVE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json index cf3d5f8a1..f4da4222b 100644 --- a/data/maps/MauvilleCity/map.json +++ b/data/maps/MauvilleCity/map.json @@ -14,24 +14,24 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE111", "offset": 0, - "map": "MAP_ROUTE111" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE110", "offset": 0, - "map": "MAP_ROUTE110" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE117", "offset": 0, - "map": "MAP_ROUTE117" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE118", "offset": 0, - "map": "MAP_ROUTE118" + "direction": "right" } ], "object_events": [ @@ -185,49 +185,49 @@ "y": 5, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 22, "y": 5, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 35, "y": 5, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_BIKE_SHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 23, "y": 14, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 32, "y": 14, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 13, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_GAME_CORNER", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 14, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_BikeShop/map.json b/data/maps/MauvilleCity_BikeShop/map.json index 217d3be26..7c9a68414 100644 --- a/data/maps/MauvilleCity_BikeShop/map.json +++ b/data/maps/MauvilleCity_BikeShop/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_GameCorner/map.json b/data/maps/MauvilleCity_GameCorner/map.json index 2564596ba..7fc434b05 100644 --- a/data/maps/MauvilleCity_GameCorner/map.json +++ b/data/maps/MauvilleCity_GameCorner/map.json @@ -177,14 +177,14 @@ "y": 10, "elevation": 3, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 12, "y": 10, "elevation": 3, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_Gym/map.json b/data/maps/MauvilleCity_Gym/map.json index 2451c6cd6..53c1f26bd 100644 --- a/data/maps/MauvilleCity_Gym/map.json +++ b/data/maps/MauvilleCity_Gym/map.json @@ -112,14 +112,14 @@ "y": 20, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 20, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/MauvilleCity_House1/map.json b/data/maps/MauvilleCity_House1/map.json index 019ae6f09..4b134d6ee 100644 --- a/data/maps/MauvilleCity_House1/map.json +++ b/data/maps/MauvilleCity_House1/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_House2/map.json b/data/maps/MauvilleCity_House2/map.json index 009befbab..83cca3a17 100644 --- a/data/maps/MauvilleCity_House2/map.json +++ b/data/maps/MauvilleCity_House2/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_Mart/map.json b/data/maps/MauvilleCity_Mart/map.json index ee4091ee1..53ab6ce22 100644 --- a/data/maps/MauvilleCity_Mart/map.json +++ b/data/maps/MauvilleCity_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/map.json b/data/maps/MauvilleCity_PokemonCenter_1F/map.json index 9feb04be9..1b0a401b8 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/map.json +++ b/data/maps/MauvilleCity_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/map.json b/data/maps/MauvilleCity_PokemonCenter_2F/map.json index 3f616938b..96cd6007a 100644 --- a/data/maps/MauvilleCity_PokemonCenter_2F/map.json +++ b/data/maps/MauvilleCity_PokemonCenter_2F/map.json @@ -86,21 +86,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json index 145289ce7..71f1d1cc5 100644 --- a/data/maps/MeteorFalls_1F_1R/map.json +++ b/data/maps/MeteorFalls_1F_1R/map.json @@ -151,42 +151,42 @@ "y": 18, "elevation": 4, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 39, "elevation": 3, "dest_map": "MAP_ROUTE115", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 3, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_1F_2R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 4, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 26, "y": 28, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 2, "elevation": 0, "dest_map": "MAP_METEOR_FALLS_STEVENS_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/MeteorFalls_1F_2R/map.json b/data/maps/MeteorFalls_1F_2R/map.json index 49e001c88..ee7857c3a 100644 --- a/data/maps/MeteorFalls_1F_2R/map.json +++ b/data/maps/MeteorFalls_1F_2R/map.json @@ -60,28 +60,28 @@ "y": 29, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 14, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 20, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 21, "y": 23, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MeteorFalls_B1F_1R/map.json b/data/maps/MeteorFalls_B1F_1R/map.json index 6cba2ec48..e9bb08f1b 100644 --- a/data/maps/MeteorFalls_B1F_1R/map.json +++ b/data/maps/MeteorFalls_B1F_1R/map.json @@ -20,42 +20,42 @@ "y": 6, "elevation": 4, "dest_map": "MAP_METEOR_FALLS_1F_2R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 11, "elevation": 5, "dest_map": "MAP_METEOR_FALLS_1F_2R", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 18, "y": 15, "elevation": 4, "dest_map": "MAP_METEOR_FALLS_1F_2R", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 17, "y": 3, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_2R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 23, "elevation": 5, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 20, "y": 36, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/MeteorFalls_B1F_2R/map.json b/data/maps/MeteorFalls_B1F_2R/map.json index 7fc43762f..8d153c423 100644 --- a/data/maps/MeteorFalls_B1F_2R/map.json +++ b/data/maps/MeteorFalls_B1F_2R/map.json @@ -34,7 +34,7 @@ "y": 15, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MeteorFalls_StevensCave/map.json b/data/maps/MeteorFalls_StevensCave/map.json index 01b05d308..8e329fc0d 100644 --- a/data/maps/MeteorFalls_StevensCave/map.json +++ b/data/maps/MeteorFalls_StevensCave/map.json @@ -34,7 +34,7 @@ "y": 29, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/MirageTower_1F/map.json b/data/maps/MirageTower_1F/map.json index bb7930006..961d6a826 100644 --- a/data/maps/MirageTower_1F/map.json +++ b/data/maps/MirageTower_1F/map.json @@ -20,14 +20,14 @@ "y": 14, "elevation": 3, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 15, "y": 2, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MirageTower_2F/map.json b/data/maps/MirageTower_2F/map.json index bf4561675..792128f56 100644 --- a/data/maps/MirageTower_2F/map.json +++ b/data/maps/MirageTower_2F/map.json @@ -20,14 +20,14 @@ "y": 12, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 2, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MirageTower_3F/map.json b/data/maps/MirageTower_3F/map.json index 6ccbf4678..88a1e5435 100644 --- a/data/maps/MirageTower_3F/map.json +++ b/data/maps/MirageTower_3F/map.json @@ -47,14 +47,14 @@ "y": 12, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 4, "elevation": 0, "dest_map": "MAP_MIRAGE_TOWER_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MirageTower_4F/map.json b/data/maps/MirageTower_4F/map.json index a153fbb2a..fb375f6ae 100644 --- a/data/maps/MirageTower_4F/map.json +++ b/data/maps/MirageTower_4F/map.json @@ -60,7 +60,7 @@ "y": 4, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json index ff8ae1b61..3759694d8 100644 --- a/data/maps/MossdeepCity/map.json +++ b/data/maps/MossdeepCity/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE125", "offset": 0, - "map": "MAP_ROUTE125" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE127", "offset": 0, - "map": "MAP_ROUTE127" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE124", "offset": -40, - "map": "MAP_ROUTE124" + "direction": "left" } ], "object_events": [ @@ -258,70 +258,70 @@ "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 38, "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 28, "y": 16, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 67, "y": 25, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 37, "y": 18, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 49, "y": 6, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 10, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_STEVENS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 16, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_HOUSE4", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 64, "y": 15, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 36, "y": 24, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/MossdeepCity_GameCorner_1F/map.json b/data/maps/MossdeepCity_GameCorner_1F/map.json index 14b89fe42..0833460ba 100644 --- a/data/maps/MossdeepCity_GameCorner_1F/map.json +++ b/data/maps/MossdeepCity_GameCorner_1F/map.json @@ -47,21 +47,21 @@ "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 6, "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 2, "y": 0, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_GameCorner_B1F/map.json b/data/maps/MossdeepCity_GameCorner_B1F/map.json index 180bd703a..3aed0cceb 100644 --- a/data/maps/MossdeepCity_GameCorner_B1F/map.json +++ b/data/maps/MossdeepCity_GameCorner_B1F/map.json @@ -34,7 +34,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_Gym/map.json b/data/maps/MossdeepCity_Gym/map.json index 9b63a0c08..9ffe9d6fc 100644 --- a/data/maps/MossdeepCity_Gym/map.json +++ b/data/maps/MossdeepCity_Gym/map.json @@ -489,98 +489,98 @@ "y": 35, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 35, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 28, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 23, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 7, "y": 18, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 8, "y": 12, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 9, "y": 18, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 23, "y": 20, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 1, "y": 33, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 20, "y": 24, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 11, "y": 3, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 11, "y": 35, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 13, "y": 32, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 21, "y": 10, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 12 + "dest_warp_id": "12" } ], "coord_events": [ diff --git a/data/maps/MossdeepCity_House1/map.json b/data/maps/MossdeepCity_House1/map.json index f4338078e..e45335ac5 100644 --- a/data/maps/MossdeepCity_House1/map.json +++ b/data/maps/MossdeepCity_House1/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_House2/map.json b/data/maps/MossdeepCity_House2/map.json index e7990bad9..a8a03ed95 100644 --- a/data/maps/MossdeepCity_House2/map.json +++ b/data/maps/MossdeepCity_House2/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_House3/map.json b/data/maps/MossdeepCity_House3/map.json index a0587ca0a..4a6574121 100644 --- a/data/maps/MossdeepCity_House3/map.json +++ b/data/maps/MossdeepCity_House3/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_House4/map.json b/data/maps/MossdeepCity_House4/map.json index 0c7e0a112..b17bc357a 100644 --- a/data/maps/MossdeepCity_House4/map.json +++ b/data/maps/MossdeepCity_House4/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 3, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_Mart/map.json b/data/maps/MossdeepCity_Mart/map.json index 37885b752..9679df789 100644 --- a/data/maps/MossdeepCity_Mart/map.json +++ b/data/maps/MossdeepCity_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/map.json b/data/maps/MossdeepCity_PokemonCenter_1F/map.json index ac3b51e8f..72863244c 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/map.json +++ b/data/maps/MossdeepCity_PokemonCenter_1F/map.json @@ -60,21 +60,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/map.json b/data/maps/MossdeepCity_PokemonCenter_2F/map.json index 7fa656697..be24e32cc 100644 --- a/data/maps/MossdeepCity_PokemonCenter_2F/map.json +++ b/data/maps/MossdeepCity_PokemonCenter_2F/map.json @@ -86,21 +86,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/map.json b/data/maps/MossdeepCity_SpaceCenter_1F/map.json index 0f5069665..e7f47bcfb 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/map.json +++ b/data/maps/MossdeepCity_SpaceCenter_1F/map.json @@ -164,21 +164,21 @@ "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 8, "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/map.json b/data/maps/MossdeepCity_SpaceCenter_2F/map.json index 8990aa075..f68b5bfd3 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/map.json +++ b/data/maps/MossdeepCity_SpaceCenter_2F/map.json @@ -138,7 +138,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_StevensHouse/map.json b/data/maps/MossdeepCity_StevensHouse/map.json index cad7609d3..3a864a67c 100644 --- a/data/maps/MossdeepCity_StevensHouse/map.json +++ b/data/maps/MossdeepCity_StevensHouse/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/MtChimney/map.json b/data/maps/MtChimney/map.json index 7083ff7de..55bd065cb 100644 --- a/data/maps/MtChimney/map.json +++ b/data/maps/MtChimney/map.json @@ -411,28 +411,28 @@ "y": 36, "elevation": 0, "dest_map": "MAP_MT_CHIMNEY_CABLE_CAR_STATION", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 36, "elevation": 0, "dest_map": "MAP_MT_CHIMNEY_CABLE_CAR_STATION", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 20, "y": 41, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 21, "y": 41, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MtChimney_CableCarStation/map.json b/data/maps/MtChimney_CableCarStation/map.json index 410bc0c2e..5fe36a373 100644 --- a/data/maps/MtChimney_CableCarStation/map.json +++ b/data/maps/MtChimney_CableCarStation/map.json @@ -47,14 +47,14 @@ "y": 11, "elevation": 0, "dest_map": "MAP_MT_CHIMNEY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 11, "elevation": 0, "dest_map": "MAP_MT_CHIMNEY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MtPyre_1F/map.json b/data/maps/MtPyre_1F/map.json index 248bd6530..b8a164d4c 100644 --- a/data/maps/MtPyre_1F/map.json +++ b/data/maps/MtPyre_1F/map.json @@ -60,42 +60,42 @@ "y": 18, "elevation": 3, "dest_map": "MAP_ROUTE122", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 6, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 18, "elevation": 3, "dest_map": "MAP_ROUTE122", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 6, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 20, "y": 9, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/MtPyre_2F/map.json b/data/maps/MtPyre_2F/map.json index 0668bcf78..a0a86cd84 100644 --- a/data/maps/MtPyre_2F/map.json +++ b/data/maps/MtPyre_2F/map.json @@ -125,35 +125,35 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 11, "y": 9, "elevation": 3, "dest_map": "MAP_MT_PYRE_1F", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/MtPyre_3F/map.json b/data/maps/MtPyre_3F/map.json index 35c6c1b04..5202a583b 100644 --- a/data/maps/MtPyre_3F/map.json +++ b/data/maps/MtPyre_3F/map.json @@ -73,42 +73,42 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 9, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 1, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 10, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MtPyre_4F/map.json b/data/maps/MtPyre_4F/map.json index d326bff72..48fdeec2d 100644 --- a/data/maps/MtPyre_4F/map.json +++ b/data/maps/MtPyre_4F/map.json @@ -47,42 +47,42 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 5, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 12, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 9, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 2, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MtPyre_5F/map.json b/data/maps/MtPyre_5F/map.json index fb7c3f2f8..04b889c6c 100644 --- a/data/maps/MtPyre_5F/map.json +++ b/data/maps/MtPyre_5F/map.json @@ -47,35 +47,35 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_6F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 5, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_6F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json index 88c091f3e..9da33f4bc 100644 --- a/data/maps/MtPyre_6F/map.json +++ b/data/maps/MtPyre_6F/map.json @@ -60,14 +60,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json index 2df79262c..417a38d97 100644 --- a/data/maps/MtPyre_Exterior/map.json +++ b/data/maps/MtPyre_Exterior/map.json @@ -47,21 +47,21 @@ "y": 42, "elevation": 3, "dest_map": "MAP_MT_PYRE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 19, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_SUMMIT", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 20, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_SUMMIT", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ @@ -70,7 +70,7 @@ "x": 24, "y": 21, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_FogTrigger" }, @@ -79,7 +79,7 @@ "x": 25, "y": 21, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_FogTrigger" }, @@ -88,7 +88,7 @@ "x": 22, "y": 27, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_SunTrigger" }, @@ -97,7 +97,7 @@ "x": 23, "y": 28, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_SunTrigger" }, @@ -106,7 +106,7 @@ "x": 26, "y": 21, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_FogTrigger" } diff --git a/data/maps/MtPyre_Summit/map.json b/data/maps/MtPyre_Summit/map.json index aa3341f8a..49fd8b9f7 100644 --- a/data/maps/MtPyre_Summit/map.json +++ b/data/maps/MtPyre_Summit/map.json @@ -125,21 +125,21 @@ "y": 31, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 23, "y": 31, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 24, "y": 31, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/NavelRock_B1F/map.json b/data/maps/NavelRock_B1F/map.json index 8e366fc16..6a0a9bf23 100644 --- a/data/maps/NavelRock_B1F/map.json +++ b/data/maps/NavelRock_B1F/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 9, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_FORK", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Bottom/map.json b/data/maps/NavelRock_Bottom/map.json index 13d676200..bd7ce3ffe 100644 --- a/data/maps/NavelRock_Bottom/map.json +++ b/data/maps/NavelRock_Bottom/map.json @@ -34,7 +34,7 @@ "y": 19, "elevation": 0, "dest_map": "MAP_NAVEL_ROCK_DOWN11", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down01/map.json b/data/maps/NavelRock_Down01/map.json index 674996920..4f5276ee1 100644 --- a/data/maps/NavelRock_Down01/map.json +++ b/data/maps/NavelRock_Down01/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_FORK", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN02", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down02/map.json b/data/maps/NavelRock_Down02/map.json index 7c75a1b03..094e00c68 100644 --- a/data/maps/NavelRock_Down02/map.json +++ b/data/maps/NavelRock_Down02/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN01", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN03", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down03/map.json b/data/maps/NavelRock_Down03/map.json index 936ebab77..a5983697c 100644 --- a/data/maps/NavelRock_Down03/map.json +++ b/data/maps/NavelRock_Down03/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN02", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN04", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down04/map.json b/data/maps/NavelRock_Down04/map.json index 585ee7538..59a703f14 100644 --- a/data/maps/NavelRock_Down04/map.json +++ b/data/maps/NavelRock_Down04/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN03", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN05", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down05/map.json b/data/maps/NavelRock_Down05/map.json index 1099d9caa..7df23fdbb 100644 --- a/data/maps/NavelRock_Down05/map.json +++ b/data/maps/NavelRock_Down05/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN04", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN06", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down06/map.json b/data/maps/NavelRock_Down06/map.json index 7fb26f293..bbec56a76 100644 --- a/data/maps/NavelRock_Down06/map.json +++ b/data/maps/NavelRock_Down06/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN05", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN07", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down07/map.json b/data/maps/NavelRock_Down07/map.json index 36896f306..2815f3b13 100644 --- a/data/maps/NavelRock_Down07/map.json +++ b/data/maps/NavelRock_Down07/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN06", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN08", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down08/map.json b/data/maps/NavelRock_Down08/map.json index f9945f49f..d6887a481 100644 --- a/data/maps/NavelRock_Down08/map.json +++ b/data/maps/NavelRock_Down08/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN07", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN09", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down09/map.json b/data/maps/NavelRock_Down09/map.json index 38b2fdae8..1345a5aae 100644 --- a/data/maps/NavelRock_Down09/map.json +++ b/data/maps/NavelRock_Down09/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN08", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN10", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down10/map.json b/data/maps/NavelRock_Down10/map.json index 7ea3bfa3b..eece7988e 100644 --- a/data/maps/NavelRock_Down10/map.json +++ b/data/maps/NavelRock_Down10/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN09", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN11", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down11/map.json b/data/maps/NavelRock_Down11/map.json index da05c7e6b..1e8ffe54b 100644 --- a/data/maps/NavelRock_Down11/map.json +++ b/data/maps/NavelRock_Down11/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_BOTTOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN10", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Entrance/map.json b/data/maps/NavelRock_Entrance/map.json index ab14b2da1..242113036 100644 --- a/data/maps/NavelRock_Entrance/map.json +++ b/data/maps/NavelRock_Entrance/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 26, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Exterior/map.json b/data/maps/NavelRock_Exterior/map.json index 13927b6b6..a900e7e64 100644 --- a/data/maps/NavelRock_Exterior/map.json +++ b/data/maps/NavelRock_Exterior/map.json @@ -20,14 +20,14 @@ "y": 18, "elevation": 0, "dest_map": "MAP_NAVEL_ROCK_HARBOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 10, "elevation": 0, "dest_map": "MAP_NAVEL_ROCK_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Fork/map.json b/data/maps/NavelRock_Fork/map.json index a8929208f..cbb7be029 100644 --- a/data/maps/NavelRock_Fork/map.json +++ b/data/maps/NavelRock_Fork/map.json @@ -20,21 +20,21 @@ "y": 6, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 79, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 22, "y": 6, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN01", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Harbor/map.json b/data/maps/NavelRock_Harbor/map.json index 34e139108..ed0bb70da 100644 --- a/data/maps/NavelRock_Harbor/map.json +++ b/data/maps/NavelRock_Harbor/map.json @@ -47,7 +47,7 @@ "y": 2, "elevation": 0, "dest_map": "MAP_NAVEL_ROCK_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Top/map.json b/data/maps/NavelRock_Top/map.json index c06202726..c818fc399 100644 --- a/data/maps/NavelRock_Top/map.json +++ b/data/maps/NavelRock_Top/map.json @@ -34,7 +34,7 @@ "y": 20, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP4", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/NavelRock_Up1/map.json b/data/maps/NavelRock_Up1/map.json index ee744ff4b..ff20085a8 100644 --- a/data/maps/NavelRock_Up1/map.json +++ b/data/maps/NavelRock_Up1/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_FORK", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Up2/map.json b/data/maps/NavelRock_Up2/map.json index aa2470329..fd9324a79 100644 --- a/data/maps/NavelRock_Up2/map.json +++ b/data/maps/NavelRock_Up2/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP1", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Up3/map.json b/data/maps/NavelRock_Up3/map.json index 2629eafb1..2394a6a1b 100644 --- a/data/maps/NavelRock_Up3/map.json +++ b/data/maps/NavelRock_Up3/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP2", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP4", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Up4/map.json b/data/maps/NavelRock_Up4/map.json index 4060a52a7..de9b7655f 100644 --- a/data/maps/NavelRock_Up4/map.json +++ b/data/maps/NavelRock_Up4/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP3", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_TOP", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NewMauville_Entrance/map.json b/data/maps/NewMauville_Entrance/map.json index d66c5b13b..aadb84744 100644 --- a/data/maps/NewMauville_Entrance/map.json +++ b/data/maps/NewMauville_Entrance/map.json @@ -20,14 +20,14 @@ "y": 6, "elevation": 3, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_NEW_MAUVILLE_INSIDE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/NewMauville_Inside/map.json b/data/maps/NewMauville_Inside/map.json index ae1654d8b..8524c25ec 100644 --- a/data/maps/NewMauville_Inside/map.json +++ b/data/maps/NewMauville_Inside/map.json @@ -125,7 +125,7 @@ "y": 33, "elevation": 3, "dest_map": "MAP_NEW_MAUVILLE_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/OldaleTown/map.json b/data/maps/OldaleTown/map.json index cc4bd008c..302ef5e9d 100644 --- a/data/maps/OldaleTown/map.json +++ b/data/maps/OldaleTown/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE103", "offset": 0, - "map": "MAP_ROUTE103" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE101", "offset": 0, - "map": "MAP_ROUTE101" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE102", "offset": 0, - "map": "MAP_ROUTE102" + "direction": "left" } ], "object_events": [ @@ -89,28 +89,28 @@ "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 16, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 16, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 6, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/OldaleTown_House1/map.json b/data/maps/OldaleTown_House1/map.json index cd64357dc..8b8f92b9f 100644 --- a/data/maps/OldaleTown_House1/map.json +++ b/data/maps/OldaleTown_House1/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/OldaleTown_House2/map.json b/data/maps/OldaleTown_House2/map.json index 2347fc29a..de6bb9ac6 100644 --- a/data/maps/OldaleTown_House2/map.json +++ b/data/maps/OldaleTown_House2/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/OldaleTown_Mart/map.json b/data/maps/OldaleTown_Mart/map.json index 692223541..cfca496fd 100644 --- a/data/maps/OldaleTown_Mart/map.json +++ b/data/maps/OldaleTown_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/OldaleTown_PokemonCenter_1F/map.json b/data/maps/OldaleTown_PokemonCenter_1F/map.json index 46ee3f9bd..d3f72b849 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/map.json +++ b/data/maps/OldaleTown_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/OldaleTown_PokemonCenter_2F/map.json b/data/maps/OldaleTown_PokemonCenter_2F/map.json index fdeb28c06..9fad68821 100644 --- a/data/maps/OldaleTown_PokemonCenter_2F/map.json +++ b/data/maps/OldaleTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown/map.json b/data/maps/PacifidlogTown/map.json index 51fc772a9..37cfe8ad0 100644 --- a/data/maps/PacifidlogTown/map.json +++ b/data/maps/PacifidlogTown/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE132", "offset": 0, - "map": "MAP_ROUTE132" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE131", "offset": 0, - "map": "MAP_ROUTE131" + "direction": "right" } ], "object_events": [ @@ -71,42 +71,42 @@ "y": 15, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 13, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 22, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 24, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 12, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 21, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE5", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House1/map.json b/data/maps/PacifidlogTown_House1/map.json index a494819a5..0eb98e8d5 100644 --- a/data/maps/PacifidlogTown_House1/map.json +++ b/data/maps/PacifidlogTown_House1/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House2/map.json b/data/maps/PacifidlogTown_House2/map.json index 027442b4b..5f8d260c1 100644 --- a/data/maps/PacifidlogTown_House2/map.json +++ b/data/maps/PacifidlogTown_House2/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House3/map.json b/data/maps/PacifidlogTown_House3/map.json index 17f99cea1..8b9efefa3 100644 --- a/data/maps/PacifidlogTown_House3/map.json +++ b/data/maps/PacifidlogTown_House3/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House4/map.json b/data/maps/PacifidlogTown_House4/map.json index 4c4cdb15b..0dc3774d7 100644 --- a/data/maps/PacifidlogTown_House4/map.json +++ b/data/maps/PacifidlogTown_House4/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House5/map.json b/data/maps/PacifidlogTown_House5/map.json index ac9384502..b665908c0 100644 --- a/data/maps/PacifidlogTown_House5/map.json +++ b/data/maps/PacifidlogTown_House5/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json index 50baa2b7c..f98fdb3dd 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json index 1837ab55c..3741feb83 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity/map.json b/data/maps/PetalburgCity/map.json index d9587cdbb..d653e46ae 100644 --- a/data/maps/PetalburgCity/map.json +++ b/data/maps/PetalburgCity/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE104", "offset": -50, - "map": "MAP_ROUTE104" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE102", "offset": 10, - "map": "MAP_ROUTE102" + "direction": "right" } ], "object_events": [ @@ -149,42 +149,42 @@ "y": 19, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 5, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_WALLYS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 8, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 20, "y": 16, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 20, "y": 24, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 25, "y": 12, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/PetalburgCity_Gym/map.json b/data/maps/PetalburgCity_Gym/map.json index 307708fc1..ef5849171 100644 --- a/data/maps/PetalburgCity_Gym/map.json +++ b/data/maps/PetalburgCity_Gym/map.json @@ -164,266 +164,266 @@ "y": 111, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 111, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 105, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 7, "y": 85, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 85, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 7, "y": 105, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 1, "y": 98, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 2, "y": 98, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 1, "y": 79, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 7, "y": 79, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 7, "y": 46, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 6, "y": 46, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 1, "y": 59, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 2, "y": 59, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 1, "y": 92, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 16 + "dest_warp_id": "16" }, { "x": 7, "y": 92, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 18 + "dest_warp_id": "18" }, { "x": 7, "y": 59, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 14 + "dest_warp_id": "14" }, { "x": 6, "y": 59, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 14 + "dest_warp_id": "14" }, { "x": 1, "y": 72, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 2, "y": 72, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 7, "y": 40, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 24 + "dest_warp_id": "24" }, { "x": 1, "y": 53, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 26 + "dest_warp_id": "26" }, { "x": 7, "y": 53, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 28 + "dest_warp_id": "28" }, { "x": 1, "y": 66, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 30 + "dest_warp_id": "30" }, { "x": 1, "y": 20, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 2, "y": 20, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 7, "y": 20, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 21 + "dest_warp_id": "21" }, { "x": 6, "y": 20, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 21 + "dest_warp_id": "21" }, { "x": 1, "y": 33, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 2, "y": 33, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 7, "y": 33, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 23 + "dest_warp_id": "23" }, { "x": 6, "y": 33, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 23 + "dest_warp_id": "23" }, { "x": 7, "y": 14, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 34 + "dest_warp_id": "34" }, { "x": 1, "y": 27, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 36 + "dest_warp_id": "36" }, { "x": 1, "y": 7, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 32 + "dest_warp_id": "32" }, { "x": 2, "y": 7, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 32 + "dest_warp_id": "32" }, { "x": 7, "y": 7, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 33 + "dest_warp_id": "33" }, { "x": 6, "y": 7, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 33 + "dest_warp_id": "33" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_House1/map.json b/data/maps/PetalburgCity_House1/map.json index 54bd3303f..2b1e96648 100644 --- a/data/maps/PetalburgCity_House1/map.json +++ b/data/maps/PetalburgCity_House1/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_House2/map.json b/data/maps/PetalburgCity_House2/map.json index 4a5436b97..74d128759 100644 --- a/data/maps/PetalburgCity_House2/map.json +++ b/data/maps/PetalburgCity_House2/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_Mart/map.json b/data/maps/PetalburgCity_Mart/map.json index a55e27293..7c8a70b28 100644 --- a/data/maps/PetalburgCity_Mart/map.json +++ b/data/maps/PetalburgCity_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/map.json b/data/maps/PetalburgCity_PokemonCenter_1F/map.json index 875c53c2b..12b7810df 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/map.json +++ b/data/maps/PetalburgCity_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/map.json b/data/maps/PetalburgCity_PokemonCenter_2F/map.json index 8eb89d208..b2078e495 100644 --- a/data/maps/PetalburgCity_PokemonCenter_2F/map.json +++ b/data/maps/PetalburgCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_WallysHouse/map.json b/data/maps/PetalburgCity_WallysHouse/map.json index 0b8007a91..f2fd03e7f 100644 --- a/data/maps/PetalburgCity_WallysHouse/map.json +++ b/data/maps/PetalburgCity_WallysHouse/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json index fa97b5dd1..4179d8195 100644 --- a/data/maps/PetalburgWoods/map.json +++ b/data/maps/PetalburgWoods/map.json @@ -190,42 +190,42 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 15, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 16, "y": 38, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 17, "y": 38, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 36, "y": 38, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 37, "y": 38, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [ diff --git a/data/maps/RecordCorner/map.json b/data/maps/RecordCorner/map.json index 083f44445..e19e89e09 100644 --- a/data/maps/RecordCorner/map.json +++ b/data/maps/RecordCorner/map.json @@ -33,29 +33,29 @@ "x": 8, "y": 9, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 9, "y": 9, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 11, "y": 9, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 10, "y": 9, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/Route101/map.json b/data/maps/Route101/map.json index 34dc92841..1abb23030 100644 --- a/data/maps/Route101/map.json +++ b/data/maps/Route101/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_OLDALE_TOWN", "offset": 0, - "map": "MAP_OLDALE_TOWN" + "direction": "up" }, { - "direction": "down", + "map": "MAP_LITTLEROOT_TOWN", "offset": 0, - "map": "MAP_LITTLEROOT_TOWN" + "direction": "down" } ], "object_events": [ diff --git a/data/maps/Route102/map.json b/data/maps/Route102/map.json index aaa63b11f..68e3549db 100644 --- a/data/maps/Route102/map.json +++ b/data/maps/Route102/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_PETALBURG_CITY", "offset": -10, - "map": "MAP_PETALBURG_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_OLDALE_TOWN", "offset": 0, - "map": "MAP_OLDALE_TOWN" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json index fbf92dd0c..9bc6fed67 100644 --- a/data/maps/Route103/map.json +++ b/data/maps/Route103/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_OLDALE_TOWN", "offset": 0, - "map": "MAP_OLDALE_TOWN" + "direction": "down" }, { - "direction": "right", + "map": "MAP_ROUTE110", "offset": -60, - "map": "MAP_ROUTE110" + "direction": "right" } ], "object_events": [ @@ -292,7 +292,7 @@ "y": 6, "elevation": 0, "dest_map": "MAP_ALTERING_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index e2b75e0c3..557db64e2 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -114,7 +114,7 @@ Route103_EventScript_RivalExitFacingNorth:: applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth1 waitmovement 0 playse SE_LEDGE - applymovement LOCALID_RIVAL, Route103_EventScript_RivalExitFacingNorth2 + applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth2 waitmovement 0 goto Route103_EventScript_RivalEnd end @@ -155,7 +155,7 @@ Route103_Movement_RivalExitFacingNorth1: walk_down step_end -Route103_EventScript_RivalExitFacingNorth2: +Route103_Movement_RivalExitFacingNorth2: jump_2_down delay_16 walk_down diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json index 6ec8b3752..80af8aa6d 100644 --- a/data/maps/Route104/map.json +++ b/data/maps/Route104/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_RUSTBORO_CITY", "offset": 0, - "map": "MAP_RUSTBORO_CITY" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE105", "offset": 0, - "map": "MAP_ROUTE105" + "direction": "down" }, { - "direction": "right", + "map": "MAP_PETALBURG_CITY", "offset": 50, - "map": "MAP_PETALBURG_CITY" + "direction": "right" } ], "object_events": [ @@ -479,56 +479,56 @@ "y": 50, "elevation": 0, "dest_map": "MAP_ROUTE104_MR_BRINEYS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 18, "elevation": 0, "dest_map": "MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 30, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 30, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 10, "y": 38, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 11, "y": 38, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 32, "y": 42, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 33, "y": 42, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [ diff --git a/data/maps/Route104_MrBrineysHouse/map.json b/data/maps/Route104_MrBrineysHouse/map.json index ae4ffc791..642496529 100644 --- a/data/maps/Route104_MrBrineysHouse/map.json +++ b/data/maps/Route104_MrBrineysHouse/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route104_PrettyPetalFlowerShop/map.json b/data/maps/Route104_PrettyPetalFlowerShop/map.json index ec18b1ded..27e18ddc7 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/map.json +++ b/data/maps/Route104_PrettyPetalFlowerShop/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route105/map.json b/data/maps/Route105/map.json index bd951f62c..ae9bb6a5a 100644 --- a/data/maps/Route105/map.json +++ b/data/maps/Route105/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE104", "offset": 0, - "map": "MAP_ROUTE104" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE106", "offset": 0, - "map": "MAP_ROUTE106" + "direction": "down" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE105", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE105" + "direction": "dive" } ], "object_events": [ @@ -141,7 +141,7 @@ "y": 20, "elevation": 0, "dest_map": "MAP_ISLAND_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route106/map.json b/data/maps/Route106/map.json index c28d593a7..5a0a38dc9 100644 --- a/data/maps/Route106/map.json +++ b/data/maps/Route106/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE105", "offset": 0, - "map": "MAP_ROUTE105" + "direction": "up" }, { - "direction": "down", + "map": "MAP_DEWFORD_TOWN", "offset": 60, - "map": "MAP_DEWFORD_TOWN" + "direction": "down" } ], "object_events": [ @@ -97,7 +97,7 @@ "y": 16, "elevation": 0, "dest_map": "MAP_GRANITE_CAVE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route107/map.json b/data/maps/Route107/map.json index ddc0f1459..ee15509cd 100644 --- a/data/maps/Route107/map.json +++ b/data/maps/Route107/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_DEWFORD_TOWN", "offset": 0, - "map": "MAP_DEWFORD_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE108", "offset": 0, - "map": "MAP_ROUTE108" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route108/map.json b/data/maps/Route108/map.json index 21acfd6ca..405ae3401 100644 --- a/data/maps/Route108/map.json +++ b/data/maps/Route108/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE107", "offset": 0, - "map": "MAP_ROUTE107" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE109", "offset": -40, - "map": "MAP_ROUTE109" + "direction": "right" } ], "object_events": [ @@ -123,7 +123,7 @@ "y": 6, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route109/map.json b/data/maps/Route109/map.json index 2ddcc4530..49357f0a0 100644 --- a/data/maps/Route109/map.json +++ b/data/maps/Route109/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_SLATEPORT_CITY", "offset": 0, - "map": "MAP_SLATEPORT_CITY" + "direction": "up" }, { - "direction": "left", + "map": "MAP_ROUTE108", "offset": 40, - "map": "MAP_ROUTE108" + "direction": "left" } ], "object_events": [ @@ -344,7 +344,7 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE109_SEASHORE_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route109_SeashoreHouse/map.json b/data/maps/Route109_SeashoreHouse/map.json index 0a8164ba7..e2ae2a68e 100644 --- a/data/maps/Route109_SeashoreHouse/map.json +++ b/data/maps/Route109_SeashoreHouse/map.json @@ -73,14 +73,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_ROUTE109", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 9, "elevation": 0, "dest_map": "MAP_ROUTE109", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110/map.json b/data/maps/Route110/map.json index abfc2b767..630b20bd3 100644 --- a/data/maps/Route110/map.json +++ b/data/maps/Route110/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_MAUVILLE_CITY", "offset": 0, - "map": "MAP_MAUVILLE_CITY" + "direction": "up" }, { - "direction": "down", + "map": "MAP_SLATEPORT_CITY", "offset": 0, - "map": "MAP_SLATEPORT_CITY" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE103", "offset": 60, - "map": "MAP_ROUTE103" + "direction": "left" } ], "object_events": [ @@ -505,42 +505,42 @@ "y": 24, "elevation": 3, "dest_map": "MAP_NEW_MAUVILLE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 66, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 16, "elevation": 0, "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 16, "elevation": 0, "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 16, "y": 88, "elevation": 0, "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 88, "elevation": 0, "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [ diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json index 0d382f275..6f3c6c75c 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json @@ -34,28 +34,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 2, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 12, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 13, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [ diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json index 12cd26ada..59e3e5be6 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json @@ -34,28 +34,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 2, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 13, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHouseCorridor/map.json b/data/maps/Route110_TrickHouseCorridor/map.json index 5d6ddb556..70bf78258 100644 --- a/data/maps/Route110_TrickHouseCorridor/map.json +++ b/data/maps/Route110_TrickHouseCorridor/map.json @@ -20,28 +20,28 @@ "y": 3, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 3, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 23, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 23, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHouseEnd/map.json b/data/maps/Route110_TrickHouseEnd/map.json index c82d871fb..90d228549 100644 --- a/data/maps/Route110_TrickHouseEnd/map.json +++ b/data/maps/Route110_TrickHouseEnd/map.json @@ -34,14 +34,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE1", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 2, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_CORRIDOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHouseEntrance/map.json b/data/maps/Route110_TrickHouseEntrance/map.json index 5895ae788..5584a534c 100644 --- a/data/maps/Route110_TrickHouseEntrance/map.json +++ b/data/maps/Route110_TrickHouseEntrance/map.json @@ -34,21 +34,21 @@ "y": 7, "elevation": 3, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 7, "elevation": 3, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE1", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 44dda8c5c..52327553e 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -625,7 +625,7 @@ Route110_TrickHousePuzzle6_EventScript_Door:: Route110_TrickHousePuzzle7_EventScript_Door:: goto_if_eq VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked - msgbox Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT + msgbox Route110_TrickHousePuzzle7_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE @@ -635,7 +635,7 @@ Route110_TrickHousePuzzle7_EventScript_Door:: Route110_TrickHousePuzzle8_EventScript_Door:: goto_if_eq VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked - msgbox Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT + msgbox Route110_TrickHousePuzzle8_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_8_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE diff --git a/data/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json index 42a416b51..1af3b9de2 100644 --- a/data/maps/Route110_TrickHousePuzzle1/map.json +++ b/data/maps/Route110_TrickHousePuzzle1/map.json @@ -216,21 +216,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHousePuzzle2/map.json b/data/maps/Route110_TrickHousePuzzle2/map.json index 2b3ca9b2e..1aea0fde0 100644 --- a/data/maps/Route110_TrickHousePuzzle2/map.json +++ b/data/maps/Route110_TrickHousePuzzle2/map.json @@ -86,21 +86,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json index ba01c6b33..ba6c31c5d 100644 --- a/data/maps/Route110_TrickHousePuzzle3/map.json +++ b/data/maps/Route110_TrickHousePuzzle3/map.json @@ -112,21 +112,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json index 8e8348c95..3653dfba9 100644 --- a/data/maps/Route110_TrickHousePuzzle4/map.json +++ b/data/maps/Route110_TrickHousePuzzle4/map.json @@ -203,21 +203,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHousePuzzle5/map.json b/data/maps/Route110_TrickHousePuzzle5/map.json index 9eba5d7f8..377550523 100644 --- a/data/maps/Route110_TrickHousePuzzle5/map.json +++ b/data/maps/Route110_TrickHousePuzzle5/map.json @@ -86,21 +86,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHousePuzzle6/map.json b/data/maps/Route110_TrickHousePuzzle6/map.json index ff6e3e7f3..8c6aa3048 100644 --- a/data/maps/Route110_TrickHousePuzzle6/map.json +++ b/data/maps/Route110_TrickHousePuzzle6/map.json @@ -73,21 +73,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHousePuzzle7/map.json b/data/maps/Route110_TrickHousePuzzle7/map.json index f5976bdef..15237e23c 100644 --- a/data/maps/Route110_TrickHousePuzzle7/map.json +++ b/data/maps/Route110_TrickHousePuzzle7/map.json @@ -138,91 +138,91 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 4, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 7, "y": 3, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 13, "y": 11, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 3, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 1, "y": 17, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 0, "y": 11, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 2, "y": 3, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 4, "y": 13, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 1, "y": 3, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 8, "y": 12, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc index a47df82ca..45f4e8d0f 100644 --- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc @@ -314,7 +314,7 @@ Route110_TrickHousePuzzle7_EventScript_Everett:: msgbox Route110_TrickHousePuzzle7_Text_EverettPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened:: +Route110_TrickHousePuzzle7_Text_WroteSecretCodeLockOpened:: .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is huggable.”\n" diff --git a/data/maps/Route110_TrickHousePuzzle8/map.json b/data/maps/Route110_TrickHousePuzzle8/map.json index bfb106eb6..c9fa42d7b 100644 --- a/data/maps/Route110_TrickHousePuzzle8/map.json +++ b/data/maps/Route110_TrickHousePuzzle8/map.json @@ -73,21 +73,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHousePuzzle8/scripts.inc b/data/maps/Route110_TrickHousePuzzle8/scripts.inc index 371f61000..5f268224d 100644 --- a/data/maps/Route110_TrickHousePuzzle8/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle8/scripts.inc @@ -27,7 +27,7 @@ Route110_TrickHousePuzzle8_EventScript_Leroy:: msgbox Route110_TrickHousePuzzle8_Text_LeroyPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened:: +Route110_TrickHousePuzzle8_Text_WroteSecretCodeLockOpened:: .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER I love.”\n" diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index 566e7c962..bc476ebaa 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_MAUVILLE_CITY", "offset": 0, - "map": "MAP_MAUVILLE_CITY" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE113", "offset": 0, - "map": "MAP_ROUTE113" + "direction": "left" }, { - "direction": "left", + "map": "MAP_ROUTE112", "offset": 20, - "map": "MAP_ROUTE112" + "direction": "left" } ], "object_events": [ @@ -635,35 +635,35 @@ "y": 113, "elevation": 0, "dest_map": "MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 29, "y": 87, "elevation": 0, "dest_map": "MAP_DESERT_RUINS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 18, "elevation": 0, "dest_map": "MAP_ROUTE111_OLD_LADYS_REST_STOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 58, "elevation": 0, "dest_map": "MAP_MIRAGE_TOWER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 31, "y": 113, "elevation": 0, "dest_map": "MAP_TRAINER_HILL_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ @@ -672,7 +672,7 @@ "x": 12, "y": 62, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -708,7 +708,7 @@ "x": 7, "y": 63, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -762,7 +762,7 @@ "x": 18, "y": 32, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -771,7 +771,7 @@ "x": 17, "y": 31, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -780,7 +780,7 @@ "x": 9, "y": 37, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -789,7 +789,7 @@ "x": 10, "y": 36, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -816,7 +816,7 @@ "x": 8, "y": 64, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -825,7 +825,7 @@ "x": 9, "y": 65, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -834,7 +834,7 @@ "x": 10, "y": 65, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -843,7 +843,7 @@ "x": 11, "y": 66, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -852,7 +852,7 @@ "x": 12, "y": 67, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -861,7 +861,7 @@ "x": 13, "y": 68, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -870,7 +870,7 @@ "x": 14, "y": 69, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -879,7 +879,7 @@ "x": 10, "y": 61, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -888,7 +888,7 @@ "x": 11, "y": 62, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -897,7 +897,7 @@ "x": 13, "y": 62, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -906,7 +906,7 @@ "x": 14, "y": 62, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -915,7 +915,7 @@ "x": 17, "y": 38, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -924,7 +924,7 @@ "x": 16, "y": 39, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -933,7 +933,7 @@ "x": 15, "y": 40, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -942,7 +942,7 @@ "x": 14, "y": 41, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -951,7 +951,7 @@ "x": 13, "y": 42, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -960,7 +960,7 @@ "x": 12, "y": 43, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -969,7 +969,7 @@ "x": 11, "y": 44, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" } diff --git a/data/maps/Route111_OldLadysRestStop/map.json b/data/maps/Route111_OldLadysRestStop/map.json index 419e4c2ee..b72b7e8e2 100644 --- a/data/maps/Route111_OldLadysRestStop/map.json +++ b/data/maps/Route111_OldLadysRestStop/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/Route111_WinstrateFamilysHouse/map.json b/data/maps/Route111_WinstrateFamilysHouse/map.json index f88935971..5e6f9d75e 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/map.json +++ b/data/maps/Route111_WinstrateFamilysHouse/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route112/map.json b/data/maps/Route112/map.json index 04b2e6d12..5340680ea 100644 --- a/data/maps/Route112/map.json +++ b/data/maps/Route112/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE113", "offset": -60, - "map": "MAP_ROUTE113" + "direction": "up" }, { - "direction": "left", + "map": "MAP_LAVARIDGE_TOWN", "offset": 40, - "map": "MAP_LAVARIDGE_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE111", "offset": -20, - "map": "MAP_ROUTE111" + "direction": "right" } ], "object_events": [ @@ -219,42 +219,42 @@ "y": 27, "elevation": 0, "dest_map": "MAP_ROUTE112_CABLE_CAR_STATION", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 29, "y": 27, "elevation": 0, "dest_map": "MAP_ROUTE112_CABLE_CAR_STATION", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 46, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 46, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 11, "y": 36, "elevation": 0, "dest_map": "MAP_FIERY_PATH", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 22, "y": 10, "elevation": 0, "dest_map": "MAP_FIERY_PATH", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route112_CableCarStation/map.json b/data/maps/Route112_CableCarStation/map.json index 7adae98f7..09401d83b 100644 --- a/data/maps/Route112_CableCarStation/map.json +++ b/data/maps/Route112_CableCarStation/map.json @@ -47,14 +47,14 @@ "y": 11, "elevation": 0, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 11, "elevation": 0, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json index 783406346..4c45d904c 100644 --- a/data/maps/Route113/map.json +++ b/data/maps/Route113/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_ROUTE112", "offset": 60, - "map": "MAP_ROUTE112" + "direction": "down" }, { - "direction": "left", + "map": "MAP_FALLARBOR_TOWN", "offset": 0, - "map": "MAP_FALLARBOR_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE111", "offset": 0, - "map": "MAP_ROUTE111" + "direction": "right" } ], "object_events": [ @@ -245,21 +245,21 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE113_GLASS_WORKSHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 41, "y": 12, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 88, "y": 5, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route113_GlassWorkshop/map.json b/data/maps/Route113_GlassWorkshop/map.json index 924fbd85d..61d470b46 100644 --- a/data/maps/Route113_GlassWorkshop/map.json +++ b/data/maps/Route113_GlassWorkshop/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE113", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE113", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route114/map.json b/data/maps/Route114/map.json index 38891b518..10f15233c 100644 --- a/data/maps/Route114/map.json +++ b/data/maps/Route114/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE115", "offset": 40, - "map": "MAP_ROUTE115" + "direction": "left" }, { - "direction": "right", + "map": "MAP_FALLARBOR_TOWN", "offset": 0, - "map": "MAP_FALLARBOR_TOWN" + "direction": "right" } ], "object_events": [ @@ -383,35 +383,35 @@ "y": 63, "elevation": 0, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 29, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 27, "y": 36, "elevation": 0, "dest_map": "MAP_ROUTE114_LANETTES_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 46, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 4, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route114_FossilManiacsHouse/map.json b/data/maps/Route114_FossilManiacsHouse/map.json index dd21ff77f..a4b00fac4 100644 --- a/data/maps/Route114_FossilManiacsHouse/map.json +++ b/data/maps/Route114_FossilManiacsHouse/map.json @@ -34,21 +34,21 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 1, "elevation": 0, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route114_FossilManiacsTunnel/map.json b/data/maps/Route114_FossilManiacsTunnel/map.json index 9a8ac70c9..034545e6b 100644 --- a/data/maps/Route114_FossilManiacsTunnel/map.json +++ b/data/maps/Route114_FossilManiacsTunnel/map.json @@ -34,21 +34,21 @@ "y": 25, "elevation": 3, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 7, "y": 25, "elevation": 3, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_DESERT_UNDERPASS", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route114_LanettesHouse/map.json b/data/maps/Route114_LanettesHouse/map.json index fcb8edfc9..c56bf3146 100644 --- a/data/maps/Route114_LanettesHouse/map.json +++ b/data/maps/Route114_LanettesHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json index a5e2b10f9..a4143fad3 100644 --- a/data/maps/Route115/map.json +++ b/data/maps/Route115/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_RUSTBORO_CITY", "offset": 0, - "map": "MAP_RUSTBORO_CITY" + "direction": "down" }, { - "direction": "right", + "map": "MAP_ROUTE114", "offset": -40, - "map": "MAP_ROUTE114" + "direction": "right" } ], "object_events": [ @@ -331,21 +331,21 @@ "y": 37, "elevation": 0, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 21, "y": 6, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 36, "y": 10, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json index 13b4bac1c..adf9a86d5 100644 --- a/data/maps/Route116/map.json +++ b/data/maps/Route116/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_VERDANTURF_TOWN", "offset": 80, - "map": "MAP_VERDANTURF_TOWN" + "direction": "down" }, { - "direction": "left", + "map": "MAP_RUSTBORO_CITY", "offset": 0, - "map": "MAP_RUSTBORO_CITY" + "direction": "left" } ], "object_events": [ @@ -396,35 +396,35 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTURF_TUNNEL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 38, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE116_TUNNELERS_REST_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 65, "y": 10, "elevation": 0, "dest_map": "MAP_RUSTURF_TUNNEL", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 59, "y": 13, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 79, "y": 6, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route116_TunnelersRestHouse/map.json b/data/maps/Route116_TunnelersRestHouse/map.json index b83971532..ad00aafa7 100644 --- a/data/maps/Route116_TunnelersRestHouse/map.json +++ b/data/maps/Route116_TunnelersRestHouse/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE116", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE116", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json index b72866741..80304ddf4 100644 --- a/data/maps/Route117/map.json +++ b/data/maps/Route117/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_VERDANTURF_TOWN", "offset": 0, - "map": "MAP_VERDANTURF_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_MAUVILLE_CITY", "offset": 0, - "map": "MAP_MAUVILLE_CITY" + "direction": "right" } ], "object_events": [ @@ -344,7 +344,7 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE117_POKEMON_DAY_CARE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route117_PokemonDayCare/map.json b/data/maps/Route117_PokemonDayCare/map.json index 5b51aa958..128c9f6e7 100644 --- a/data/maps/Route117_PokemonDayCare/map.json +++ b/data/maps/Route117_PokemonDayCare/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE117", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE117", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json index 67acb1b98..1068e4a1a 100644 --- a/data/maps/Route118/map.json +++ b/data/maps/Route118/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE119", "offset": 40, - "map": "MAP_ROUTE119" + "direction": "up" }, { - "direction": "left", + "map": "MAP_MAUVILLE_CITY", "offset": 0, - "map": "MAP_MAUVILLE_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE123", "offset": 0, - "map": "MAP_ROUTE123" + "direction": "right" } ], "object_events": [ @@ -310,14 +310,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 6, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json index c5715daa2..f8591a5ba 100644 --- a/data/maps/Route119/map.json +++ b/data/maps/Route119/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_ROUTE118", "offset": -40, - "map": "MAP_ROUTE118" + "direction": "down" }, { - "direction": "right", + "map": "MAP_FORTREE_CITY", "offset": 0, - "map": "MAP_FORTREE_CITY" + "direction": "right" } ], "object_events": [ @@ -591,14 +591,14 @@ "y": 32, "elevation": 0, "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 33, "y": 109, "elevation": 0, "dest_map": "MAP_ROUTE119_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route119_House/map.json b/data/maps/Route119_House/map.json index 0225f1cd3..dc48897d1 100644 --- a/data/maps/Route119_House/map.json +++ b/data/maps/Route119_House/map.json @@ -112,14 +112,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE119", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE119", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route119_WeatherInstitute_1F/map.json b/data/maps/Route119_WeatherInstitute_1F/map.json index 9a9e23882..02f2ffe37 100644 --- a/data/maps/Route119_WeatherInstitute_1F/map.json +++ b/data/maps/Route119_WeatherInstitute_1F/map.json @@ -86,21 +86,21 @@ "y": 12, "elevation": 0, "dest_map": "MAP_ROUTE119", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 12, "elevation": 0, "dest_map": "MAP_ROUTE119", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 1, "elevation": 0, "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route119_WeatherInstitute_2F/map.json b/data/maps/Route119_WeatherInstitute_2F/map.json index e2e5ebb8a..935ea48dd 100644 --- a/data/maps/Route119_WeatherInstitute_2F/map.json +++ b/data/maps/Route119_WeatherInstitute_2F/map.json @@ -125,7 +125,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json index 6b67310d3..6bb2c84c1 100644 --- a/data/maps/Route120/map.json +++ b/data/maps/Route120/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_FORTREE_CITY", "offset": 0, - "map": "MAP_FORTREE_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE121", "offset": 80, - "map": "MAP_ROUTE121" + "direction": "right" } ], "object_events": [ @@ -604,14 +604,14 @@ "y": 55, "elevation": 0, "dest_map": "MAP_ANCIENT_TOMB", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 23, "elevation": 1, "dest_map": "MAP_SCORCHED_SLAB", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json index aa8f07085..4a73f3fdd 100644 --- a/data/maps/Route121/map.json +++ b/data/maps/Route121/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_ROUTE122", "offset": 20, - "map": "MAP_ROUTE122" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE120", "offset": -80, - "map": "MAP_ROUTE120" + "direction": "left" }, { - "direction": "right", + "map": "MAP_LILYCOVE_CITY", "offset": -10, - "map": "MAP_LILYCOVE_CITY" + "direction": "right" } ], "object_events": [ @@ -414,7 +414,7 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE121_SAFARI_ZONE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [ diff --git a/data/maps/Route121_SafariZoneEntrance/map.json b/data/maps/Route121_SafariZoneEntrance/map.json index 231d3b4a7..3ab11461b 100644 --- a/data/maps/Route121_SafariZoneEntrance/map.json +++ b/data/maps/Route121_SafariZoneEntrance/map.json @@ -60,28 +60,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_SAFARI_ZONE_SOUTH", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 5, "elevation": 0, "dest_map": "MAP_SAFARI_ZONE_SOUTH", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 13, "elevation": 0, "dest_map": "MAP_ROUTE121", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 13, "elevation": 0, "dest_map": "MAP_ROUTE121", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route122/map.json b/data/maps/Route122/map.json index 8c9213347..fe21fe773 100644 --- a/data/maps/Route122/map.json +++ b/data/maps/Route122/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE121", "offset": -20, - "map": "MAP_ROUTE121" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE123", "offset": -100, - "map": "MAP_ROUTE123" + "direction": "down" } ], "object_events": [], @@ -31,7 +31,7 @@ "y": 29, "elevation": 0, "dest_map": "MAP_MT_PYRE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json index 695b50acd..11798b95d 100644 --- a/data/maps/Route123/map.json +++ b/data/maps/Route123/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE122", "offset": 100, - "map": "MAP_ROUTE122" + "direction": "up" }, { - "direction": "left", + "map": "MAP_ROUTE118", "offset": 0, - "map": "MAP_ROUTE118" + "direction": "left" } ], "object_events": [ @@ -591,7 +591,7 @@ "y": 6, "elevation": 0, "dest_map": "MAP_ROUTE123_BERRY_MASTERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route123_BerryMastersHouse/map.json b/data/maps/Route123_BerryMastersHouse/map.json index 488ee97b5..80603aef5 100644 --- a/data/maps/Route123_BerryMastersHouse/map.json +++ b/data/maps/Route123_BerryMastersHouse/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE123", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE123", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route124/map.json b/data/maps/Route124/map.json index 370a5f4e4..21e2ecd06 100644 --- a/data/maps/Route124/map.json +++ b/data/maps/Route124/map.json @@ -14,29 +14,29 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_ROUTE126", "offset": 0, - "map": "MAP_ROUTE126" + "direction": "down" }, { - "direction": "left", + "map": "MAP_LILYCOVE_CITY", "offset": 10, - "map": "MAP_LILYCOVE_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE125", "offset": 0, - "map": "MAP_ROUTE125" + "direction": "right" }, { - "direction": "right", + "map": "MAP_MOSSDEEP_CITY", "offset": 40, - "map": "MAP_MOSSDEEP_CITY" + "direction": "right" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE124", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE124" + "direction": "dive" } ], "object_events": [ @@ -203,7 +203,7 @@ "y": 48, "elevation": 3, "dest_map": "MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/map.json b/data/maps/Route124_DivingTreasureHuntersHouse/map.json index a9c16cd22..148014b99 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/map.json +++ b/data/maps/Route124_DivingTreasureHuntersHouse/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE124", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE124", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route125/map.json b/data/maps/Route125/map.json index 719e6b699..cc8bdf09c 100644 --- a/data/maps/Route125/map.json +++ b/data/maps/Route125/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_MOSSDEEP_CITY", "offset": 0, - "map": "MAP_MOSSDEEP_CITY" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE124", "offset": 0, - "map": "MAP_ROUTE124" + "direction": "left" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE125", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE125" + "direction": "dive" } ], "object_events": [ @@ -167,7 +167,7 @@ "y": 19, "elevation": 0, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route126/map.json b/data/maps/Route126/map.json index bf7d7027c..0997e46b1 100644 --- a/data/maps/Route126/map.json +++ b/data/maps/Route126/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE124", "offset": 0, - "map": "MAP_ROUTE124" + "direction": "up" }, { - "direction": "right", + "map": "MAP_ROUTE127", "offset": 0, - "map": "MAP_ROUTE127" + "direction": "right" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE126", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE126" + "direction": "dive" } ], "object_events": [ diff --git a/data/maps/Route127/map.json b/data/maps/Route127/map.json index 6ef7022f4..30652264e 100644 --- a/data/maps/Route127/map.json +++ b/data/maps/Route127/map.json @@ -14,24 +14,24 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_MOSSDEEP_CITY", "offset": 0, - "map": "MAP_MOSSDEEP_CITY" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE128", "offset": 0, - "map": "MAP_ROUTE128" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE126", "offset": 0, - "map": "MAP_ROUTE126" + "direction": "left" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE127", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE127" + "direction": "dive" } ], "object_events": [ diff --git a/data/maps/Route128/map.json b/data/maps/Route128/map.json index 0bed932d5..464aa83fc 100644 --- a/data/maps/Route128/map.json +++ b/data/maps/Route128/map.json @@ -14,24 +14,24 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE127", "offset": 0, - "map": "MAP_ROUTE127" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE129", "offset": 0, - "map": "MAP_ROUTE129" + "direction": "down" }, { - "direction": "right", + "map": "MAP_EVER_GRANDE_CITY", "offset": -40, - "map": "MAP_EVER_GRANDE_CITY" + "direction": "right" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE128", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE128" + "direction": "dive" } ], "object_events": [ diff --git a/data/maps/Route129/map.json b/data/maps/Route129/map.json index d5383eb50..427b70bd1 100644 --- a/data/maps/Route129/map.json +++ b/data/maps/Route129/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE128", "offset": 0, - "map": "MAP_ROUTE128" + "direction": "up" }, { - "direction": "left", + "map": "MAP_ROUTE130", "offset": 0, - "map": "MAP_ROUTE130" + "direction": "left" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE129", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE129" + "direction": "dive" } ], "object_events": [ diff --git a/data/maps/Route130/map.json b/data/maps/Route130/map.json index c612eccb5..7b37a10ed 100644 --- a/data/maps/Route130/map.json +++ b/data/maps/Route130/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE131", "offset": 0, - "map": "MAP_ROUTE131" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE129", "offset": 0, - "map": "MAP_ROUTE129" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route131/map.json b/data/maps/Route131/map.json index 3599ae556..18cdecc6e 100644 --- a/data/maps/Route131/map.json +++ b/data/maps/Route131/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_PACIFIDLOG_TOWN", "offset": 0, - "map": "MAP_PACIFIDLOG_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE130", "offset": 0, - "map": "MAP_ROUTE130" + "direction": "right" } ], "object_events": [ @@ -136,7 +136,7 @@ "y": 6, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route132/map.json b/data/maps/Route132/map.json index 1d3d9efd0..698dd050f 100644 --- a/data/maps/Route132/map.json +++ b/data/maps/Route132/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE133", "offset": 0, - "map": "MAP_ROUTE133" + "direction": "left" }, { - "direction": "right", + "map": "MAP_PACIFIDLOG_TOWN", "offset": 0, - "map": "MAP_PACIFIDLOG_TOWN" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route133/map.json b/data/maps/Route133/map.json index 80e64638b..106546ef5 100644 --- a/data/maps/Route133/map.json +++ b/data/maps/Route133/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE134", "offset": 0, - "map": "MAP_ROUTE134" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE132", "offset": 0, - "map": "MAP_ROUTE132" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route134/map.json b/data/maps/Route134/map.json index dd642a8e1..f516f16de 100644 --- a/data/maps/Route134/map.json +++ b/data/maps/Route134/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_SLATEPORT_CITY", "offset": 0, - "map": "MAP_SLATEPORT_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE133", "offset": 0, - "map": "MAP_ROUTE133" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/RustboroCity/map.json b/data/maps/RustboroCity/map.json index 445bc5189..3d77404ee 100644 --- a/data/maps/RustboroCity/map.json +++ b/data/maps/RustboroCity/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE115", "offset": 0, - "map": "MAP_ROUTE115" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE104", "offset": 0, - "map": "MAP_ROUTE104" + "direction": "down" }, { - "direction": "right", + "map": "MAP_ROUTE116", "offset": 0, - "map": "MAP_ROUTE116" + "direction": "right" } ], "object_events": [ @@ -245,84 +245,84 @@ "y": 19, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 30, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT1_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 45, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 38, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 27, "y": 34, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_POKEMON_SCHOOL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 15, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 15, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 33, "y": 19, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 38, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_CUTTERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 30, "y": 28, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 51, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 46, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/RustboroCity_CuttersHouse/map.json b/data/maps/RustboroCity_CuttersHouse/map.json index 081799cd1..16394a68b 100644 --- a/data/maps/RustboroCity_CuttersHouse/map.json +++ b/data/maps/RustboroCity_CuttersHouse/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_DevonCorp_1F/map.json b/data/maps/RustboroCity_DevonCorp_1F/map.json index 714f15506..64a8b917a 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/map.json +++ b/data/maps/RustboroCity_DevonCorp_1F/map.json @@ -60,21 +60,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 14, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_DevonCorp_2F/map.json b/data/maps/RustboroCity_DevonCorp_2F/map.json index 95a931e94..3892ba40a 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/map.json +++ b/data/maps/RustboroCity_DevonCorp_2F/map.json @@ -99,14 +99,14 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_DevonCorp_3F/map.json b/data/maps/RustboroCity_DevonCorp_3F/map.json index a31a49dd3..4ddb72718 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/map.json +++ b/data/maps/RustboroCity_DevonCorp_3F/map.json @@ -60,7 +60,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat1_1F/map.json b/data/maps/RustboroCity_Flat1_1F/map.json index d4ddfb2f6..1ed8aafd1 100644 --- a/data/maps/RustboroCity_Flat1_1F/map.json +++ b/data/maps/RustboroCity_Flat1_1F/map.json @@ -47,21 +47,21 @@ "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT1_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat1_2F/map.json b/data/maps/RustboroCity_Flat1_2F/map.json index 3756411d7..bb8767062 100644 --- a/data/maps/RustboroCity_Flat1_2F/map.json +++ b/data/maps/RustboroCity_Flat1_2F/map.json @@ -125,7 +125,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT1_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat2_1F/map.json b/data/maps/RustboroCity_Flat2_1F/map.json index 5379567ff..21c1d5d7f 100644 --- a/data/maps/RustboroCity_Flat2_1F/map.json +++ b/data/maps/RustboroCity_Flat2_1F/map.json @@ -47,21 +47,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 3, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 3, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat2_2F/map.json b/data/maps/RustboroCity_Flat2_2F/map.json index 1ba0bbbba..8494c5232 100644 --- a/data/maps/RustboroCity_Flat2_2F/map.json +++ b/data/maps/RustboroCity_Flat2_2F/map.json @@ -47,14 +47,14 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat2_3F/map.json b/data/maps/RustboroCity_Flat2_3F/map.json index da911f004..d7f47d6a0 100644 --- a/data/maps/RustboroCity_Flat2_3F/map.json +++ b/data/maps/RustboroCity_Flat2_3F/map.json @@ -47,7 +47,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Gym/map.json b/data/maps/RustboroCity_Gym/map.json index 36ae306ab..dc7a34be2 100644 --- a/data/maps/RustboroCity_Gym/map.json +++ b/data/maps/RustboroCity_Gym/map.json @@ -86,14 +86,14 @@ "y": 19, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 19, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_House1/map.json b/data/maps/RustboroCity_House1/map.json index a57b1a693..ad8e9d7ff 100644 --- a/data/maps/RustboroCity_House1/map.json +++ b/data/maps/RustboroCity_House1/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 6, "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_House2/map.json b/data/maps/RustboroCity_House2/map.json index fdaed84fc..398c3ca2a 100644 --- a/data/maps/RustboroCity_House2/map.json +++ b/data/maps/RustboroCity_House2/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_House3/map.json b/data/maps/RustboroCity_House3/map.json index 491550a2c..94a9f1ba9 100644 --- a/data/maps/RustboroCity_House3/map.json +++ b/data/maps/RustboroCity_House3/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Mart/map.json b/data/maps/RustboroCity_Mart/map.json index 1a5b4549f..92a23b6bf 100644 --- a/data/maps/RustboroCity_Mart/map.json +++ b/data/maps/RustboroCity_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_PokemonCenter_1F/map.json b/data/maps/RustboroCity_PokemonCenter_1F/map.json index 633626c4c..d187d49a3 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/map.json +++ b/data/maps/RustboroCity_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_PokemonCenter_2F/map.json b/data/maps/RustboroCity_PokemonCenter_2F/map.json index 912e4b263..5c9c5d42e 100644 --- a/data/maps/RustboroCity_PokemonCenter_2F/map.json +++ b/data/maps/RustboroCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_PokemonSchool/map.json b/data/maps/RustboroCity_PokemonSchool/map.json index e299248a0..5dfab29f7 100644 --- a/data/maps/RustboroCity_PokemonSchool/map.json +++ b/data/maps/RustboroCity_PokemonSchool/map.json @@ -112,14 +112,14 @@ "y": 10, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 6, "y": 10, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json index d8531c879..ef07714ad 100644 --- a/data/maps/RusturfTunnel/map.json +++ b/data/maps/RusturfTunnel/map.json @@ -151,21 +151,21 @@ "y": 10, "elevation": 3, "dest_map": "MAP_ROUTE116", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 29, "y": 16, "elevation": 3, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 18, "y": 20, "elevation": 3, "dest_map": "MAP_ROUTE116", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [ @@ -174,7 +174,7 @@ "x": 23, "y": 4, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "RusturfTunnel_EventScript_TunnelBlockagePos1" }, @@ -201,7 +201,7 @@ "x": 25, "y": 4, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "RusturfTunnel_EventScript_TunnelBlockagePos2" }, @@ -210,7 +210,7 @@ "x": 25, "y": 5, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "RusturfTunnel_EventScript_TunnelBlockagePos3" } diff --git a/data/maps/SSTidalCorridor/map.json b/data/maps/SSTidalCorridor/map.json index 7356e1fe0..7a25d4450 100644 --- a/data/maps/SSTidalCorridor/map.json +++ b/data/maps/SSTidalCorridor/map.json @@ -86,63 +86,63 @@ "y": 9, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 9, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 10, "y": 9, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 13, "y": 9, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 3, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 7, "y": 3, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 10, "y": 3, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 13, "y": 3, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 16, "y": 2, "elevation": 3, "dest_map": "MAP_SS_TIDAL_LOWER_DECK", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SSTidalLowerDeck/map.json b/data/maps/SSTidalLowerDeck/map.json index 79331001a..cdabcd01b 100644 --- a/data/maps/SSTidalLowerDeck/map.json +++ b/data/maps/SSTidalLowerDeck/map.json @@ -47,7 +47,7 @@ "y": 2, "elevation": 3, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/SSTidalRooms/map.json b/data/maps/SSTidalRooms/map.json index fd65d5ce2..d66505b48 100644 --- a/data/maps/SSTidalRooms/map.json +++ b/data/maps/SSTidalRooms/map.json @@ -125,84 +125,84 @@ "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 22, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 23, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 31, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 32, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 1, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 22, "y": 1, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 31, "y": 1, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json index 2419587d8..f1e9048b1 100644 --- a/data/maps/SafariZone_North/map.json +++ b/data/maps/SafariZone_North/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_SAFARI_ZONE_NORTHWEST", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTHWEST" + "direction": "left" }, { - "direction": "down", + "map": "MAP_SAFARI_ZONE_SOUTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTH" + "direction": "down" }, { - "direction": "right", + "map": "MAP_SAFARI_ZONE_NORTHEAST", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTHEAST" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json index 910403107..876ffb8f6 100644 --- a/data/maps/SafariZone_Northeast/map.json +++ b/data/maps/SafariZone_Northeast/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_SAFARI_ZONE_NORTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTH" + "direction": "left" }, { - "direction": "down", + "map": "MAP_SAFARI_ZONE_SOUTHEAST", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTHEAST" + "direction": "down" } ], "object_events": [ diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json index 20fffd049..93f3d2a79 100644 --- a/data/maps/SafariZone_Northwest/map.json +++ b/data/maps/SafariZone_Northwest/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "right", + "map": "MAP_SAFARI_ZONE_NORTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTH" + "direction": "right" }, { - "direction": "down", + "map": "MAP_SAFARI_ZONE_SOUTHWEST", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTHWEST" + "direction": "down" } ], "object_events": [ diff --git a/data/maps/SafariZone_RestHouse/map.json b/data/maps/SafariZone_RestHouse/map.json index e03b024ae..09493d9b5 100644 --- a/data/maps/SafariZone_RestHouse/map.json +++ b/data/maps/SafariZone_RestHouse/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_SAFARI_ZONE_SOUTHWEST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_SAFARI_ZONE_SOUTHWEST", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SafariZone_South/map.json b/data/maps/SafariZone_South/map.json index 562b85b9e..dee1e4062 100644 --- a/data/maps/SafariZone_South/map.json +++ b/data/maps/SafariZone_South/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_SAFARI_ZONE_NORTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTH" + "direction": "up" }, { - "direction": "left", + "map": "MAP_SAFARI_ZONE_SOUTHWEST", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTHWEST" + "direction": "left" }, { - "direction": "right", + "map": "MAP_SAFARI_ZONE_SOUTHEAST", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTHEAST" + "direction": "right" } ], "object_events": [ @@ -115,7 +115,7 @@ "y": 33, "elevation": 0, "dest_map": "MAP_ROUTE121_SAFARI_ZONE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SafariZone_Southeast/map.json b/data/maps/SafariZone_Southeast/map.json index 723e874cc..87fdc8318 100644 --- a/data/maps/SafariZone_Southeast/map.json +++ b/data/maps/SafariZone_Southeast/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_SAFARI_ZONE_SOUTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTH" + "direction": "left" }, { - "direction": "up", + "map": "MAP_SAFARI_ZONE_NORTHEAST", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTHEAST" + "direction": "up" } ], "object_events": [ diff --git a/data/maps/SafariZone_Southwest/map.json b/data/maps/SafariZone_Southwest/map.json index 42faf1f50..39edcb2c6 100644 --- a/data/maps/SafariZone_Southwest/map.json +++ b/data/maps/SafariZone_Southwest/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_SAFARI_ZONE_NORTHWEST", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTHWEST" + "direction": "up" }, { - "direction": "right", + "map": "MAP_SAFARI_ZONE_SOUTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTH" + "direction": "right" } ], "object_events": [ @@ -58,7 +58,7 @@ "y": 7, "elevation": 3, "dest_map": "MAP_SAFARI_ZONE_REST_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/ScorchedSlab/map.json b/data/maps/ScorchedSlab/map.json index cb9789490..ca367b921 100644 --- a/data/maps/ScorchedSlab/map.json +++ b/data/maps/ScorchedSlab/map.json @@ -34,7 +34,7 @@ "y": 16, "elevation": 1, "dest_map": "MAP_ROUTE120", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Entrance/map.json b/data/maps/SeafloorCavern_Entrance/map.json index 1f7095def..5e88d7143 100644 --- a/data/maps/SeafloorCavern_Entrance/map.json +++ b/data/maps/SeafloorCavern_Entrance/map.json @@ -34,14 +34,14 @@ "y": 18, "elevation": 3, "dest_map": "MAP_UNDERWATER_ROUTE128", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room1/map.json b/data/maps/SeafloorCavern_Room1/map.json index 2caa79414..bb580a8ab 100644 --- a/data/maps/SeafloorCavern_Room1/map.json +++ b/data/maps/SeafloorCavern_Room1/map.json @@ -86,21 +86,21 @@ "y": 18, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 17, "y": 13, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 2, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room2/map.json b/data/maps/SeafloorCavern_Room2/map.json index bfdd30499..903c80ede 100644 --- a/data/maps/SeafloorCavern_Room2/map.json +++ b/data/maps/SeafloorCavern_Room2/map.json @@ -125,28 +125,28 @@ "y": 7, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 10, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM6", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM7", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room3/map.json b/data/maps/SeafloorCavern_Room3/map.json index 478e108be..aedea66fc 100644 --- a/data/maps/SeafloorCavern_Room3/map.json +++ b/data/maps/SeafloorCavern_Room3/map.json @@ -138,21 +138,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM8", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 9, "y": 13, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM7", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 15, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM6", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room4/map.json b/data/maps/SeafloorCavern_Room4/map.json index 9ea3528a3..ef3733bb7 100644 --- a/data/maps/SeafloorCavern_Room4/map.json +++ b/data/maps/SeafloorCavern_Room4/map.json @@ -47,28 +47,28 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 9, "y": 10, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 10, "y": 15, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room5/map.json b/data/maps/SeafloorCavern_Room5/map.json index 415e2a718..aeb9f99d4 100644 --- a/data/maps/SeafloorCavern_Room5/map.json +++ b/data/maps/SeafloorCavern_Room5/map.json @@ -99,21 +99,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 15, "y": 12, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 17, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room6/map.json b/data/maps/SeafloorCavern_Room6/map.json index 598f4a042..8e1df23a8 100644 --- a/data/maps/SeafloorCavern_Room6/map.json +++ b/data/maps/SeafloorCavern_Room6/map.json @@ -20,21 +20,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 14, "y": 8, "elevation": 1, "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room7/map.json b/data/maps/SeafloorCavern_Room7/map.json index 243a1f9d1..1911fefde 100644 --- a/data/maps/SeafloorCavern_Room7/map.json +++ b/data/maps/SeafloorCavern_Room7/map.json @@ -20,14 +20,14 @@ "y": 23, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room8/map.json b/data/maps/SeafloorCavern_Room8/map.json index 7c5d5c820..20c796f9d 100644 --- a/data/maps/SeafloorCavern_Room8/map.json +++ b/data/maps/SeafloorCavern_Room8/map.json @@ -177,14 +177,14 @@ "y": 2, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM9", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 12, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json index 7942b3d1d..f191941a2 100644 --- a/data/maps/SeafloorCavern_Room9/map.json +++ b/data/maps/SeafloorCavern_Room9/map.json @@ -112,7 +112,7 @@ "y": 4, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM8", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/SealedChamber_InnerRoom/map.json b/data/maps/SealedChamber_InnerRoom/map.json index 1f8e741d8..7f35fadd6 100644 --- a/data/maps/SealedChamber_InnerRoom/map.json +++ b/data/maps/SealedChamber_InnerRoom/map.json @@ -20,7 +20,7 @@ "y": 19, "elevation": 3, "dest_map": "MAP_SEALED_CHAMBER_OUTER_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SealedChamber_OuterRoom/map.json b/data/maps/SealedChamber_OuterRoom/map.json index e16350d7e..52e81b884 100644 --- a/data/maps/SealedChamber_OuterRoom/map.json +++ b/data/maps/SealedChamber_OuterRoom/map.json @@ -20,7 +20,7 @@ "y": 2, "elevation": 3, "dest_map": "MAP_SEALED_CHAMBER_INNER_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BlueCave1/map.json b/data/maps/SecretBase_BlueCave1/map.json index 066cfb385..0edcb99df 100644 --- a/data/maps/SecretBase_BlueCave1/map.json +++ b/data/maps/SecretBase_BlueCave1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BlueCave2/map.json b/data/maps/SecretBase_BlueCave2/map.json index b74fa5afb..c93bddd12 100644 --- a/data/maps/SecretBase_BlueCave2/map.json +++ b/data/maps/SecretBase_BlueCave2/map.json @@ -216,8 +216,8 @@ "x": 7, "y": 5, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BlueCave3/map.json b/data/maps/SecretBase_BlueCave3/map.json index dd67e2d54..4d7887ae7 100644 --- a/data/maps/SecretBase_BlueCave3/map.json +++ b/data/maps/SecretBase_BlueCave3/map.json @@ -216,8 +216,8 @@ "x": 4, "y": 15, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BlueCave4/map.json b/data/maps/SecretBase_BlueCave4/map.json index 3c97371f5..b8938396a 100644 --- a/data/maps/SecretBase_BlueCave4/map.json +++ b/data/maps/SecretBase_BlueCave4/map.json @@ -216,8 +216,8 @@ "x": 4, "y": 15, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BrownCave1/map.json b/data/maps/SecretBase_BrownCave1/map.json index 062eac9f4..e0d8b2639 100644 --- a/data/maps/SecretBase_BrownCave1/map.json +++ b/data/maps/SecretBase_BrownCave1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BrownCave2/map.json b/data/maps/SecretBase_BrownCave2/map.json index eb04f2a8d..9ab47030b 100644 --- a/data/maps/SecretBase_BrownCave2/map.json +++ b/data/maps/SecretBase_BrownCave2/map.json @@ -216,8 +216,8 @@ "x": 1, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BrownCave3/map.json b/data/maps/SecretBase_BrownCave3/map.json index 1d00ee139..4f5ce0401 100644 --- a/data/maps/SecretBase_BrownCave3/map.json +++ b/data/maps/SecretBase_BrownCave3/map.json @@ -216,8 +216,8 @@ "x": 11, "y": 9, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BrownCave4/map.json b/data/maps/SecretBase_BrownCave4/map.json index f1fb82eb4..4fdb8e022 100644 --- a/data/maps/SecretBase_BrownCave4/map.json +++ b/data/maps/SecretBase_BrownCave4/map.json @@ -216,8 +216,8 @@ "x": 2, "y": 8, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_RedCave1/map.json b/data/maps/SecretBase_RedCave1/map.json index e83458a87..d3e1fd915 100644 --- a/data/maps/SecretBase_RedCave1/map.json +++ b/data/maps/SecretBase_RedCave1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_RedCave2/map.json b/data/maps/SecretBase_RedCave2/map.json index 9a0ac210f..591fe3b53 100644 --- a/data/maps/SecretBase_RedCave2/map.json +++ b/data/maps/SecretBase_RedCave2/map.json @@ -216,8 +216,8 @@ "x": 3, "y": 14, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_RedCave3/map.json b/data/maps/SecretBase_RedCave3/map.json index ce405a40a..88b86c929 100644 --- a/data/maps/SecretBase_RedCave3/map.json +++ b/data/maps/SecretBase_RedCave3/map.json @@ -216,8 +216,8 @@ "x": 3, "y": 6, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_RedCave4/map.json b/data/maps/SecretBase_RedCave4/map.json index 2b1ad8c2c..8a22aa7b6 100644 --- a/data/maps/SecretBase_RedCave4/map.json +++ b/data/maps/SecretBase_RedCave4/map.json @@ -216,8 +216,8 @@ "x": 2, "y": 12, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Shrub1/map.json b/data/maps/SecretBase_Shrub1/map.json index a028cbe62..05dd99f04 100644 --- a/data/maps/SecretBase_Shrub1/map.json +++ b/data/maps/SecretBase_Shrub1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Shrub2/map.json b/data/maps/SecretBase_Shrub2/map.json index 60977e70d..f2c206283 100644 --- a/data/maps/SecretBase_Shrub2/map.json +++ b/data/maps/SecretBase_Shrub2/map.json @@ -216,8 +216,8 @@ "x": 7, "y": 5, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Shrub3/map.json b/data/maps/SecretBase_Shrub3/map.json index a513b0bd2..882e8185f 100644 --- a/data/maps/SecretBase_Shrub3/map.json +++ b/data/maps/SecretBase_Shrub3/map.json @@ -216,8 +216,8 @@ "x": 6, "y": 9, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Shrub4/map.json b/data/maps/SecretBase_Shrub4/map.json index 6aded553b..1c98b91d7 100644 --- a/data/maps/SecretBase_Shrub4/map.json +++ b/data/maps/SecretBase_Shrub4/map.json @@ -216,8 +216,8 @@ "x": 11, "y": 8, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Tree1/map.json b/data/maps/SecretBase_Tree1/map.json index cd6a0b33a..9c4b68455 100644 --- a/data/maps/SecretBase_Tree1/map.json +++ b/data/maps/SecretBase_Tree1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Tree2/map.json b/data/maps/SecretBase_Tree2/map.json index 3aad151ff..0ab31e280 100644 --- a/data/maps/SecretBase_Tree2/map.json +++ b/data/maps/SecretBase_Tree2/map.json @@ -216,8 +216,8 @@ "x": 3, "y": 14, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Tree3/map.json b/data/maps/SecretBase_Tree3/map.json index 498852c02..3243b564a 100644 --- a/data/maps/SecretBase_Tree3/map.json +++ b/data/maps/SecretBase_Tree3/map.json @@ -216,8 +216,8 @@ "x": 8, "y": 6, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Tree4/map.json b/data/maps/SecretBase_Tree4/map.json index b24d1d8a9..232e64224 100644 --- a/data/maps/SecretBase_Tree4/map.json +++ b/data/maps/SecretBase_Tree4/map.json @@ -216,8 +216,8 @@ "x": 7, "y": 12, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_YellowCave1/map.json b/data/maps/SecretBase_YellowCave1/map.json index 54916fda3..a370c4a93 100644 --- a/data/maps/SecretBase_YellowCave1/map.json +++ b/data/maps/SecretBase_YellowCave1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_YellowCave2/map.json b/data/maps/SecretBase_YellowCave2/map.json index f9d9a572b..06f68b1f2 100644 --- a/data/maps/SecretBase_YellowCave2/map.json +++ b/data/maps/SecretBase_YellowCave2/map.json @@ -216,8 +216,8 @@ "x": 12, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_YellowCave3/map.json b/data/maps/SecretBase_YellowCave3/map.json index fdcc94c18..7d5c488c8 100644 --- a/data/maps/SecretBase_YellowCave3/map.json +++ b/data/maps/SecretBase_YellowCave3/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 9, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_YellowCave4/map.json b/data/maps/SecretBase_YellowCave4/map.json index 246974eaa..ae73f170f 100644 --- a/data/maps/SecretBase_YellowCave4/map.json +++ b/data/maps/SecretBase_YellowCave4/map.json @@ -216,8 +216,8 @@ "x": 6, "y": 12, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/map.json b/data/maps/ShoalCave_LowTideEntranceRoom/map.json index ba71e1085..652038dac 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/map.json +++ b/data/maps/ShoalCave_LowTideEntranceRoom/map.json @@ -47,28 +47,28 @@ "y": 30, "elevation": 3, "dest_map": "MAP_ROUTE125", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 5, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 2, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 27, "y": 2, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideIceRoom/map.json b/data/maps/ShoalCave_LowTideIceRoom/map.json index 3195d408b..f87f88227 100644 --- a/data/maps/ShoalCave_LowTideIceRoom/map.json +++ b/data/maps/ShoalCave_LowTideIceRoom/map.json @@ -47,7 +47,7 @@ "y": 10, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideInnerRoom/map.json b/data/maps/ShoalCave_LowTideInnerRoom/map.json index bf172e8b4..e7261f295 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/map.json +++ b/data/maps/ShoalCave_LowTideInnerRoom/map.json @@ -34,56 +34,56 @@ "y": 29, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 38, "y": 15, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 42, "y": 4, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 19, "y": 14, "elevation": 4, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 19, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 30, "y": 25, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 14, "y": 33, "elevation": 5, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 40, "y": 33, "elevation": 5, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.json b/data/maps/ShoalCave_LowTideLowerRoom/map.json index 719841ec0..06e30f049 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/map.json +++ b/data/maps/ShoalCave_LowTideLowerRoom/map.json @@ -47,28 +47,28 @@ "y": 2, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 2, "y": 6, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 19, "y": 11, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 28, "y": 11, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideStairsRoom/map.json b/data/maps/ShoalCave_LowTideStairsRoom/map.json index 4207c9584..758781a03 100644 --- a/data/maps/ShoalCave_LowTideStairsRoom/map.json +++ b/data/maps/ShoalCave_LowTideStairsRoom/map.json @@ -34,14 +34,14 @@ "y": 12, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 4, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_1F/map.json b/data/maps/SkyPillar_1F/map.json index 6ce499be2..05e64034d 100644 --- a/data/maps/SkyPillar_1F/map.json +++ b/data/maps/SkyPillar_1F/map.json @@ -20,21 +20,21 @@ "y": 13, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_OUTSIDE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 13, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_OUTSIDE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_2F/map.json b/data/maps/SkyPillar_2F/map.json index 7b534c2f7..a89e5e3cb 100644 --- a/data/maps/SkyPillar_2F/map.json +++ b/data/maps/SkyPillar_2F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_3F/map.json b/data/maps/SkyPillar_3F/map.json index c05324f10..abf456456 100644 --- a/data/maps/SkyPillar_3F/map.json +++ b/data/maps/SkyPillar_3F/map.json @@ -20,21 +20,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 11, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_4F/map.json b/data/maps/SkyPillar_4F/map.json index 7b5ad062e..a8b3f705b 100644 --- a/data/maps/SkyPillar_4F/map.json +++ b/data/maps/SkyPillar_4F/map.json @@ -20,21 +20,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_3F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_5F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_5F/map.json b/data/maps/SkyPillar_5F/map.json index 5be104fb0..1fc8baf77 100644 --- a/data/maps/SkyPillar_5F/map.json +++ b/data/maps/SkyPillar_5F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_4F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_TOP", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_Entrance/map.json b/data/maps/SkyPillar_Entrance/map.json index c880da6ea..a224bee2c 100644 --- a/data/maps/SkyPillar_Entrance/map.json +++ b/data/maps/SkyPillar_Entrance/map.json @@ -20,14 +20,14 @@ "y": 16, "elevation": 3, "dest_map": "MAP_ROUTE131", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 4, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_OUTSIDE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_Outside/map.json b/data/maps/SkyPillar_Outside/map.json index b0d4e198b..d72441266 100644 --- a/data/maps/SkyPillar_Outside/map.json +++ b/data/maps/SkyPillar_Outside/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 5, "elevation": 0, "dest_map": "MAP_SKY_PILLAR_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_Top/map.json b/data/maps/SkyPillar_Top/map.json index 2fee12106..4c7ea03d1 100644 --- a/data/maps/SkyPillar_Top/map.json +++ b/data/maps/SkyPillar_Top/map.json @@ -47,7 +47,7 @@ "y": 14, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_5F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/SlateportCity/map.json b/data/maps/SlateportCity/map.json index 6ffed4b45..972b51447 100644 --- a/data/maps/SlateportCity/map.json +++ b/data/maps/SlateportCity/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE110", "offset": 0, - "map": "MAP_ROUTE110" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE109", "offset": 0, - "map": "MAP_ROUTE109" + "direction": "down" }, { - "direction": "right", + "map": "MAP_ROUTE134", "offset": 0, - "map": "MAP_ROUTE134" + "direction": "right" } ], "object_events": [ @@ -492,77 +492,77 @@ "y": 19, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 26, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 38, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 12, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 26, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 30, "y": 26, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 19, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 31, "y": 26, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 28, "y": 12, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_HARBOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 40, "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_HARBOR", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 21, "y": 44, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/SlateportCity_BattleTentLobby/map.json b/data/maps/SlateportCity_BattleTentLobby/map.json index efd03e1e2..6a599df8f 100644 --- a/data/maps/SlateportCity_BattleTentLobby/map.json +++ b/data/maps/SlateportCity_BattleTentLobby/map.json @@ -86,14 +86,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 7, "y": 9, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_Harbor/map.json b/data/maps/SlateportCity_Harbor/map.json index 17d3c8940..05fe77c61 100644 --- a/data/maps/SlateportCity_Harbor/map.json +++ b/data/maps/SlateportCity_Harbor/map.json @@ -125,28 +125,28 @@ "y": 14, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 12, "y": 14, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 19, "y": 15, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 20, "y": 15, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [ diff --git a/data/maps/SlateportCity_House/map.json b/data/maps/SlateportCity_House/map.json index 5ccc92566..354c39441 100644 --- a/data/maps/SlateportCity_House/map.json +++ b/data/maps/SlateportCity_House/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_Mart/map.json b/data/maps/SlateportCity_Mart/map.json index 45d322555..a86614bd1 100644 --- a/data/maps/SlateportCity_Mart/map.json +++ b/data/maps/SlateportCity_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_NameRatersHouse/map.json b/data/maps/SlateportCity_NameRatersHouse/map.json index c0a94fd69..5b93717a9 100644 --- a/data/maps/SlateportCity_NameRatersHouse/map.json +++ b/data/maps/SlateportCity_NameRatersHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/map.json b/data/maps/SlateportCity_OceanicMuseum_1F/map.json index 7748f5438..fd3468a52 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/map.json +++ b/data/maps/SlateportCity_OceanicMuseum_1F/map.json @@ -203,21 +203,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 10, "y": 8, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 6, "y": 1, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/map.json b/data/maps/SlateportCity_OceanicMuseum_2F/map.json index 7b78802e3..bab9c1ea5 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/map.json +++ b/data/maps/SlateportCity_OceanicMuseum_2F/map.json @@ -112,7 +112,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_PokemonCenter_1F/map.json b/data/maps/SlateportCity_PokemonCenter_1F/map.json index 91132909a..418210f0b 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/map.json +++ b/data/maps/SlateportCity_PokemonCenter_1F/map.json @@ -60,21 +60,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_PokemonCenter_2F/map.json b/data/maps/SlateportCity_PokemonCenter_2F/map.json index 74b5ee63c..02e122d0e 100644 --- a/data/maps/SlateportCity_PokemonCenter_2F/map.json +++ b/data/maps/SlateportCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_PokemonFanClub/map.json b/data/maps/SlateportCity_PokemonFanClub/map.json index b1e4b0f8b..04e9b7add 100644 --- a/data/maps/SlateportCity_PokemonFanClub/map.json +++ b/data/maps/SlateportCity_PokemonFanClub/map.json @@ -138,14 +138,14 @@ "y": 10, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 7, "y": 10, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_SternsShipyard_1F/map.json b/data/maps/SlateportCity_SternsShipyard_1F/map.json index 66cdd6a1d..4414fcfb1 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/map.json +++ b/data/maps/SlateportCity_SternsShipyard_1F/map.json @@ -73,21 +73,21 @@ "y": 14, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 14, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 1, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_SternsShipyard_2F/map.json b/data/maps/SlateportCity_SternsShipyard_2F/map.json index 1b89b2bfa..6dad88b9e 100644 --- a/data/maps/SlateportCity_SternsShipyard_2F/map.json +++ b/data/maps/SlateportCity_SternsShipyard_2F/map.json @@ -60,7 +60,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity/map.json b/data/maps/SootopolisCity/map.json index f5c265139..c6a6757d2 100644 --- a/data/maps/SootopolisCity/map.json +++ b/data/maps/SootopolisCity/map.json @@ -255,91 +255,91 @@ "y": 31, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 29, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 31, "y": 32, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 31, "y": 16, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 45, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 17, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 44, "y": 17, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 26, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 53, "y": 28, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE6", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 35, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE7", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 48, "y": 25, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 51, "y": 36, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_Gym_1F/map.json b/data/maps/SootopolisCity_Gym_1F/map.json index 46baea29d..869bd4fc4 100644 --- a/data/maps/SootopolisCity_Gym_1F/map.json +++ b/data/maps/SootopolisCity_Gym_1F/map.json @@ -47,21 +47,21 @@ "y": 25, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 9, "y": 25, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 11, "y": 22, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_Gym_B1F/map.json b/data/maps/SootopolisCity_Gym_B1F/map.json index 3badb1c52..2dcd0b6e2 100644 --- a/data/maps/SootopolisCity_Gym_B1F/map.json +++ b/data/maps/SootopolisCity_Gym_B1F/map.json @@ -151,7 +151,7 @@ "y": 22, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House1/map.json b/data/maps/SootopolisCity_House1/map.json index 29162b867..b7c6af571 100644 --- a/data/maps/SootopolisCity_House1/map.json +++ b/data/maps/SootopolisCity_House1/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House2/map.json b/data/maps/SootopolisCity_House2/map.json index 3fe0baf48..3ad5c4fec 100644 --- a/data/maps/SootopolisCity_House2/map.json +++ b/data/maps/SootopolisCity_House2/map.json @@ -34,14 +34,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House3/map.json b/data/maps/SootopolisCity_House3/map.json index 00d82637e..984e31153 100644 --- a/data/maps/SootopolisCity_House3/map.json +++ b/data/maps/SootopolisCity_House3/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House4/map.json b/data/maps/SootopolisCity_House4/map.json index e811785d0..66008482f 100644 --- a/data/maps/SootopolisCity_House4/map.json +++ b/data/maps/SootopolisCity_House4/map.json @@ -60,14 +60,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House5/map.json b/data/maps/SootopolisCity_House5/map.json index 6b25c5af6..3a06c9b63 100644 --- a/data/maps/SootopolisCity_House5/map.json +++ b/data/maps/SootopolisCity_House5/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House6/map.json b/data/maps/SootopolisCity_House6/map.json index 365503e8f..731b01fca 100644 --- a/data/maps/SootopolisCity_House6/map.json +++ b/data/maps/SootopolisCity_House6/map.json @@ -34,14 +34,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House7/map.json b/data/maps/SootopolisCity_House7/map.json index 47d98c914..628504864 100644 --- a/data/maps/SootopolisCity_House7/map.json +++ b/data/maps/SootopolisCity_House7/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json index 143fdf9f2..1b1f61260 100644 --- a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json +++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_Mart/map.json b/data/maps/SootopolisCity_Mart/map.json index 55686a14f..1f75af5de 100644 --- a/data/maps/SootopolisCity_Mart/map.json +++ b/data/maps/SootopolisCity_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json index a7fa18760..0b2ad974c 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json @@ -34,21 +34,21 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 3, "y": 1, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.json b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.json index 82885ebcc..184af4d4d 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.json +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.json @@ -34,7 +34,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/map.json b/data/maps/SootopolisCity_PokemonCenter_1F/map.json index 8dac70dea..0fa27599d 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/map.json b/data/maps/SootopolisCity_PokemonCenter_2F/map.json index fd85b236b..fb17ee9fb 100644 --- a/data/maps/SootopolisCity_PokemonCenter_2F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SouthernIsland_Exterior/map.json b/data/maps/SouthernIsland_Exterior/map.json index 8fe4bcf29..53a988398 100644 --- a/data/maps/SouthernIsland_Exterior/map.json +++ b/data/maps/SouthernIsland_Exterior/map.json @@ -47,14 +47,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_SOUTHERN_ISLAND_INTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 5, "elevation": 3, "dest_map": "MAP_SOUTHERN_ISLAND_INTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index b393413fe..6e7009a1f 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -33,20 +33,20 @@ SouthernIsland_Exterior_EventScript_AsYouLike:: end Ferry_EventScript_DepartIslandSouth:: - applymovement OBJ_EVENT_ID_PLAYER, Ferry_EventScript_DepartIslandBoardSouth + applymovement OBJ_EVENT_ID_PLAYER, Ferry_Movement_DepartIslandBoardSouth waitmovement 0 return Ferry_EventScript_DepartIslandWest:: - applymovement OBJ_EVENT_ID_PLAYER, Ferry_EventScript_DepartIslandBoardWest + applymovement OBJ_EVENT_ID_PLAYER, Ferry_Movement_DepartIslandBoardWest waitmovement 0 return -Ferry_EventScript_DepartIslandBoardSouth: +Ferry_Movement_DepartIslandBoardSouth: walk_down step_end -Ferry_EventScript_DepartIslandBoardWest: +Ferry_Movement_DepartIslandBoardWest: walk_left walk_in_place_faster_down step_end diff --git a/data/maps/SouthernIsland_Interior/map.json b/data/maps/SouthernIsland_Interior/map.json index 179ab1997..76212cbbd 100644 --- a/data/maps/SouthernIsland_Interior/map.json +++ b/data/maps/SouthernIsland_Interior/map.json @@ -47,14 +47,14 @@ "y": 18, "elevation": 3, "dest_map": "MAP_SOUTHERN_ISLAND_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 18, "elevation": 3, "dest_map": "MAP_SOUTHERN_ISLAND_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/TerraCave_End/map.json b/data/maps/TerraCave_End/map.json index e5fef758b..264b35af2 100644 --- a/data/maps/TerraCave_End/map.json +++ b/data/maps/TerraCave_End/map.json @@ -34,7 +34,7 @@ "y": 4, "elevation": 3, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/TerraCave_Entrance/map.json b/data/maps/TerraCave_Entrance/map.json index 1ddc768e2..c80d7a1f6 100644 --- a/data/maps/TerraCave_Entrance/map.json +++ b/data/maps/TerraCave_Entrance/map.json @@ -19,15 +19,15 @@ "x": 8, "y": 18, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 14, "y": 1, "elevation": 3, "dest_map": "MAP_TERRA_CAVE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TradeCenter/map.json b/data/maps/TradeCenter/map.json index 0d3dd5477..6d128ee08 100644 --- a/data/maps/TradeCenter/map.json +++ b/data/maps/TradeCenter/map.json @@ -33,15 +33,15 @@ "x": 5, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 6, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/TrainerHill_1F/map.json b/data/maps/TrainerHill_1F/map.json index d14bbb293..297b686e2 100644 --- a/data/maps/TrainerHill_1F/map.json +++ b/data/maps/TrainerHill_1F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_2F/map.json b/data/maps/TrainerHill_2F/map.json index a4c9bca7d..7df034d83 100644 --- a/data/maps/TrainerHill_2F/map.json +++ b/data/maps/TrainerHill_2F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_3F/map.json b/data/maps/TrainerHill_3F/map.json index 069ca83ac..d20e019d3 100644 --- a/data/maps/TrainerHill_3F/map.json +++ b/data/maps/TrainerHill_3F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_4F/map.json b/data/maps/TrainerHill_4F/map.json index f195d9e93..2405deea8 100644 --- a/data/maps/TrainerHill_4F/map.json +++ b/data/maps/TrainerHill_4F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_ROOF", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_Elevator/map.json b/data/maps/TrainerHill_Elevator/map.json index 3d56ff476..a611cbf64 100644 --- a/data/maps/TrainerHill_Elevator/map.json +++ b/data/maps/TrainerHill_Elevator/map.json @@ -34,14 +34,14 @@ "y": 6, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_ROOF", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 6, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_ROOF", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_Entrance/map.json b/data/maps/TrainerHill_Entrance/map.json index b2c20d050..0f2b4ec55 100644 --- a/data/maps/TrainerHill_Entrance/map.json +++ b/data/maps/TrainerHill_Entrance/map.json @@ -86,21 +86,21 @@ "y": 16, "elevation": 3, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 10, "y": 16, "elevation": 3, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/TrainerHill_Roof/map.json b/data/maps/TrainerHill_Roof/map.json index 16020a762..7975c08c2 100644 --- a/data/maps/TrainerHill_Roof/map.json +++ b/data/maps/TrainerHill_Roof/map.json @@ -34,14 +34,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 15, "y": 5, "elevation": 0, "dest_map": "MAP_TRAINER_HILL_ELEVATOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Underwater_MarineCave/map.json b/data/maps/Underwater_MarineCave/map.json index c053fb121..ee9fcc0fb 100644 --- a/data/maps/Underwater_MarineCave/map.json +++ b/data/maps/Underwater_MarineCave/map.json @@ -19,8 +19,8 @@ "x": 9, "y": 8, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route105/map.json b/data/maps/Underwater_Route105/map.json index 890ccb2a8..069ccab4d 100644 --- a/data/maps/Underwater_Route105/map.json +++ b/data/maps/Underwater_Route105/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "emerge", + "map": "MAP_ROUTE105", "offset": 0, - "map": "MAP_ROUTE105" + "direction": "emerge" } ], "object_events": [], @@ -26,14 +26,14 @@ "y": 4, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 66, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route124/map.json b/data/maps/Underwater_Route124/map.json index 46bc141a8..1f1b2a9aa 100644 --- a/data/maps/Underwater_Route124/map.json +++ b/data/maps/Underwater_Route124/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_UNDERWATER_ROUTE126", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE126" + "direction": "down" }, { - "direction": "emerge", + "map": "MAP_ROUTE124", "offset": 0, - "map": "MAP_ROUTE124" + "direction": "emerge" } ], "object_events": [], diff --git a/data/maps/Underwater_Route125/map.json b/data/maps/Underwater_Route125/map.json index c32bb57e8..490d591a3 100644 --- a/data/maps/Underwater_Route125/map.json +++ b/data/maps/Underwater_Route125/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "emerge", + "map": "MAP_ROUTE125", "offset": 0, - "map": "MAP_ROUTE125" + "direction": "emerge" } ], "object_events": [], @@ -26,14 +26,14 @@ "y": 10, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 45, "y": 30, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route126/map.json b/data/maps/Underwater_Route126/map.json index 993bb7907..d70dc7395 100644 --- a/data/maps/Underwater_Route126/map.json +++ b/data/maps/Underwater_Route126/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_UNDERWATER_ROUTE124", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE124" + "direction": "up" }, { - "direction": "right", + "map": "MAP_UNDERWATER_ROUTE127", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE127" + "direction": "right" }, { - "direction": "emerge", + "map": "MAP_ROUTE126", "offset": 0, - "map": "MAP_ROUTE126" + "direction": "emerge" } ], "object_events": [], @@ -36,7 +36,7 @@ "y": 65, "elevation": 0, "dest_map": "MAP_UNDERWATER_SOOTOPOLIS_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route127/map.json b/data/maps/Underwater_Route127/map.json index b96f79c5d..426045993 100644 --- a/data/maps/Underwater_Route127/map.json +++ b/data/maps/Underwater_Route127/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "emerge", + "map": "MAP_ROUTE127", "offset": 0, - "map": "MAP_ROUTE127" + "direction": "emerge" }, { - "direction": "left", + "map": "MAP_UNDERWATER_ROUTE126", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE126" + "direction": "left" }, { - "direction": "down", + "map": "MAP_UNDERWATER_ROUTE128", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE128" + "direction": "down" } ], "object_events": [], @@ -36,14 +36,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 67, "y": 38, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route128/map.json b/data/maps/Underwater_Route128/map.json index f80cf41a6..75d92f681 100644 --- a/data/maps/Underwater_Route128/map.json +++ b/data/maps/Underwater_Route128/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_UNDERWATER_ROUTE127", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE127" + "direction": "up" }, { - "direction": "emerge", + "map": "MAP_ROUTE128", "offset": 0, - "map": "MAP_ROUTE128" + "direction": "emerge" } ], "object_events": [], @@ -31,7 +31,7 @@ "y": 26, "elevation": 3, "dest_map": "MAP_UNDERWATER_SEAFLOOR_CAVERN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route129/map.json b/data/maps/Underwater_Route129/map.json index 45775bd6b..674e98aff 100644 --- a/data/maps/Underwater_Route129/map.json +++ b/data/maps/Underwater_Route129/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "emerge", + "map": "MAP_ROUTE129", "offset": 0, - "map": "MAP_ROUTE129" + "direction": "emerge" } ], "object_events": [], @@ -26,14 +26,14 @@ "y": 3, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 32, "y": 21, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route134/map.json b/data/maps/Underwater_Route134/map.json index 74526bc4d..16599a49e 100644 --- a/data/maps/Underwater_Route134/map.json +++ b/data/maps/Underwater_Route134/map.json @@ -20,7 +20,7 @@ "y": 8, "elevation": 0, "dest_map": "MAP_UNDERWATER_SEALED_CHAMBER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_SeafloorCavern/map.json b/data/maps/Underwater_SeafloorCavern/map.json index d25a3600d..bbc13e31d 100644 --- a/data/maps/Underwater_SeafloorCavern/map.json +++ b/data/maps/Underwater_SeafloorCavern/map.json @@ -73,7 +73,7 @@ "y": 7, "elevation": 0, "dest_map": "MAP_UNDERWATER_ROUTE128", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_SealedChamber/map.json b/data/maps/Underwater_SealedChamber/map.json index 5f3b99055..88880fcee 100644 --- a/data/maps/Underwater_SealedChamber/map.json +++ b/data/maps/Underwater_SealedChamber/map.json @@ -20,7 +20,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_UNDERWATER_ROUTE134", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_SootopolisCity/map.json b/data/maps/Underwater_SootopolisCity/map.json index 0d1363ff6..86a337399 100644 --- a/data/maps/Underwater_SootopolisCity/map.json +++ b/data/maps/Underwater_SootopolisCity/map.json @@ -20,14 +20,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_UNDERWATER_ROUTE126", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 8, "elevation": 0, "dest_map": "MAP_UNDERWATER_ROUTE126", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/UnionRoom/map.json b/data/maps/UnionRoom/map.json index 3d19cd55f..8c663eb42 100644 --- a/data/maps/UnionRoom/map.json +++ b/data/maps/UnionRoom/map.json @@ -137,15 +137,15 @@ "x": 7, "y": 11, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 8, "y": 11, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown/map.json b/data/maps/VerdanturfTown/map.json index 94d140c05..ae40730c0 100644 --- a/data/maps/VerdanturfTown/map.json +++ b/data/maps/VerdanturfTown/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE116", "offset": -80, - "map": "MAP_ROUTE116" + "direction": "up" }, { - "direction": "right", + "map": "MAP_ROUTE117", "offset": 0, - "map": "MAP_ROUTE117" + "direction": "right" } ], "object_events": [ @@ -84,49 +84,49 @@ "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 3, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 3, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 14, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_WANDAS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTURF_TUNNEL", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 1, "y": 14, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 15, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_BattleTentLobby/map.json b/data/maps/VerdanturfTown_BattleTentLobby/map.json index d4a8ccfa5..ddb4b9dd3 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/map.json +++ b/data/maps/VerdanturfTown_BattleTentLobby/map.json @@ -99,14 +99,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 9, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json index 7fa310426..0a92eb610 100644 --- a/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json +++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_House/map.json b/data/maps/VerdanturfTown_House/map.json index d552e914a..b32414626 100644 --- a/data/maps/VerdanturfTown_House/map.json +++ b/data/maps/VerdanturfTown_House/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_Mart/map.json b/data/maps/VerdanturfTown_Mart/map.json index b8183646c..096d63552 100644 --- a/data/maps/VerdanturfTown_Mart/map.json +++ b/data/maps/VerdanturfTown_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json index 8e3fc3e28..20a144afb 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json index 2edb6602d..9785cdbe0 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_WandasHouse/map.json b/data/maps/VerdanturfTown_WandasHouse/map.json index 43a5b9c44..309ae8e38 100644 --- a/data/maps/VerdanturfTown_WandasHouse/map.json +++ b/data/maps/VerdanturfTown_WandasHouse/map.json @@ -86,14 +86,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 8, "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json index 5f3271c89..44a2bca66 100644 --- a/data/maps/VictoryRoad_1F/map.json +++ b/data/maps/VictoryRoad_1F/map.json @@ -138,35 +138,35 @@ "y": 40, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 39, "y": 5, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 21, "y": 32, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 42, "y": 38, "elevation": 4, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 9, "y": 14, "elevation": 4, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [ diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json index 68b013ef4..6f339a1c2 100644 --- a/data/maps/VictoryRoad_B1F/map.json +++ b/data/maps/VictoryRoad_B1F/map.json @@ -294,49 +294,49 @@ "y": 25, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 16, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B2F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 42, "y": 25, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 42, "y": 2, "elevation": 4, "dest_map": "MAP_VICTORY_ROAD_B2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 3, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 20, "y": 21, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 26, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B2F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/VictoryRoad_B2F/map.json b/data/maps/VictoryRoad_B2F/map.json index 6ee56389f..d38bda2a7 100644 --- a/data/maps/VictoryRoad_B2F/map.json +++ b/data/maps/VictoryRoad_B2F/map.json @@ -112,28 +112,28 @@ "y": 25, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 43, "y": 2, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 19, "y": 12, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 26, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/scripts/repel.inc b/data/scripts/repel.inc index fc178603c..fc32df1d9 100644 --- a/data/scripts/repel.inc +++ b/data/scripts/repel.inc @@ -1,6 +1,115 @@ EventScript_RepelWoreOff:: +.if I_REPEL_LURE_MENU == TRUE + checkitem ITEM_REPEL, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother + checkitem ITEM_SUPER_REPEL, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother + checkitem ITEM_MAX_REPEL, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother +.else + checkitem VAR_LAST_REPEL_LURE_USED, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother +.endif + lock msgbox Text_RepelWoreOff, MSGBOX_SIGN + release + end + +EventScript_RepelUseAnother: + lock + msgbox Text_UseAnotherRepel, MSGBOX_YESNO +.if I_REPEL_LURE_MENU == TRUE + callnative TryDrawRepelMenu + goto_if_eq VAR_RESULT, FALSE, EventScript_RepelWoreOff_Chose + waitstate + goto_if_eq VAR_RESULT, 127, EventScript_RepelWoreOff_End +EventScript_RepelWoreOff_Chose: + callnative HandleRepelMenuChoice + bufferitemname 1, VAR_0x8004 + removeitem VAR_0x8004, 1 + playse SE_REPEL + msgbox Text_UsedNewRepelLure, MSGBOX_SIGN +.else + goto_if_eq VAR_RESULT, YES, EventScript_UsedRepel +.endif +EventScript_RepelWoreOff_End: + release + end + +EventScript_UsedRepel: + bufferitemname 1, VAR_LAST_REPEL_LURE_USED + playse SE_REPEL + lock + msgbox Text_UsedNewRepelLure, MSGBOX_SIGN + removeitem VAR_LAST_REPEL_LURE_USED, 1 + waitse + callnative HandleUseExpiredRepel + release + end + +EventScript_LureWoreOff:: +.if I_REPEL_LURE_MENU == TRUE + checkitem ITEM_LURE, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother + checkitem ITEM_SUPER_LURE, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother + checkitem ITEM_MAX_LURE, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother +.else + checkitem VAR_LAST_REPEL_LURE_USED, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother +.endif + lock + msgbox Text_LureWoreOff, MSGBOX_SIGN + release + end + +EventScript_LureUseAnother: + lock + msgbox Text_UseAnotherLure, MSGBOX_YESNO +.if I_REPEL_LURE_MENU == TRUE + callnative TryDrawLureMenu + goto_if_eq VAR_RESULT, FALSE, EventScript_LureWoreOff_Chose + waitstate + goto_if_eq VAR_RESULT, 127, EventScript_LureWoreOff_End +EventScript_LureWoreOff_Chose: + callnative HandleLureMenuChoice + bufferitemname 1, VAR_0x8004 + removeitem VAR_0x8004, 1 + playse SE_REPEL + msgbox Text_UsedNewRepelLure, MSGBOX_SIGN +.else + goto_if_eq VAR_RESULT, YES, EventScript_UsedLure +.endif +EventScript_LureWoreOff_End: + release + end + +EventScript_UsedLure: + bufferitemname 1, VAR_LAST_REPEL_LURE_USED + playse SE_REPEL + lock + msgbox Text_UsedNewRepelLure, MSGBOX_SIGN + removeitem VAR_LAST_REPEL_LURE_USED, 1 + waitse + callnative HandleUseExpiredLure + release end Text_RepelWoreOff: .string "REPEL's effect wore off…$" + +Text_UseAnotherRepel:: + .string "REPEL's effect wore off!\n" + .string "Use another?$" + +Text_LureWoreOff: + .string "Lure's effect wore off…$" + +Text_UseAnotherLure:: + .string "Lure's effect wore off!\n" + .string "Use another?$" + +Text_UsedNewRepelLure:: + .string "{PLAYER} used the\n" + .string "{STR_VAR_2}.$" diff --git a/data/tilesets.s b/data/tilesets.s deleted file mode 100644 index 443686234..000000000 --- a/data/tilesets.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .include "data/tilesets/graphics.inc" - .include "data/tilesets/metatiles.inc" - .include "data/tilesets/headers.inc" diff --git a/data/tilesets/graphics.inc b/data/tilesets/graphics.inc deleted file mode 100644 index c85bd249e..000000000 --- a/data/tilesets/graphics.inc +++ /dev/null @@ -1,1731 +0,0 @@ - .align 2 -gTilesetTiles_Petalburg:: - .incbin "data/tilesets/secondary/petalburg/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Petalburg:: - .incbin "data/tilesets/secondary/petalburg/palettes/00.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/01.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/02.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/03.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/04.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/05.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/06.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/07.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/08.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/09.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/10.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/11.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/12.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/13.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/14.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Rustboro:: - .incbin "data/tilesets/secondary/rustboro/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Rustboro:: - .incbin "data/tilesets/secondary/rustboro/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Dewford:: - .incbin "data/tilesets/secondary/dewford/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Dewford:: - .incbin "data/tilesets/secondary/dewford/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Slateport:: - .incbin "data/tilesets/secondary/slateport/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Slateport:: - .incbin "data/tilesets/secondary/slateport/palettes/00.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/01.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/02.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/03.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/04.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/05.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/06.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/07.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/08.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/09.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/10.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/11.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/12.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/13.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/14.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Mauville:: - .incbin "data/tilesets/secondary/mauville/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Mauville:: - .incbin "data/tilesets/secondary/mauville/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lavaridge:: - .incbin "data/tilesets/secondary/lavaridge/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lavaridge:: - .incbin "data/tilesets/secondary/lavaridge/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Fallarbor:: - .incbin "data/tilesets/secondary/fallarbor/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Fallarbor:: - .incbin "data/tilesets/secondary/fallarbor/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Fortree:: - .incbin "data/tilesets/secondary/fortree/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Fortree:: - .incbin "data/tilesets/secondary/fortree/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lilycove:: - .incbin "data/tilesets/secondary/lilycove/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lilycove:: - .incbin "data/tilesets/secondary/lilycove/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Mossdeep:: - .incbin "data/tilesets/secondary/mossdeep/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Mossdeep:: - .incbin "data/tilesets/secondary/mossdeep/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/15.gbapal" - - .align 2 -gTilesetTiles_EverGrande:: - .incbin "data/tilesets/secondary/ever_grande/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_EverGrande:: - .incbin "data/tilesets/secondary/ever_grande/palettes/00.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/01.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/02.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/03.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/04.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/05.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/06.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/07.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/08.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/09.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/10.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/11.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/12.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/13.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/14.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Pacifidlog:: - .incbin "data/tilesets/secondary/pacifidlog/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Pacifidlog:: - .incbin "data/tilesets/secondary/pacifidlog/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Sootopolis:: - .incbin "data/tilesets/secondary/sootopolis/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Sootopolis:: - .incbin "data/tilesets/secondary/sootopolis/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierOutsideWest:: - .incbin "data/tilesets/secondary/battle_frontier_outside_west/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierOutsideWest:: - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierOutsideEast:: - .incbin "data/tilesets/secondary/battle_frontier_outside_east/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierOutsideEast:: - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/15.gbapal" - - .align 2 -gTilesetTiles_InsideBuilding:: - .incbin "data/tilesets/primary/building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideBuilding:: - .incbin "data/tilesets/primary/building/palettes/00.gbapal" - .incbin "data/tilesets/primary/building/palettes/01.gbapal" - .incbin "data/tilesets/primary/building/palettes/02.gbapal" - .incbin "data/tilesets/primary/building/palettes/03.gbapal" - .incbin "data/tilesets/primary/building/palettes/04.gbapal" - .incbin "data/tilesets/primary/building/palettes/05.gbapal" - .incbin "data/tilesets/primary/building/palettes/06.gbapal" - .incbin "data/tilesets/primary/building/palettes/07.gbapal" - .incbin "data/tilesets/primary/building/palettes/08.gbapal" - .incbin "data/tilesets/primary/building/palettes/09.gbapal" - .incbin "data/tilesets/primary/building/palettes/10.gbapal" - .incbin "data/tilesets/primary/building/palettes/11.gbapal" - .incbin "data/tilesets/primary/building/palettes/12.gbapal" - .incbin "data/tilesets/primary/building/palettes/13.gbapal" - .incbin "data/tilesets/primary/building/palettes/14.gbapal" - .incbin "data/tilesets/primary/building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Shop:: - .incbin "data/tilesets/secondary/shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Shop:: - .incbin "data/tilesets/secondary/shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Cave:: - .incbin "data/tilesets/secondary/cave/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Cave:: - .incbin "data/tilesets/secondary/cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonSchool:: - .incbin "data/tilesets/secondary/pokemon_school/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonSchool:: - .incbin "data/tilesets/secondary/pokemon_school/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonFanClub:: - .incbin "data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonFanClub:: - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Unused1:: - .incbin "data/tilesets/secondary/unused_1/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Unused1:: - .incbin "data/tilesets/secondary/unused_1/palettes/00.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/01.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/02.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/03.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/04.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/05.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/06.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/07.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/08.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/09.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/10.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/11.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/12.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/13.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/14.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MeteorFalls:: - .incbin "data/tilesets/secondary/meteor_falls/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MeteorFalls:: - .incbin "data/tilesets/secondary/meteor_falls/palettes/00.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/01.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/02.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/03.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/04.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/05.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/06.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/07.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/08.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/09.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/10.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/11.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/12.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/13.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/14.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/15.gbapal" - - .align 2 -gTilesetTiles_OceanicMuseum:: - .incbin "data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_OceanicMuseum:: - .incbin "data/tilesets/secondary/oceanic_museum/palettes/00.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/01.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/02.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/03.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/04.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/05.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/06.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/07.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/08.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/09.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/10.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/11.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/12.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/13.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/14.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CableClub:: - .incbin "data/tilesets/secondary/cable_club/tiles.4bpp" - - .align 2 - .incbin "data/tilesets/secondary/cable_club/unknown_tiles.4bpp" - - .align 2 -gTilesetPalettes_CableClub:: - .incbin "data/tilesets/secondary/cable_club/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SeashoreHouse:: - .incbin "data/tilesets/secondary/seashore_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SeashoreHouse:: - .incbin "data/tilesets/secondary/seashore_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PrettyPetalFlowerShop:: - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PrettyPetalFlowerShop:: - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonDayCare:: - .incbin "data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonDayCare:: - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Facility:: - .incbin "data/tilesets/secondary/facility/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Facility:: - .incbin "data/tilesets/secondary/facility/palettes/00.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/01.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/02.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/03.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/04.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/05.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/06.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/07.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/08.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/09.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/10.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/11.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/12.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/13.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/14.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_RusturfTunnel:: - .incbin "data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_RusturfTunnel:: - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/brown_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseBrownCave:: - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/tree/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseTree:: - .incbin "data/tilesets/secondary/secret_base/tree/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/shrub/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseShrub:: - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/blue_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseBlueCave:: - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseYellowCave:: - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/red_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseRedCave:: - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SecretBaseBrownCave:: - .incbin "data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseTree:: - .incbin "data/tilesets/secondary/secret_base/tree/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseShrub:: - .incbin "data/tilesets/secondary/secret_base/shrub/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseBlueCave:: - .incbin "data/tilesets/secondary/secret_base/blue_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseYellowCave:: - .incbin "data/tilesets/secondary/secret_base/yellow_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseRedCave:: - .incbin "data/tilesets/secondary/secret_base/red_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_InsideOfTruck:: - .incbin "data/tilesets/secondary/inside_of_truck/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideOfTruck:: - .incbin "data/tilesets/secondary/inside_of_truck/palettes/00.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/01.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/02.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/03.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/04.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/05.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/06.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/07.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/08.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/09.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/10.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/11.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/12.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/13.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/14.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Contest:: - .incbin "data/tilesets/secondary/contest/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Contest:: - .incbin "data/tilesets/secondary/contest/palettes/00.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/01.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/02.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/03.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/04.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/05.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/06.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/07.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/08.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/09.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/10.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/11.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/12.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/13.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/14.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/15.gbapal" - - .align 2 -gTilesetTiles_LilycoveMuseum:: - .incbin "data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_LilycoveMuseum:: - .incbin "data/tilesets/secondary/lilycove_museum/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BrendansMaysHouse:: - .incbin "data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BrendansMaysHouse:: - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lab:: - .incbin "data/tilesets/secondary/lab/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lab:: - .incbin "data/tilesets/secondary/lab/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Underwater:: - .incbin "data/tilesets/secondary/underwater/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Underwater:: - .incbin "data/tilesets/secondary/underwater/palettes/00.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/01.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/02.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/03.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/04.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/05.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/06.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/07.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/08.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/09.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/10.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/11.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/12.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/13.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/14.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/15.gbapal" - - .align 2 -gTilesetTiles_GenericBuilding:: - .incbin "data/tilesets/secondary/generic_building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_GenericBuilding:: - .incbin "data/tilesets/secondary/generic_building/palettes/00.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/01.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/02.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/03.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/04.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/05.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/06.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/07.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/08.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/09.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/10.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/11.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/12.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/13.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/14.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MauvilleGameCorner:: - .incbin "data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MauvilleGameCorner:: - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Unused2:: - .incbin "data/tilesets/secondary/unused_2/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Unused2:: - .incbin "data/tilesets/secondary/unused_2/palettes/00.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/01.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/02.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/03.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/04.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/05.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/06.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/07.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/08.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/09.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/10.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/11.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/12.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/13.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/14.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/15.gbapal" - - .align 2 -gTilesetTiles_RustboroGym:: - .incbin "data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_RustboroGym:: - .incbin "data/tilesets/secondary/rustboro_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_DewfordGym:: - .incbin "data/tilesets/secondary/dewford_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_DewfordGym:: - .incbin "data/tilesets/secondary/dewford_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MauvilleGym:: - .incbin "data/tilesets/secondary/mauville_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MauvilleGym:: - .incbin "data/tilesets/secondary/mauville_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_LavaridgeGym:: - .incbin "data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_LavaridgeGym:: - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PetalburgGym:: - .incbin "data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PetalburgGym:: - .incbin "data/tilesets/secondary/petalburg_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_FortreeGym:: - .incbin "data/tilesets/secondary/fortree_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_FortreeGym:: - .incbin "data/tilesets/secondary/fortree_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MossdeepGym:: - .incbin "data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MossdeepGym:: - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SootopolisGym:: - .incbin "data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SootopolisGym:: - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_TrickHousePuzzle:: - .incbin "data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_TrickHousePuzzle:: - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/03.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/04.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/05.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/06.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/07.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/08.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/09.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/10.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/11.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/12.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/13.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/14.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/15.gbapal" - - .align 2 -gTilesetTiles_InsideShip:: - .incbin "data/tilesets/secondary/inside_ship/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideShip:: - .incbin "data/tilesets/secondary/inside_ship/palettes/00.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/01.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/02.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/03.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/04.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/05.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/06.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/07.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/08.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/09.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/10.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/11.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/12.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/13.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/14.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SecretBase:: - .incbin "data/tilesets/primary/secret_base/tiles.4bpp" - - .align 2 - .incbin "data/tilesets/primary/secret_base/unknown_tiles.4bpp" - - .align 2 -gTilesetPalettes_SecretBase:: - .incbin "data/tilesets/primary/secret_base/palettes/00.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/01.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/02.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/03.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/04.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/05.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/06.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/07.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/08.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/09.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/10.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/11.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/12.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/13.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/14.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/15.gbapal" - - .align 2 -gTilesetTiles_EliteFour:: - .incbin "data/tilesets/secondary/elite_four/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_EliteFour:: - .incbin "data/tilesets/secondary/elite_four/palettes/00.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/01.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/02.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/03.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/04.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/05.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/06.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/07.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/08.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/09.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/10.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/11.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/12.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/13.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/14.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontier:: - .incbin "data/tilesets/secondary/battle_frontier/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontier:: - .incbin "data/tilesets/secondary/battle_frontier/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePalace:: - .incbin "data/tilesets/secondary/battle_palace/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePalace:: - .incbin "data/tilesets/secondary/battle_palace/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleDome:: - .incbin "data/tilesets/secondary/battle_dome/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleDome:: - .incbin "data/tilesets/secondary/battle_dome/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFactory:: - .incbin "data/tilesets/secondary/battle_factory/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFactory:: - .incbin "data/tilesets/secondary/battle_factory/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePike:: - .incbin "data/tilesets/secondary/battle_pike/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePike:: - .incbin "data/tilesets/secondary/battle_pike/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleArena:: - .incbin "data/tilesets/secondary/battle_arena/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleArena:: - .incbin "data/tilesets/secondary/battle_arena/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePyramid:: - .incbin "data/tilesets/secondary/battle_pyramid/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePyramid:: - .incbin "data/tilesets/secondary/battle_pyramid/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MirageTower:: - .incbin "data/tilesets/secondary/mirage_tower/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MirageTower:: - .incbin "data/tilesets/secondary/mirage_tower/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MossdeepGameCorner:: - .incbin "data/tilesets/secondary/mossdeep_game_corner/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MossdeepGameCorner:: - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/15.gbapal" - - .align 2 -gTilesetTiles_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/palettes/00.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/01.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/02.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/03.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/04.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/05.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/06.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/07.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/08.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/09.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/10.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/11.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/12.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/13.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/14.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/15.gbapal" - - .align 2 -gTilesetTiles_TrainerHill:: - .incbin "data/tilesets/secondary/trainer_hill/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_TrainerHill:: - .incbin "data/tilesets/secondary/trainer_hill/palettes/00.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/01.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/02.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/03.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/04.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/05.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/06.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/07.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/08.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/09.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/10.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/11.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/12.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/13.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/14.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/15.gbapal" - - .align 2 -gTilesetTiles_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/palettes/00.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/01.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/02.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/03.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/04.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/05.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/06.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/07.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/08.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/09.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/10.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/11.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/12.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/13.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/14.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierRankingHall:: - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierRankingHall:: - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleTent:: - .incbin "data/tilesets/secondary/battle_tent/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleTent:: - .incbin "data/tilesets/secondary/battle_tent/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MysteryEventsHouse:: - .incbin "data/tilesets/secondary/mystery_events_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MysteryEventsHouse:: - .incbin "data/tilesets/secondary/mystery_events_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/15.gbapal" - - .align 2 -gTilesetPalettes_UnionRoom:: - .incbin "data/tilesets/secondary/union_room/palettes/00.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/01.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/02.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/03.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/04.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/05.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/06.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/07.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/08.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/09.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/10.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/11.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/12.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/13.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/14.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/15.gbapal" - - .align 2 -gTilesetTiles_UnionRoom:: - .incbin "data/tilesets/secondary/union_room/tiles.4bpp.lz" diff --git a/data/tilesets/headers.inc b/data/tilesets/headers.inc deleted file mode 100644 index 6324e943c..000000000 --- a/data/tilesets/headers.inc +++ /dev/null @@ -1,832 +0,0 @@ - .align 2 -gTileset_General:: - .byte TRUE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_General - .4byte gTilesetPalettes_General - .4byte gMetatiles_General - .4byte gMetatileAttributes_General - .4byte InitTilesetAnim_General - - .align 2 -gTileset_Petalburg:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Petalburg - .4byte gTilesetPalettes_Petalburg - .4byte gMetatiles_Petalburg - .4byte gMetatileAttributes_Petalburg - .4byte InitTilesetAnim_Petalburg - - .align 2 -gTileset_Rustboro:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Rustboro - .4byte gTilesetPalettes_Rustboro - .4byte gMetatiles_Rustboro - .4byte gMetatileAttributes_Rustboro - .4byte InitTilesetAnim_Rustboro - - .align 2 -gTileset_Dewford:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Dewford - .4byte gTilesetPalettes_Dewford - .4byte gMetatiles_Dewford - .4byte gMetatileAttributes_Dewford - .4byte InitTilesetAnim_Dewford - - .align 2 -gTileset_Slateport:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Slateport - .4byte gTilesetPalettes_Slateport - .4byte gMetatiles_Slateport - .4byte gMetatileAttributes_Slateport - .4byte InitTilesetAnim_Slateport - - .align 2 -gTileset_Mauville:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Mauville - .4byte gTilesetPalettes_Mauville - .4byte gMetatiles_Mauville - .4byte gMetatileAttributes_Mauville - .4byte InitTilesetAnim_Mauville - - .align 2 -gTileset_Lavaridge:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lavaridge - .4byte gTilesetPalettes_Lavaridge - .4byte gMetatiles_Lavaridge - .4byte gMetatileAttributes_Lavaridge - .4byte InitTilesetAnim_Lavaridge - - .align 2 -gTileset_Fallarbor:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Fallarbor - .4byte gTilesetPalettes_Fallarbor - .4byte gMetatiles_Fallarbor - .4byte gMetatileAttributes_Fallarbor - .4byte InitTilesetAnim_Fallarbor - - .align 2 -gTileset_Fortree:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Fortree - .4byte gTilesetPalettes_Fortree - .4byte gMetatiles_Fortree - .4byte gMetatileAttributes_Fortree - .4byte InitTilesetAnim_Fortree - - .align 2 -gTileset_Lilycove:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lilycove - .4byte gTilesetPalettes_Lilycove - .4byte gMetatiles_Lilycove - .4byte gMetatileAttributes_Lilycove - .4byte InitTilesetAnim_Lilycove - - .align 2 -gTileset_Mossdeep:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Mossdeep - .4byte gTilesetPalettes_Mossdeep - .4byte gMetatiles_Mossdeep - .4byte gMetatileAttributes_Mossdeep - .4byte InitTilesetAnim_Mossdeep - - .align 2 -gTileset_EverGrande:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_EverGrande - .4byte gTilesetPalettes_EverGrande - .4byte gMetatiles_EverGrande - .4byte gMetatileAttributes_EverGrande - .4byte InitTilesetAnim_EverGrande - - .align 2 -gTileset_Pacifidlog:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Pacifidlog - .4byte gTilesetPalettes_Pacifidlog - .4byte gMetatiles_Pacifidlog - .4byte gMetatileAttributes_Pacifidlog - .4byte InitTilesetAnim_Pacifidlog - - .align 2 -gTileset_Sootopolis:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Sootopolis - .4byte gTilesetPalettes_Sootopolis - .4byte gMetatiles_Sootopolis - .4byte gMetatileAttributes_Sootopolis - .4byte InitTilesetAnim_Sootopolis - - .align 2 -gTileset_BattleFrontierOutsideWest:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierOutsideWest - .4byte gTilesetPalettes_BattleFrontierOutsideWest - .4byte gMetatiles_BattleFrontierOutsideWest - .4byte gMetatileAttributes_BattleFrontierOutsideWest - .4byte InitTilesetAnim_BattleFrontierOutsideWest - - .align 2 -gTileset_BattleFrontierOutsideEast:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierOutsideEast - .4byte gTilesetPalettes_BattleFrontierOutsideEast - .4byte gMetatiles_BattleFrontierOutsideEast - .4byte gMetatileAttributes_BattleFrontierOutsideEast - .4byte InitTilesetAnim_BattleFrontierOutsideEast - - .align 2 -gTileset_Building:: - .byte TRUE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideBuilding - .4byte gTilesetPalettes_InsideBuilding - .4byte gMetatiles_InsideBuilding - .4byte gMetatileAttributes_InsideBuilding - .4byte InitTilesetAnim_Building - - .align 2 -gTileset_Shop:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Shop - .4byte gTilesetPalettes_Shop - .4byte gMetatiles_Shop - .4byte gMetatileAttributes_Shop - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonCenter:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonCenter - .4byte gTilesetPalettes_PokemonCenter - .4byte gMetatiles_PokemonCenter - .4byte gMetatileAttributes_PokemonCenter - .4byte NULL @ animation callback - - .align 2 -gTileset_Cave:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Cave - .4byte gTilesetPalettes_Cave - .4byte gMetatiles_Cave - .4byte gMetatileAttributes_Cave - .4byte InitTilesetAnim_Cave - - .align 2 -gTileset_PokemonSchool:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonSchool - .4byte gTilesetPalettes_PokemonSchool - .4byte gMetatiles_PokemonSchool - .4byte gMetatileAttributes_PokemonSchool - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonFanClub:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonFanClub - .4byte gTilesetPalettes_PokemonFanClub - .4byte gMetatiles_PokemonFanClub - .4byte gMetatileAttributes_PokemonFanClub - .4byte NULL @ animation callback - - .align 2 -gTileset_Unused1:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Unused1 - .4byte gTilesetPalettes_Unused1 - .4byte gMetatiles_Unused1 - .4byte gMetatileAttributes_Unused1 - .4byte NULL @ animation callback - - .align 2 -gTileset_MeteorFalls:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MeteorFalls - .4byte gTilesetPalettes_MeteorFalls - .4byte gMetatiles_MeteorFalls - .4byte gMetatileAttributes_MeteorFalls - .4byte NULL @ animation callback - - .align 2 -gTileset_OceanicMuseum:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_OceanicMuseum - .4byte gTilesetPalettes_OceanicMuseum - .4byte gMetatiles_OceanicMuseum - .4byte gMetatileAttributes_OceanicMuseum - .4byte NULL @ animation callback - - .align 2 -gTileset_CableClub:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_CableClub - .4byte gTilesetPalettes_CableClub - .4byte gMetatiles_CableClub - .4byte gMetatileAttributes_CableClub - .4byte NULL @ animation callback - - .align 2 -gTileset_SeashoreHouse:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SeashoreHouse - .4byte gTilesetPalettes_SeashoreHouse - .4byte gMetatiles_SeashoreHouse - .4byte gMetatileAttributes_SeashoreHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_PrettyPetalFlowerShop:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PrettyPetalFlowerShop - .4byte gTilesetPalettes_PrettyPetalFlowerShop - .4byte gMetatiles_PrettyPetalFlowerShop - .4byte gMetatileAttributes_PrettyPetalFlowerShop - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonDayCare:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonDayCare - .4byte gTilesetPalettes_PokemonDayCare - .4byte gMetatiles_PokemonDayCare - .4byte gMetatileAttributes_PokemonDayCare - .4byte NULL @ animation callback - - .align 2 -gTileset_Facility:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Facility - .4byte gTilesetPalettes_Facility - .4byte gMetatiles_Facility - .4byte gMetatileAttributes_Facility - .4byte NULL @ animation callback - - .align 2 -gTileset_BikeShop:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BikeShop - .4byte gTilesetPalettes_BikeShop - .4byte gMetatiles_BikeShop - .4byte gMetatileAttributes_BikeShop - .4byte InitTilesetAnim_BikeShop - - .align 2 -gTileset_RusturfTunnel:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_RusturfTunnel - .4byte gTilesetPalettes_RusturfTunnel - .4byte gMetatiles_RusturfTunnel - .4byte gMetatileAttributes_RusturfTunnel - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseBrownCave:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseBrownCave - .4byte gTilesetPalettes_SecretBaseBrownCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseTree:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseTree - .4byte gTilesetPalettes_SecretBaseTree - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseShrub:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseShrub - .4byte gTilesetPalettes_SecretBaseShrub - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseBlueCave:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseBlueCave - .4byte gTilesetPalettes_SecretBaseBlueCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseYellowCave:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseYellowCave - .4byte gTilesetPalettes_SecretBaseYellowCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseRedCave:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseRedCave - .4byte gTilesetPalettes_SecretBaseRedCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_InsideOfTruck:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideOfTruck - .4byte gTilesetPalettes_InsideOfTruck - .4byte gMetatiles_InsideOfTruck - .4byte gMetatileAttributes_InsideOfTruck - .4byte NULL @ animation callback - - .align 2 -gTileset_Unused2:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Unused2 - .4byte gTilesetPalettes_Unused2 - .4byte gMetatiles_Unused2 - .4byte gMetatileAttributes_Unused2 - .4byte NULL @ animation callback - - .align 2 -gTileset_Contest:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Contest - .4byte gTilesetPalettes_Contest - .4byte gMetatiles_Contest - .4byte gMetatileAttributes_Contest - .4byte NULL @ animation callback - - .align 2 -gTileset_LilycoveMuseum:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_LilycoveMuseum - .4byte gTilesetPalettes_LilycoveMuseum - .4byte gMetatiles_LilycoveMuseum - .4byte gMetatileAttributes_LilycoveMuseum - .4byte NULL @ animation callback - - .align 2 -gTileset_BrendansMaysHouse:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BrendansMaysHouse - .4byte gTilesetPalettes_BrendansMaysHouse - .4byte gMetatiles_BrendansMaysHouse - .4byte gMetatileAttributes_BrendansMaysHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_Lab:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lab - .4byte gTilesetPalettes_Lab - .4byte gMetatiles_Lab - .4byte gMetatileAttributes_Lab - .4byte NULL @ animation callback - - .align 2 -gTileset_Underwater:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Underwater - .4byte gTilesetPalettes_Underwater - .4byte gMetatiles_Underwater - .4byte gMetatileAttributes_Underwater - .4byte InitTilesetAnim_Underwater - - .align 2 -gTileset_PetalburgGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PetalburgGym - .4byte gTilesetPalettes_PetalburgGym - .4byte gMetatiles_PetalburgGym - .4byte gMetatileAttributes_PetalburgGym - .4byte NULL @ animation callback - - .align 2 -gTileset_SootopolisGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SootopolisGym - .4byte gTilesetPalettes_SootopolisGym - .4byte gMetatiles_SootopolisGym - .4byte gMetatileAttributes_SootopolisGym - .4byte InitTilesetAnim_SootopolisGym - - .align 2 -gTileset_GenericBuilding:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_GenericBuilding - .4byte gTilesetPalettes_GenericBuilding - .4byte gMetatiles_GenericBuilding - .4byte gMetatileAttributes_GenericBuilding - .4byte NULL @ animation callback - - .align 2 -gTileset_MauvilleGameCorner:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MauvilleGameCorner - .4byte gTilesetPalettes_MauvilleGameCorner - .4byte gMetatiles_MauvilleGameCorner - .4byte gMetatileAttributes_MauvilleGameCorner - .4byte NULL @ animation callback - - .align 2 -gTileset_RustboroGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_RustboroGym - .4byte gTilesetPalettes_RustboroGym - .4byte gMetatiles_RustboroGym - .4byte gMetatileAttributes_RustboroGym - .4byte NULL @ animation callback - - .align 2 -gTileset_DewfordGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_DewfordGym - .4byte gTilesetPalettes_DewfordGym - .4byte gMetatiles_DewfordGym - .4byte gMetatileAttributes_DewfordGym - .4byte NULL @ animation callback - - .align 2 -gTileset_MauvilleGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MauvilleGym - .4byte gTilesetPalettes_MauvilleGym - .4byte gMetatiles_MauvilleGym - .4byte gMetatileAttributes_MauvilleGym - .4byte InitTilesetAnim_MauvilleGym - - .align 2 -gTileset_LavaridgeGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_LavaridgeGym - .4byte gTilesetPalettes_LavaridgeGym - .4byte gMetatiles_LavaridgeGym - .4byte gMetatileAttributes_LavaridgeGym - .4byte NULL @ animation callback - - .align 2 -gTileset_TrickHousePuzzle:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_TrickHousePuzzle - .4byte gTilesetPalettes_TrickHousePuzzle - .4byte gMetatiles_TrickHousePuzzle - .4byte gMetatileAttributes_TrickHousePuzzle - .4byte NULL @ animation callback - - .align 2 -gTileset_FortreeGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_FortreeGym - .4byte gTilesetPalettes_FortreeGym - .4byte gMetatiles_FortreeGym - .4byte gMetatileAttributes_FortreeGym - .4byte NULL @ animation callback - - .align 2 -gTileset_MossdeepGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MossdeepGym - .4byte gTilesetPalettes_MossdeepGym - .4byte gMetatiles_MossdeepGym - .4byte gMetatileAttributes_MossdeepGym - .4byte NULL @ animation callback - - .align 2 -gTileset_InsideShip:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideShip - .4byte gTilesetPalettes_InsideShip - .4byte gMetatiles_InsideShip - .4byte gMetatileAttributes_InsideShip - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBase:: - .byte FALSE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBase - .4byte gTilesetPalettes_SecretBase - .4byte gMetatiles_SecretBasePrimary - .4byte gMetatileAttributes_SecretBasePrimary - .4byte NULL @ animation callback - - .align 2 -gTilesetPointer_SecretBase:: - .4byte gTileset_SecretBase - - .align 2 -gTilesetPointer_SecretBaseRedCave:: - .4byte gTileset_SecretBaseRedCave - - .align 2 -gTileset_EliteFour:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_EliteFour - .4byte gTilesetPalettes_EliteFour - .4byte gMetatiles_EliteFour - .4byte gMetatileAttributes_EliteFour - .4byte InitTilesetAnim_EliteFour - - .align 2 -gTileset_BattleFrontier:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontier - .4byte gTilesetPalettes_BattleFrontier - .4byte gMetatiles_BattleFrontier - .4byte gMetatileAttributes_BattleFrontier - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePalace:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePalace - .4byte gTilesetPalettes_BattlePalace - .4byte gMetatiles_BattlePalace - .4byte gMetatileAttributes_BattlePalace - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleDome:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleDome - .4byte gTilesetPalettes_BattleDome - .4byte gMetatiles_BattleDome - .4byte gMetatileAttributes_BattleDome - .4byte InitTilesetAnim_BattleDome - - .align 2 -gTileset_BattleFactory:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFactory - .4byte gTilesetPalettes_BattleFactory - .4byte gMetatiles_BattleFactory - .4byte gMetatileAttributes_BattleFactory - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePike:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePike - .4byte gTilesetPalettes_BattlePike - .4byte gMetatiles_BattlePike - .4byte gMetatileAttributes_BattlePike - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleArena:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleArena - .4byte gTilesetPalettes_BattleArena - .4byte gMetatiles_BattleArena - .4byte gMetatileAttributes_BattleArena - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePyramid:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePyramid - .4byte gTilesetPalettes_BattlePyramid - .4byte gMetatiles_BattlePyramid - .4byte gMetatileAttributes_BattlePyramid - .4byte InitTilesetAnim_BattlePyramid - - .align 2 -gTileset_MirageTower:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MirageTower - .4byte gTilesetPalettes_MirageTower - .4byte gMetatiles_MirageTower - .4byte gMetatileAttributes_MirageTower - .4byte NULL @ animation callback - - .align 2 -gTileset_MossdeepGameCorner:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MossdeepGameCorner - .4byte gTilesetPalettes_MossdeepGameCorner - .4byte gMetatiles_MossdeepGameCorner - .4byte gMetatileAttributes_MossdeepGameCorner - .4byte NULL @ animation callback - - .align 2 -gTileset_IslandHarbor:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_IslandHarbor - .4byte gTilesetPalettes_IslandHarbor - .4byte gMetatiles_IslandHarbor - .4byte gMetatileAttributes_IslandHarbor - .4byte NULL @ animation callback - - .align 2 -gTileset_TrainerHill:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_TrainerHill - .4byte gTilesetPalettes_TrainerHill - .4byte gMetatiles_TrainerHill - .4byte gMetatileAttributes_TrainerHill - .4byte NULL @ animation callback - - .align 2 -gTileset_NavelRock:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_NavelRock - .4byte gTilesetPalettes_NavelRock - .4byte gMetatiles_NavelRock - .4byte gMetatileAttributes_NavelRock - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleFrontierRankingHall:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierRankingHall - .4byte gTilesetPalettes_BattleFrontierRankingHall - .4byte gMetatiles_BattleFrontierRankingHall - .4byte gMetatileAttributes_BattleFrontierRankingHall - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleTent:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleTent - .4byte gTilesetPalettes_BattleTent - .4byte gMetatiles_BattleTent - .4byte gMetatileAttributes_BattleTent - .4byte NULL @ animation callback - - .align 2 -gTileset_MysteryEventsHouse:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MysteryEventsHouse - .4byte gTilesetPalettes_MysteryEventsHouse - .4byte gMetatiles_MysteryEventsHouse - .4byte gMetatileAttributes_MysteryEventsHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_UnionRoom:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_UnionRoom - .4byte gTilesetPalettes_UnionRoom - .4byte gMetatiles_UnionRoom - .4byte gMetatileAttributes_UnionRoom - .4byte NULL @ animation callback diff --git a/data/tilesets/metatiles.inc b/data/tilesets/metatiles.inc deleted file mode 100644 index 5fbb529d0..000000000 --- a/data/tilesets/metatiles.inc +++ /dev/null @@ -1,559 +0,0 @@ - .align 1 -gMetatiles_General:: - .incbin "data/tilesets/primary/general/metatiles.bin" - - .align 1 -gMetatileAttributes_General:: - .incbin "data/tilesets/primary/general/metatile_attributes.bin" - - .align 1 -gMetatiles_Petalburg:: - .incbin "data/tilesets/secondary/petalburg/metatiles.bin" - - .align 1 -gMetatileAttributes_Petalburg:: - .incbin "data/tilesets/secondary/petalburg/metatile_attributes.bin" - - .align 1 -gMetatiles_Rustboro:: - .incbin "data/tilesets/secondary/rustboro/metatiles.bin" - - .align 1 -gMetatileAttributes_Rustboro:: - .incbin "data/tilesets/secondary/rustboro/metatile_attributes.bin" - - .align 1 -gMetatiles_Dewford:: - .incbin "data/tilesets/secondary/dewford/metatiles.bin" - - .align 1 -gMetatileAttributes_Dewford:: - .incbin "data/tilesets/secondary/dewford/metatile_attributes.bin" - - .align 1 -gMetatiles_Slateport:: - .incbin "data/tilesets/secondary/slateport/metatiles.bin" - - .align 1 -gMetatileAttributes_Slateport:: - .incbin "data/tilesets/secondary/slateport/metatile_attributes.bin" - - .align 1 -gMetatiles_Mauville:: - .incbin "data/tilesets/secondary/mauville/metatiles.bin" - - .align 1 -gMetatileAttributes_Mauville:: - .incbin "data/tilesets/secondary/mauville/metatile_attributes.bin" - - .align 1 -gMetatiles_Lavaridge:: - .incbin "data/tilesets/secondary/lavaridge/metatiles.bin" - - .align 1 -gMetatileAttributes_Lavaridge:: - .incbin "data/tilesets/secondary/lavaridge/metatile_attributes.bin" - - .align 1 -gMetatiles_Fallarbor:: - .incbin "data/tilesets/secondary/fallarbor/metatiles.bin" - - .align 1 -gMetatileAttributes_Fallarbor:: - .incbin "data/tilesets/secondary/fallarbor/metatile_attributes.bin" - - .align 1 -gMetatiles_Fortree:: - .incbin "data/tilesets/secondary/fortree/metatiles.bin" - - .align 1 -gMetatileAttributes_Fortree:: - .incbin "data/tilesets/secondary/fortree/metatile_attributes.bin" - - .align 1 -gMetatiles_Lilycove:: - .incbin "data/tilesets/secondary/lilycove/metatiles.bin" - - .align 1 -gMetatileAttributes_Lilycove:: - .incbin "data/tilesets/secondary/lilycove/metatile_attributes.bin" - - .align 1 -gMetatiles_Mossdeep:: - .incbin "data/tilesets/secondary/mossdeep/metatiles.bin" - - .align 1 -gMetatileAttributes_Mossdeep:: - .incbin "data/tilesets/secondary/mossdeep/metatile_attributes.bin" - - .align 1 -gMetatiles_EverGrande:: - .incbin "data/tilesets/secondary/ever_grande/metatiles.bin" - - .align 1 -gMetatileAttributes_EverGrande:: - .incbin "data/tilesets/secondary/ever_grande/metatile_attributes.bin" - - .align 1 -gMetatiles_Pacifidlog:: - .incbin "data/tilesets/secondary/pacifidlog/metatiles.bin" - - .align 1 -gMetatileAttributes_Pacifidlog:: - .incbin "data/tilesets/secondary/pacifidlog/metatile_attributes.bin" - - .align 1 -gMetatiles_Sootopolis:: - .incbin "data/tilesets/secondary/sootopolis/metatiles.bin" - - .align 1 -gMetatileAttributes_Sootopolis:: - .incbin "data/tilesets/secondary/sootopolis/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFrontierOutsideWest:: - .incbin "data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFrontierOutsideWest:: - .incbin "data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFrontierOutsideEast:: - .incbin "data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFrontierOutsideEast:: - .incbin "data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin" - - .align 1 -gMetatiles_InsideBuilding:: - .incbin "data/tilesets/primary/building/metatiles.bin" - - .align 1 -gMetatileAttributes_InsideBuilding:: - .incbin "data/tilesets/primary/building/metatile_attributes.bin" - - .align 1 -gMetatiles_Shop:: - .incbin "data/tilesets/secondary/shop/metatiles.bin" - - .align 1 -gMetatileAttributes_Shop:: - .incbin "data/tilesets/secondary/shop/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/metatile_attributes.bin" - - .align 1 -gMetatiles_Cave:: - .incbin "data/tilesets/secondary/cave/metatiles.bin" - - .align 1 -gMetatileAttributes_Cave:: - .incbin "data/tilesets/secondary/cave/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonSchool:: - .incbin "data/tilesets/secondary/pokemon_school/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonSchool:: - .incbin "data/tilesets/secondary/pokemon_school/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonFanClub:: - .incbin "data/tilesets/secondary/pokemon_fan_club/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonFanClub:: - .incbin "data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin" - - .align 1 -gMetatiles_Unused1:: - .incbin "data/tilesets/secondary/unused_1/metatiles.bin" - - .align 1 -gMetatileAttributes_Unused1:: - .incbin "data/tilesets/secondary/unused_1/metatile_attributes.bin" - - .align 1 -gMetatiles_MeteorFalls:: - .incbin "data/tilesets/secondary/meteor_falls/metatiles.bin" - - .align 1 -gMetatileAttributes_MeteorFalls:: - .incbin "data/tilesets/secondary/meteor_falls/metatile_attributes.bin" - - .align 1 -gMetatiles_OceanicMuseum:: - .incbin "data/tilesets/secondary/oceanic_museum/metatiles.bin" - - .align 1 -gMetatileAttributes_OceanicMuseum:: - .incbin "data/tilesets/secondary/oceanic_museum/metatile_attributes.bin" - - .align 1 -gMetatiles_CableClub:: - .incbin "data/tilesets/secondary/cable_club/metatiles.bin" - - .align 1 -gMetatileAttributes_CableClub:: - .incbin "data/tilesets/secondary/cable_club/metatile_attributes.bin" - - .align 1 -gMetatiles_SeashoreHouse:: - .incbin "data/tilesets/secondary/seashore_house/metatiles.bin" - - .align 1 -gMetatileAttributes_SeashoreHouse:: - .incbin "data/tilesets/secondary/seashore_house/metatile_attributes.bin" - - .align 1 -gMetatiles_PrettyPetalFlowerShop:: - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin" - - .align 1 -gMetatileAttributes_PrettyPetalFlowerShop:: - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonDayCare:: - .incbin "data/tilesets/secondary/pokemon_day_care/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonDayCare:: - .incbin "data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin" - - .align 1 -gMetatiles_Facility:: - .incbin "data/tilesets/secondary/facility/metatiles.bin" - - .align 1 -gMetatileAttributes_Facility:: - .incbin "data/tilesets/secondary/facility/metatile_attributes.bin" - - .align 1 -gMetatiles_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/metatiles.bin" - - .align 1 -gMetatileAttributes_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/metatile_attributes.bin" - - .align 1 -gMetatiles_RusturfTunnel:: - .incbin "data/tilesets/secondary/rusturf_tunnel/metatiles.bin" - - .align 1 -gMetatileAttributes_RusturfTunnel:: - .incbin "data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin" - - .align 1 -gMetatiles_SecretBaseSecondary:: - .incbin "data/tilesets/secondary/secret_base/metatiles.bin" - - .align 1 -gMetatileAttributes_SecretBaseSecondary:: - .incbin "data/tilesets/secondary/secret_base/metatile_attributes.bin" - - .align 1 -gMetatiles_InsideOfTruck:: - .incbin "data/tilesets/secondary/inside_of_truck/metatiles.bin" - - .align 1 -gMetatileAttributes_InsideOfTruck:: - .incbin "data/tilesets/secondary/inside_of_truck/metatile_attributes.bin" - - .align 1 -gMetatiles_Contest:: - .incbin "data/tilesets/secondary/contest/metatiles.bin" - - .align 1 -gMetatileAttributes_Contest:: - .incbin "data/tilesets/secondary/contest/metatile_attributes.bin" - - .align 1 -gMetatiles_LilycoveMuseum:: - .incbin "data/tilesets/secondary/lilycove_museum/metatiles.bin" - - .align 1 -gMetatileAttributes_LilycoveMuseum:: - .incbin "data/tilesets/secondary/lilycove_museum/metatile_attributes.bin" - - .align 1 -gMetatiles_BrendansMaysHouse:: - .incbin "data/tilesets/secondary/brendans_mays_house/metatiles.bin" - - .align 1 -gMetatileAttributes_BrendansMaysHouse:: - .incbin "data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin" - - .align 1 -gMetatiles_Lab:: - .incbin "data/tilesets/secondary/lab/metatiles.bin" - - .align 1 -gMetatileAttributes_Lab:: - .incbin "data/tilesets/secondary/lab/metatile_attributes.bin" - - .align 1 -gMetatiles_Underwater:: - .incbin "data/tilesets/secondary/underwater/metatiles.bin" - - .align 1 -gMetatileAttributes_Underwater:: - .incbin "data/tilesets/secondary/underwater/metatile_attributes.bin" - - .align 1 -gMetatiles_GenericBuilding:: - .incbin "data/tilesets/secondary/generic_building/metatiles.bin" - - .align 1 -gMetatileAttributes_GenericBuilding:: - .incbin "data/tilesets/secondary/generic_building/metatile_attributes.bin" - - .align 1 -gMetatiles_MauvilleGameCorner:: - .incbin "data/tilesets/secondary/mauville_game_corner/metatiles.bin" - - .align 1 -gMetatileAttributes_MauvilleGameCorner:: - .incbin "data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin" - - .align 1 -gMetatiles_Unused2:: - .incbin "data/tilesets/secondary/unused_2/metatiles.bin" - - .align 1 -gMetatileAttributes_Unused2:: - .incbin "data/tilesets/secondary/unused_2/metatile_attributes.bin" - - .align 1 -gMetatiles_RustboroGym:: - .incbin "data/tilesets/secondary/rustboro_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_RustboroGym:: - .incbin "data/tilesets/secondary/rustboro_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_DewfordGym:: - .incbin "data/tilesets/secondary/dewford_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_DewfordGym:: - .incbin "data/tilesets/secondary/dewford_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_MauvilleGym:: - .incbin "data/tilesets/secondary/mauville_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_MauvilleGym:: - .incbin "data/tilesets/secondary/mauville_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_LavaridgeGym:: - .incbin "data/tilesets/secondary/lavaridge_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_LavaridgeGym:: - .incbin "data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_PetalburgGym:: - .incbin "data/tilesets/secondary/petalburg_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_PetalburgGym:: - .incbin "data/tilesets/secondary/petalburg_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_FortreeGym:: - .incbin "data/tilesets/secondary/fortree_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_FortreeGym:: - .incbin "data/tilesets/secondary/fortree_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_MossdeepGym:: - .incbin "data/tilesets/secondary/mossdeep_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_MossdeepGym:: - .incbin "data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_SootopolisGym:: - .incbin "data/tilesets/secondary/sootopolis_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_SootopolisGym:: - .incbin "data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_TrickHousePuzzle:: - .incbin "data/tilesets/secondary/trick_house_puzzle/metatiles.bin" - - .align 1 -gMetatileAttributes_TrickHousePuzzle:: - .incbin "data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin" - - .align 1 -gMetatiles_InsideShip:: - .incbin "data/tilesets/secondary/inside_ship/metatiles.bin" - - .align 1 -gMetatileAttributes_InsideShip:: - .incbin "data/tilesets/secondary/inside_ship/metatile_attributes.bin" - - .align 1 -gMetatiles_SecretBasePrimary:: - .incbin "data/tilesets/primary/secret_base/metatiles.bin" - - .align 1 -gMetatileAttributes_SecretBasePrimary:: - .incbin "data/tilesets/primary/secret_base/metatile_attributes.bin" - - .align 1 -gMetatiles_EliteFour:: - .incbin "data/tilesets/secondary/elite_four/metatiles.bin" - - .align 1 -gMetatileAttributes_EliteFour:: - .incbin "data/tilesets/secondary/elite_four/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFrontier:: - .incbin "data/tilesets/secondary/battle_frontier/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFrontier:: - .incbin "data/tilesets/secondary/battle_frontier/metatile_attributes.bin" - - .align 1 -gMetatiles_BattlePalace:: - .incbin "data/tilesets/secondary/battle_palace/metatiles.bin" - - .align 1 -gMetatileAttributes_BattlePalace:: - .incbin "data/tilesets/secondary/battle_palace/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleDome:: - .incbin "data/tilesets/secondary/battle_dome/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleDome:: - .incbin "data/tilesets/secondary/battle_dome/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFactory:: - .incbin "data/tilesets/secondary/battle_factory/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFactory:: - .incbin "data/tilesets/secondary/battle_factory/metatile_attributes.bin" - - .align 1 -gMetatiles_BattlePike:: - .incbin "data/tilesets/secondary/battle_pike/metatiles.bin" - - .align 1 -gMetatileAttributes_BattlePike:: - .incbin "data/tilesets/secondary/battle_pike/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleArena:: - .incbin "data/tilesets/secondary/battle_arena/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleArena:: - .incbin "data/tilesets/secondary/battle_arena/metatile_attributes.bin" - - .align 1 -gMetatiles_BattlePyramid:: - .incbin "data/tilesets/secondary/battle_pyramid/metatiles.bin" - - .align 1 -gMetatileAttributes_BattlePyramid:: - .incbin "data/tilesets/secondary/battle_pyramid/metatile_attributes.bin" - - .align 1 -gMetatiles_MirageTower:: - .incbin "data/tilesets/secondary/mirage_tower/metatiles.bin" - - .align 1 -gMetatileAttributes_MirageTower:: - .incbin "data/tilesets/secondary/mirage_tower/metatile_attributes.bin" - - .align 1 -gMetatiles_MossdeepGameCorner:: - .incbin "data/tilesets/secondary/mossdeep_game_corner/metatiles.bin" - - .align 1 -gMetatileAttributes_MossdeepGameCorner:: - .incbin "data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin" - - .align 1 -gMetatiles_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/metatiles.bin" - - .align 1 -gMetatileAttributes_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/metatile_attributes.bin" - - .align 1 -gMetatiles_TrainerHill:: - .incbin "data/tilesets/secondary/trainer_hill/metatiles.bin" - - .align 1 -gMetatileAttributes_TrainerHill:: - .incbin "data/tilesets/secondary/trainer_hill/metatile_attributes.bin" - - .align 1 -gMetatiles_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/metatiles.bin" - - .align 1 -gMetatileAttributes_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFrontierRankingHall:: - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFrontierRankingHall:: - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleTent:: - .incbin "data/tilesets/secondary/battle_tent/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleTent:: - .incbin "data/tilesets/secondary/battle_tent/metatile_attributes.bin" - - .align 1 -gMetatiles_MysteryEventsHouse:: - .incbin "data/tilesets/secondary/mystery_events_house/metatiles.bin" - - .align 1 -gMetatileAttributes_MysteryEventsHouse:: - .incbin "data/tilesets/secondary/mystery_events_house/metatile_attributes.bin" - - .align 1 -gMetatiles_UnionRoom:: - .incbin "data/tilesets/secondary/union_room/metatiles.bin" - - .align 1 -gMetatileAttributes_UnionRoom:: - .incbin "data/tilesets/secondary/union_room/metatile_attributes.bin" diff --git a/graphics/pokenav/city_maps/dewford_0.bin b/graphics/pokenav/region_map/city_maps/dewford_0.bin similarity index 100% rename from graphics/pokenav/city_maps/dewford_0.bin rename to graphics/pokenav/region_map/city_maps/dewford_0.bin diff --git a/graphics/pokenav/city_maps/ever_grande_0.bin b/graphics/pokenav/region_map/city_maps/ever_grande_0.bin similarity index 100% rename from graphics/pokenav/city_maps/ever_grande_0.bin rename to graphics/pokenav/region_map/city_maps/ever_grande_0.bin diff --git a/graphics/pokenav/city_maps/ever_grande_1.bin b/graphics/pokenav/region_map/city_maps/ever_grande_1.bin similarity index 100% rename from graphics/pokenav/city_maps/ever_grande_1.bin rename to graphics/pokenav/region_map/city_maps/ever_grande_1.bin diff --git a/graphics/pokenav/city_maps/fallarbor_0.bin b/graphics/pokenav/region_map/city_maps/fallarbor_0.bin similarity index 100% rename from graphics/pokenav/city_maps/fallarbor_0.bin rename to graphics/pokenav/region_map/city_maps/fallarbor_0.bin diff --git a/graphics/pokenav/city_maps/fortree_0.bin b/graphics/pokenav/region_map/city_maps/fortree_0.bin similarity index 100% rename from graphics/pokenav/city_maps/fortree_0.bin rename to graphics/pokenav/region_map/city_maps/fortree_0.bin diff --git a/graphics/pokenav/city_maps/lavaridge_0.bin b/graphics/pokenav/region_map/city_maps/lavaridge_0.bin similarity index 100% rename from graphics/pokenav/city_maps/lavaridge_0.bin rename to graphics/pokenav/region_map/city_maps/lavaridge_0.bin diff --git a/graphics/pokenav/city_maps/lilycove_0.bin b/graphics/pokenav/region_map/city_maps/lilycove_0.bin similarity index 100% rename from graphics/pokenav/city_maps/lilycove_0.bin rename to graphics/pokenav/region_map/city_maps/lilycove_0.bin diff --git a/graphics/pokenav/city_maps/lilycove_1.bin b/graphics/pokenav/region_map/city_maps/lilycove_1.bin similarity index 100% rename from graphics/pokenav/city_maps/lilycove_1.bin rename to graphics/pokenav/region_map/city_maps/lilycove_1.bin diff --git a/graphics/pokenav/city_maps/littleroot_0.bin b/graphics/pokenav/region_map/city_maps/littleroot_0.bin similarity index 100% rename from graphics/pokenav/city_maps/littleroot_0.bin rename to graphics/pokenav/region_map/city_maps/littleroot_0.bin diff --git a/graphics/pokenav/city_maps/mauville_0.bin b/graphics/pokenav/region_map/city_maps/mauville_0.bin similarity index 100% rename from graphics/pokenav/city_maps/mauville_0.bin rename to graphics/pokenav/region_map/city_maps/mauville_0.bin diff --git a/graphics/pokenav/city_maps/mauville_1.bin b/graphics/pokenav/region_map/city_maps/mauville_1.bin similarity index 100% rename from graphics/pokenav/city_maps/mauville_1.bin rename to graphics/pokenav/region_map/city_maps/mauville_1.bin diff --git a/graphics/pokenav/city_maps/mossdeep_0.bin b/graphics/pokenav/region_map/city_maps/mossdeep_0.bin similarity index 100% rename from graphics/pokenav/city_maps/mossdeep_0.bin rename to graphics/pokenav/region_map/city_maps/mossdeep_0.bin diff --git a/graphics/pokenav/city_maps/mossdeep_1.bin b/graphics/pokenav/region_map/city_maps/mossdeep_1.bin similarity index 100% rename from graphics/pokenav/city_maps/mossdeep_1.bin rename to graphics/pokenav/region_map/city_maps/mossdeep_1.bin diff --git a/graphics/pokenav/city_maps/oldale_0.bin b/graphics/pokenav/region_map/city_maps/oldale_0.bin similarity index 100% rename from graphics/pokenav/city_maps/oldale_0.bin rename to graphics/pokenav/region_map/city_maps/oldale_0.bin diff --git a/graphics/pokenav/city_maps/pacifidlog_0.bin b/graphics/pokenav/region_map/city_maps/pacifidlog_0.bin similarity index 100% rename from graphics/pokenav/city_maps/pacifidlog_0.bin rename to graphics/pokenav/region_map/city_maps/pacifidlog_0.bin diff --git a/graphics/pokenav/city_maps/petalburg_0.bin b/graphics/pokenav/region_map/city_maps/petalburg_0.bin similarity index 100% rename from graphics/pokenav/city_maps/petalburg_0.bin rename to graphics/pokenav/region_map/city_maps/petalburg_0.bin diff --git a/graphics/pokenav/city_maps/rustboro_0.bin b/graphics/pokenav/region_map/city_maps/rustboro_0.bin similarity index 100% rename from graphics/pokenav/city_maps/rustboro_0.bin rename to graphics/pokenav/region_map/city_maps/rustboro_0.bin diff --git a/graphics/pokenav/city_maps/rustboro_1.bin b/graphics/pokenav/region_map/city_maps/rustboro_1.bin similarity index 100% rename from graphics/pokenav/city_maps/rustboro_1.bin rename to graphics/pokenav/region_map/city_maps/rustboro_1.bin diff --git a/graphics/pokenav/city_maps/slateport_0.bin b/graphics/pokenav/region_map/city_maps/slateport_0.bin similarity index 100% rename from graphics/pokenav/city_maps/slateport_0.bin rename to graphics/pokenav/region_map/city_maps/slateport_0.bin diff --git a/graphics/pokenav/city_maps/slateport_1.bin b/graphics/pokenav/region_map/city_maps/slateport_1.bin similarity index 100% rename from graphics/pokenav/city_maps/slateport_1.bin rename to graphics/pokenav/region_map/city_maps/slateport_1.bin diff --git a/graphics/pokenav/city_maps/sootopolis_0.bin b/graphics/pokenav/region_map/city_maps/sootopolis_0.bin similarity index 100% rename from graphics/pokenav/city_maps/sootopolis_0.bin rename to graphics/pokenav/region_map/city_maps/sootopolis_0.bin diff --git a/graphics/pokenav/city_maps/verdanturf_0.bin b/graphics/pokenav/region_map/city_maps/verdanturf_0.bin similarity index 100% rename from graphics/pokenav/city_maps/verdanturf_0.bin rename to graphics/pokenav/region_map/city_maps/verdanturf_0.bin diff --git a/graphics/pokenav/city_zoom_text.png b/graphics/pokenav/region_map/city_zoom_text.png similarity index 100% rename from graphics/pokenav/city_zoom_text.png rename to graphics/pokenav/region_map/city_zoom_text.png diff --git a/graphics/pokenav/region_map_map.bin b/graphics/pokenav/region_map/map.bin similarity index 100% rename from graphics/pokenav/region_map_map.bin rename to graphics/pokenav/region_map/map.bin diff --git a/graphics/pokenav/region_map.pal b/graphics/pokenav/region_map/map.pal similarity index 100% rename from graphics/pokenav/region_map.pal rename to graphics/pokenav/region_map/map.pal diff --git a/graphics/pokenav/region_map.png b/graphics/pokenav/region_map/map.png similarity index 100% rename from graphics/pokenav/region_map.png rename to graphics/pokenav/region_map/map.png diff --git a/graphics/pokenav/zoom_tiles.png b/graphics/pokenav/region_map/zoom_tiles.png similarity index 100% rename from graphics/pokenav/zoom_tiles.png rename to graphics/pokenav/region_map/zoom_tiles.png diff --git a/graphics/pokenav/region_map_section_layout.bin b/graphics/pokenav/region_map_section_layout.bin deleted file mode 100644 index 4700e08b6..000000000 Binary files a/graphics/pokenav/region_map_section_layout.bin and /dev/null differ diff --git a/graphics/rotating_gates/l1.png b/graphics/rotating_gates/l1.png index 93680dbfb..e2f4779e3 100644 Binary files a/graphics/rotating_gates/l1.png and b/graphics/rotating_gates/l1.png differ diff --git a/graphics/rotating_gates/l2.png b/graphics/rotating_gates/l2.png index 1d320ed77..78bfe902f 100644 Binary files a/graphics/rotating_gates/l2.png and b/graphics/rotating_gates/l2.png differ diff --git a/graphics/rotating_gates/l3.png b/graphics/rotating_gates/l3.png index 6e43079d0..28aa331b4 100644 Binary files a/graphics/rotating_gates/l3.png and b/graphics/rotating_gates/l3.png differ diff --git a/graphics/rotating_gates/l4.png b/graphics/rotating_gates/l4.png index 77c269dc5..c1e68ccbc 100644 Binary files a/graphics/rotating_gates/l4.png and b/graphics/rotating_gates/l4.png differ diff --git a/graphics/rotating_gates/t1.png b/graphics/rotating_gates/t1.png index d8a0889b1..bbc851731 100644 Binary files a/graphics/rotating_gates/t1.png and b/graphics/rotating_gates/t1.png differ diff --git a/graphics/rotating_gates/t2.png b/graphics/rotating_gates/t2.png index 668feebfb..6e13aefda 100644 Binary files a/graphics/rotating_gates/t2.png and b/graphics/rotating_gates/t2.png differ diff --git a/graphics/rotating_gates/t3.png b/graphics/rotating_gates/t3.png index d92ae872c..694c9ed05 100644 Binary files a/graphics/rotating_gates/t3.png and b/graphics/rotating_gates/t3.png differ diff --git a/graphics/rotating_gates/t4.png b/graphics/rotating_gates/t4.png index 5e3a947c5..fa3a77e38 100644 Binary files a/graphics/rotating_gates/t4.png and b/graphics/rotating_gates/t4.png differ diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 8d9db88ea..f25a64579 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -356,7 +356,7 @@ graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal graphics/pokemon_jump/bg.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 63 -Wnum_tiles -graphics/pokenav/region_map.8bpp: %.8bpp: %.png +graphics/pokenav/region_map/map.8bpp: %.8bpp: %.png $(GFX) $< $@ -num_tiles 233 -Wnum_tiles $(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png diff --git a/include/bard_music.h b/include/bard_music.h index 2825d16e6..2942fa8e4 100644 --- a/include/bard_music.h +++ b/include/bard_music.h @@ -3,11 +3,11 @@ struct BardSound { - /*0x00*/ u8 var00; - /*0x01*/ s8 var01; - /*0x02*/ u16 var02; + /*0x00*/ u8 songLengthId; + /*0x01*/ s8 songLengthOffset; + /*0x02*/ u16 unused; /*0x04*/ s16 volume; - /*0x06*/ u16 var06; + /*0x06*/ u16 unused2; }; struct BardPhoneme diff --git a/include/battle.h b/include/battle.h index b328b46bb..5d9f57e43 100644 --- a/include/battle.h +++ b/include/battle.h @@ -163,15 +163,20 @@ struct SpecialStatus u8 ppNotAffectedByPressure:1; u8 faintedHasReplacement:1; u8 focusBanded:1; + // End of byte u8 focusSashed:1; u8 sturdied:1; u8 stormDrainRedirected:1; u8 switchInAbilityDone:1; u8 switchInItemDone:1; u8 instructedChosenTarget:3; + // End of byte u8 berryReduced:1; u8 gemBoost:1; u8 rototillerAffected:1; // to be affected by rototiller + u8 parentalBondState:2; + u8 multiHitOn:1; + // End of byte, two bits unused u8 gemParam; u8 damagedMons:4; // Mons that have been damaged directly by using a move, includes substitute. u8 dancerUsedMove:1; diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 2d6364fb9..23f18e3be 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -216,6 +216,7 @@ extern const u8 BattleScript_BerryConfuseHealEnd2[]; extern const u8 BattleScript_BerryConfuseHealRet[]; extern const u8 BattleScript_BerryStatRaiseEnd2[]; extern const u8 BattleScript_BerryStatRaiseRet[]; +extern const u8 BattleScript_BerryFocusEnergyRet[]; extern const u8 BattleScript_BerryFocusEnergyEnd2[]; extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; extern const u8 BattleScript_ArenaTurnBeginning[]; @@ -429,6 +430,9 @@ extern const u8 BattleScript_DefDownSpeedUp[]; extern const u8 BattleScript_AffectionBasedStatusHeal[]; extern const u8 BattleScript_AffectionBasedEndurance[]; extern const u8 BattleScript_SymbiosisActivates[]; +extern const u8 BattleScript_MultiHitPrintStrings[]; +extern const u8 BattleScript_BurnUpRemoveType[]; +extern const u8 BattleScript_TargetAbilityStatRaiseRet[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/battle_util.h b/include/battle_util.h index a456cc1e6..3f516daba 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -51,7 +51,7 @@ #define ITEMEFFECT_TARGET 5 #define ITEMEFFECT_ORBS 6 #define ITEMEFFECT_LIFEORB_SHELLBELL 7 -#define ITEMEFFECT_BATTLER_MOVE_END 8 // move end effects for just the battler, not whole field +#define ITEMEFFECT_USE_LAST_ITEM 8 // move end effects for just the battler, not whole field #define WEATHER_HAS_EFFECT ((!IsAbilityOnField(ABILITY_CLOUD_NINE) && !IsAbilityOnField(ABILITY_AIR_LOCK))) @@ -186,6 +186,7 @@ void TryToRevertMimicry(void); void RestoreBattlerOriginalTypes(u8 battlerId); u32 GetBattlerMoveTargetType(u8 battlerId, u16 move); bool32 CanTargetBattler(u8 battlerAtk, u8 battlerDef, u16 move); +bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId); // Ability checks bool32 IsRolePlayBannedAbilityAtk(u16 ability); bool32 IsRolePlayBannedAbility(u16 ability); diff --git a/include/constants/battle.h b/include/constants/battle.h index a5af07d98..366471e47 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -78,6 +78,11 @@ #define BATTLE_TYPE_RECORDED_IS_MASTER (1 << 31) #define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID) #define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE) +#define BATTLE_TYPE_RECORDED_INVALID ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \ + | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \ + | BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \ + | BATTLE_TYPE_RECORDED | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \ + | BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA)) #define WILD_DOUBLE_BATTLE ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER)))) #define BATTLE_TWO_VS_ONE_OPPONENT ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gTrainerBattleOpponent_B == 0xFFFF)) @@ -307,7 +312,7 @@ #define MOVE_EFFECT_PAYDAY 0xB #define MOVE_EFFECT_CHARGING 0xC #define MOVE_EFFECT_WRAP 0xD -#define MOVE_EFFECT_RECOIL_25 0xE +#define MOVE_EFFECT_BURN_UP 0xE // MOVE_EFFECT_BURN_UP replaces unused MOVE_EFFECT_RECOIL_25 so that stat change animations don't break #define MOVE_EFFECT_ATK_PLUS_1 0xF #define MOVE_EFFECT_DEF_PLUS_1 0x10 #define MOVE_EFFECT_SPD_PLUS_1 0x11 @@ -331,7 +336,7 @@ #define MOVE_EFFECT_RAPIDSPIN 0x23 #define MOVE_EFFECT_REMOVE_STATUS 0x24 #define MOVE_EFFECT_ATK_DEF_DOWN 0x25 -#define MOVE_EFFECT_RECOIL_33 0x26 +#define MOVE_EFFECT_SCALE_SHOT 0x26 // MOVE_EFFECT_SCALE_SHOT replaces unused MOVE_EFFECT_RECOIL_33 so that stat change animations don't break #define MOVE_EFFECT_ATK_PLUS_2 0x27 #define MOVE_EFFECT_DEF_PLUS_2 0x28 #define MOVE_EFFECT_SPD_PLUS_2 0x29 @@ -349,27 +354,23 @@ #define MOVE_EFFECT_THRASH 0x35 #define MOVE_EFFECT_KNOCK_OFF 0x36 #define MOVE_EFFECT_DEF_SPDEF_DOWN 0x37 -#define MOVE_EFFECT_RECOIL_33_STATUS 0x38 -#define MOVE_EFFECT_RECOIL_50 0x39 -#define MOVE_EFFECT_CLEAR_SMOG 0x3A -#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B -#define MOVE_EFFECT_SMACK_DOWN 0x3C -#define MOVE_EFFECT_FLAME_BURST 0x3D -#define MOVE_EFFECT_FEINT 0x3E -#define MOVE_EFFECT_SPECTRAL_THIEF 0x3F -#define MOVE_EFFECT_V_CREATE 0x40 -#define MOVE_EFFECT_HAPPY_HOUR 0x41 -#define MOVE_EFFECT_CORE_ENFORCER 0x42 -#define MOVE_EFFECT_THROAT_CHOP 0x43 -#define MOVE_EFFECT_INCINERATE 0x44 -#define MOVE_EFFECT_BUG_BITE 0x45 -#define MOVE_EFFECT_RECOIL_HP_25 0x46 -#define MOVE_EFFECT_RELIC_SONG 0x47 -#define MOVE_EFFECT_TRAP_BOTH 0x48 -#define MOVE_EFFECT_SKY_DROP 0x49 -#define MOVE_EFFECT_SCALE_SHOT 0x4A +#define MOVE_EFFECT_CLEAR_SMOG 0x38 +#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x39 +#define MOVE_EFFECT_SMACK_DOWN 0x3A +#define MOVE_EFFECT_FLAME_BURST 0x3B +#define MOVE_EFFECT_FEINT 0x3C +#define MOVE_EFFECT_SPECTRAL_THIEF 0x3D +#define MOVE_EFFECT_V_CREATE 0x3E +#define MOVE_EFFECT_HAPPY_HOUR 0x3F +#define MOVE_EFFECT_CORE_ENFORCER 0x40 +#define MOVE_EFFECT_THROAT_CHOP 0x41 +#define MOVE_EFFECT_INCINERATE 0x42 +#define MOVE_EFFECT_BUG_BITE 0x43 +#define MOVE_EFFECT_RECOIL_HP_25 0x44 +#define MOVE_EFFECT_RELIC_SONG 0x45 +#define MOVE_EFFECT_TRAP_BOTH 0x46 -#define NUM_MOVE_EFFECTS 0x4B +#define NUM_MOVE_EFFECTS 0x47 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 @@ -483,4 +484,9 @@ // For the second argument of GetMoveTarget, when no target override is needed #define NO_TARGET_OVERRIDE 0 +// Constants for Parental Bond +#define PARENTAL_BOND_1ST_HIT 2 +#define PARENTAL_BOND_2ND_HIT 1 +#define PARENTAL_BOND_OFF 0 + #endif // GUARD_CONSTANTS_BATTLE_H diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index ebdd7dfc8..956ee1601 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -29,6 +29,7 @@ #define B_KNOCK_OFF_DMG GEN_LATEST // In Gen6+, Knock Off deals 50% more damage when knocking off an item. #define B_SPORT_DMG_REDUCTION GEN_LATEST // In Gen5+, Water/Mud Sport reduce Fire/Electric Damage by 67% instead of 50%. #define B_EXPLOSION_DEFENSE GEN_LATEST // In Gen5+, Self-Destruct and Explosion don't halve the targets' defense. +#define B_PARENTAL_BOND_DMG GEN_LATEST // In Gen7+, Parental Bond's second hit does 25% of the initial hits damage. Before, it did 50%. // Type settings #define B_GHOSTS_ESCAPE GEN_LATEST // In Gen6+, abilities like Shadow Tag or moves like Mean Look fail on Ghost-type Pokémon. They can also escape any Wild Battle. @@ -89,6 +90,8 @@ #define B_ROOTED_GROUNDING GEN_LATEST // In Gen4+, Ingrain causes the affected Pokémon to become grounded. #define B_METRONOME_MOVES GEN_LATEST // This config will determine up to which generation will Metronome pull moves from. #define B_TELEPORT_BEHAVIOR GEN_LATEST // In Gen7+, starting with Pokémon LGPE, Teleport allows the user to swap out with another party member. +#define B_BEAT_UP GEN_LATEST // In Gen5+, Beat Up uses a different formula to calculate its damage, and deals Dark-type damage. Prior to Gen 5, each hit also announces the party member's name. +#define B_DARK_VOID_FAIL GEN_LATEST // In Gen7+, only Darkrai can use Dark Void. // Ability settings #define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. @@ -175,6 +178,7 @@ #define B_EVOLUTION_AFTER_WHITEOUT GEN_LATEST // In Gen6+, Pokemon that qualify for evolution after battle will evolve even if the player loses. #define B_WILD_NATURAL_ENEMIES TRUE // If set to TRUE, certain wild mon species will attack other species when partnered in double wild battles (eg. Zangoose vs Seviper) #define B_AFFECTION_MECHANICS FALSE // In Gen6+, there's a stat called affection that can trigger different effects in battle. From LGPE onwards, those effects use friendship instead. +#define B_TRAINER_CLASS_POKE_BALLS GEN_LATEST // In Gen7+, trainers will use certain types of Poké Balls depending on their trainer class. // Animation Settings #define B_NEW_SWORD_PARTICLE FALSE // If set to TRUE, it updates Swords Dance's particle. diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index f217ecd33..d38e7108d 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -1,402 +1,399 @@ #ifndef GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H #define GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H -#define EFFECT_HIT 0 -#define EFFECT_SLEEP 1 -#define EFFECT_POISON_HIT 2 -#define EFFECT_ABSORB 3 -#define EFFECT_BURN_HIT 4 -#define EFFECT_FREEZE_HIT 5 -#define EFFECT_PARALYZE_HIT 6 -#define EFFECT_EXPLOSION 7 -#define EFFECT_DREAM_EATER 8 -#define EFFECT_MIRROR_MOVE 9 -#define EFFECT_ATTACK_UP 10 -#define EFFECT_DEFENSE_UP 11 -#define EFFECT_SPEED_UP 12 -#define EFFECT_SPECIAL_ATTACK_UP 13 -#define EFFECT_SPECIAL_DEFENSE_UP 14 -#define EFFECT_ACCURACY_UP 15 -#define EFFECT_EVASION_UP 16 -#define EFFECT_SPECIAL_ATTACK_UP_3 17 -#define EFFECT_ATTACK_DOWN 18 -#define EFFECT_DEFENSE_DOWN 19 -#define EFFECT_SPEED_DOWN 20 -#define EFFECT_SPECIAL_ATTACK_DOWN 21 -#define EFFECT_SPECIAL_DEFENSE_DOWN 22 -#define EFFECT_ACCURACY_DOWN 23 -#define EFFECT_EVASION_DOWN 24 -#define EFFECT_HAZE 25 -#define EFFECT_BIDE 26 -#define EFFECT_RAMPAGE 27 -#define EFFECT_ROAR 28 -#define EFFECT_MULTI_HIT 29 -#define EFFECT_CONVERSION 30 -#define EFFECT_FLINCH_HIT 31 -#define EFFECT_RESTORE_HP 32 -#define EFFECT_TOXIC 33 -#define EFFECT_PAY_DAY 34 -#define EFFECT_LIGHT_SCREEN 35 -#define EFFECT_TRI_ATTACK 36 -#define EFFECT_REST 37 -#define EFFECT_OHKO 38 -#define EFFECT_FUSION_COMBO 39 -#define EFFECT_SUPER_FANG 40 -#define EFFECT_DRAGON_RAGE 41 -#define EFFECT_TRAP 42 -#define EFFECT_HEAL_BLOCK 43 -#define EFFECT_DOUBLE_HIT 44 -#define EFFECT_RECOIL_IF_MISS 45 -#define EFFECT_MIST 46 -#define EFFECT_FOCUS_ENERGY 47 -#define EFFECT_RECOIL_25 48 -#define EFFECT_CONFUSE 49 -#define EFFECT_ATTACK_UP_2 50 -#define EFFECT_DEFENSE_UP_2 51 -#define EFFECT_SPEED_UP_2 52 -#define EFFECT_SPECIAL_ATTACK_UP_2 53 -#define EFFECT_SPECIAL_DEFENSE_UP_2 54 -#define EFFECT_ACCURACY_UP_2 55 -#define EFFECT_EVASION_UP_2 56 -#define EFFECT_TRANSFORM 57 -#define EFFECT_ATTACK_DOWN_2 58 -#define EFFECT_DEFENSE_DOWN_2 59 -#define EFFECT_SPEED_DOWN_2 60 -#define EFFECT_SPECIAL_ATTACK_DOWN_2 61 -#define EFFECT_SPECIAL_DEFENSE_DOWN_2 62 -#define EFFECT_ACCURACY_DOWN_2 63 -#define EFFECT_EVASION_DOWN_2 64 -#define EFFECT_REFLECT 65 -#define EFFECT_POISON 66 -#define EFFECT_PARALYZE 67 -#define EFFECT_ATTACK_DOWN_HIT 68 -#define EFFECT_DEFENSE_DOWN_HIT 69 -#define EFFECT_SPEED_DOWN_HIT 70 -#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 71 -#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 72 -#define EFFECT_ACCURACY_DOWN_HIT 73 -#define EFFECT_EVASION_DOWN_HIT 74 -#define EFFECT_TWO_TURNS_ATTACK 75 -#define EFFECT_CONFUSE_HIT 76 -#define EFFECT_TWINEEDLE 77 -#define EFFECT_VITAL_THROW 78 -#define EFFECT_SUBSTITUTE 79 -#define EFFECT_RECHARGE 80 -#define EFFECT_RAGE 81 -#define EFFECT_MIMIC 82 -#define EFFECT_METRONOME 83 -#define EFFECT_LEECH_SEED 84 -#define EFFECT_DO_NOTHING 85 -#define EFFECT_DISABLE 86 -#define EFFECT_LEVEL_DAMAGE 87 -#define EFFECT_PSYWAVE 88 -#define EFFECT_COUNTER 89 -#define EFFECT_ENCORE 90 -#define EFFECT_PAIN_SPLIT 91 -#define EFFECT_SNORE 92 -#define EFFECT_CONVERSION_2 93 -#define EFFECT_LOCK_ON 94 -#define EFFECT_SKETCH 95 -#define EFFECT_HAMMER_ARM 96 -#define EFFECT_SLEEP_TALK 97 -#define EFFECT_DESTINY_BOND 98 -#define EFFECT_FLAIL 99 -#define EFFECT_SPITE 100 -#define EFFECT_FALSE_SWIPE 101 -#define EFFECT_HEAL_BELL 102 -#define EFFECT_ALWAYS_CRIT 103 -#define EFFECT_TRIPLE_KICK 104 -#define EFFECT_THIEF 105 -#define EFFECT_MEAN_LOOK 106 -#define EFFECT_NIGHTMARE 107 -#define EFFECT_MINIMIZE 108 -#define EFFECT_CURSE 109 -#define EFFECT_HEALING_WISH 110 -#define EFFECT_PROTECT 111 -#define EFFECT_SPIKES 112 -#define EFFECT_FORESIGHT 113 -#define EFFECT_PERISH_SONG 114 -#define EFFECT_SANDSTORM 115 -#define EFFECT_ENDURE 116 -#define EFFECT_ROLLOUT 117 -#define EFFECT_SWAGGER 118 -#define EFFECT_FURY_CUTTER 119 -#define EFFECT_ATTRACT 120 -#define EFFECT_RETURN 121 -#define EFFECT_PRESENT 122 -#define EFFECT_FRUSTRATION 123 -#define EFFECT_SAFEGUARD 124 -#define EFFECT_UNUSED_125 125 -#define EFFECT_MAGNITUDE 126 -#define EFFECT_BATON_PASS 127 -#define EFFECT_PURSUIT 128 -#define EFFECT_RAPID_SPIN 129 -#define EFFECT_SONICBOOM 130 -#define EFFECT_CAPTIVATE 131 -#define EFFECT_MORNING_SUN 132 -#define EFFECT_SYNTHESIS 133 -#define EFFECT_MOONLIGHT 134 -#define EFFECT_HIDDEN_POWER 135 -#define EFFECT_RAIN_DANCE 136 -#define EFFECT_SUNNY_DAY 137 -#define EFFECT_DEFENSE_UP_HIT 138 -#define EFFECT_ATTACK_UP_HIT 139 -#define EFFECT_ALL_STATS_UP_HIT 140 -#define EFFECT_FELL_STINGER 141 -#define EFFECT_BELLY_DRUM 142 -#define EFFECT_PSYCH_UP 143 -#define EFFECT_MIRROR_COAT 144 -#define EFFECT_SKULL_BASH 145 -#define EFFECT_TWISTER 146 -#define EFFECT_EARTHQUAKE 147 -#define EFFECT_FUTURE_SIGHT 148 -#define EFFECT_GUST 149 -#define EFFECT_FLINCH_MINIMIZE_HIT 150 -#define EFFECT_SOLAR_BEAM 151 -#define EFFECT_THUNDER 152 -#define EFFECT_TELEPORT 153 -#define EFFECT_BEAT_UP 154 -#define EFFECT_SEMI_INVULNERABLE 155 -#define EFFECT_DEFENSE_CURL 156 -#define EFFECT_SOFTBOILED 157 -#define EFFECT_FAKE_OUT 158 -#define EFFECT_UPROAR 159 -#define EFFECT_STOCKPILE 160 -#define EFFECT_SPIT_UP 161 -#define EFFECT_SWALLOW 162 -#define EFFECT_WORRY_SEED 163 -#define EFFECT_HAIL 164 -#define EFFECT_TORMENT 165 -#define EFFECT_FLATTER 166 -#define EFFECT_WILL_O_WISP 167 -#define EFFECT_MEMENTO 168 -#define EFFECT_FACADE 169 -#define EFFECT_FOCUS_PUNCH 170 -#define EFFECT_SMELLINGSALT 171 -#define EFFECT_FOLLOW_ME 172 -#define EFFECT_NATURE_POWER 173 -#define EFFECT_CHARGE 174 -#define EFFECT_TAUNT 175 -#define EFFECT_HELPING_HAND 176 -#define EFFECT_TRICK 177 -#define EFFECT_ROLE_PLAY 178 -#define EFFECT_WISH 179 -#define EFFECT_ASSIST 180 -#define EFFECT_INGRAIN 181 -#define EFFECT_SUPERPOWER 182 -#define EFFECT_MAGIC_COAT 183 -#define EFFECT_RECYCLE 184 -#define EFFECT_REVENGE 185 -#define EFFECT_BRICK_BREAK 186 -#define EFFECT_YAWN 187 -#define EFFECT_KNOCK_OFF 188 -#define EFFECT_ENDEAVOR 189 -#define EFFECT_ERUPTION 190 -#define EFFECT_SKILL_SWAP 191 -#define EFFECT_IMPRISON 192 -#define EFFECT_REFRESH 193 -#define EFFECT_GRUDGE 194 -#define EFFECT_SNATCH 195 -#define EFFECT_LOW_KICK 196 -#define EFFECT_SECRET_POWER 197 -#define EFFECT_RECOIL_33 198 -#define EFFECT_TEETER_DANCE 199 -#define EFFECT_HIT_ESCAPE 200 -#define EFFECT_MUD_SPORT 201 -#define EFFECT_POISON_FANG 202 -#define EFFECT_WEATHER_BALL 203 -#define EFFECT_OVERHEAT 204 -#define EFFECT_TICKLE 205 -#define EFFECT_COSMIC_POWER 206 -#define EFFECT_SKY_UPPERCUT 207 -#define EFFECT_BULK_UP 208 -#define EFFECT_PLACEHOLDER 209 -#define EFFECT_WATER_SPORT 210 -#define EFFECT_CALM_MIND 211 -#define EFFECT_DRAGON_DANCE 212 -#define EFFECT_CAMOUFLAGE 213 +#define EFFECT_HIT 0 +#define EFFECT_SLEEP 1 +#define EFFECT_POISON_HIT 2 +#define EFFECT_ABSORB 3 +#define EFFECT_BURN_HIT 4 +#define EFFECT_FREEZE_HIT 5 +#define EFFECT_PARALYZE_HIT 6 +#define EFFECT_EXPLOSION 7 +#define EFFECT_DREAM_EATER 8 +#define EFFECT_MIRROR_MOVE 9 +#define EFFECT_ATTACK_UP 10 +#define EFFECT_DEFENSE_UP 11 +#define EFFECT_SPEED_UP 12 +#define EFFECT_SPECIAL_ATTACK_UP 13 +#define EFFECT_SPECIAL_DEFENSE_UP 14 +#define EFFECT_ACCURACY_UP 15 +#define EFFECT_EVASION_UP 16 +#define EFFECT_SPECIAL_ATTACK_UP_3 17 +#define EFFECT_ATTACK_DOWN 18 +#define EFFECT_DEFENSE_DOWN 19 +#define EFFECT_SPEED_DOWN 20 +#define EFFECT_SPECIAL_ATTACK_DOWN 21 +#define EFFECT_SPECIAL_DEFENSE_DOWN 22 +#define EFFECT_ACCURACY_DOWN 23 +#define EFFECT_EVASION_DOWN 24 +#define EFFECT_HAZE 25 +#define EFFECT_BIDE 26 +#define EFFECT_RAMPAGE 27 +#define EFFECT_ROAR 28 +#define EFFECT_MULTI_HIT 29 +#define EFFECT_CONVERSION 30 +#define EFFECT_FLINCH_HIT 31 +#define EFFECT_RESTORE_HP 32 +#define EFFECT_TOXIC 33 +#define EFFECT_PAY_DAY 34 +#define EFFECT_LIGHT_SCREEN 35 +#define EFFECT_TRI_ATTACK 36 +#define EFFECT_REST 37 +#define EFFECT_OHKO 38 +#define EFFECT_FUSION_COMBO 39 +#define EFFECT_SUPER_FANG 40 +#define EFFECT_DRAGON_RAGE 41 +#define EFFECT_TRAP 42 +#define EFFECT_HEAL_BLOCK 43 +#define EFFECT_RECOIL_IF_MISS 44 +#define EFFECT_MIST 45 +#define EFFECT_FOCUS_ENERGY 46 +#define EFFECT_RECOIL_25 47 +#define EFFECT_CONFUSE 48 +#define EFFECT_ATTACK_UP_2 49 +#define EFFECT_DEFENSE_UP_2 50 +#define EFFECT_SPEED_UP_2 51 +#define EFFECT_SPECIAL_ATTACK_UP_2 52 +#define EFFECT_SPECIAL_DEFENSE_UP_2 53 +#define EFFECT_ACCURACY_UP_2 54 +#define EFFECT_EVASION_UP_2 55 +#define EFFECT_TRANSFORM 56 +#define EFFECT_ATTACK_DOWN_2 57 +#define EFFECT_DEFENSE_DOWN_2 58 +#define EFFECT_SPEED_DOWN_2 59 +#define EFFECT_SPECIAL_ATTACK_DOWN_2 60 +#define EFFECT_SPECIAL_DEFENSE_DOWN_2 61 +#define EFFECT_ACCURACY_DOWN_2 62 +#define EFFECT_EVASION_DOWN_2 63 +#define EFFECT_REFLECT 64 +#define EFFECT_POISON 65 +#define EFFECT_PARALYZE 66 +#define EFFECT_ATTACK_DOWN_HIT 67 +#define EFFECT_DEFENSE_DOWN_HIT 68 +#define EFFECT_SPEED_DOWN_HIT 69 +#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 70 +#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 71 +#define EFFECT_ACCURACY_DOWN_HIT 72 +#define EFFECT_EVASION_DOWN_HIT 73 +#define EFFECT_TWO_TURNS_ATTACK 74 +#define EFFECT_CONFUSE_HIT 75 +#define EFFECT_VITAL_THROW 76 +#define EFFECT_SUBSTITUTE 77 +#define EFFECT_RECHARGE 78 +#define EFFECT_RAGE 79 +#define EFFECT_MIMIC 80 +#define EFFECT_METRONOME 81 +#define EFFECT_LEECH_SEED 82 +#define EFFECT_DO_NOTHING 83 +#define EFFECT_DISABLE 84 +#define EFFECT_LEVEL_DAMAGE 85 +#define EFFECT_PSYWAVE 86 +#define EFFECT_COUNTER 87 +#define EFFECT_ENCORE 88 +#define EFFECT_PAIN_SPLIT 89 +#define EFFECT_SNORE 90 +#define EFFECT_CONVERSION_2 91 +#define EFFECT_LOCK_ON 92 +#define EFFECT_SKETCH 93 +#define EFFECT_HAMMER_ARM 94 +#define EFFECT_SLEEP_TALK 95 +#define EFFECT_DESTINY_BOND 96 +#define EFFECT_FLAIL 97 +#define EFFECT_SPITE 98 +#define EFFECT_FALSE_SWIPE 99 +#define EFFECT_HEAL_BELL 100 +#define EFFECT_ALWAYS_CRIT 101 +#define EFFECT_TRIPLE_KICK 102 +#define EFFECT_THIEF 103 +#define EFFECT_MEAN_LOOK 104 +#define EFFECT_NIGHTMARE 105 +#define EFFECT_MINIMIZE 106 +#define EFFECT_CURSE 107 +#define EFFECT_HEALING_WISH 108 +#define EFFECT_PROTECT 109 +#define EFFECT_SPIKES 110 +#define EFFECT_FORESIGHT 111 +#define EFFECT_PERISH_SONG 112 +#define EFFECT_SANDSTORM 113 +#define EFFECT_ENDURE 114 +#define EFFECT_ROLLOUT 115 +#define EFFECT_SWAGGER 116 +#define EFFECT_FURY_CUTTER 117 +#define EFFECT_ATTRACT 118 +#define EFFECT_RETURN 119 +#define EFFECT_PRESENT 120 +#define EFFECT_FRUSTRATION 121 +#define EFFECT_SAFEGUARD 122 +#define EFFECT_UNUSED_125 123 +#define EFFECT_MAGNITUDE 124 +#define EFFECT_BATON_PASS 125 +#define EFFECT_PURSUIT 126 +#define EFFECT_RAPID_SPIN 127 +#define EFFECT_SONICBOOM 128 +#define EFFECT_CAPTIVATE 129 +#define EFFECT_MORNING_SUN 130 +#define EFFECT_SYNTHESIS 131 +#define EFFECT_MOONLIGHT 132 +#define EFFECT_HIDDEN_POWER 133 +#define EFFECT_RAIN_DANCE 134 +#define EFFECT_SUNNY_DAY 135 +#define EFFECT_DEFENSE_UP_HIT 136 +#define EFFECT_ATTACK_UP_HIT 137 +#define EFFECT_ALL_STATS_UP_HIT 138 +#define EFFECT_FELL_STINGER 139 +#define EFFECT_BELLY_DRUM 140 +#define EFFECT_PSYCH_UP 141 +#define EFFECT_MIRROR_COAT 142 +#define EFFECT_SKULL_BASH 143 +#define EFFECT_TWISTER 144 +#define EFFECT_EARTHQUAKE 145 +#define EFFECT_FUTURE_SIGHT 146 +#define EFFECT_GUST 147 +#define EFFECT_FLINCH_MINIMIZE_HIT 148 +#define EFFECT_SOLAR_BEAM 149 +#define EFFECT_THUNDER 150 +#define EFFECT_TELEPORT 151 +#define EFFECT_BEAT_UP 152 +#define EFFECT_SEMI_INVULNERABLE 153 +#define EFFECT_DEFENSE_CURL 154 +#define EFFECT_SOFTBOILED 155 +#define EFFECT_FAKE_OUT 156 +#define EFFECT_UPROAR 157 +#define EFFECT_STOCKPILE 158 +#define EFFECT_SPIT_UP 159 +#define EFFECT_SWALLOW 160 +#define EFFECT_WORRY_SEED 161 +#define EFFECT_HAIL 162 +#define EFFECT_TORMENT 163 +#define EFFECT_FLATTER 164 +#define EFFECT_WILL_O_WISP 165 +#define EFFECT_MEMENTO 166 +#define EFFECT_FACADE 167 +#define EFFECT_FOCUS_PUNCH 168 +#define EFFECT_SMELLINGSALT 169 +#define EFFECT_FOLLOW_ME 170 +#define EFFECT_NATURE_POWER 171 +#define EFFECT_CHARGE 172 +#define EFFECT_TAUNT 173 +#define EFFECT_HELPING_HAND 174 +#define EFFECT_TRICK 175 +#define EFFECT_ROLE_PLAY 176 +#define EFFECT_WISH 177 +#define EFFECT_ASSIST 178 +#define EFFECT_INGRAIN 179 +#define EFFECT_SUPERPOWER 180 +#define EFFECT_MAGIC_COAT 181 +#define EFFECT_RECYCLE 182 +#define EFFECT_REVENGE 183 +#define EFFECT_BRICK_BREAK 184 +#define EFFECT_YAWN 185 +#define EFFECT_KNOCK_OFF 186 +#define EFFECT_ENDEAVOR 187 +#define EFFECT_ERUPTION 188 +#define EFFECT_SKILL_SWAP 189 +#define EFFECT_IMPRISON 190 +#define EFFECT_REFRESH 191 +#define EFFECT_GRUDGE 192 +#define EFFECT_SNATCH 193 +#define EFFECT_LOW_KICK 194 +#define EFFECT_SECRET_POWER 195 +#define EFFECT_RECOIL_33 196 +#define EFFECT_TEETER_DANCE 197 +#define EFFECT_HIT_ESCAPE 198 +#define EFFECT_MUD_SPORT 199 +#define EFFECT_POISON_FANG 200 +#define EFFECT_WEATHER_BALL 201 +#define EFFECT_OVERHEAT 202 +#define EFFECT_TICKLE 203 +#define EFFECT_COSMIC_POWER 204 +#define EFFECT_SKY_UPPERCUT 205 +#define EFFECT_BULK_UP 206 +#define EFFECT_PLACEHOLDER 207 +#define EFFECT_WATER_SPORT 208 +#define EFFECT_CALM_MIND 209 +#define EFFECT_DRAGON_DANCE 210 +#define EFFECT_CAMOUFLAGE 211 // New move effects -#define EFFECT_PLEDGE 214 -#define EFFECT_FLING 215 -#define EFFECT_NATURAL_GIFT 216 -#define EFFECT_WAKE_UP_SLAP 217 -#define EFFECT_WRING_OUT 218 -#define EFFECT_HEX 219 -#define EFFECT_ASSURANCE 220 -#define EFFECT_TRUMP_CARD 221 -#define EFFECT_ACROBATICS 222 -#define EFFECT_HEAT_CRASH 223 -#define EFFECT_PUNISHMENT 224 -#define EFFECT_STORED_POWER 225 -#define EFFECT_ELECTRO_BALL 226 -#define EFFECT_GYRO_BALL 227 -#define EFFECT_ECHOED_VOICE 228 -#define EFFECT_PAYBACK 229 -#define EFFECT_ROUND 230 -#define EFFECT_BRINE 231 -#define EFFECT_VENOSHOCK 232 -#define EFFECT_RETALIATE 233 -#define EFFECT_BULLDOZE 234 -#define EFFECT_FOUL_PLAY 235 -#define EFFECT_PSYSHOCK 236 -#define EFFECT_ROOST 237 -#define EFFECT_GRAVITY 238 -#define EFFECT_MIRACLE_EYE 239 -#define EFFECT_TAILWIND 240 -#define EFFECT_EMBARGO 241 -#define EFFECT_AQUA_RING 242 -#define EFFECT_TRICK_ROOM 243 -#define EFFECT_WONDER_ROOM 244 -#define EFFECT_MAGIC_ROOM 245 -#define EFFECT_MAGNET_RISE 246 -#define EFFECT_TOXIC_SPIKES 247 -#define EFFECT_GASTRO_ACID 248 -#define EFFECT_STEALTH_ROCK 249 -#define EFFECT_TELEKINESIS 250 -#define EFFECT_POWER_SWAP 251 -#define EFFECT_GUARD_SWAP 252 -#define EFFECT_HEART_SWAP 253 -#define EFFECT_POWER_SPLIT 254 -#define EFFECT_GUARD_SPLIT 255 -#define EFFECT_STICKY_WEB 256 -#define EFFECT_METAL_BURST 257 -#define EFFECT_LUCKY_CHANT 258 -#define EFFECT_SUCKER_PUNCH 259 -#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 260 -#define EFFECT_SIMPLE_BEAM 261 -#define EFFECT_ENTRAINMENT 262 -#define EFFECT_HEAL_PULSE 263 -#define EFFECT_QUASH 264 -#define EFFECT_ION_DELUGE 265 -#define EFFECT_FREEZE_DRY 266 -#define EFFECT_TOPSY_TURVY 267 -#define EFFECT_MISTY_TERRAIN 268 -#define EFFECT_GRASSY_TERRAIN 269 -#define EFFECT_ELECTRIC_TERRAIN 270 -#define EFFECT_PSYCHIC_TERRAIN 271 -#define EFFECT_ATTACK_ACCURACY_UP 272 -#define EFFECT_ATTACK_SPATK_UP 273 -#define EFFECT_HURRICANE 274 -#define EFFECT_TWO_TYPED_MOVE 275 -#define EFFECT_ME_FIRST 276 -#define EFFECT_SPEED_UP_HIT 277 -#define EFFECT_QUIVER_DANCE 278 -#define EFFECT_COIL 279 -#define EFFECT_ELECTRIFY 280 -#define EFFECT_SCALD 281 -#define EFFECT_REFLECT_TYPE 282 -#define EFFECT_SOAK 283 -#define EFFECT_GROWTH 284 -#define EFFECT_CLOSE_COMBAT 285 -#define EFFECT_LAST_RESORT 286 -#define EFFECT_RECOIL_33_STATUS 287 -#define EFFECT_FLINCH_STATUS 288 -#define EFFECT_RECOIL_50 289 -#define EFFECT_SHELL_SMASH 290 -#define EFFECT_SHIFT_GEAR 291 -#define EFFECT_DEFENSE_UP_3 292 -#define EFFECT_NOBLE_ROAR 293 -#define EFFECT_VENOM_DRENCH 294 -#define EFFECT_TOXIC_THREAD 295 -#define EFFECT_CLEAR_SMOG 296 -#define EFFECT_HIT_SWITCH_TARGET 297 -#define EFFECT_FINAL_GAMBIT 298 -#define EFFECT_CHANGE_TYPE_ON_ITEM 299 -#define EFFECT_AUTOTOMIZE 300 -#define EFFECT_COPYCAT 301 -#define EFFECT_DEFOG 302 -#define EFFECT_HIT_ENEMY_HEAL_ALLY 303 -#define EFFECT_SMACK_DOWN 304 -#define EFFECT_SYNCHRONOISE 305 -#define EFFECT_PSYCHO_SHIFT 306 -#define EFFECT_POWER_TRICK 307 -#define EFFECT_FLAME_BURST 308 -#define EFFECT_AFTER_YOU 309 -#define EFFECT_BESTOW 310 -#define EFFECT_ROTOTILLER 311 -#define EFFECT_FLOWER_SHIELD 312 -#define EFFECT_HIT_PREVENT_ESCAPE 313 -#define EFFECT_SPEED_SWAP 314 -#define EFFECT_DEFENSE_UP2_HIT 315 -#define EFFECT_REVELATION_DANCE 316 -#define EFFECT_AURORA_VEIL 317 -#define EFFECT_THIRD_TYPE 318 -#define EFFECT_FEINT 319 -#define EFFECT_SPARKLING_ARIA 320 -#define EFFECT_ACUPRESSURE 321 -#define EFFECT_AROMATIC_MIST 322 -#define EFFECT_POWDER 323 -#define EFFECT_SP_ATTACK_UP_HIT 324 -#define EFFECT_BELCH 325 -#define EFFECT_PARTING_SHOT 326 -#define EFFECT_SPECTRAL_THIEF 327 -#define EFFECT_V_CREATE 328 -#define EFFECT_MAT_BLOCK 329 -#define EFFECT_STOMPING_TANTRUM 330 -#define EFFECT_CORE_ENFORCER 331 -#define EFFECT_INSTRUCT 332 -#define EFFECT_THROAT_CHOP 333 -#define EFFECT_LASER_FOCUS 334 -#define EFFECT_MAGNETIC_FLUX 335 -#define EFFECT_GEAR_UP 336 -#define EFFECT_INCINERATE 337 -#define EFFECT_BUG_BITE 338 -#define EFFECT_STRENGTH_SAP 339 -#define EFFECT_MIND_BLOWN 340 -#define EFFECT_PURIFY 341 -#define EFFECT_BURN_UP 342 -#define EFFECT_SHORE_UP 343 -#define EFFECT_GEOMANCY 344 -#define EFFECT_FAIRY_LOCK 345 -#define EFFECT_ALLY_SWITCH 346 -#define EFFECT_RELIC_SONG 347 -#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 348 -#define EFFECT_BODY_PRESS 349 -#define EFFECT_EERIE_SPELL 350 -#define EFFECT_JUNGLE_HEALING 351 -#define EFFECT_COACHING 352 -#define EFFECT_LASH_OUT 353 -#define EFFECT_GRASSY_GLIDE 354 -#define EFFECT_REMOVE_TERRAIN 355 -#define EFFECT_DYNAMAX_DOUBLE_DMG 356 -#define EFFECT_DECORATE 357 -#define EFFECT_SNIPE_SHOT 358 -#define EFFECT_TRIPLE_HIT 359 -#define EFFECT_RECOIL_HP_25 360 -#define EFFECT_STUFF_CHEEKS 361 -#define EFFECT_GRAV_APPLE 362 -#define EFFECT_EVASION_UP_HIT 363 -#define EFFECT_DOUBLE_IRON_BASH 364 -#define EFFECT_GLITZY_GLOW 365 -#define EFFECT_BADDY_BAD 366 -#define EFFECT_SAPPY_SEED 367 -#define EFFECT_FREEZY_FROST 368 -#define EFFECT_SPARKLY_SWIRL 369 -#define EFFECT_PLASMA_FISTS 370 -#define EFFECT_HYPERSPACE_FURY 371 -#define EFFECT_AURA_WHEEL 372 -#define EFFECT_PHOTON_GEYSER 373 -#define EFFECT_SHELL_SIDE_ARM 374 -#define EFFECT_TERRAIN_PULSE 375 -#define EFFECT_JAW_LOCK 376 -#define EFFECT_NO_RETREAT 377 -#define EFFECT_TAR_SHOT 378 -#define EFFECT_POLTERGEIST 379 -#define EFFECT_OCTOLOCK 380 -#define EFFECT_CLANGOROUS_SOUL 381 -#define EFFECT_BOLT_BEAK 382 -#define EFFECT_SKY_DROP 383 -#define EFFECT_EXPANDING_FORCE 384 -#define EFFECT_SCALE_SHOT 385 -#define EFFECT_METEOR_BEAM 386 -#define EFFECT_RISING_VOLTAGE 387 -#define EFFECT_BEAK_BLAST 388 -#define EFFECT_COURT_CHANGE 389 -#define EFFECT_STEEL_BEAM 390 -#define EFFECT_EXTREME_EVOBOOST 391 -#define EFFECT_DAMAGE_SET_TERRAIN 392 // genesis supernova +#define EFFECT_PLEDGE 212 +#define EFFECT_FLING 213 +#define EFFECT_NATURAL_GIFT 214 +#define EFFECT_WAKE_UP_SLAP 215 +#define EFFECT_WRING_OUT 216 +#define EFFECT_HEX 217 +#define EFFECT_ASSURANCE 218 +#define EFFECT_TRUMP_CARD 219 +#define EFFECT_ACROBATICS 220 +#define EFFECT_HEAT_CRASH 221 +#define EFFECT_PUNISHMENT 222 +#define EFFECT_STORED_POWER 223 +#define EFFECT_ELECTRO_BALL 224 +#define EFFECT_GYRO_BALL 225 +#define EFFECT_ECHOED_VOICE 226 +#define EFFECT_PAYBACK 227 +#define EFFECT_ROUND 228 +#define EFFECT_BRINE 229 +#define EFFECT_VENOSHOCK 230 +#define EFFECT_RETALIATE 231 +#define EFFECT_BULLDOZE 232 +#define EFFECT_FOUL_PLAY 233 +#define EFFECT_PSYSHOCK 234 +#define EFFECT_ROOST 235 +#define EFFECT_GRAVITY 236 +#define EFFECT_MIRACLE_EYE 237 +#define EFFECT_TAILWIND 238 +#define EFFECT_EMBARGO 239 +#define EFFECT_AQUA_RING 240 +#define EFFECT_TRICK_ROOM 241 +#define EFFECT_WONDER_ROOM 242 +#define EFFECT_MAGIC_ROOM 243 +#define EFFECT_MAGNET_RISE 244 +#define EFFECT_TOXIC_SPIKES 245 +#define EFFECT_GASTRO_ACID 246 +#define EFFECT_STEALTH_ROCK 247 +#define EFFECT_TELEKINESIS 248 +#define EFFECT_POWER_SWAP 249 +#define EFFECT_GUARD_SWAP 250 +#define EFFECT_HEART_SWAP 251 +#define EFFECT_POWER_SPLIT 252 +#define EFFECT_GUARD_SPLIT 253 +#define EFFECT_STICKY_WEB 254 +#define EFFECT_METAL_BURST 255 +#define EFFECT_LUCKY_CHANT 256 +#define EFFECT_SUCKER_PUNCH 257 +#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 258 +#define EFFECT_SIMPLE_BEAM 259 +#define EFFECT_ENTRAINMENT 260 +#define EFFECT_HEAL_PULSE 261 +#define EFFECT_QUASH 262 +#define EFFECT_ION_DELUGE 263 +#define EFFECT_FREEZE_DRY 264 +#define EFFECT_TOPSY_TURVY 265 +#define EFFECT_MISTY_TERRAIN 266 +#define EFFECT_GRASSY_TERRAIN 267 +#define EFFECT_ELECTRIC_TERRAIN 268 +#define EFFECT_PSYCHIC_TERRAIN 269 +#define EFFECT_ATTACK_ACCURACY_UP 270 +#define EFFECT_ATTACK_SPATK_UP 271 +#define EFFECT_HURRICANE 272 +#define EFFECT_TWO_TYPED_MOVE 273 +#define EFFECT_ME_FIRST 274 +#define EFFECT_SPEED_UP_HIT 275 +#define EFFECT_QUIVER_DANCE 276 +#define EFFECT_COIL 277 +#define EFFECT_ELECTRIFY 278 +#define EFFECT_SCALD 279 +#define EFFECT_REFLECT_TYPE 280 +#define EFFECT_SOAK 281 +#define EFFECT_GROWTH 282 +#define EFFECT_CLOSE_COMBAT 283 +#define EFFECT_LAST_RESORT 284 +#define EFFECT_RECOIL_33_STATUS 285 +#define EFFECT_FLINCH_STATUS 286 +#define EFFECT_RECOIL_50 287 +#define EFFECT_SHELL_SMASH 288 +#define EFFECT_SHIFT_GEAR 289 +#define EFFECT_DEFENSE_UP_3 290 +#define EFFECT_NOBLE_ROAR 291 +#define EFFECT_VENOM_DRENCH 292 +#define EFFECT_TOXIC_THREAD 293 +#define EFFECT_CLEAR_SMOG 294 +#define EFFECT_HIT_SWITCH_TARGET 295 +#define EFFECT_FINAL_GAMBIT 296 +#define EFFECT_CHANGE_TYPE_ON_ITEM 297 +#define EFFECT_AUTOTOMIZE 298 +#define EFFECT_COPYCAT 299 +#define EFFECT_DEFOG 300 +#define EFFECT_HIT_ENEMY_HEAL_ALLY 301 +#define EFFECT_SMACK_DOWN 302 +#define EFFECT_SYNCHRONOISE 303 +#define EFFECT_PSYCHO_SHIFT 304 +#define EFFECT_POWER_TRICK 305 +#define EFFECT_FLAME_BURST 306 +#define EFFECT_AFTER_YOU 307 +#define EFFECT_BESTOW 308 +#define EFFECT_ROTOTILLER 309 +#define EFFECT_FLOWER_SHIELD 310 +#define EFFECT_HIT_PREVENT_ESCAPE 311 +#define EFFECT_SPEED_SWAP 312 +#define EFFECT_DEFENSE_UP2_HIT 313 +#define EFFECT_REVELATION_DANCE 314 +#define EFFECT_AURORA_VEIL 315 +#define EFFECT_THIRD_TYPE 316 +#define EFFECT_FEINT 317 +#define EFFECT_SPARKLING_ARIA 318 +#define EFFECT_ACUPRESSURE 319 +#define EFFECT_AROMATIC_MIST 320 +#define EFFECT_POWDER 321 +#define EFFECT_SP_ATTACK_UP_HIT 322 +#define EFFECT_BELCH 323 +#define EFFECT_PARTING_SHOT 324 +#define EFFECT_SPECTRAL_THIEF 325 +#define EFFECT_V_CREATE 326 +#define EFFECT_MAT_BLOCK 327 +#define EFFECT_STOMPING_TANTRUM 328 +#define EFFECT_CORE_ENFORCER 329 +#define EFFECT_INSTRUCT 330 +#define EFFECT_THROAT_CHOP 331 +#define EFFECT_LASER_FOCUS 332 +#define EFFECT_MAGNETIC_FLUX 333 +#define EFFECT_GEAR_UP 334 +#define EFFECT_INCINERATE 335 +#define EFFECT_BUG_BITE 336 +#define EFFECT_STRENGTH_SAP 337 +#define EFFECT_MIND_BLOWN 338 +#define EFFECT_PURIFY 339 +#define EFFECT_BURN_UP 340 +#define EFFECT_SHORE_UP 341 +#define EFFECT_GEOMANCY 342 +#define EFFECT_FAIRY_LOCK 343 +#define EFFECT_ALLY_SWITCH 344 +#define EFFECT_RELIC_SONG 345 +#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 346 +#define EFFECT_BODY_PRESS 347 +#define EFFECT_EERIE_SPELL 348 +#define EFFECT_JUNGLE_HEALING 349 +#define EFFECT_COACHING 350 +#define EFFECT_LASH_OUT 351 +#define EFFECT_GRASSY_GLIDE 352 +#define EFFECT_REMOVE_TERRAIN 353 +#define EFFECT_DYNAMAX_DOUBLE_DMG 354 +#define EFFECT_DECORATE 355 +#define EFFECT_SNIPE_SHOT 356 +#define EFFECT_RECOIL_HP_25 357 +#define EFFECT_STUFF_CHEEKS 358 +#define EFFECT_GRAV_APPLE 359 +#define EFFECT_EVASION_UP_HIT 360 +#define EFFECT_GLITZY_GLOW 361 +#define EFFECT_BADDY_BAD 362 +#define EFFECT_SAPPY_SEED 363 +#define EFFECT_FREEZY_FROST 364 +#define EFFECT_SPARKLY_SWIRL 365 +#define EFFECT_PLASMA_FISTS 366 +#define EFFECT_HYPERSPACE_FURY 367 +#define EFFECT_AURA_WHEEL 368 +#define EFFECT_PHOTON_GEYSER 369 +#define EFFECT_SHELL_SIDE_ARM 370 +#define EFFECT_TERRAIN_PULSE 371 +#define EFFECT_JAW_LOCK 372 +#define EFFECT_NO_RETREAT 373 +#define EFFECT_TAR_SHOT 374 +#define EFFECT_POLTERGEIST 375 +#define EFFECT_OCTOLOCK 376 +#define EFFECT_CLANGOROUS_SOUL 377 +#define EFFECT_BOLT_BEAK 378 +#define EFFECT_SKY_DROP 379 +#define EFFECT_EXPANDING_FORCE 380 +#define EFFECT_SCALE_SHOT 381 +#define EFFECT_METEOR_BEAM 382 +#define EFFECT_RISING_VOLTAGE 383 +#define EFFECT_BEAK_BLAST 384 +#define EFFECT_COURT_CHANGE 385 +#define EFFECT_STEEL_BEAM 386 +#define EFFECT_EXTREME_EVOBOOST 387 +#define EFFECT_DAMAGE_SET_TERRAIN 388 // genesis supernova +#define EFFECT_DARK_VOID 389 -#define NUM_BATTLE_MOVE_EFFECTS 393 +#define NUM_BATTLE_MOVE_EFFECTS 389 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index b11e7eb65..06a09fc17 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -245,6 +245,7 @@ #define VARIOUS_TRY_SYMBIOSIS 154 #define VARIOUS_CAN_TELEPORT 155 #define VARIOUS_GET_BATTLER_SIDE 156 +#define VARIOUS_CHECK_PARENTAL_BOND_COUNTER 157 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 @@ -284,40 +285,43 @@ #define PARTY_SCREEN_OPTIONAL (1 << 7) // Flag for first argument to openpartyscreen // cases for Cmd_moveend -#define MOVEEND_PROTECT_LIKE_EFFECT 0 -#define MOVEEND_RAGE 1 -#define MOVEEND_DEFROST 2 +#define MOVEEND_SUM_DAMAGE 0 +#define MOVEEND_PROTECT_LIKE_EFFECT 1 +#define MOVEEND_RAGE 2 #define MOVEEND_SYNCHRONIZE_TARGET 3 #define MOVEEND_ABILITIES 4 #define MOVEEND_ABILITIES_ATTACKER 5 #define MOVEEND_STATUS_IMMUNITY_ABILITIES 6 #define MOVEEND_SYNCHRONIZE_ATTACKER 7 #define MOVEEND_CHOICE_MOVE 8 -#define MOVEEND_CHANGED_ITEMS 9 -#define MOVEEND_ATTACKER_INVISIBLE 10 -#define MOVEEND_ATTACKER_VISIBLE 11 -#define MOVEEND_TARGET_VISIBLE 12 -#define MOVEEND_ITEM_EFFECTS_TARGET 13 -#define MOVEEND_MOVE_EFFECTS2 14 -#define MOVEEND_ITEM_EFFECTS_ALL 15 -#define MOVEEND_KINGSROCK 16 // These item effects will occur each strike of a multi-hit move -#define MOVEEND_SUBSTITUTE 17 -#define MOVEEND_SKY_DROP_CONFUSE 18 -#define MOVEEND_UPDATE_LAST_MOVES 19 -#define MOVEEND_MIRROR_MOVE 20 -#define MOVEEND_NEXT_TARGET 21 // Everything up until here is handled for each strike of a multi-hit move -#define MOVEEND_MAGICIAN 22 // Occurs after final multi-hit strike, and after other items/abilities would activate -#define MOVEEND_EJECT_BUTTON 23 -#define MOVEEND_RED_CARD 24 -#define MOVEEND_EJECT_PACK 25 -#define MOVEEND_LIFEORB_SHELLBELL 26 // Includes shell bell, throat spray, etc -#define MOVEEND_PICKPOCKET 27 -#define MOVEEND_DANCER 28 -#define MOVEEND_EMERGENCY_EXIT 29 -#define MOVEEND_WEATHER_FORM 30 -#define MOVEEND_SYMBIOSIS 31 -#define MOVEEND_CLEAR_BITS 32 -#define MOVEEND_COUNT 33 +#define MOVEEND_ATTACKER_INVISIBLE 9 +#define MOVEEND_ATTACKER_VISIBLE 10 +#define MOVEEND_TARGET_VISIBLE 11 +#define MOVEEND_ITEM_EFFECTS_TARGET 12 +#define MOVEEND_ITEM_EFFECTS_ALL 13 +#define MOVEEND_KINGSROCK 14 // These item effects will occur each strike of a multi-hit move +#define MOVEEND_SUBSTITUTE 15 +#define MOVEEND_SKY_DROP_CONFUSE 16 +#define MOVEEND_UPDATE_LAST_MOVES 17 +#define MOVEEND_MIRROR_MOVE 18 +#define MOVEEND_NEXT_TARGET 19 // Everything up until here is handled for each strike of a multi-hit move +#define MOVEEND_MULTIHIT_MOVE 20 +#define MOVEEND_DEFROST 21 +#define MOVEEND_MOVE_EFFECTS2 22 +#define MOVEEND_RECOIL 23 +#define MOVEEND_MAGICIAN 24 // Occurs after final multi-hit strike, and after other items/abilities would activate +#define MOVEEND_EJECT_BUTTON 25 +#define MOVEEND_RED_CARD 26 +#define MOVEEND_EJECT_PACK 27 +#define MOVEEND_LIFEORB_SHELLBELL 28 // Includes shell bell, throat spray, etc +#define MOVEEND_CHANGED_ITEMS 29 +#define MOVEEND_PICKPOCKET 30 +#define MOVEEND_DANCER 31 +#define MOVEEND_EMERGENCY_EXIT 32 +#define MOVEEND_WEATHER_FORM 33 +#define MOVEEND_SYMBIOSIS 34 +#define MOVEEND_CLEAR_BITS 35 +#define MOVEEND_COUNT 36 // switch cases #define B_SWITCH_NORMAL 0 diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h index 272a69dfa..d3dd8f1f1 100644 --- a/include/constants/heal_locations.h +++ b/include/constants/heal_locations.h @@ -1,6 +1,7 @@ #ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H #define GUARD_CONSTANTS_HEAL_LOCATIONS_H +#define HEAL_LOCATION_NONE 0 #define HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1 #define HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F 2 #define HEAL_LOCATION_PETALBURG_CITY 3 diff --git a/include/constants/item.h b/include/constants/item.h index a224291fa..a32f4545a 100644 --- a/include/constants/item.h +++ b/include/constants/item.h @@ -16,4 +16,10 @@ #define KEYITEMS_POCKET 4 #define POCKETS_COUNT 5 +#define REPEL_LURE_MASK (1 << 15) +#define IS_LAST_USED_LURE(var) (var & REPEL_LURE_MASK) +#define REPEL_LURE_STEPS(var) (var & (REPEL_LURE_MASK - 1)) +#define LURE_STEP_COUNT (IS_LAST_USED_LURE(VarGet(VAR_REPEL_STEP_COUNT)) ? REPEL_LURE_STEPS(VarGet(VAR_REPEL_STEP_COUNT)) : 0) +#define REPEL_STEP_COUNT (!IS_LAST_USED_LURE(VarGet(VAR_REPEL_STEP_COUNT)) ? REPEL_LURE_STEPS(VarGet(VAR_REPEL_STEP_COUNT)) : 0) + #endif // GUARD_ITEM_CONSTANTS_H diff --git a/include/constants/item_config.h b/include/constants/item_config.h index 9261241a5..e645b301d 100644 --- a/include/constants/item_config.h +++ b/include/constants/item_config.h @@ -9,4 +9,9 @@ #define I_SITRUS_BERRY_HEAL GEN_LATEST // In Gen4+, Sitrus Berry was changed from healing 30 HP to healing 25% of Max HP. #define I_VITAMIN_EV_CAP GEN_LATEST // In Gen8, the Vitamins no longer have a cap of 100 EV per stat. +// Repel/Lure config +// These two settings are both independent and complementary. +#define VAR_LAST_REPEL_LURE_USED 0 // If this var has been assigned, last Repel/Lure used will be saved and the player will get prompted with the vanilla repel YES/NO option, unless I_REPEL_LURE_MENU is set to TRUE. +#define I_REPEL_LURE_MENU TRUE // If TRUE, the player is able to choose which Repel/Lure to use once the previous one runs out. Cursor position is saved by VAR_LAST_REPEL_LURE_USED if not 0. + #endif // GUARD_CONSTANTS_ITEM_CONFIG_H diff --git a/include/constants/maps.h b/include/constants/maps.h index 2ad4ea8df..626054b43 100644 --- a/include/constants/maps.h +++ b/include/constants/maps.h @@ -3,14 +3,17 @@ #include "map_groups.h" -#define MAP_NONE (0x7F | (0x7F << 8)) +// 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)) + #define MAP_UNDEFINED (0xFF | (0xFF << 8)) #define MAP_GROUP(map) (MAP_##map >> 8) #define MAP_NUM(map) (MAP_##map & 0xFF) // IDs for dynamic warps. Both are used in the dest_warp_id field for warp events, but they -// are never read in practice. A dest_map of MAP_NONE is used to indicate that a +// are never read in practice. A dest_map of MAP_DYNAMIC is used to indicate that a // dynamic warp should be used, at which point the warp id is ignored. It can be passed to // SetDynamicWarp/SetDynamicWarpWithCoords as the first argument, but this argument is unused. // As only one dynamic warp is saved at a time there's no need to distinguish between them. diff --git a/include/constants/overworld_config.h b/include/constants/overworld_config.h index 50f45933d..4a27ded83 100644 --- a/include/constants/overworld_config.h +++ b/include/constants/overworld_config.h @@ -1,9 +1,12 @@ #ifndef GUARD_CONSTANTS_OVERWORLD_CONFIG_H #define GUARD_CONSTANTS_OVERWORLD_CONFIG_H +// Movement config +#define OW_RUNNING_INDOORS GEN_LATEST // In Gen4+, players are allowed to run indoors. + // Overworld flags -#define OW_FLAG_NO_ENCOUNTER 0 // If this flag is set, wild encounters will be disabled. -#define OW_FLAG_NO_TRAINER_SEE 0 // If this flag is set, trainers will not battle the player unless they're talked to. +#define OW_FLAG_NO_ENCOUNTER 0 // If this flag is set, wild encounters will be disabled. +#define OW_FLAG_NO_TRAINER_SEE 0 // If this flag is set, trainers will not battle the player unless they're talked to. // Debug options #define DEBUG_SYSTEM_ENABLE TRUE // Enables a overworld debug menu for changing flags, variables, giving pokemon and more, accessed by holding R and pressing START while in the overworld by default. @@ -13,6 +16,5 @@ // Replace the used flags with others or disable with a 0 #define DEBUG_FLAG_NO_COLLISION 0 // If this flag is set, the debug function in the Utility submenu to disable player collision can be used. -#define DEBUG_FLAG_PC_FROM_DEBUG_MENU 0 // If this flag is set, the debug function in debug menu to access the player PC works. #endif // GUARD_CONSTANTS_OVERWORLD_CONFIG_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 5167f5f55..514c2bd26 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -329,9 +329,10 @@ #define MON_PIC_HEIGHT 64 #define MON_PIC_SIZE (MON_PIC_WIDTH * MON_PIC_HEIGHT / 2) -#define BATTLE_ALIVE_EXCEPT_ACTIVE 0 -#define BATTLE_ALIVE_ATK_SIDE 1 -#define BATTLE_ALIVE_DEF_SIDE 2 +#define BATTLE_ALIVE_EXCEPT_ACTIVE 0 +#define BATTLE_ALIVE_ATK_SIDE 1 +#define BATTLE_ALIVE_DEF_SIDE 2 +#define BATTLE_ALIVE_EXCEPT_ATTACKER 3 #define SKIP_FRONT_ANIM (1 << 7) diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 09ae72011..39ca2a2b8 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -352,6 +352,7 @@ #define TRAINER_CLASS_PIKE_QUEEN 0x3f #define TRAINER_CLASS_PYRAMID_KING 0x40 #define TRAINER_CLASS_RS_PROTAG 0x41 +#define TRAINER_CLASS_COUNT 0x42 #define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music #define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music diff --git a/include/constants/vars.h b/include/constants/vars.h index bd988c789..be32c7498 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -304,4 +304,10 @@ #define SPECIAL_VARS_END 0x8015 +// If an overworld trigger uses this pseudo-variable as the trigger check, +// then the script will be run using RunScriptImmediately instead of in the +// global script context. This means it will run faster, but cannot do any +// cutscenes nor call a wait command. Used for weather effects in vanilla. +#define TRIGGER_RUN_IMMEDIATELY 0 + #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index aad161553..01269cdb5 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -3,6 +3,28 @@ #include "constants/event_object_movement.h" +// Palette slots for overworld NPCs. +// The same standard set of palettes for overworld objects are normally always loaded at the same +// time while walking around the overworld. The only exceptions are the palettes for the player and +// the "special" NPC, which can be swapped out. This also means that e.g. two "special" NPCs +// with competing palettes cannot be properly loaded at the same time. +enum { + PALSLOT_PLAYER, + PALSLOT_PLAYER_REFLECTION, + PALSLOT_NPC_1, + PALSLOT_NPC_2, + PALSLOT_NPC_3, + PALSLOT_NPC_4, + PALSLOT_NPC_1_REFLECTION, + PALSLOT_NPC_2_REFLECTION, + PALSLOT_NPC_3_REFLECTION, + PALSLOT_NPC_4_REFLECTION, + PALSLOT_NPC_SPECIAL, + PALSLOT_NPC_SPECIAL_REFLECTION, + OBJ_PALSLOT_COUNT + // the remaining sprite palette slots (12-15) are used by field effects, the interface, etc. +}; + enum SpinnerRunnerFollowPatterns { RUNFOLLOW_ANY, diff --git a/include/field_weather.h b/include/field_weather.h index 1d8cfe422..8ce0cc9e5 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -19,6 +19,8 @@ enum { PALTAG_WEATHER_2 }; +#define NUM_WEATHER_COLOR_MAPS 19 + struct Weather { union @@ -39,12 +41,12 @@ struct Weather struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES]; } s2; } sprites; - u8 gammaShifts[19][32]; - u8 altGammaShifts[19][32]; - s8 gammaIndex; - s8 gammaTargetIndex; - u8 gammaStepDelay; - u8 gammaStepFrameCounter; + u8 darkenedContrastColorMaps[NUM_WEATHER_COLOR_MAPS][32]; + u8 contrastColorMaps[NUM_WEATHER_COLOR_MAPS][32]; + s8 colorMapIndex; + s8 targetColorMapIndex; + u8 colorMapStepDelay; + u8 colorMapStepCounter; u16 fadeDestColor; u8 palProcessingState; u8 fadeScreenCounter; @@ -59,7 +61,7 @@ struct Weather u8 weatherGfxLoaded; bool8 weatherChangeComplete; u8 weatherPicSpritePalIndex; - u8 altGammaSpritePalIndex; + u8 contrastColorMapSpritePalIndex; // Rain u16 rainSpriteVisibleCounter; u8 curRainSpriteIndex; @@ -75,12 +77,12 @@ struct Weather u8 snowflakeSpriteCount; u8 targetSnowflakeSpriteCount; // Thunderstorm - u16 thunderDelay; - u16 thunderCounter; + u16 thunderTimer; // general-purpose timer for state transitions + u16 thunderSETimer; // timer for thunder sound effect bool8 thunderAllowEnd; - bool8 thunderSkipShort; - u8 thunderShortRetries; - bool8 thunderTriggered; + bool8 thunderLongBolt; // true if this cycle will end in a long lightning bolt + u8 thunderShortBolts; // the number of short bolts this cycle + bool8 thunderEnqueued; // Horizontal fog u16 fogHScrollPosX; u16 fogHScrollCounter; @@ -146,12 +148,12 @@ void StartWeather(void); void SetNextWeather(u8 weather); void SetCurrentAndNextWeather(u8 weather); void SetCurrentAndNextWeatherNoDelay(u8 weather); -void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex); -void ApplyWeatherGammaShiftIfIdle_Gradual(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay); +void ApplyWeatherColorMapIfIdle(s8 colorMapIndex); +void ApplyWeatherColorMapIfIdle_Gradual(u8 colorMapIndex, u8 targetColorMapIndex, u8 colorMapStepDelay); void FadeScreen(u8 mode, s8 delay); bool8 IsWeatherNotFadingIn(void); void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex); -void ApplyWeatherGammaShiftToPal(u8 paletteIndex); +void ApplyWeatherColorMapToPal(u8 paletteIndex); void LoadCustomWeatherSpritePalette(const u16 *palette); void ResetDroughtWeatherPaletteLoading(void); bool8 LoadDroughtWeatherPalettes(void); diff --git a/include/fldeff.h b/include/fldeff.h index 0ad0e3d60..bed235a1b 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -35,6 +35,7 @@ bool8 FldEff_UseStrength(void); // sweet scent bool8 SetUpFieldMove_SweetScent(void); bool8 FldEff_SweetScent(void); +void StartSweetScentFieldEffect(void); // teleport bool8 SetUpFieldMove_Teleport(void); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 2be44a5f3..4da3154e2 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -39,10 +39,10 @@ struct Tileset { /*0x00*/ bool8 isCompressed; /*0x01*/ bool8 isSecondary; - /*0x04*/ void *tiles; - /*0x08*/ void *palettes; - /*0x0c*/ u16 *metatiles; - /*0x10*/ u16 *metatileAttributes; + /*0x04*/ const u32 *tiles; + /*0x08*/ const u16 (*palettes)[16]; + /*0x0c*/ const u16 *metatiles; + /*0x10*/ const u16 *metatileAttributes; /*0x14*/ TilesetCB callback; }; diff --git a/include/item_use.h b/include/item_use.h index d55f7cf0d..812e984ec 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -20,6 +20,7 @@ void ItemUseOutOfBattle_PPUp(u8); void ItemUseOutOfBattle_RareCandy(u8); void ItemUseOutOfBattle_TMHM(u8); void ItemUseOutOfBattle_Repel(u8); +void ItemUseOutOfBattle_Lure(u8); void ItemUseOutOfBattle_EscapeRope(u8); void ItemUseOutOfBattle_BlackWhiteFlute(u8); void ItemUseOutOfBattle_EvolutionStone(u8); @@ -27,6 +28,7 @@ void ItemUseOutOfBattle_Berry(u8); void ItemUseOutOfBattle_EnigmaBerry(u8); void ItemUseOutOfBattle_FormChange(u8); void ItemUseOutOfBattle_FormChange_ConsumedOnUse(u8); +void ItemUseOutOfBattle_Honey(u8); void ItemUseOutOfBattle_CannotUse(u8); void ItemUseInBattle_PokeBall(u8); void ItemUseInBattle_StatIncrease(u8); diff --git a/include/strings.h b/include/strings.h index 3736adf9b..959bb8c22 100644 --- a/include/strings.h +++ b/include/strings.h @@ -938,6 +938,7 @@ extern const u8 gText_BootedUpTM[]; extern const u8 gText_TMHMContainedVar1[]; extern const u8 gText_PlayerUsedVar2[]; extern const u8 gText_RepelEffectsLingered[]; +extern const u8 gText_LureEffectsLingered[]; extern const u8 gText_UsedVar2WildLured[]; extern const u8 gText_UsedVar2WildRepelled[]; extern const u8 gText_BoxFull[]; diff --git a/include/tileset_anims.h b/include/tileset_anims.h index 0e515f044..9e07bdcbe 100755 --- a/include/tileset_anims.h +++ b/include/tileset_anims.h @@ -6,4 +6,30 @@ void InitSecondaryTilesetAnimation(void); void UpdateTilesetAnimations(void); void TransferTilesetAnimsBuffer(void); +void InitTilesetAnim_General(void); +void InitTilesetAnim_Petalburg(void); +void InitTilesetAnim_Rustboro(void); +void InitTilesetAnim_Dewford(void); +void InitTilesetAnim_Slateport(void); +void InitTilesetAnim_Mauville(void); +void InitTilesetAnim_Lavaridge(void); +void InitTilesetAnim_Fallarbor(void); +void InitTilesetAnim_Fortree(void); +void InitTilesetAnim_Lilycove(void); +void InitTilesetAnim_Mossdeep(void); +void InitTilesetAnim_EverGrande(void); +void InitTilesetAnim_Pacifidlog(void); +void InitTilesetAnim_Sootopolis(void); +void InitTilesetAnim_BattleFrontierOutsideWest(void); +void InitTilesetAnim_BattleFrontierOutsideEast(void); +void InitTilesetAnim_Building(void); +void InitTilesetAnim_Cave(void); +void InitTilesetAnim_BikeShop(void); +void InitTilesetAnim_Underwater(void); +void InitTilesetAnim_SootopolisGym(void); +void InitTilesetAnim_MauvilleGym(void); +void InitTilesetAnim_EliteFour(void); +void InitTilesetAnim_BattleDome(void); +void InitTilesetAnim_BattlePyramid(void); + #endif // GUARD_TILESET_ANIMS_H diff --git a/include/tilesets.h b/include/tilesets.h index 70609c046..c7cc8edac 100644 --- a/include/tilesets.h +++ b/include/tilesets.h @@ -1,13 +1,10 @@ #ifndef GUARD_tilesets_H #define GUARD_tilesets_H -// Exported type declarations +extern const u32 gTilesetTiles_General[]; +extern const u16 gTilesetPalettes_General[][16]; -// Exported RAM declarations - -// Exported ROM declarations - -extern struct Tileset *gTilesetPointer_SecretBase; -extern struct Tileset *gTilesetPointer_SecretBaseRedCave; +extern const struct Tileset * const gTilesetPointer_SecretBase; +extern const struct Tileset * const gTilesetPointer_SecretBaseRedCave; #endif //GUARD_tilesets_H diff --git a/json_data_rules.mk b/json_data_rules.mk index 1de3c79f3..aa9e5b3a2 100755 --- a/json_data_rules.mk +++ b/json_data_rules.mk @@ -6,3 +6,9 @@ $(DATA_SRC_SUBDIR)/wild_encounters.h: $(DATA_SRC_SUBDIR)/wild_encounters.json $( $(JSONPROC) $^ $@ $(C_BUILDDIR)/wild_encounter.o: c_dep += $(DATA_SRC_SUBDIR)/wild_encounters.h + +AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/region_map/region_map_entries.h +$(DATA_SRC_SUBDIR)/region_map/region_map_entries.h: $(DATA_SRC_SUBDIR)/region_map/region_map_sections.json $(DATA_SRC_SUBDIR)/region_map/region_map_sections.json.txt + $(JSONPROC) $^ $@ + +$(C_BUILDDIR)/region_map.o: c_dep += $(DATA_SRC_SUBDIR)/region_map/region_map_entries.h diff --git a/ld_script.txt b/ld_script.txt index da0eb682d..629649adf 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -21,7 +21,7 @@ SECTIONS { *libc.a:locale.o(.data); *libc.a:mallocr.o(.data); . = 0x40000; -} + } . = 0x3000000; @@ -503,7 +503,7 @@ SECTIONS { src/berry_blender.o(.rodata); src/new_game.o(.rodata); src/overworld.o(.rodata); - data/tilesets.o(.rodata); + src/tilesets.o(.rodata); data/maps.o(.rodata); src/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); diff --git a/ld_script_modern.txt b/ld_script_modern.txt index b60a22171..dd4eeed6a 100644 --- a/ld_script_modern.txt +++ b/ld_script_modern.txt @@ -17,7 +17,7 @@ SECTIONS { gflib/*.o(ewram_data); . = 0x40000; -} + } . = 0x3000000; @@ -49,8 +49,11 @@ SECTIONS { ALIGN(4) { src/rom_header.o(.text*); - src/*.o(.text*); + src/rom_header_gf.o(.text.*); + src/crt0.o(.text); + src/main.o(.text); gflib/*.o(.text*); + src/*.o(.text*); asm/*.o(.text*); } =0 diff --git a/src/bard_music.c b/src/bard_music.c index dd986371d..165b4fe77 100644 --- a/src/bard_music.c +++ b/src/bard_music.c @@ -51,9 +51,9 @@ void GetWordPhonemes(struct BardSong *song, u16 word) for (i = 0; i < 6; i ++) { sound = &song->sound[i]; - if (sound->var00 != 0xFF) + if (sound->songLengthId != 0xFF) { - song->phonemes[i].length = sound->var01 + gBardSoundLengthTable[sound->var00]; + song->phonemes[i].length = sound->songLengthOffset + gBardSoundLengthTable[sound->songLengthId]; song->phonemes[i].pitch = CalcWordPitch(word + 30, i); song->length += song->phonemes[i].length; } diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b1154e793..9604f1195 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -3407,7 +3407,6 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score += min(CountPositiveStatStages(battlerDef), 4); break; case EFFECT_MULTI_HIT: - case EFFECT_DOUBLE_HIT: case EFFECT_TRIPLE_KICK: if (AI_MoveMakesContact(AI_DATA->abilities[battlerAtk], AI_DATA->holdEffects[battlerAtk], move) && AI_DATA->abilities[battlerAtk] != ABILITY_MAGIC_GUARD diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 344dd1657..113d5d3e0 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1333,7 +1333,7 @@ bool32 IsConfusionMoveEffect(u16 moveEffect) { switch (moveEffect) { - case EFFECT_CONFUSE_HIT: + case EFFECT_CONFUSE: case EFFECT_SWAGGER: case EFFECT_FLATTER: case EFFECT_TEETER_DANCE: diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 5a307cfc9..3e168828d 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1548,18 +1548,17 @@ static void OpponentHandleYesNoBox(void) static void OpponentHandleChooseMove(void) { - if (gBattleTypeFlags & BATTLE_TYPE_PALACE) - { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); - OpponentBufferExecCompleted(); - } - else - { - u8 chosenMoveId; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + u8 chosenMoveId; + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); - if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER) - || IsWildMonSmart()) + if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER) + || IsWildMonSmart()) + { + if (gBattleTypeFlags & BATTLE_TYPE_PALACE) + { + BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + } + else { chosenMoveId = gBattleStruct->aiMoveOrAction[gActiveBattler]; gBattlerTarget = gBattleStruct->aiChosenTarget[gActiveBattler]; @@ -1598,66 +1597,66 @@ static void OpponentHandleChooseMove(void) } break; } - OpponentBufferExecCompleted(); } - else // Wild pokemon - use random move + OpponentBufferExecCompleted(); + } + else // Wild pokemon - use random move + { + u16 move; + u8 target; + do { - u16 move; - u8 target; - do - { - chosenMoveId = Random() & 3; - move = moveInfo->moves[chosenMoveId]; - } while (move == MOVE_NONE); + chosenMoveId = Random() & 3; + move = moveInfo->moves[chosenMoveId]; + } while (move == MOVE_NONE); - if (GetBattlerMoveTargetType(gActiveBattler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gActiveBattler << 8)); - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - { - do { - target = GetBattlerAtPosition(Random() & 2); - } while (!CanTargetBattler(gActiveBattler, target, move)); + if (GetBattlerMoveTargetType(gActiveBattler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gActiveBattler << 8)); + else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + do { + target = GetBattlerAtPosition(Random() & 2); + } while (!CanTargetBattler(gActiveBattler, target, move)); - #if B_WILD_NATURAL_ENEMIES == TRUE - // Don't bother to loop through table if the move can't attack ally - if (!(gBattleMoves[move].target & MOVE_TARGET_BOTH)) + #if B_WILD_NATURAL_ENEMIES == TRUE + // Don't bother to loop through table if the move can't attack ally + if (!(gBattleMoves[move].target & MOVE_TARGET_BOTH)) + { + u16 i, speciesAttacker, speciesTarget, isPartnerEnemy = FALSE; + static const u16 naturalEnemies[][2] = { - u16 i, speciesAttacker, speciesTarget, isPartnerEnemy = FALSE; - static const u16 naturalEnemies[][2] = - { - // Attacker Target - {SPECIES_ZANGOOSE, SPECIES_SEVIPER}, - {SPECIES_SEVIPER, SPECIES_ZANGOOSE}, - {SPECIES_HEATMOR, SPECIES_DURANT}, - {SPECIES_DURANT, SPECIES_HEATMOR}, - {SPECIES_SABLEYE, SPECIES_CARBINK}, - {SPECIES_MAREANIE, SPECIES_CORSOLA}, - }; - speciesAttacker = gBattleMons[gActiveBattler].species; - speciesTarget = gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler))].species; + // Attacker Target + {SPECIES_ZANGOOSE, SPECIES_SEVIPER}, + {SPECIES_SEVIPER, SPECIES_ZANGOOSE}, + {SPECIES_HEATMOR, SPECIES_DURANT}, + {SPECIES_DURANT, SPECIES_HEATMOR}, + {SPECIES_SABLEYE, SPECIES_CARBINK}, + {SPECIES_MAREANIE, SPECIES_CORSOLA}, + }; + speciesAttacker = gBattleMons[gActiveBattler].species; + speciesTarget = gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler))].species; - for (i = 0; i < ARRAY_COUNT(naturalEnemies); i++) + for (i = 0; i < ARRAY_COUNT(naturalEnemies); i++) + { + if (speciesAttacker == naturalEnemies[i][0] && speciesTarget == naturalEnemies[i][1]) { - if (speciesAttacker == naturalEnemies[i][0] && speciesTarget == naturalEnemies[i][1]) - { - isPartnerEnemy = TRUE; - break; - } + isPartnerEnemy = TRUE; + break; } - if (isPartnerEnemy && CanTargetBattler(gActiveBattler, target, move)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler)) << 8)); - else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); } + if (isPartnerEnemy && CanTargetBattler(gActiveBattler, target, move)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler)) << 8)); else - #endif BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); } else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); - - OpponentBufferExecCompleted(); + #endif + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); } + else + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + + OpponentBufferExecCompleted(); } } diff --git a/src/battle_debug.c b/src/battle_debug.c index 4450fe0cb..568b9a96e 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -271,6 +271,7 @@ static const struct BitfieldInfo sStatus2Bitfield[] = {/*Multiple Turns*/ 1, 12}, // Wrap bits are omitted. Done in various. // In Love bits are omitted. Done in various. + {/*(Focus Energy*/ 1, 20}, {/*Transformed*/ 1, 21}, {/*Recharge*/ 1, 22}, {/*Rage*/ 1, 23}, diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 37dbf0aab..1b78ec11c 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -164,6 +164,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) { gBattleStruct->palaceFlags &= 0xF; gBattleStruct->palaceFlags |= (selectedMoves << 4); + sBattler_AI = gActiveBattler; BattleAI_SetupAIData(selectedMoves); chosenMoveId = BattleAI_ChooseMoveOrAction(); } @@ -171,8 +172,9 @@ u16 ChooseMoveAndTargetInBattlePalace(void) // If no moves matched the selected group, pick a new move from groups the pokemon has // In this case the AI is not checked again, so the choice may be worse // If a move is chosen this way, there's a 50% chance that it will be unable to use it anyway - if (chosenMoveId == -1) + if (chosenMoveId == -1 || chosenMoveId >= MAX_MON_MOVES) { + chosenMoveId = -1; if (unusableMovesBits != 0xF) { validMoveFlags = 0, numValidMoveGroups = 0; diff --git a/src/battle_main.c b/src/battle_main.c index e79879662..9790810a1 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -392,6 +392,32 @@ const struct TrainerMoney gTrainerMoneyTable[] = {0xFF, 5}, // Any trainer class not listed above uses this }; +#if B_TRAINER_CLASS_POKE_BALLS >= GEN_7 +static const u16 sTrainerBallTable[TRAINER_CLASS_COUNT] = +{ +#if B_TRAINER_CLASS_POKE_BALLS == GEN_7 + [TRAINER_CLASS_PKMN_BREEDER] = ITEM_FRIEND_BALL, +#elif B_TRAINER_CLASS_POKE_BALLS == GEN_8 + [TRAINER_CLASS_PKMN_BREEDER] = ITEM_HEAL_BALL, +#endif + [TRAINER_CLASS_COOLTRAINER] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_COLLECTOR] = ITEM_PREMIER_BALL, + [TRAINER_CLASS_SWIMMER_M] = ITEM_DIVE_BALL, + [TRAINER_CLASS_BLACK_BELT] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_AQUA_LEADER] = ITEM_MASTER_BALL, + [TRAINER_CLASS_GENTLEMAN] = ITEM_LUXURY_BALL, + [TRAINER_CLASS_ELITE_FOUR] = ITEM_ULTRA_BALL, +#if B_TRAINER_CLASS_POKE_BALLS == GEN_7 + [TRAINER_CLASS_FISHERMAN] = ITEM_LURE_BALL, +#elif B_TRAINER_CLASS_POKE_BALLS == GEN_8 + [TRAINER_CLASS_FISHERMAN] = ITEM_DIVE_BALL, +#endif + [TRAINER_CLASS_SWIMMER_F] = ITEM_DIVE_BALL, + [TRAINER_CLASS_COOLTRAINER_2] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_MAGMA_LEADER] = ITEM_MASTER_BALL, +}; +#endif + #include "data/text/abilities.h" static void (* const sTurnActionsFuncsTable[])(void) = @@ -1847,6 +1873,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir u8 fixedIV; s32 i, j; u8 monsCount; + u16 ball; if (trainerNum == TRAINER_SECRET_BASE) return 0; @@ -1950,6 +1977,11 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir break; } } + + #if B_TRAINER_CLASS_POKE_BALLS >= GEN_7 + ball = (sTrainerBallTable[gTrainers[trainerNum].trainerClass]) ? sTrainerBallTable[gTrainers[trainerNum].trainerClass] : ITEM_POKE_BALL; + SetMonData(&party[i], MON_DATA_POKEBALL, &ball); + #endif } gBattleTypeFlags |= gTrainers[trainerNum].doubleBattle; @@ -2969,6 +3001,7 @@ static void BattleStartClearSetData(void) gBattleScripting.monCaught = FALSE; gMultiHitCounter = 0; + gBattleScripting.savedDmg = 0; gBattleOutcome = 0; gBattleControllerExecFlags = 0; gPaydayMoney = 0; @@ -3127,7 +3160,7 @@ void SwitchInClearSetData(void) // Reset damage to prevent things like red card activating if the switched-in mon is holding it gSpecialStatuses[gActiveBattler].physicalDmg = 0; gSpecialStatuses[gActiveBattler].specialDmg = 0; - + gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; Ai_UpdateSwitchInData(gActiveBattler); @@ -3232,7 +3265,7 @@ void FaintClearSetData(void) UndoMegaEvolution(gBattlerPartyIndexes[gActiveBattler]); gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; - + // If the fainted mon was involved in a Sky Drop if (gBattleStruct->skyDropTargets[gActiveBattler] != 0xFF) { @@ -3271,6 +3304,11 @@ void FaintClearSetData(void) } } } + + // Clear Z-Move data + gBattleStruct->zmove.active = FALSE; + gBattleStruct->zmove.toBeUsed[gActiveBattler] = MOVE_NONE; + gBattleStruct->zmove.effect = EFFECT_HIT; } static void DoBattleIntro(void) @@ -3936,7 +3974,8 @@ static void HandleTurnActionSelectionState(void) gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; // Do AI score computations here so we can use them in AI_TrySwitchOrUseItem - if ((gBattleTypeFlags & BATTLE_TYPE_HAS_AI || IsWildMonSmart()) && IsBattlerAIControlled(gActiveBattler)) { + if ((gBattleTypeFlags & BATTLE_TYPE_HAS_AI || IsWildMonSmart()) + && (IsBattlerAIControlled(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_PALACE))) { gBattleStruct->aiMoveOrAction[gActiveBattler] = ComputeBattleAiScores(gActiveBattler); } break; @@ -4804,6 +4843,8 @@ static void TurnValuesCleanUp(bool8 var0) if (gDisableStructs[gActiveBattler].substituteHP == 0) gBattleMons[gActiveBattler].status2 &= ~STATUS2_SUBSTITUTE; + + gSpecialStatuses[gActiveBattler].parentalBondState = PARENTAL_BOND_OFF; } gSideStatuses[0] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); diff --git a/src/battle_message.c b/src/battle_message.c index 568aac774..9503fbaaf 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -589,7 +589,7 @@ static const u8 sText_PsychicTerrainEnds[] = _("The weirdness disappeared\nfrom static const u8 sText_GrassyTerrainEnds[] = _("The grass disappeared\nfrom the battlefield."); static const u8 sText_TargetsStatWasMaxedOut[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} maxed\nits {B_BUFF1}!"); static const u8 sText_PoisonHealHpUp[] = _("The poisoning healed {B_ATK_NAME_WITH_PREFIX}\na little bit!"); -static const u8 sText_BadDreamsDmg[] = _("{B_DEF_NAME_WITH_PREFIX} is tormented\nby {B_ATK_ABILITY}!"); +static const u8 sText_BadDreamsDmg[] = _("{B_DEF_NAME_WITH_PREFIX} is tormented!"); static const u8 sText_MoldBreakerEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} breaks the mold!"); static const u8 sText_TeravoltEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating \na bursting aura!"); static const u8 sText_TurboblazeEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na blazing aura!"); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index eaa7bbde1..3e52aa618 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -318,6 +318,7 @@ static void DrawLevelUpBannerText(void); static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite *sprite); static bool32 CriticalCapture(u32 odds); static void BestowItem(u32 battlerAtk, u32 battlerDef); +static bool8 IsFinalStrikeEffect(u16 move); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -572,7 +573,7 @@ static void Cmd_settelekinesis(void); static void Cmd_swapstatstages(void); static void Cmd_averagestats(void); static void Cmd_jumpifoppositegenders(void); -static void Cmd_trygetbaddreamstarget(void); +static void Cmd_unused(void); static void Cmd_tryworryseed(void); static void Cmd_metalburstdamagecalculator(void); @@ -831,7 +832,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_swapstatstages, //0xFA Cmd_averagestats, //0xFB Cmd_jumpifoppositegenders, //0xFC - Cmd_trygetbaddreamstarget, //0xFD + Cmd_unused, //0xFD Cmd_tryworryseed, //0xFE Cmd_metalburstdamagecalculator, //0xFF }; @@ -884,8 +885,6 @@ static const u8 *const sMoveEffectBS_Ptrs[] = [MOVE_EFFECT_UPROAR] = BattleScript_MoveEffectUproar, [MOVE_EFFECT_PAYDAY] = BattleScript_MoveEffectPayDay, [MOVE_EFFECT_WRAP] = BattleScript_MoveEffectWrap, - [MOVE_EFFECT_RECOIL_25] = BattleScript_MoveEffectRecoil, - [MOVE_EFFECT_RECOIL_33] = BattleScript_MoveEffectRecoil, }; static const struct WindowTemplate sUnusedWinTemplate = @@ -938,6 +937,7 @@ static const u16 sProtectSuccessRates[] = {USHRT_MAX, USHRT_MAX / 2, USHRT_MAX / #define FORBIDDEN_COPYCAT (1 << 3) #define FORBIDDEN_SLEEP_TALK (1 << 4) #define FORBIDDEN_INSTRUCT (1 << 5) +#define FORBIDDEN_PARENTAL_BOND (1 << 6) static const u8 sForbiddenMoves[MOVES_COUNT] = { @@ -945,28 +945,35 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_STRUGGLE] = 0xFF, // Neither Struggle [MOVE_AFTER_YOU] = FORBIDDEN_METRONOME, [MOVE_APPLE_ACID] = FORBIDDEN_METRONOME, + [MOVE_ARM_THRUST] = FORBIDDEN_PARENTAL_BOND, [MOVE_ASSIST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_ASTRAL_BARRAGE] = FORBIDDEN_METRONOME, [MOVE_AURA_WHEEL] = FORBIDDEN_METRONOME, [MOVE_BADDY_BAD] = FORBIDDEN_METRONOME, [MOVE_BANEFUL_BUNKER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, + [MOVE_BARRAGE] = FORBIDDEN_PARENTAL_BOND, [MOVE_BEAK_BLAST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_BEAT_UP] = FORBIDDEN_PARENTAL_BOND, [MOVE_BEHEMOTH_BASH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_BEHEMOTH_BLADE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_BELCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_BESTOW] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_BIDE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_BIDE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, // Note: Bide should work with Parental Bond. This will be addressed in future. [MOVE_BLAST_BURN] = FORBIDDEN_INSTRUCT, [MOVE_BODY_PRESS] = FORBIDDEN_METRONOME, - [MOVE_BOUNCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_BONE_RUSH] = FORBIDDEN_PARENTAL_BOND, + [MOVE_BONEMERANG] = FORBIDDEN_PARENTAL_BOND, + [MOVE_BOUNCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_BOUNCY_BUBBLE] = FORBIDDEN_METRONOME, [MOVE_BRANCH_POKE] = FORBIDDEN_METRONOME, [MOVE_BREAKING_SWIPE] = FORBIDDEN_METRONOME, + [MOVE_BULLET_SEED] = FORBIDDEN_PARENTAL_BOND, [MOVE_BUZZY_BUZZ] = FORBIDDEN_METRONOME, [MOVE_CELEBRATE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_CHATTER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_CIRCLE_THROW] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_CLANGOROUS_SOUL] = FORBIDDEN_METRONOME, + [MOVE_COMET_PUNCH] = FORBIDDEN_PARENTAL_BOND, [MOVE_COPYCAT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_COUNTER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_COVET] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, @@ -975,41 +982,57 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_DESTINY_BOND] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_DETECT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_DIAMOND_STORM] = FORBIDDEN_METRONOME, - [MOVE_DIG] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_DIVE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_DOUBLE_IRON_BASH] = FORBIDDEN_METRONOME, + [MOVE_DIG] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_DIVE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_DOUBLE_IRON_BASH] = FORBIDDEN_METRONOME | FORBIDDEN_PARENTAL_BOND, + [MOVE_DOUBLE_HIT] = FORBIDDEN_PARENTAL_BOND, + [MOVE_DOUBLE_KICK] = FORBIDDEN_PARENTAL_BOND, + [MOVE_DOUBLE_SLAP] = FORBIDDEN_PARENTAL_BOND, [MOVE_DRAGON_ASCENT] = FORBIDDEN_METRONOME, [MOVE_DRAGON_ENERGY] = FORBIDDEN_METRONOME, + [MOVE_DRAGON_DARTS] = FORBIDDEN_PARENTAL_BOND, [MOVE_DRAGON_TAIL] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_DRUM_BEATING] = FORBIDDEN_METRONOME, + [MOVE_DUAL_CHOP] = FORBIDDEN_PARENTAL_BOND, + [MOVE_DUAL_WINGBEAT] = FORBIDDEN_PARENTAL_BOND, [MOVE_DYNAMAX_CANNON] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_ENDEAVOR] = FORBIDDEN_PARENTAL_BOND, [MOVE_ENDURE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_ETERNABEAM] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, + [MOVE_EXPLOSION] = FORBIDDEN_PARENTAL_BOND, [MOVE_FALSE_SURRENDER] = FORBIDDEN_METRONOME, [MOVE_FEINT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_FIERY_WRATH] = FORBIDDEN_METRONOME, + [MOVE_FINAL_GAMBIT] = FORBIDDEN_PARENTAL_BOND, + [MOVE_FISSURE] = FORBIDDEN_PARENTAL_BOND, [MOVE_FLEUR_CANNON] = FORBIDDEN_METRONOME, + [MOVE_FLING] = FORBIDDEN_PARENTAL_BOND, [MOVE_FLOATY_FALL] = FORBIDDEN_METRONOME, - [MOVE_FLY] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_FLY] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_FOCUS_PUNCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_FOLLOW_ME] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_FREEZE_SHOCK] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_FREEZE_SHOCK] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT| FORBIDDEN_PARENTAL_BOND, [MOVE_FREEZING_GLARE] = FORBIDDEN_METRONOME, [MOVE_FREEZY_FROST] = FORBIDDEN_METRONOME, - [MOVE_FRENZY_PLANT] = FORBIDDEN_INSTRUCT, - [MOVE_GEOMANCY] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_FURY_ATTACK] = FORBIDDEN_PARENTAL_BOND, + [MOVE_FURY_SWIPES] = FORBIDDEN_PARENTAL_BOND, + [MOVE_GEAR_GRIND] = FORBIDDEN_PARENTAL_BOND, + [MOVE_GEOMANCY] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_GIGA_IMPACT] = FORBIDDEN_INSTRUCT, [MOVE_GLACIAL_LANCE] = FORBIDDEN_METRONOME, [MOVE_GLITZY_GLOW] = FORBIDDEN_METRONOME, [MOVE_GRAV_APPLE] = FORBIDDEN_METRONOME, + [MOVE_GUILLOTINE] = FORBIDDEN_PARENTAL_BOND, [MOVE_HELPING_HAND] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_HOLD_HANDS] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_HORN_DRILL] = FORBIDDEN_PARENTAL_BOND, [MOVE_HYDRO_CANNON] = FORBIDDEN_INSTRUCT, [MOVE_HYPER_BEAM] = FORBIDDEN_INSTRUCT, [MOVE_HYPERSPACE_FURY] = FORBIDDEN_METRONOME, [MOVE_HYPERSPACE_HOLE] = FORBIDDEN_METRONOME, - [MOVE_ICE_BALL] = FORBIDDEN_INSTRUCT, - [MOVE_ICE_BURN] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_ICE_BALL] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_ICE_BURN] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_ICICLE_SPEAR] = FORBIDDEN_PARENTAL_BOND, [MOVE_INSTRUCT] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, [MOVE_JUNGLE_HEALING] = FORBIDDEN_METRONOME, [MOVE_KINGS_SHIELD] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_INSTRUCT, @@ -1018,12 +1041,13 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_MAT_BLOCK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_ME_FIRST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_METEOR_ASSAULT] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, - [MOVE_METEOR_BEAM] = FORBIDDEN_INSTRUCT, + [MOVE_METEOR_BEAM] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_METRONOME] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_MIMIC] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_MIND_BLOWN] = FORBIDDEN_METRONOME, [MOVE_MIRROR_COAT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_MIRROR_MOVE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_MISTY_EXPLOSION] = FORBIDDEN_PARENTAL_BOND, [MOVE_MOONGEIST_BEAM] = FORBIDDEN_METRONOME, [MOVE_NATURE_POWER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_NATURES_MADNESS] = FORBIDDEN_METRONOME, @@ -1031,42 +1055,43 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_ORIGIN_PULSE] = FORBIDDEN_METRONOME, [MOVE_OUTRAGE] = FORBIDDEN_INSTRUCT, [MOVE_OVERDRIVE] = FORBIDDEN_METRONOME, - [MOVE_PETAL_DANCE] = FORBIDDEN_INSTRUCT, - [MOVE_PHANTOM_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_PHANTOM_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_PHOTON_GEYSER] = FORBIDDEN_METRONOME, - [MOVE_PIKA_PAPOW] = FORBIDDEN_METRONOME, - [MOVE_PLASMA_FISTS] = FORBIDDEN_METRONOME, - [MOVE_PRECIPICE_BLADES] = FORBIDDEN_METRONOME, [MOVE_PRISMATIC_LASER] = FORBIDDEN_INSTRUCT, [MOVE_PROTECT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_PYRO_BALL] = FORBIDDEN_METRONOME, [MOVE_QUASH] = FORBIDDEN_METRONOME, [MOVE_QUICK_GUARD] = FORBIDDEN_METRONOME, [MOVE_RAGE_POWDER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_RAZOR_WIND] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_RAZOR_WIND] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_RELIC_SONG] = FORBIDDEN_METRONOME, [MOVE_ROAR] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_ROAR_OF_TIME] = FORBIDDEN_INSTRUCT, + [MOVE_ROCK_BLAST] = FORBIDDEN_PARENTAL_BOND, [MOVE_ROCK_WRECKER] = FORBIDDEN_INSTRUCT, - [MOVE_ROLLOUT] = FORBIDDEN_INSTRUCT, + [MOVE_ROLLOUT] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_SAPPY_SEED] = FORBIDDEN_METRONOME, + [MOVE_SCALE_SHOT] = FORBIDDEN_PARENTAL_BOND, [MOVE_SECRET_SWORD] = FORBIDDEN_METRONOME, - [MOVE_SHADOW_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_SELF_DESTRUCT] = FORBIDDEN_PARENTAL_BOND, + [MOVE_SHADOW_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_SHEER_COLD] = FORBIDDEN_PARENTAL_BOND, [MOVE_SHELL_TRAP] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_SIZZLY_SLIDE] = FORBIDDEN_METRONOME, [MOVE_SKETCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SKULL_BASH] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SKY_ATTACK] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SKY_DROP] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_SKULL_BASH] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_SKY_ATTACK] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_SKY_DROP] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_SLEEP_TALK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_SNAP_TRAP] = FORBIDDEN_METRONOME, [MOVE_SNARL] = FORBIDDEN_METRONOME, [MOVE_SNATCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_INSTRUCT, [MOVE_SNORE] = FORBIDDEN_METRONOME, - [MOVE_SOLAR_BEAM] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SOLAR_BLADE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_SOLAR_BEAM] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_SOLAR_BLADE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_SPARKLY_SWIRL] = FORBIDDEN_METRONOME, [MOVE_SPECTRAL_THIEF] = FORBIDDEN_METRONOME, + [MOVE_SPIKE_CANNON] = FORBIDDEN_PARENTAL_BOND, [MOVE_SPIKY_SHIELD] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_SPIRIT_BREAK] = FORBIDDEN_METRONOME, [MOVE_SPLISHY_SPLASH] = FORBIDDEN_METRONOME, @@ -1075,8 +1100,9 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_STEEL_BEAM] = FORBIDDEN_METRONOME, [MOVE_STRANGE_STEAM] = FORBIDDEN_METRONOME, [MOVE_SUNSTEEL_STRIKE] = FORBIDDEN_METRONOME, - [MOVE_SURGING_STRIKES] = FORBIDDEN_METRONOME, + [MOVE_SURGING_STRIKES] = FORBIDDEN_METRONOME | FORBIDDEN_PARENTAL_BOND, [MOVE_SWITCHEROO] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, + [MOVE_TAIL_SLAP] = FORBIDDEN_PARENTAL_BOND, [MOVE_TECHNO_BLAST] = FORBIDDEN_METRONOME, [MOVE_THIEF] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_THOUSAND_ARROWS] = FORBIDDEN_METRONOME, @@ -1086,15 +1112,36 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_THUNDEROUS_KICK] = FORBIDDEN_METRONOME, [MOVE_TRANSFORM] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_INSTRUCT, [MOVE_TRICK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_UPROAR] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_TRIPLE_AXEL] = FORBIDDEN_PARENTAL_BOND, + [MOVE_TRIPLE_KICK] = FORBIDDEN_PARENTAL_BOND, + [MOVE_TWINEEDLE] = FORBIDDEN_PARENTAL_BOND, + [MOVE_UPROAR] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_V_CREATE] = FORBIDDEN_METRONOME, [MOVE_VEEVEE_VOLLEY] = FORBIDDEN_METRONOME, + [MOVE_WATER_SHURIKEN] = FORBIDDEN_PARENTAL_BOND, [MOVE_WHIRLWIND] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_WICKED_BLOW] = FORBIDDEN_METRONOME, [MOVE_WIDE_GUARD] = FORBIDDEN_METRONOME, [MOVE_ZIPPY_ZAP] = FORBIDDEN_METRONOME, }; +static const u16 sFinalStrikeOnlyEffects[] = +{ + EFFECT_RELIC_SONG, + EFFECT_BUG_BITE, + EFFECT_THIEF, + EFFECT_BURN_UP, + EFFECT_SECRET_POWER, + EFFECT_SMACK_DOWN, + EFFECT_SPARKLING_ARIA, + EFFECT_SMELLINGSALT, + EFFECT_WAKE_UP_SLAP, + EFFECT_HIT_ESCAPE, + EFFECT_RECOIL_HP_25, + EFFECT_HIT_PREVENT_ESCAPE, + EFFECT_HIT_SWITCH_TARGET, +}; + static const u16 sNaturePowerMoves[BATTLE_TERRAIN_COUNT] = { #if B_NATURE_POWER_MOVES >= GEN_7 @@ -1404,6 +1451,18 @@ static void Cmd_attackcanceler(void) if (AtkCanceller_UnableToUseMove()) return; + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_OFF + && GetBattlerAbility(gBattlerAttacker) == ABILITY_PARENTAL_BOND + && IsMoveAffectedByParentalBond(gCurrentMove, gBattlerAttacker) + && !(gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + && gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE) + { + gSpecialStatuses[gBattlerAttacker].parentalBondState = PARENTAL_BOND_1ST_HIT; + gMultiHitCounter = 2; + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + return; + } + // Check Protean activation. if ((attackerAbility == ABILITY_PROTEAN || attackerAbility == ABILITY_LIBERO) && (gBattleMons[gBattlerAttacker].type1 != moveType || gBattleMons[gBattlerAttacker].type2 != moveType || @@ -1535,6 +1594,13 @@ static void Cmd_attackcanceler(void) gMoveResultFlags |= MOVE_RESULT_MISSED; gLastLandedMoves[gBattlerTarget] = 0; gLastHitByType[gBattlerTarget] = 0; + + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT) + { + gSpecialStatuses[gBattlerAttacker].parentalBondState = PARENTAL_BOND_OFF; // No second hit if first hit was blocked + gSpecialStatuses[gBattlerAttacker].multiHitOn = 0; + gMultiHitCounter = 0; + } gBattleCommunication[MISS_TYPE] = B_MSG_PROTECTED; gBattlescriptCurrInstr++; } @@ -1784,6 +1850,13 @@ static void Cmd_accuracycheck(void) else if (!JumpIfMoveAffectedByProtect(0)) gBattlescriptCurrInstr += 7; } + else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT + || (gSpecialStatuses[gBattlerAttacker].multiHitOn && (gBattleMoves[move].effect != EFFECT_TRIPLE_KICK + || GetBattlerAbility(gBattlerAttacker) == ABILITY_SKILL_LINK))) + { + // No acc checks for second hit of Parental Bond or multi hit moves, except Triple Kick/Triple Axel + gBattlescriptCurrInstr += 7; + } else { GET_MOVE_TYPE(move, type); @@ -1866,7 +1939,8 @@ static void Cmd_ppreduce(void) // For item Metronome, echoed voice if (gCurrentMove == gLastResultingMoves[gBattlerAttacker] && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && !WasUnableToUseMove(gBattlerAttacker)) + && !WasUnableToUseMove(gBattlerAttacker) + && gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_1ST_HIT) // Don't increment counter on first hit gBattleStruct->sameMoveTurns[gBattlerAttacker]++; else gBattleStruct->sameMoveTurns[gBattlerAttacker] = 0; @@ -2183,6 +2257,12 @@ static void Cmd_attackanimation(void) } else { + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT) // No animation on second hit + { + gBattlescriptCurrInstr++; + return; + } + if ((moveTarget & MOVE_TARGET_BOTH || moveTarget & MOVE_TARGET_FOES_AND_ALLY || moveTarget & MOVE_TARGET_DEPENDS) @@ -2470,10 +2550,12 @@ static void Cmd_resultmessage(void) switch (gMoveResultFlags & ~MOVE_RESULT_MISSED) { case MOVE_RESULT_SUPER_EFFECTIVE: - stringId = STRINGID_SUPEREFFECTIVE; + if (!gMultiHitCounter) // Don't print effectiveness on each hit in a multi hit attack + stringId = STRINGID_SUPEREFFECTIVE; break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - stringId = STRINGID_NOTVERYEFFECTIVE; + if (!gMultiHitCounter) + stringId = STRINGID_NOTVERYEFFECTIVE; break; case MOVE_RESULT_ONE_HIT_KO: stringId = STRINGID_ONEHITKO; @@ -2562,7 +2644,6 @@ static void Cmd_resultmessage(void) if (gSpecialStatuses[gBattlerTarget].berryReduced && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gLastUsedItem = gBattleMons[gBattlerTarget].item; gSpecialStatuses[gBattlerTarget].berryReduced = FALSE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_PrintBerryReduceString; @@ -2709,9 +2790,19 @@ void SetMoveEffect(bool32 primary, u32 certain) u32 flags = 0; u16 battlerAbility; + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT + && gBattleMons[gBattlerTarget].hp != 0 + && IsFinalStrikeEffect(gCurrentMove)) + { + gBattlescriptCurrInstr++; + return; + } + switch (gBattleScripting.moveEffect) // Set move effects which happen later on { case MOVE_EFFECT_KNOCK_OFF: + case MOVE_EFFECT_SMACK_DOWN: + case MOVE_EFFECT_REMOVE_STATUS: gBattleStruct->moveEffect2 = gBattleScripting.moveEffect; gBattlescriptCurrInstr++; return; @@ -2748,7 +2839,8 @@ void SetMoveEffect(bool32 primary, u32 certain) if (gBattleMons[gEffectBattler].hp == 0 && gBattleScripting.moveEffect != MOVE_EFFECT_PAYDAY - && gBattleScripting.moveEffect != MOVE_EFFECT_STEAL_ITEM) + && gBattleScripting.moveEffect != MOVE_EFFECT_STEAL_ITEM + && gBattleScripting.moveEffect != MOVE_EFFECT_BUG_BITE) INCREMENT_RESET_RETURN if (DoesSubstituteBlockMove(gBattlerAttacker, gEffectBattler, gCurrentMove) && affectsUser != MOVE_EFFECT_AFFECTS_USER) @@ -3074,15 +3166,21 @@ void SetMoveEffect(bool32 primary, u32 certain) } break; case MOVE_EFFECT_PAYDAY: - if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER) + // Don't scatter coins on the second hit of Parental Bond + if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER && gSpecialStatuses[gBattlerAttacker].parentalBondState!= PARENTAL_BOND_2ND_HIT) { u16 payday = gPaydayMoney; gPaydayMoney += (gBattleMons[gBattlerAttacker].level * 5); if (payday > gPaydayMoney) gPaydayMoney = 0xFFFF; + + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_MoveEffectPayDay; + } + else + { + gBattlescriptCurrInstr++; } - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect]; break; case MOVE_EFFECT_HAPPY_HOUR: if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER && !gBattleStruct->moneyMultiplierMove) @@ -3320,34 +3418,6 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_RapidSpinAway; break; - case MOVE_EFFECT_REMOVE_STATUS: // Smelling salts - if (!(gBattleMons[gBattlerTarget].status1 & gBattleMoves[gCurrentMove].argument)) - { - gBattlescriptCurrInstr++; - } - else - { - gBattleMons[gBattlerTarget].status1 &= ~gBattleMoves[gCurrentMove].argument; - - gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); - - BattleScriptPush(gBattlescriptCurrInstr + 1); - switch (gBattleMoves[gCurrentMove].argument) - { - case STATUS1_PARALYSIS: - gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; - break; - case STATUS1_SLEEP: - gBattlescriptCurrInstr = BattleScript_TargetWokeUp; - break; - case STATUS1_BURN: - gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; - break; - } - } - break; case MOVE_EFFECT_ATK_DEF_DOWN: // SuperPower if (!NoAliveMonsForEitherParty()) { @@ -3362,42 +3432,12 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_DefSpDefDown; } break; - case MOVE_EFFECT_RECOIL_25: // Take Down, 25% recoil - gBattleMoveDamage = (gHpDealt) / 4; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect]; - break; - case MOVE_EFFECT_RECOIL_33: // Double Edge, 33 % recoil - gBattleMoveDamage = gHpDealt / 3; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect]; - break; - case MOVE_EFFECT_RECOIL_50: // Head Smash, 50 % recoil - gBattleMoveDamage = gHpDealt / 2; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; - break; - case MOVE_EFFECT_RECOIL_33_STATUS: // Flare Blitz - can burn, Volt Tackle - can paralyze - gBattleScripting.savedDmg = gHpDealt / 3; - if (gBattleScripting.savedDmg == 0) - gBattleScripting.savedDmg = 1; - - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_MoveEffectRecoilWithStatus; - break; case MOVE_EFFECT_RECOIL_HP_25: // Struggle gBattleMoveDamage = (gBattleMons[gEffectBattler].maxHP) / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; + if (GetBattlerAbility(gEffectBattler) == ABILITY_PARENTAL_BOND) + gBattleMoveDamage *= 2; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; @@ -3435,15 +3475,6 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_MoveEffectClearSmog; } break; - case MOVE_EFFECT_SMACK_DOWN: - if (!IsBattlerGrounded(gBattlerTarget)) - { - gStatuses3[gBattlerTarget] |= STATUS3_SMACKED_DOWN; - gStatuses3[gBattlerTarget] &= ~(STATUS3_MAGNET_RISE | STATUS3_TELEKINESIS | STATUS3_ON_AIR); - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_MoveEffectSmackDown; - } - break; case MOVE_EFFECT_FLAME_BURST: if (IsBattlerAlive(BATTLE_PARTNER(gBattlerTarget)) && GetBattlerAbility(BATTLE_PARTNER(gBattlerTarget)) != ABILITY_MAGIC_GUARD) { @@ -3570,11 +3601,6 @@ void SetMoveEffect(bool32 primary, u32 certain) BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); MarkBattlerForControllerExec(gActiveBattler); - - // attacker temporarily gains their item - gBattleStruct->changedItems[gBattlerAttacker] = gBattleMons[gBattlerAttacker].item; - gBattleMons[gBattlerAttacker].item = gLastUsedItem; - BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectBugBite; } @@ -3616,6 +3642,11 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_DefDownSpeedUp; } break; + case MOVE_EFFECT_BURN_UP: + // This seems unnecessary but is done to make it work properly with Parental Bond + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_BurnUpRemoveType; + break; } } } @@ -5134,6 +5165,10 @@ static void Cmd_moveend(void) { switch (gBattleScripting.moveendState) { + case MOVEEND_SUM_DAMAGE: // Sum and store damage dealt for multi strike recoil + gBattleScripting.savedDmg += gHpDealt; + gBattleScripting.moveendState++; + break; case MOVEEND_PROTECT_LIKE_EFFECT: if (gProtectStructs[gBattlerAttacker].touchedProtectLike) { @@ -5232,6 +5267,42 @@ static void Cmd_moveend(void) } gBattleScripting.moveendState++; break; + case MOVEEND_RECOIL: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) + && IsBattlerAlive(gBattlerAttacker) + && gBattleScripting.savedDmg != 0) // Some checks may be redundant alongside this one + { + switch (gBattleMoves[gCurrentMove].effect) + { + case EFFECT_RECOIL_25: // Take Down, 25% recoil + gBattleMoveDamage = max(1, gBattleScripting.savedDmg / 4); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; + effect = TRUE; + break; + case EFFECT_RECOIL_33: // Double Edge, 33 % recoil + gBattleMoveDamage = max(1, gBattleScripting.savedDmg / 3); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; + effect = TRUE; + break; + case EFFECT_RECOIL_50: // Head Smash, 50 % recoil + gBattleMoveDamage = max(1, gBattleScripting.savedDmg / 2); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; + effect = TRUE; + break; + case EFFECT_RECOIL_33_STATUS: // Flare Blitz - can burn, Volt Tackle - can paralyze + gBattleMoveDamage = max(1, gBattleScripting.savedDmg / 3); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveEffectRecoilWithStatus; + effect = TRUE; + break; + } + } + gBattleScripting.moveendState++; + break; case MOVEEND_SYNCHRONIZE_TARGET: // target synchronize if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattlerTarget, 0, 0, 0)) effect = TRUE; @@ -5299,15 +5370,51 @@ static void Cmd_moveend(void) gBattleScripting.moveendState++; break; case MOVEEND_MOVE_EFFECTS2: // For effects which should happen after target items, for example Knock Off after damage from Rocky Helmet. + { switch (gBattleStruct->moveEffect2) { case MOVE_EFFECT_KNOCK_OFF: effect = TryKnockOffBattleScript(gBattlerTarget); break; + case MOVE_EFFECT_SMACK_DOWN: + if (!IsBattlerGrounded(gBattlerTarget) && IsBattlerAlive(gBattlerTarget)) + { + gStatuses3[gBattlerTarget] |= STATUS3_SMACKED_DOWN; + gStatuses3[gBattlerTarget] &= ~(STATUS3_MAGNET_RISE | STATUS3_TELEKINESIS | STATUS3_ON_AIR); + effect = TRUE; + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_MoveEffectSmackDown; + } + break; + case MOVE_EFFECT_REMOVE_STATUS: // Smelling salts, Wake-Up Slap, Sparkling Aria + if ((gBattleMons[gBattlerTarget].status1 & gBattleMoves[gCurrentMove].argument) && IsBattlerAlive(gBattlerTarget)) + { + gBattleMons[gBattlerTarget].status1 &= ~(gBattleMoves[gCurrentMove].argument); + + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); + effect = TRUE; + BattleScriptPush(gBattlescriptCurrInstr + 1); + switch (gBattleMoves[gCurrentMove].argument) + { + case STATUS1_PARALYSIS: + gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; + break; + case STATUS1_SLEEP: + gBattlescriptCurrInstr = BattleScript_TargetWokeUp; + break; + case STATUS1_BURN: + gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; + break; + } + } + break; // MOVE_EFFECT_REMOVE_STATUS } gBattleStruct->moveEffect2 = 0; gBattleScripting.moveendState++; - break; + break; // MOVEEND_MOVE_EFFECTS2 + } case MOVEEND_ITEM_EFFECTS_ALL: // item effects for all battlers if (ItemBattleEffects(ITEMEFFECT_MOVE_END, 0, FALSE)) effect = TRUE; @@ -5555,6 +5662,61 @@ static void Cmd_moveend(void) gBattleScripting.moveendState++; break; } + case MOVEEND_MULTIHIT_MOVE: + { + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) + && gMultiHitCounter + && !(gCurrentMove == MOVE_PRESENT && gBattleStruct->presentBasePower == 0)) // Silly edge case + { + gBattleScripting.multihitString[4]++; + if (--gMultiHitCounter == 0) + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MultiHitPrintStrings; + effect = TRUE; + } + else + { + if (gCurrentMove == MOVE_DRAGON_DARTS) + { + // TODO + } + + if (gBattleMons[gBattlerAttacker].hp + && gBattleMons[gBattlerTarget].hp + && (gChosenMove == MOVE_SLEEP_TALK || !(gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP)) + && !(gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE)) + { + if (gSpecialStatuses[gBattlerAttacker].parentalBondState) + gSpecialStatuses[gBattlerAttacker].parentalBondState--; + + gHitMarker |= (HITMARKER_NO_PPDEDUCT | HITMARKER_NO_ATTACKSTRING); + gBattleScripting.animTargetsHit = 0; + gBattleScripting.moveendState = 0; + gSpecialStatuses[gBattlerTarget].sturdied = 0; + gSpecialStatuses[gBattlerTarget].focusBanded = 0; // Delete this line to make Focus Band last for the duration of the whole move turn. + gSpecialStatuses[gBattlerTarget].focusSashed = 0; // Delete this line to make Focus Sash last for the duration of the whole move turn. + gSpecialStatuses[gBattlerAttacker].multiHitOn = TRUE; + MoveValuesCleanUp(); + BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); + gBattlescriptCurrInstr = BattleScript_FlushMessageBox; + return; + } + else + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MultiHitPrintStrings; + effect = TRUE; + } + } + } + gMultiHitCounter = 0; + gSpecialStatuses[gBattlerAttacker].parentalBondState = PARENTAL_BOND_OFF; + gSpecialStatuses[gBattlerAttacker].multiHitOn = 0; + gBattleScripting.moveendState++; + break; + } case MOVEEND_EJECT_BUTTON: if (gCurrentMove != MOVE_DRAGON_TAIL && gCurrentMove != MOVE_CIRCLE_THROW @@ -7319,6 +7481,13 @@ static void Cmd_removeitem(void) { u16 itemId = 0; + if (gBattleScripting.overrideBerryRequirements) + { + // bug bite / pluck - don't remove current item + gBattlescriptCurrInstr += 2; + return; + } + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); itemId = gBattleMons[gActiveBattler].item; @@ -8023,14 +8192,10 @@ static bool32 CourtChangeSwapSideStatuses(void) static bool32 CanTeleport(u8 battlerId) { - struct Pokemon* party = NULL; + u8 side = GetBattlerSide(battlerId); + struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; u32 species, count, i; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; - for (i = 0; i < PARTY_SIZE; i++) { species = GetMonData(&party[i], MON_DATA_SPECIES2); @@ -8041,11 +8206,11 @@ static bool32 CanTeleport(u8 battlerId) switch (GetBattlerSide(battlerId)) { case B_SIDE_OPPONENT: - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (count == 1 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE) return FALSE; break; case B_SIDE_PLAYER: - if (count == 1 || (count <= 2 && gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (count == 1 || (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && count <= 2)) return FALSE; break; } @@ -9584,24 +9749,18 @@ static void Cmd_various(void) } break; case VARIOUS_CONSUME_BERRY: - if (ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item) == HOLD_EFFECT_NONE) + if (gBattleScripting.overrideBerryRequirements == 2) { gBattlescriptCurrInstr += 4; return; } - - gBattleScripting.battler = gEffectBattler = gBattlerTarget = gActiveBattler; // Cover all berry effect battlerId cases. e.g. ChangeStatBuffs uses target ID - // Do move end berry effects for just a single battler, instead of looping through all battlers - if (ItemBattleEffects(ITEMEFFECT_BATTLER_MOVE_END, gActiveBattler, FALSE)) - return; - + if (gBattlescriptCurrInstr[3]) - { - gBattleMons[gActiveBattler].item = gBattleStruct->changedItems[gActiveBattler]; - gBattleStruct->changedItems[gActiveBattler] = ITEM_NONE; - gBattleResources->flags->flags[gActiveBattler] &= ~RESOURCE_FLAG_UNBURDEN; - } - + gLastUsedItem = gBattleMons[gActiveBattler].item; + + gBattleScripting.battler = gEffectBattler = gBattlerTarget = gActiveBattler; // Cover all berry effect battlerId cases. e.g. ChangeStatBuffs uses target ID + if (ItemBattleEffects(ITEMEFFECT_USE_LAST_ITEM, gActiveBattler, FALSE)) + return; gBattlescriptCurrInstr += 4; return; case VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL: @@ -9898,6 +10057,18 @@ static void Cmd_various(void) else gBattleCommunication[0] = B_SIDE_OPPONENT; break; + case VARIOUS_CHECK_PARENTAL_BOND_COUNTER: + { + // Some effects should only happen on the first or second strike of Parental Bond, + // so a way to check this in battle scripts is useful + u8 counter = T1_READ_8(gBattlescriptCurrInstr + 3); + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == counter && gBattleMons[gBattlerTarget].hp != 0) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 4); + else + gBattlescriptCurrInstr += 8; + return; + } + break; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; @@ -10372,10 +10543,13 @@ static void Cmd_stockpiletobasedamage(void) if (gBattleCommunication[MISS_TYPE] != B_MSG_PROTECTED) gBattleScripting.animTurn = gDisableStructs[gBattlerAttacker].stockpileCounter; - gDisableStructs[gBattlerAttacker].stockpileCounter = 0; - // Restore stat changes from stockpile. - gBattleMons[gBattlerAttacker].statStages[STAT_DEF] -= gDisableStructs[gBattlerAttacker].stockpileDef; - gBattleMons[gBattlerAttacker].statStages[STAT_SPDEF] -= gDisableStructs[gBattlerAttacker].stockpileSpDef; + if (!(gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT && gBattleMons[gBattlerTarget].hp != 0)) + { + gDisableStructs[gBattlerAttacker].stockpileCounter = 0; + // Restore stat changes from stockpile. + gBattleMons[gBattlerAttacker].statStages[STAT_DEF] -= gDisableStructs[gBattlerAttacker].stockpileDef; + gBattleMons[gBattlerAttacker].statStages[STAT_SPDEF] -= gDisableStructs[gBattlerAttacker].stockpileSpDef; + } gBattlescriptCurrInstr += 5; } } @@ -12266,7 +12440,8 @@ static void Cmd_handlefurycutter(void) } else { - if (gDisableStructs[gBattlerAttacker].furyCutterCounter != 5) + if (gDisableStructs[gBattlerAttacker].furyCutterCounter != 5 + && gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_1ST_HIT) // Don't increment counter on first hit gDisableStructs[gBattlerAttacker].furyCutterCounter++; gBattlescriptCurrInstr++; @@ -12291,27 +12466,37 @@ static void Cmd_presentdamagecalculation(void) { u32 rand = Random() & 0xFF; - if (rand < 102) + /* Don't reroll present effect/power for the second hit of Parental Bond. + * Not sure if this is the correct behaviour, but bulbapedia states + * that if present heals the foe, it doesn't strike twice, and if it deals + * damage, the second strike will always deal damage too. This is a simple way + * to replicate that effect. + */ + if (gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_2ND_HIT) { - gBattleStruct->presentBasePower = 40; - } - else if (rand < 178) - { - gBattleStruct->presentBasePower = 80; - } - else if (rand < 204) - { - gBattleStruct->presentBasePower = 120; - } - else - { - gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 4; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - gBattleMoveDamage *= -1; + if (rand < 102) + { + gBattleStruct->presentBasePower = 40; + } + else if (rand < 178) + { + gBattleStruct->presentBasePower = 80; + } + else if (rand < 204) + { + gBattleStruct->presentBasePower = 120; + } + else + { + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 4; + if (gBattleMoveDamage == 0) + gBattleMoveDamage = 1; + gBattleMoveDamage *= -1; + gBattleStruct->presentBasePower = 0; + } } - if (rand < 204) + if (gBattleStruct->presentBasePower) { gBattlescriptCurrInstr = BattleScript_HitFromCritCalc; } @@ -14542,22 +14727,8 @@ static void Cmd_jumpifoppositegenders(void) gBattlescriptCurrInstr += 5; } -static void Cmd_trygetbaddreamstarget(void) +static void Cmd_unused(void) { - u8 badDreamsMonSide = GetBattlerSide(gBattlerAttacker); - for (;gBattlerTarget < gBattlersCount; gBattlerTarget++) - { - if (GetBattlerSide(gBattlerTarget) == badDreamsMonSide) - continue; - if ((gBattleMons[gBattlerTarget].status1 & STATUS1_SLEEP || GetBattlerAbility(gBattlerTarget) == ABILITY_COMATOSE) - && IsBattlerAlive(gBattlerTarget)) - break; - } - - if (gBattlerTarget >= gBattlersCount) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); - else - gBattlescriptCurrInstr += 5; } static void Cmd_tryworryseed(void) @@ -14643,3 +14814,44 @@ static bool32 CriticalCapture(u32 odds) return FALSE; #endif } + +bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId) +{ + if (gBattleMoves[move].split != SPLIT_STATUS + && !(sForbiddenMoves[move] & FORBIDDEN_PARENTAL_BOND)) + { + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + switch (GetBattlerMoveTargetType(battlerId, move)) + { + // Both foes are alive, spread move strikes once + case MOVE_TARGET_BOTH: + if (CountAliveMonsInBattle(BATTLE_ALIVE_DEF_SIDE) >= 2) + return FALSE; + break; + // Either both foes or one foe and its ally are alive; spread move strikes once + case MOVE_TARGET_FOES_AND_ALLY: + if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ATTACKER) >= 2) + return FALSE; + break; + default: + break; + } + } + return TRUE; + } + return FALSE; +} + +static bool8 IsFinalStrikeEffect(u16 move) +{ + u32 i; + u16 moveEffect = gBattleMoves[move].effect; + + for (i = 0; i < ARRAY_COUNT(sFinalStrikeOnlyEffects); i++) + { + if (moveEffect == sFinalStrikeOnlyEffects[i]) + return TRUE; + } + return FALSE; +} diff --git a/src/battle_tv.c b/src/battle_tv.c index 19d3eba8d..646c3563f 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -130,7 +130,7 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_DRAGON_RAGE] = 2, [EFFECT_TRAP] = 4, // [EFFECT_HIGH_CRITICAL] = 1, - [EFFECT_DOUBLE_HIT] = 1, +// [EFFECT_DOUBLE_HIT] = 1, [EFFECT_RECOIL_IF_MISS] = 1, [EFFECT_MIST] = 5, [EFFECT_FOCUS_ENERGY] = 1, @@ -163,7 +163,7 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_EVASION_DOWN_HIT] = 1, // [EFFECT_SKY_ATTACK] = 4, [EFFECT_CONFUSE_HIT] = 1, - [EFFECT_TWINEEDLE] = 1, +// [EFFECT_TWINEEDLE] = 1, [EFFECT_VITAL_THROW] = 1, [EFFECT_SUBSTITUTE] = 4, [EFFECT_RECHARGE] = 5, diff --git a/src/battle_util.c b/src/battle_util.c index d83f8429e..faf4cdb89 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -59,6 +59,8 @@ functions instead of at the top of the file with the other declarations. static bool32 TryRemoveScreens(u8 battler); static bool32 IsUnnerveAbilityOnOpposingSide(u8 battlerId); static u8 GetFlingPowerFromItemId(u16 itemId); +static void SetRandomMultiHitCounter(); +static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item); extern const u8 *const gBattleScriptsForMoveEffects[]; extern const u8 *const gBattlescriptsForRunningByItem[]; @@ -218,6 +220,23 @@ static const u16 sEntrainmentTargetSimpleBeamBannedAbilities[] = ABILITY_GULP_MISSILE, }; +static u8 CalcBeatUpPower(void) +{ + struct Pokemon *party; + u8 basePower; + u16 species; + + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + party = gPlayerParty; + else + party = gEnemyParty; + // Party slot is set in the battle script for Beat Up + species = GetMonData(&party[gBattleCommunication[0] - 1], MON_DATA_SPECIES); + basePower = (gBaseStats[species].baseAttack / 10) + 5; + + return basePower; +} + bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move) { u32 ability = GetBattlerAbility(battlerAtk); @@ -252,6 +271,7 @@ void HandleAction_UseMove(void) gBattleStruct->atkCancellerTracker = 0; gMoveResultFlags = 0; gMultiHitCounter = 0; + gBattleScripting.savedDmg = 0; gBattleCommunication[MISS_TYPE] = 0; gBattleScripting.savedMoveEffect = 0; gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); @@ -3457,6 +3477,7 @@ enum CANCELLER_POWDER_MOVE, CANCELLER_POWDER_STATUS, CANCELLER_THROAT_CHOP, + CANCELLER_MULTIHIT_MOVES, CANCELLER_Z_MOVES, CANCELLER_END, CANCELLER_PSYCHIC_TERRAIN, @@ -3474,6 +3495,7 @@ u8 AtkCanceller_UnableToUseMove(void) case CANCELLER_FLAGS: // flags clear gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_DESTINY_BOND; gStatuses3[gBattlerAttacker] &= ~STATUS3_GRUDGE; + gBattleScripting.tripleKickPower = 0; gBattleStruct->atkCancellerTracker++; break; case CANCELLER_SKY_DROP: @@ -3831,6 +3853,67 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; + case CANCELLER_MULTIHIT_MOVES: + if (gBattleMoves[gCurrentMove].effect == EFFECT_MULTI_HIT) + { + u16 ability = gBattleMons[gBattlerAttacker].ability; + + if (ability == ABILITY_SKILL_LINK) + { + gMultiHitCounter = 5; + } + else if (ability == ABILITY_BATTLE_BOND + && gCurrentMove == MOVE_WATER_SHURIKEN + && gBattleMons[gBattlerAttacker].species == SPECIES_GRENINJA_ASH) + { + gMultiHitCounter = 3; + } + else + { + SetRandomMultiHitCounter(); + } + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + } + else if (gBattleMoves[gCurrentMove].flags & FLAG_TWO_STRIKES) + { + gMultiHitCounter = 2; + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + if (gCurrentMove == MOVE_DRAGON_DARTS) + { + // TODO + } + } + else if (gBattleMoves[gCurrentMove].effect == EFFECT_TRIPLE_KICK || gCurrentMove == MOVE_SURGING_STRIKES) + { + gMultiHitCounter = 3; + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + } + #if B_BEAT_UP >= GEN_5 + else if (gBattleMoves[gCurrentMove].effect == EFFECT_BEAT_UP) + { + struct Pokemon* party; + int i; + + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + party = gPlayerParty; + else + party = gEnemyParty; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&party[i], MON_DATA_HP) + && GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&party[i], MON_DATA_IS_EGG) + && !GetMonData(&party[i], MON_DATA_STATUS)) + gMultiHitCounter++; + } + + gBattleCommunication[0] = 0; // For later + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + } + #endif + gBattleStruct->atkCancellerTracker++; + break; case CANCELLER_END: break; } @@ -4921,14 +5004,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gDisableStructs[gBattlerAttacker].truantCounter ^= 1; break; case ABILITY_BAD_DREAMS: - if (gBattleMons[battler].status1 & STATUS1_SLEEP - || gBattleMons[BATTLE_OPPOSITE(battler)].status1 & STATUS1_SLEEP - || GetBattlerAbility(battler) == ABILITY_COMATOSE - || GetBattlerAbility(BATTLE_OPPOSITE(battler)) == ABILITY_COMATOSE) - { - BattleScriptPushCursorAndCallback(BattleScript_BadDreamsActivates); - effect++; - } + BattleScriptPushCursorAndCallback(BattleScript_BadDreamsActivates); + effect++; break; SOLAR_POWER_HP_DROP: case ABILITY_SOLAR_POWER: @@ -5159,9 +5236,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && moveType == TYPE_DARK && CompareStat(battler, STAT_ATK, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_ATK, 1, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5172,9 +5250,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && (moveType == TYPE_DARK || moveType == TYPE_BUG || moveType == TYPE_GHOST) && CompareStat(battler, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_SPEED, 1, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5185,9 +5264,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && moveType == TYPE_WATER && CompareStat(battler, STAT_DEF, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_DEF, 2, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5197,9 +5277,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && IsBattlerAlive(battler) && CompareStat(battler, STAT_DEF, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_DEF, 1, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5214,9 +5295,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && !(TestSheerForceFlag(gBattlerAttacker, gCurrentMove)) && CompareStat(battler, STAT_SPATK, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_SPATK, 1, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5554,9 +5636,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && CompareStat(battler, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN) && (moveType == TYPE_FIRE || moveType == TYPE_WATER)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_SPEED, 6, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -6309,7 +6392,7 @@ static u8 HealConfuseBerry(u32 battlerId, u32 itemId, u8 flavorId, bool32 end2) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, flavorId); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / GetBattlerHoldEffectParam(battlerId); + gBattleMoveDamage = gBattleMons[battlerId].maxHP / GetBattlerItemHoldEffectParam(battlerId, itemId); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -6345,7 +6428,7 @@ static u8 HealConfuseBerry(u32 battlerId, u32 itemId, u8 flavorId, bool32 end2) static u8 StatRaiseBerry(u32 battlerId, u32 itemId, u32 statId, bool32 end2) { - if (CompareStat(battlerId, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battlerId, GetBattlerHoldEffectParam(battlerId), itemId)) + if (CompareStat(battlerId, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, itemId), itemId)) { BufferStatChange(battlerId, statId, STRINGID_STATROSE); gEffectBattler = battlerId; @@ -6381,7 +6464,7 @@ static u8 RandomStatRaiseBerry(u32 battlerId, u32 itemId, bool32 end2) if (CompareStat(battlerId, STAT_ATK + i, MAX_STAT_STAGE, CMP_LESS_THAN)) break; } - if (i != NUM_STATS - 1 && HasEnoughHpToEatBerry(battlerId, GetBattlerHoldEffectParam(battlerId), itemId)) + if (i != NUM_STATS - 1 && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, itemId), itemId)) { u16 battlerAbility = GetBattlerAbility(battlerId); do @@ -6500,9 +6583,9 @@ static u8 ItemHealHp(u32 battlerId, u32 itemId, bool32 end2, bool32 percentHeal) && HasEnoughHpToEatBerry(battlerId, 2, itemId)) { if (percentHeal) - gBattleMoveDamage = (gBattleMons[battlerId].maxHP * GetBattlerHoldEffectParam(battlerId) / 100) * -1; + gBattleMoveDamage = (gBattleMons[battlerId].maxHP * GetBattlerItemHoldEffectParam(battlerId, itemId) / 100) * -1; else - gBattleMoveDamage = GetBattlerHoldEffectParam(battlerId) * -1; + gBattleMoveDamage = GetBattlerItemHoldEffectParam(battlerId, itemId) * -1; // check ripen if (ItemId_GetPocket(itemId) == POCKET_BERRIES && GetBattlerAbility(battlerId) == ABILITY_RIPEN) @@ -6585,6 +6668,192 @@ static bool32 GetMentalHerbEffect(u8 battlerId) return ret; } +static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) +{ + u8 effect = 0; + u32 i; + + switch (holdEffect) + { +#if B_HP_BERRIES >= GEN_4 + case HOLD_EFFECT_MICLE_BERRY: + effect = TrySetMicleBerry(battlerId, gLastUsedItem, FALSE); + break; + case HOLD_EFFECT_RESTORE_HP: + effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, FALSE); + break; +#endif +#if B_BERRIES_INSTANT >= GEN_4 + case HOLD_EFFECT_RESTORE_PCT_HP: + effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, TRUE); + break; + case HOLD_EFFECT_CONFUSE_SPICY: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SPICY, FALSE); + break; + case HOLD_EFFECT_CONFUSE_DRY: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_DRY, FALSE); + break; + case HOLD_EFFECT_CONFUSE_SWEET: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SWEET, FALSE); + break; + case HOLD_EFFECT_CONFUSE_BITTER: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_BITTER, FALSE); + break; + case HOLD_EFFECT_CONFUSE_SOUR: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SOUR, FALSE); + break; + case HOLD_EFFECT_ATTACK_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_ATK, FALSE); + break; + case HOLD_EFFECT_DEFENSE_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_DEF, FALSE); + break; + case HOLD_EFFECT_SPEED_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPEED, FALSE); + break; + case HOLD_EFFECT_SP_ATTACK_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPATK, FALSE); + break; + case HOLD_EFFECT_SP_DEFENSE_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, FALSE); + break; + case HOLD_EFFECT_RANDOM_STAT_UP: + effect = RandomStatRaiseBerry(battlerId, gLastUsedItem, FALSE); + break; +#endif + case HOLD_EFFECT_CURE_PAR: + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureParRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_PSN: + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_BRN: + if (gBattleMons[battlerId].status1 & STATUS1_BURN && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_FRZ: + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_SLP: + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; + gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_CONFUSION: + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; + effect = ITEM_EFFECT_OTHER; + } + break; + case HOLD_EFFECT_MENTAL_HERB: + if (GetMentalHerbEffect(battlerId)) + { + gBattleScripting.savedBattler = gBattlerAttacker; + gBattlerAttacker = battlerId; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MentalHerbCureRet; + effect = ITEM_EFFECT_OTHER; + } + break; + case HOLD_EFFECT_CURE_STATUS: + if ((gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) && !UnnerveOn(battlerId, gLastUsedItem)) + { + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); + + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + { + gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); + } + + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); + + if (gBattleMons[battlerId].status1 & STATUS1_BURN) + StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); + + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); + + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); + + gBattleMons[battlerId].status1 = 0; + gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + BattleScriptPushCursor(); + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; + gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_RESTORE_STATS: + for (i = 0; i < NUM_BATTLE_STATS; i++) + { + if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + { + gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + effect = ITEM_STATS_CHANGE; + } + } + if (effect != 0) + { + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; + return effect; + } + break; + case HOLD_EFFECT_CRITICAL_UP: // lansat berry + if (B_BERRIES_INSTANT >= GEN_4 + && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) + && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) + { + gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryFocusEnergyRet; + effect = ITEM_EFFECT_OTHER; + } + break; + } + + return effect; +} + u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { int i = 0, moveType; @@ -6594,9 +6863,11 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) u8 atkHoldEffectParam; u16 atkItem; - gLastUsedItem = gBattleMons[battlerId].item; - battlerHoldEffect = GetBattlerHoldEffect(battlerId, TRUE); - + if (caseID != ITEMEFFECT_USE_LAST_ITEM) { + gLastUsedItem = gBattleMons[battlerId].item; + battlerHoldEffect = GetBattlerHoldEffect(battlerId, TRUE); + } + atkItem = gBattleMons[gBattlerAttacker].item; atkHoldEffect = GetBattlerHoldEffect(gBattlerAttacker, TRUE); atkHoldEffectParam = GetBattlerHoldEffectParam(gBattlerAttacker); @@ -6664,9 +6935,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, TRUE); break; case HOLD_EFFECT_CRITICAL_UP: - if (!(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) && HasEnoughHpToEatBerry(battlerId, GetBattlerHoldEffectParam(battlerId), gLastUsedItem)) + if (!(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) { gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battlerId; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } @@ -6980,9 +7252,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) break; case HOLD_EFFECT_CRITICAL_UP: if (!moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) - && HasEnoughHpToEatBerry(battlerId, GetBattlerHoldEffectParam(battlerId), gLastUsedItem)) + && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) { gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battlerId; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } @@ -7117,179 +7390,26 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } } break; - case ITEMEFFECT_BATTLER_MOVE_END: - goto DO_ITEMEFFECT_MOVE_END; // this hurts a bit to do, but is an easy solution + case ITEMEFFECT_USE_LAST_ITEM: + effect = ItemEffectMoveEnd(battlerId, ItemId_GetHoldEffect(gLastUsedItem)); + gBattleScripting.overrideBerryRequirements = 2; // to exit VARIOUS_CONSUME_BERRIES + if (effect) + { + gActiveBattler = gPotentialItemEffectBattler = gBattleScripting.battler = battlerId; + if (effect == ITEM_STATUS_CHANGE) + { + BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); + } + break; + } + break; case ITEMEFFECT_MOVE_END: for (battlerId = 0; battlerId < gBattlersCount; battlerId++) { gLastUsedItem = gBattleMons[battlerId].item; - battlerHoldEffect = GetBattlerHoldEffect(battlerId, TRUE); - DO_ITEMEFFECT_MOVE_END: - switch (battlerHoldEffect) - { - #if B_HP_BERRIES >= GEN_4 - case HOLD_EFFECT_MICLE_BERRY: - effect = TrySetMicleBerry(battlerId, gLastUsedItem, FALSE); - break; - case HOLD_EFFECT_RESTORE_HP: - effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, FALSE); - break; - #endif - #if B_BERRIES_INSTANT >= GEN_4 - case HOLD_EFFECT_RESTORE_PCT_HP: - effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, TRUE); - break; - case HOLD_EFFECT_CONFUSE_SPICY: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SPICY, FALSE); - break; - case HOLD_EFFECT_CONFUSE_DRY: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_DRY, FALSE); - break; - case HOLD_EFFECT_CONFUSE_SWEET: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SWEET, FALSE); - break; - case HOLD_EFFECT_CONFUSE_BITTER: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_BITTER, FALSE); - break; - case HOLD_EFFECT_CONFUSE_SOUR: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SOUR, FALSE); - break; - case HOLD_EFFECT_ATTACK_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_ATK, FALSE); - break; - case HOLD_EFFECT_DEFENSE_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_DEF, FALSE); - break; - case HOLD_EFFECT_SPEED_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPEED, FALSE); - break; - case HOLD_EFFECT_SP_ATTACK_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPATK, FALSE); - break; - case HOLD_EFFECT_SP_DEFENSE_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, FALSE); - break; - case HOLD_EFFECT_RANDOM_STAT_UP: - effect = RandomStatRaiseBerry(battlerId, gLastUsedItem, FALSE); - break; - #endif - case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureParRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; - effect = ITEM_EFFECT_OTHER; - } - break; - case HOLD_EFFECT_MENTAL_HERB: - if (GetMentalHerbEffect(battlerId)) - { - gBattleScripting.savedBattler = gBattlerAttacker; - gBattlerAttacker = battlerId; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_MentalHerbCureRet; - effect = ITEM_EFFECT_OTHER; - } - break; - case HOLD_EFFECT_CURE_STATUS: - if ((gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) && !UnnerveOn(battlerId, gLastUsedItem)) - { - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) - StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) - { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; - StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); - } - - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) - StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - - if (gBattleMons[battlerId].status1 & STATUS1_BURN) - StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) - StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) - StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); - - gBattleMons[battlerId].status1 = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; - BattleScriptPushCursor(); - gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; - gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_RESTORE_STATS: - for (i = 0; i < NUM_BATTLE_STATS; i++) - { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) - { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; - effect = ITEM_STATS_CHANGE; - } - } - if (effect != 0) - { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; - return effect; - } - break; - } - if (effect != 0) + effect = ItemEffectMoveEnd(battlerId, GetBattlerHoldEffect(battlerId, TRUE)); + if (effect) { gActiveBattler = gPotentialItemEffectBattler = gBattleScripting.battler = battlerId; if (effect == ITEM_STATUS_CHANGE) @@ -7866,6 +7986,15 @@ u32 GetBattlerHoldEffect(u8 battlerId, bool32 checkNegating) return ItemId_GetHoldEffect(gBattleMons[battlerId].item); } +// +static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item) +{ + if (item == ITEM_ENIGMA_BERRY) + return gEnigmaBerries[battlerId].holdEffectParam; + else + return ItemId_GetHoldEffectParam(item); +} + u32 GetBattlerHoldEffectParam(u8 battlerId) { if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) @@ -8404,6 +8533,11 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) if (IsBattlerTerrainAffected(gBattlerTarget, STATUS_FIELD_ELECTRIC_TERRAIN)) basePower *= 2; break; + case EFFECT_BEAT_UP: + #if B_BEAT_UP >= GEN_5 + basePower = CalcBeatUpPower(); + #endif + break; } // Move-specific base power changes @@ -9178,6 +9312,15 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move MulModifier(&finalModifier, UQ_4_12(0.5)); } + // Parental Bond Second Strike + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT) + { + if (B_PARENTAL_BOND_DMG < GEN_7) + MulModifier(&finalModifier, UQ_4_12(0.5)); + else + MulModifier(&finalModifier, UQ_4_12(0.25)); + } + // attacker's abilities switch (abilityAtk) { @@ -9852,7 +9995,7 @@ bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId) bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) { -#if B_BADGE_BOOST != GEN_3 +#if B_BADGE_BOOST == GEN_3 if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_FRONTIER)) return FALSE; else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) @@ -9983,7 +10126,7 @@ bool32 CanFling(u8 battlerId) #endif || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || gDisableStructs[battlerId].embargoTimer != 0 - || GetFlingPowerFromItemId(item) != 0 + || GetFlingPowerFromItemId(item) == 0 || !CanBattlerGetOrLoseItem(battlerId, item)) return FALSE; @@ -10396,3 +10539,31 @@ bool32 CanTargetBattler(u8 battlerAtk, u8 battlerDef, u16 move) return FALSE; // Pokémon affected by Heal Block cannot target allies with Pollen Puff return TRUE; } + +static void SetRandomMultiHitCounter() +{ +#if (B_MULTI_HIT_CHANCE >= GEN_5) + // Based on Gen 5's odds + // 35% for 2 hits + // 35% for 3 hits + // 15% for 4 hits + // 15% for 5 hits + gMultiHitCounter = Random() % 100; + if (gMultiHitCounter < 35) + gMultiHitCounter = 2; + else if (gMultiHitCounter < 35 + 35) + gMultiHitCounter = 3; + else if (gMultiHitCounter < 35 + 35 + 15) + gMultiHitCounter = 4; + else + gMultiHitCounter = 5; +#else + // 2 and 3 hits: 37.5% + // 4 and 5 hits: 12.5% + gMultiHitCounter = Random() % 4; + if (gMultiHitCounter > 1) + gMultiHitCounter = (Random() % 4) + 2; + else + gMultiHitCounter += 2; +#endif +} diff --git a/src/bike.c b/src/bike.c index ae30ce288..8f3faa2da 100644 --- a/src/bike.c +++ b/src/bike.c @@ -1053,7 +1053,11 @@ void Bike_HandleBumpySlopeJump(void) bool32 IsRunningDisallowed(u8 metatile) { +#if OW_RUNNING_INDOORS == GEN_3 if (!gMapHeader.allowRunning || IsRunningDisallowedByMetatile(metatile) == TRUE) +#else + if (IsRunningDisallowedByMetatile(metatile) == TRUE) +#endif return TRUE; else return FALSE; diff --git a/src/data/.gitignore b/src/data/.gitignore index eaf9e1f6d..f9205e562 100755 --- a/src/data/.gitignore +++ b/src/data/.gitignore @@ -1 +1,3 @@ wild_encounters.h +region_map/region_map_entries.h +region_map/porymap_config.json diff --git a/src/data/bard_music/actions.h b/src/data/bard_music/actions.h index fd8e63061..5acac3450 100644 --- a/src/data/bard_music/actions.h +++ b/src/data/bard_music/actions.h @@ -2,628 +2,628 @@ #define GUARD_DATA_BARD_MUSIC_ACTIONS_H const struct BardSound gBardSounds_Actions[][6] = { { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 47 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 26 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 41 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/adjectives.h b/src/data/bard_music/adjectives.h index e56efaa24..c86138d2c 100644 --- a/src/data/bard_music/adjectives.h +++ b/src/data/bard_music/adjectives.h @@ -2,292 +2,292 @@ #define GUARD_DATA_BARD_MUSIC_ADJECTIVES_H const struct BardSound gBardSounds_Adjectives[][6] = { { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 50 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 8 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 50 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 } + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 29 }, + { .songLengthId = 51 } } }; diff --git a/src/data/bard_music/bard_sounds.h b/src/data/bard_music/bard_sounds.h index 1dd5c7f56..291d22872 100644 --- a/src/data/bard_music/bard_sounds.h +++ b/src/data/bard_music/bard_sounds.h @@ -1,7 +1,7 @@ #ifndef GUARD_BARD_SOUNDS_TABLE_H #define GUARD_BARD_SOUNDS_TABLE_H -#define NULL_BARD_SOUND { 0xff } +#define NULL_BARD_SOUND { .songLengthId = 0xff } #include "pokemon.h" #include "moves.h" diff --git a/src/data/bard_music/battle.h b/src/data/bard_music/battle.h index 19d032f56..c2cb57134 100644 --- a/src/data/bard_music/battle.h +++ b/src/data/bard_music/battle.h @@ -2,508 +2,508 @@ #define GUARD_DATA_BARD_MUSIC_BATTLE_H const struct BardSound gBardSounds_Battle[][6] = { { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 35 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x16, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 22 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/conditions.h b/src/data/bard_music/conditions.h index d79cc100b..c56421e63 100644 --- a/src/data/bard_music/conditions.h +++ b/src/data/bard_music/conditions.h @@ -2,556 +2,556 @@ #define GUARD_DATA_BARD_MUSIC_CONDITIONS_H const struct BardSound gBardSounds_Conditions[][6] = { { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 10 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 32 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x19, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 25 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 20 }, + { .songLengthId = 35 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 10 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 42 }, + { .songLengthId = 30 }, + { .songLengthId = 44 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 26 }, + { .songLengthId = 50 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 10 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 29 }, + { .songLengthId = 42 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x16, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 22 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x16, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 42 }, + { .songLengthId = 22 }, + { .songLengthId = 50 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 50 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/endings.h b/src/data/bard_music/endings.h index 7e4304521..251347659 100644 --- a/src/data/bard_music/endings.h +++ b/src/data/bard_music/endings.h @@ -2,556 +2,556 @@ #define GUARD_DATA_BARD_MUSIC_ENDINGS_H const struct BardSound gBardSounds_Endings[][6] = { { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 14 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 35 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/events.h b/src/data/bard_music/events.h index 70960e15d..b33c1e2b3 100644 --- a/src/data/bard_music/events.h +++ b/src/data/bard_music/events.h @@ -2,236 +2,236 @@ #define GUARD_DATA_BARD_MUSIC_EVENTS_H const struct BardSound gBardSounds_Events[][6] = { { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 3 }, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 44 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 44 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/feelings.h b/src/data/bard_music/feelings.h index cdab88639..a46513397 100644 --- a/src/data/bard_music/feelings.h +++ b/src/data/bard_music/feelings.h @@ -2,556 +2,556 @@ #define GUARD_DATA_BARD_MUSIC_FEELINGS_H const struct BardSound gBardSounds_Feelings[][6] = { { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x19, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 25 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 30 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 32 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 32 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 32 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 32 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 32 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/greetings.h b/src/data/bard_music/greetings.h index 22af4dd5c..ebddb79de 100644 --- a/src/data/bard_music/greetings.h +++ b/src/data/bard_music/greetings.h @@ -2,340 +2,340 @@ #define GUARD_DATA_BARD_MUSIC_GREETINGS_H const struct BardSound gBardSounds_Greetings[][6] = { { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 18 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 6 }, + { .songLengthId = 23 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 6 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 40 }, + { .songLengthId = 13 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 24 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 35 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/hobbies.h b/src/data/bard_music/hobbies.h index 66fdbc0c7..db55ef124 100644 --- a/src/data/bard_music/hobbies.h +++ b/src/data/bard_music/hobbies.h @@ -2,436 +2,436 @@ #define GUARD_DATA_BARD_MUSIC_HOBBIES_H const struct BardSound gBardSounds_Hobbies[][6] = { { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 38 }, + { .songLengthId = 4 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 26 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 14 }, + { .songLengthId = 8 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 17 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 5 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/length_table.h b/src/data/bard_music/length_table.h index 144c70dfc..d53dcb23f 100644 --- a/src/data/bard_music/length_table.h +++ b/src/data/bard_music/length_table.h @@ -2,19 +2,19 @@ #define GUARD_LENGTH_TABLE_H const int gBardSoundLengthTable[] = { - 0x09, 0x16, 0x0f, 0x10, - 0x27, 0x15, 0x09, 0x1e, - 0x18, 0x0f, 0x19, 0x0c, - 0x16, 0x2d, 0x18, 0x0f, - 0x28, 0x09, 0x15, 0x2a, - 0x12, 0x09, 0x16, 0x0f, - 0x1b, 0x30, 0x12, 0x1b, - 0x21, 0x18, 0x19, 0x27, - 0x13, 0x10, 0x36, 0x12, - 0x09, 0x2d, 0x0f, 0x0c, - 0x27, 0x17, 0x05, 0x2d, - 0x0c, 0x15, 0x30, 0x0c, - 0x15, 0x45, 0x12, 0x0f + 9, 22, 15, 16, + 39, 21, 9, 30, + 24, 15, 25, 12, + 22, 45, 24, 15, + 40, 9, 21, 42, + 18, 9, 22, 15, + 27, 48, 18, 27, + 33, 24, 25, 39, + 19, 16, 54, 18, + 9, 45, 15, 12, + 39, 23, 5, 45, + 12, 21, 48, 12, + 21, 69, 18, 15 }; diff --git a/src/data/bard_music/lifestyle.h b/src/data/bard_music/lifestyle.h index 7054283f4..9aeac3757 100644 --- a/src/data/bard_music/lifestyle.h +++ b/src/data/bard_music/lifestyle.h @@ -2,364 +2,364 @@ #define GUARD_DATA_BARD_MUSIC_LIFESTYLE_H const struct BardSound gBardSounds_Lifestyle[][6] = { { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 35 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 42 }, + { .songLengthId = 50 }, + { .songLengthId = 3 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 42 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 11 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 39 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 15 }, + { .songLengthId = 50 }, + { .songLengthId = 23 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/misc.h b/src/data/bard_music/misc.h index 84e1d5530..1bce1a45d 100644 --- a/src/data/bard_music/misc.h +++ b/src/data/bard_music/misc.h @@ -2,340 +2,340 @@ #define GUARD_DATA_BARD_MUSIC_MISC_H const struct BardSound gBardSounds_Misc[][6] = { { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 46 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 26 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/moves.h b/src/data/bard_music/moves.h index 89fc4c0f1..3fd16697d 100644 --- a/src/data/bard_music/moves.h +++ b/src/data/bard_music/moves.h @@ -12,2839 +12,2839 @@ const struct BardSound gBardSounds_Moves[MOVES_COUNT][6] = { NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND + NULL_BARD_SOUND, }, [MOVE_POUND] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_KARATE_CHOP] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOUBLE_SLAP] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xa, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 10 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COMET_PUNCH] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEGA_PUNCH] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PAY_DAY] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FIRE_PUNCH] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICE_PUNCH] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDER_PUNCH] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SCRATCH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_VISE_GRIP] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GUILLOTINE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAZOR_WIND] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWORDS_DANCE] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CUT] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GUST] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WING_ATTACK] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WHIRLWIND] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLY] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BIND] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLAM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_VINE_WHIP] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STOMP] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOUBLE_KICK] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEGA_KICK] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_JUMP_KICK] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROLLING_KICK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SAND_ATTACK] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HEADBUTT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HORN_ATTACK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FURY_ATTACK] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HORN_DRILL] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TACKLE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BODY_SLAM] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 12 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WRAP] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TAKE_DOWN] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x23, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THRASH] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOUBLE_EDGE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0xa, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 36 }, + { .songLengthId = 10 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TAIL_WHIP] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_STING] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TWINEEDLE] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PIN_MISSILE] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LEER] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BITE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GROWL] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROAR] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SING] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUPERSONIC] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SONIC_BOOM] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DISABLE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ACID] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EMBER] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLAMETHROWER] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIST] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WATER_GUN] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 50 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYDRO_PUMP] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SURF] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICE_BEAM] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BLIZZARD] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PSYBEAM] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BUBBLE_BEAM] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AURORA_BEAM] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 27 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_HYPER_BEAM] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PECK] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRILL_PECK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUBMISSION] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LOW_KICK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COUNTER] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SEISMIC_TOSS] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STRENGTH] = { - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 50 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ABSORB] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEGA_DRAIN] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 44 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LEECH_SEED] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GROWTH] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAZOR_LEAF] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SOLAR_BEAM] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_POWDER] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 44 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STUN_SPORE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLEEP_POWDER] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PETAL_DANCE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STRING_SHOT] = { - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 50 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRAGON_RAGE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_FIRE_SPIN] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDER_SHOCK] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDERBOLT] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDER_WAVE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDER] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_THROW] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EARTHQUAKE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FISSURE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DIG] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TOXIC] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONFUSION] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x29, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 41 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PSYCHIC] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYPNOSIS] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEDITATE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AGILITY] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_QUICK_ATTACK] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAGE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TELEPORT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_NIGHT_SHADE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIMIC] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SCREECH] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xd, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOUBLE_TEAM] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RECOVER] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HARDEN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MINIMIZE] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SMOKESCREEN] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONFUSE_RAY] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2d, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 45 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WITHDRAW] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DEFENSE_CURL] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BARRIER] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LIGHT_SCREEN] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HAZE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REFLECT] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FOCUS_ENERGY] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, }, [MOVE_BIDE] = { - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_METRONOME] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIRROR_MOVE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x29, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + { .songLengthId = 41 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SELF_DESTRUCT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EGG_BOMB] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LICK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SMOG] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLUDGE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BONE_CLUB] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FIRE_BLAST] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WATERFALL] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 48 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CLAMP] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWIFT] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SKULL_BASH] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPIKE_CANNON] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 0 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONSTRICT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AMNESIA] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_KINESIS] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SOFT_BOILED] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 30 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HIGH_JUMP_KICK] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GLARE] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DREAM_EATER] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_GAS] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BARRAGE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LEECH_LIFE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LOVELY_KISS] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_SKY_ATTACK] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TRANSFORM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BUBBLE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DIZZY_PUNCH] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPORE] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PSYWAVE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPLASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ACID_ARMOR] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CRABHAMMER] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EXPLOSION] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_FURY_SWIPES] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BONEMERANG] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REST] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_SLIDE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYPER_FANG] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SHARPEN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONVERSION] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TRI_ATTACK] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUPER_FANG] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUBSTITUTE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STRUGGLE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SKETCH] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TRIPLE_KICK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THIEF] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPIDER_WEB] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIND_READER] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_NIGHTMARE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLAME_WHEEL] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SNORE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CURSE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLAIL] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONVERSION_2] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_AEROBLAST] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COTTON_SPORE] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 29 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REVERSAL] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPITE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POWDER_SNOW] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PROTECT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MACH_PUNCH] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SCARY_FACE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FEINT_ATTACK] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWEET_KISS] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BELLY_DRUM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLUDGE_BOMB] = { - { 0x2b, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 43 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MUD_SLAP] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_OCTAZOOKA] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x28, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 40 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPIKES] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ZAP_CANNON] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FORESIGHT] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DESTINY_BOND] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PERISH_SONG] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICY_WIND] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DETECT] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BONE_RUSH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LOCK_ON] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_OUTRAGE] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SANDSTORM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GIGA_DRAIN] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ENDURE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CHARM] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROLLOUT] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FALSE_SWIPE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWAGGER] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MILK_DRINK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPARK] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FURY_CUTTER] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STEEL_WING] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xd, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEAN_LOOK] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ATTRACT] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLEEP_TALK] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HEAL_BELL] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xa, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RETURN] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PRESENT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FRUSTRATION] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 3 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SAFEGUARD] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PAIN_SPLIT] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SACRED_FIRE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_MAGNITUDE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DYNAMIC_PUNCH] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEGAHORN] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRAGON_BREATH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_BATON_PASS] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ENCORE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PURSUIT] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAPID_SPIN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWEET_SCENT] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_IRON_TAIL] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_METAL_CLAW] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 36 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_VITAL_THROW] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 36 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MORNING_SUN] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SYNTHESIS] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MOONLIGHT] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HIDDEN_POWER] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 9 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CROSS_CHOP] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TWISTER] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAIN_DANCE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUNNY_DAY] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 14 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CRUNCH] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIRROR_COAT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PSYCH_UP] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EXTREME_SPEED] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ANCIENT_POWER] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 33 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_SHADOW_BALL] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FUTURE_SIGHT] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_SMASH] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WHIRLPOOL] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BEAT_UP] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FAKE_OUT] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_UPROAR] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STOCKPILE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPIT_UP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWALLOW] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HEAT_WAVE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HAIL] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TORMENT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLATTER] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WILL_O_WISP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEMENTO] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FACADE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FOCUS_PUNCH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SMELLING_SALTS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FOLLOW_ME] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_NATURE_POWER] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 48 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CHARGE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TAUNT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HELPING_HAND] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TRICK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROLE_PLAY] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WISH] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ASSIST] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_INGRAIN] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUPERPOWER] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MAGIC_COAT] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RECYCLE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REVENGE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BRICK_BREAK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_YAWN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_KNOCK_OFF] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ENDEAVOR] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ERUPTION] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SKILL_SWAP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_IMPRISON] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 15 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REFRESH] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GRUDGE] = { - { 0x2b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SNATCH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SECRET_POWER] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DIVE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ARM_THRUST] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CAMOUFLAGE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TAIL_GLOW] = { - { 0x4, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 4 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LUSTER_PURGE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIST_BALL] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FEATHER_DANCE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TEETER_DANCE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BLAZE_KICK] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MUD_SPORT] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICE_BALL] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_NEEDLE_ARM] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLACK_OFF] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYPER_VOICE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 30 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_FANG] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CRUSH_CLAW] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BLAST_BURN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYDRO_CANNON] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_METEOR_MASH] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0} + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, }, [MOVE_ASTONISH] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WEATHER_BALL] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AROMATHERAPY] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0} + { .songLengthId = 42 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 14 }, }, [MOVE_FAKE_TEARS] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AIR_CUTTER] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_OVERHEAT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ODOR_SLEUTH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_TOMB] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SILVER_WIND] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_METAL_SOUND] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 33 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GRASS_WHISTLE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TICKLE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COSMIC_POWER] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WATER_SPOUT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 33 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SIGNAL_BEAM] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SHADOW_PUNCH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EXTRASENSORY] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, }, [MOVE_SKY_UPPERCUT] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SAND_TOMB] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SHEER_COLD] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MUDDY_WATER] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BULLET_SEED] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AERIAL_ACE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICICLE_SPEAR] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 18 }, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, [MOVE_IRON_DEFENSE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BLOCK] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HOWL] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRAGON_CLAW] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FRENZY_PLANT] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BULK_UP] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BOUNCE] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MUD_SHOT] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_TAIL] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 44 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COVET] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_VOLT_TACKLE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 0 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MAGICAL_LEAF] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_WATER_SPORT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CALM_MIND] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LEAF_BLADE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRAGON_DANCE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_BLAST] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SHOCK_WAVE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WATER_PULSE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOOM_DESIRE] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, [MOVE_PSYCHO_BOOST] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/people.h b/src/data/bard_music/people.h index 2db017080..c1c2f9d3f 100644 --- a/src/data/bard_music/people.h +++ b/src/data/bard_music/people.h @@ -2,604 +2,604 @@ #define GUARD_DATA_BARD_MUSIC_PEOPLE_H const struct BardSound gBardSounds_People[][6] = { { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x13, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 19 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, -0x9, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26, .songLengthOffset = -0x9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 8 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/pokemon.h b/src/data/bard_music/pokemon.h index 7e6a2566d..7d378da6f 100644 --- a/src/data/bard_music/pokemon.h +++ b/src/data/bard_music/pokemon.h @@ -10,3095 +10,3095 @@ const struct BardSound gBardSounds_Pokemon[NUM_SPECIES][6] = { NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND + NULL_BARD_SOUND, }, [SPECIES_BULBASAUR] = { - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 36 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_IVYSAUR] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VENUSAUR] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHARMANDER] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 2 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHARMELEON] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 6 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_CHARIZARD] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 6 }, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_SQUIRTLE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WARTORTLE] = { - { 0x8, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 8 }, + { .songLengthId = 48 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BLASTOISE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CATERPIE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_METAPOD] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BUTTERFREE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WEEDLE] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KAKUNA] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BEEDRILL] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PIDGEY] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PIDGEOTTO] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PIDGEOT] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RATTATA] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RATICATE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPEAROW] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FEAROW] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EKANS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARBOK] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x17, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PIKACHU] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RAICHU] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SANDSHREW] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SANDSLASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDORAN_F] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDORINA] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDOQUEEN] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDORAN_M] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDORINO] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDOKING] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLEFAIRY] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 11 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLEFABLE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VULPIX] = { - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 36 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NINETALES] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JIGGLYPUFF] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_WIGGLYTUFF] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_ZUBAT] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOLBAT] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ODDISH] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GLOOM] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VILEPLUME] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PARAS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PARASECT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VENONAT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VENOMOTH] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 26 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DIGLETT] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUGTRIO] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEOWTH] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 33 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PERSIAN] = { - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 50 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PSYDUCK] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOLDUCK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MANKEY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PRIMEAPE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GROWLITHE] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARCANINE] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 3 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POLIWAG] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POLIWHIRL] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POLIWRATH] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ABRA] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KADABRA] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ALAKAZAM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MACHOP] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MACHOKE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MACHAMP] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BELLSPROUT] = { - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 11 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WEEPINBELL] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 15 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VICTREEBEL] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TENTACOOL] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TENTACRUEL] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GEODUDE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GRAVELER] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOLEM] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PONYTA] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RAPIDASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLOWPOKE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLOWBRO] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGNEMITE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGNETON] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FARFETCHD] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DODUO] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 39 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DODRIO] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEEL] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DEWGONG] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GRIMER] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MUK] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHELLDER] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLOYSTER] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GASTLY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HAUNTER] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GENGAR] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x8, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ONIX] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DROWZEE] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HYPNO] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KRABBY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KINGLER] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VOLTORB] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ELECTRODE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EXEGGCUTE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EXEGGUTOR] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 9 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_CUBONE] = { - { 0x2d, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 45 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAROWAK] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HITMONLEE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HITMONCHAN] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LICKITUNG] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KOFFING] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WEEZING] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RHYHORN] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RHYDON] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHANSEY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TANGELA] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KANGASKHAN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HORSEA] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEADRA] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOLDEEN] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEAKING] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_STARYU] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_STARMIE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MR_MIME] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SCYTHER] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JYNX] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ELECTABUZZ] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGMAR] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PINSIR] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TAUROS] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGIKARP] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GYARADOS] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LAPRAS] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DITTO] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EEVEE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VAPOREON] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JOLTEON] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FLAREON] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PORYGON] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_OMANYTE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_OMASTAR] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KABUTO] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KABUTOPS] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AERODACTYL] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SNORLAX] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARTICUNO] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ZAPDOS] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MOLTRES] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DRATINI] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DRAGONAIR] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 21 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DRAGONITE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 21 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEWTWO] = { - { 0x2d, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 45 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEW] = { - { 0x2d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 45 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHIKORITA] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BAYLEEF] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEGANIUM] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CYNDAQUIL] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_QUILAVA] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x8, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 6 }, + { .songLengthId = 8 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TYPHLOSION] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_TOTODILE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CROCONAW] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FERALIGATR] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 48 }, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 3 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, [SPECIES_SENTRET] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FURRET] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HOOTHOOT] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NOCTOWL] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LEDYBA] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LEDIAN] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPINARAK] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARIADOS] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CROBAT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHINCHOU] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LANTURN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PICHU] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLEFFA] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_IGGLYBUFF] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TOGEPI] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TOGETIC] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NATU] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_XATU] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAREEP] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FLAAFFY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AMPHAROS] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 6 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BELLOSSOM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MARILL] = { - { 0x8, 0x0, 0x0, 0x0, 0x0}, - { 0x10, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 8 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AZUMARILL] = { - { 0x8, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x10, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 8 }, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 16 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SUDOWOODO] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 24 }, + { .songLengthId = 39 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POLITOED] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HOPPIP] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SKIPLOOM] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JUMPLUFF] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AIPOM] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SUNKERN] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SUNFLORA] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_YANMA] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WOOPER] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_QUAGSIRE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 18 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ESPEON] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_UMBREON] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MURKROW] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLOWKING] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MISDREAVUS] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_UNOWN] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WOBBUFFET] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 44 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GIRAFARIG] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PINECO] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FORRETRESS] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUNSPARCE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GLIGAR] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_STEELIX] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SNUBBULL] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GRANBULL] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_QWILFISH] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SCIZOR] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHUCKLE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HERACROSS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SNEASEL] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TEDDIURSA] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_URSARING] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLUGMA] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGCARGO] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWINUB] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PILOSWINE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 26 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CORSOLA] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_REMORAID] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_OCTILLERY] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DELIBIRD] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MANTINE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SKARMORY] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HOUNDOUR] = { - { 0x23, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 35 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HOUNDOOM] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KINGDRA] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PHANPY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DONPHAN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PORYGON2] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_STANTLER] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SMEARGLE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TYROGUE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HITMONTOP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SMOOCHUM] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ELEKID] = { - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 11 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGBY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MILTANK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BLISSEY] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RAIKOU] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ENTEI] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SUICUNE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LARVITAR] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PUPITAR] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TYRANITAR] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LUGIA] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HO_OH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CELEBI] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TREECKO] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GROVYLE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SCEPTILE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TORCHIC] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_COMBUSKEN] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BLAZIKEN] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MUDKIP] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MARSHTOMP] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWAMPERT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POOCHYENA] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MIGHTYENA] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ZIGZAGOON] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LINOONE] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WURMPLE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SILCOON] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x28, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BEAUTIFLY] = { - { 0x2d, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 45 }, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CASCOON] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUSTOX] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x17, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LOTAD] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LOMBRE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LUDICOLO] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 9 }, + { .songLengthId = 26 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEEDOT] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NUZLEAF] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHIFTRY] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NINCADA] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x6, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NINJASK] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHEDINJA] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TAILLOW] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWELLOW] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHROOMISH] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BRELOOM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPINDA] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WINGULL] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PELIPPER] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SURSKIT] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MASQUERAIN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WAILMER] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WAILORD] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SKITTY] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DELCATTY] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KECLEON] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BALTOY] = { - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 1 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLAYDOL] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NOSEPASS] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TORKOAL] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SABLEYE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 11 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BARBOACH] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WHISCASH] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LUVDISC] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CORPHISH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CRAWDAUNT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FEEBAS] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MILOTIC] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CARVANHA] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 1 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHARPEDO] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TRAPINCH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VIBRAVA] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FLYGON] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAKUHITA] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HARIYAMA] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ELECTRIKE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MANECTRIC] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NUMEL] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CAMERUPT] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPHEAL] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEALEO] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WALREIN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CACNEA] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CACTURNE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SNORUNT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GLALIE] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LUNATONE] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SOLROCK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AZURILL] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 39 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPOINK] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GRUMPIG] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PLUSLE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MINUN] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAWILE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEDITITE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEDICHAM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWABLU] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ALTARIA] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WYNAUT] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUSKULL] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUSCLOPS] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ROSELIA] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLAKOTH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VIGOROTH] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLAKING] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GULPIN] = { - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 36 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWALOT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TROPIUS] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WHISMUR] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LOUDRED] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EXPLOUD] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLAMPERL] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HUNTAIL] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOREBYSS] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ABSOL] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHUPPET] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BANETTE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEVIPER] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ZANGOOSE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RELICANTH] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARON] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LAIRON] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AGGRON] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CASTFORM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VOLBEAT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ILLUMISE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LILEEP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CRADILY] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ANORITH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARMALDO] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RALTS] = { - { 0x7, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KIRLIA] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GARDEVOIR] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BAGON] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHELGON] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SALAMENCE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BELDUM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_METANG] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_METAGROSS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_REGIROCK] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_REGICE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_REGISTEEL] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KYOGRE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GROUDON] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RAYQUAZA] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LATIAS] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LATIOS] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JIRACHI] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DEOXYS] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHIMECHO] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/speech.h b/src/data/bard_music/speech.h index d0d4abb11..dc7844ec8 100644 --- a/src/data/bard_music/speech.h +++ b/src/data/bard_music/speech.h @@ -2,484 +2,484 @@ #define GUARD_DATA_BARD_MUSIC_SPEECH_H const struct BardSound gBardSounds_Speech[][6] = { { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 10 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 23 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 45 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 20 }, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 1 }, + { .songLengthId = 48 }, + { .songLengthId = 6 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 35 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 1 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 10 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 38 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 7 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 38 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 6 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/status.h b/src/data/bard_music/status.h index 418fe639a..9a3fd0139 100644 --- a/src/data/bard_music/status.h +++ b/src/data/bard_music/status.h @@ -2,876 +2,876 @@ #define GUARD_DATA_BARD_MUSIC_STATUS_H const struct BardSound gBardSounds_Status[][6] = { { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 12 }, + { .songLengthId = 6 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 27 }, + { .songLengthId = 50 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 50 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 42 }, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 23 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 8 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 24 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 36 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 32 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 32 }, + { .songLengthId = 27 }, + { .songLengthId = 30 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 8 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 15 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 33 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 36 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 48 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 20 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/time.h b/src/data/bard_music/time.h index 5755353a0..1f7dac8a6 100644 --- a/src/data/bard_music/time.h +++ b/src/data/bard_music/time.h @@ -2,364 +2,364 @@ #define GUARD_DATA_BARD_MUSIC_TIME_H const struct BardSound gBardSounds_Time[][6] = { { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 28 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/trainer.h b/src/data/bard_music/trainer.h index a59689b6c..05fc6a6ef 100644 --- a/src/data/bard_music/trainer.h +++ b/src/data/bard_music/trainer.h @@ -2,220 +2,220 @@ #define GUARD_DATA_BARD_MUSIC_TRAINER_H const struct BardSound gBardSounds_Trainer[][6] = { { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 39 }, + { .songLengthId = 45 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 18 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 } + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 6 }, }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 } + { .songLengthId = 9 }, + { .songLengthId = 8 }, + { .songLengthId = 6 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/trendysaying.h b/src/data/bard_music/trendysaying.h index 4830725ad..ccd9083ea 100644 --- a/src/data/bard_music/trendysaying.h +++ b/src/data/bard_music/trendysaying.h @@ -2,268 +2,268 @@ #define GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H const struct BardSound gBardSounds_TrendySaying[][6] = { { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 2 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 23 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/voices.h b/src/data/bard_music/voices.h index 868ebaecf..97f249ecb 100644 --- a/src/data/bard_music/voices.h +++ b/src/data/bard_music/voices.h @@ -2,508 +2,508 @@ #define GUARD_DATA_BARD_MUSIC_VOICES_H const struct BardSound gBardSounds_Voices[][6] = { { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x5, 0x8, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27, .songLengthOffset = 0x5, .unused = 0x8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x19, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 25 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 12 }, + { .songLengthId = 2 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, }, { - { 0x13, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 19 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 30 }, + { .songLengthId = 30 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 23 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x13, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 19 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 26 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 14 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x22, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 34 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/word_pitch.h b/src/data/bard_music/word_pitch.h index 35527017c..7b4205da5 100644 --- a/src/data/bard_music/word_pitch.h +++ b/src/data/bard_music/word_pitch.h @@ -3,184 +3,52 @@ #define PITCH_END 0x1800 -static const s16 sPitch1_0[] = { - -0x300, PITCH_END -}; - -static const s16 sPitch1_1[] = { - 0x0900, PITCH_END -}; - -static const s16 sPitch1_2[] = { - 0x0100, PITCH_END -}; - -static const s16 sPitch1_3[] = { - 0x0400, PITCH_END -}; - -static const s16 sPitch1_4[] = { - 0x0b00, PITCH_END -}; - -static const s16 sPitch2_0[] = { - -0x300, -0x100, PITCH_END -}; - -static const s16 sPitch2_1[] = { - -0x300, 0x0200, PITCH_END -}; - -static const s16 sPitch2_2[] = { - 0x0200, 0x0400, PITCH_END -}; - -static const s16 sPitch2_3[] = { - 0x0600, 0x0800, PITCH_END -}; - -static const s16 sPitch2_4[] = { - 0x0900, 0x0800, PITCH_END -}; - -static const s16 sPitch3_0[] = { - -0x300, -0x100, -0x300, PITCH_END -}; - -static const s16 sPitch3_1[] = { - 0x0400, -0x300, 0x0400, PITCH_END -}; - -static const s16 sPitch3_2[] = { - 0x0900, 0x0800, 0x0600, PITCH_END -}; - -static const s16 sPitch3_3[] = { - 0x0100, 0x0200, 0x0400, PITCH_END -}; - -static const s16 sPitch3_4[] = { - 0x0600, 0x1000, 0x0d00, PITCH_END -}; - -static const s16 sPitch4_0[] = { - 0x0400, 0x0900, 0x0400, 0x0900, PITCH_END -}; - -static const s16 sPitch4_1[] = { - 0x0900, 0x0400, 0x0d00, 0x0400, PITCH_END -}; - -static const s16 sPitch4_2[] = { - 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END -}; - -static const s16 sPitch4_3[] = { - 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END -}; - -static const s16 sPitch4_4[] = { - 0x0f00, 0x0d00, 0x0b00, 0x0a00, PITCH_END -}; - -static const s16 sPitch5_0[] = { - -0x300, -0x100, 0x0100, 0x0200, 0x0400, PITCH_END -}; - -static const s16 sPitch5_1[] = { - 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END -}; - -static const s16 sPitch5_2[] = { - 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, PITCH_END -}; - -static const s16 sPitch5_3[] = { - 0x0900, 0x0400, 0x0900, 0x0400, -0x300, PITCH_END -}; - -static const s16 sPitch5_4[] = { - 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, PITCH_END -}; - -static const s16 sPitch6_0[] = { - -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END -}; - -static const s16 sPitch6_1[] = { - 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, PITCH_END -}; - -static const s16 sPitch6_2[] = { - 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, PITCH_END -}; - -static const s16 sPitch6_3[] = { - 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, PITCH_END -}; - -static const s16 sPitch6_4[] = { - 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, PITCH_END -}; - -static const s16 sPitch7_0[] = { - 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, PITCH_END -}; - -static const s16 sPitch7_1[] = { - 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, PITCH_END -}; - -static const s16 sPitch7_2[] = { - 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, PITCH_END -}; - -static const s16 sPitch7_3[] = { - 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, PITCH_END -}; - -static const s16 sPitch7_4[] = { - 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, PITCH_END -}; +static const s16 sPitch1_0[] = { -0x300, PITCH_END }; +static const s16 sPitch1_1[] = { 0x0900, PITCH_END }; +static const s16 sPitch1_2[] = { 0x0100, PITCH_END }; +static const s16 sPitch1_3[] = { 0x0400, PITCH_END }; +static const s16 sPitch1_4[] = { 0x0b00, PITCH_END }; +static const s16 sPitch2_0[] = { -0x300, -0x100, PITCH_END }; +static const s16 sPitch2_1[] = { -0x300, 0x0200, PITCH_END }; +static const s16 sPitch2_2[] = { 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch2_3[] = { 0x0600, 0x0800, PITCH_END }; +static const s16 sPitch2_4[] = { 0x0900, 0x0800, PITCH_END }; +static const s16 sPitch3_0[] = { -0x300, -0x100, -0x300, PITCH_END }; +static const s16 sPitch3_1[] = { 0x0400, -0x300, 0x0400, PITCH_END }; +static const s16 sPitch3_2[] = { 0x0900, 0x0800, 0x0600, PITCH_END }; +static const s16 sPitch3_3[] = { 0x0100, 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch3_4[] = { 0x0600, 0x1000, 0x0d00, PITCH_END }; +static const s16 sPitch4_0[] = { 0x0400, 0x0900, 0x0400, 0x0900, PITCH_END }; +static const s16 sPitch4_1[] = { 0x0900, 0x0400, 0x0d00, 0x0400, PITCH_END }; +static const s16 sPitch4_2[] = { 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END }; +static const s16 sPitch4_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch4_4[] = { 0x0f00, 0x0d00, 0x0b00, 0x0a00, PITCH_END }; +static const s16 sPitch5_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch5_1[] = { 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch5_2[] = { 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, PITCH_END }; +static const s16 sPitch5_3[] = { 0x0900, 0x0400, 0x0900, 0x0400, -0x300, PITCH_END }; +static const s16 sPitch5_4[] = { 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, PITCH_END }; +static const s16 sPitch6_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END }; +static const s16 sPitch6_1[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, PITCH_END }; +static const s16 sPitch6_2[] = { 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, PITCH_END }; +static const s16 sPitch6_3[] = { 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, PITCH_END }; +static const s16 sPitch6_4[] = { 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, PITCH_END }; +static const s16 sPitch7_0[] = { 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch7_1[] = { 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, PITCH_END }; +static const s16 sPitch7_2[] = { 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, PITCH_END }; +static const s16 sPitch7_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, PITCH_END }; +static const s16 sPitch7_4[] = { 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, PITCH_END }; // Only sPitch7_# are used below // This table is always indexed with (x + 30), where x is some value 0 - 4 static const s16 *const sBardSoundPitchTables[] = { - sPitch1_0, - sPitch1_1, - sPitch1_2, - sPitch1_3, - sPitch1_4, - sPitch2_0, - sPitch2_1, - sPitch2_2, - sPitch2_3, - sPitch2_4, - sPitch3_0, - sPitch3_1, - sPitch3_2, - sPitch3_3, - sPitch3_4, - sPitch4_0, - sPitch4_1, - sPitch4_2, - sPitch4_3, - sPitch4_4, - sPitch5_0, - sPitch5_1, - sPitch5_2, - sPitch5_3, - sPitch5_4, - sPitch6_0, - sPitch6_1, - sPitch6_2, - sPitch6_3, - sPitch6_4, - sPitch7_0, - sPitch7_1, - sPitch7_2, - sPitch7_3, - sPitch7_4 + sPitch1_0, sPitch1_1, sPitch1_2, sPitch1_3, sPitch1_4, + sPitch2_0, sPitch2_1, sPitch2_2, sPitch2_3, sPitch2_4, + sPitch3_0, sPitch3_1, sPitch3_2, sPitch3_3, sPitch3_4, + sPitch4_0, sPitch4_1, sPitch4_2, sPitch4_3, sPitch4_4, + sPitch5_0, sPitch5_1, sPitch5_2, sPitch5_3, sPitch5_4, + sPitch6_0, sPitch6_1, sPitch6_2, sPitch6_3, sPitch6_4, + sPitch7_0, sPitch7_1, sPitch7_2, sPitch7_3, sPitch7_4 }; diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 2a0f884d4..346309c55 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -417,7 +417,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DOUBLE_KICK] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 30, .type = TYPE_FIGHTING, .accuracy = 100, @@ -725,7 +725,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_TWINEEDLE] = { - .effect = EFFECT_TWINEEDLE, + .effect = EFFECT_POISON_HIT, .power = 25, .type = TYPE_BUG, .accuracy = 100, @@ -2782,7 +2782,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_BONEMERANG] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 50, .type = TYPE_GROUND, .accuracy = 90, @@ -8224,7 +8224,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DOUBLE_HIT] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 35, .type = TYPE_NORMAL, .accuracy = 90, @@ -8339,7 +8339,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .accuracy = 80, #endif - .effect = EFFECT_SLEEP, + .effect = EFFECT_DARK_VOID, .power = 0, .type = TYPE_DARK, .pp = 10, @@ -9477,7 +9477,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DUAL_CHOP] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 40, .type = TYPE_DRAGON, .accuracy = 90, @@ -9714,7 +9714,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_GEAR_GRIND] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 50, .type = TYPE_STEEL, .accuracy = 85, @@ -11387,7 +11387,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .type = TYPE_FIRE, .accuracy = 100, .pp = 5, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, @@ -12181,7 +12181,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DMG_MINIMIZE | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST | FLAG_TWO_STRIKES, #endif - .effect = EFFECT_DOUBLE_IRON_BASH, + .effect = EFFECT_FLINCH_HIT, .power = 60, .type = TYPE_STEEL, .accuracy = 100, @@ -13029,7 +13029,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DUAL_WINGBEAT] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 40, .type = TYPE_FLYING, .accuracy = 90, @@ -13092,7 +13092,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SURGING_STRIKES] = { - .effect = EFFECT_TRIPLE_HIT, + .effect = EFFECT_ALWAYS_CRIT, .power = 25, .type = TYPE_WATER, .accuracy = 100, diff --git a/src/data/items.h b/src/data/items.h index b0b53c31f..513099d18 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -1565,7 +1565,7 @@ const struct Item gItems[] = .description = sLureDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, }, @@ -1579,7 +1579,7 @@ const struct Item gItems[] = .description = sSuperLureDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, }, @@ -1593,7 +1593,7 @@ const struct Item gItems[] = .description = sMaxLureDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, }, @@ -2035,8 +2035,8 @@ const struct Item gItems[] = .price = 300, .description = sHoneyDesc, .pocket = POCKET_ITEMS, - .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .type = ITEM_USE_FIELD, + .fieldUseFunc = ItemUseOutOfBattle_Honey, .flingPower = 30, }, diff --git a/src/data/object_events/object_event_graphics_info.h b/src/data/object_events/object_event_graphics_info.h index ea424090a..146bb8730 100755 --- a/src/data/object_events/object_event_graphics_info.h +++ b/src/data/object_events/object_event_graphics_info.h @@ -1,245 +1,4654 @@ -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = {TAG_NONE, OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_QuintyPlump, sPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_NinjaBoy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Twin, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleBoy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleGirl, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy3, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl3, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RichBoy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_FatMan, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman3, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman4, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cook, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_LinkReceptionist, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldMan, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldWoman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Camper, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Picnicker, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man3, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman5, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Youngster, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BugCatcher, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PsychicM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maniac, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HexManiac, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Standard, sPicTable_RayquazaStill, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BlackBelt, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Beauty, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lass, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Gentleman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sailor, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Fisherman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Hiker, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Nurse, sPicTable_Nurse, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ItemBall, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, NULL, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ProfBirch, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man4, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man5, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_CuttableTree, sPicTable_CuttableTree, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MartEmployee, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Teala, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BreakableRock, sPicTable_BreakableRock, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = {TAG_NONE, OBJ_EVENT_PAL_TAG_TRUCK, OBJ_EVENT_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_48x48, sAnimTable_Inanimate, sPicTable_Truck, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = {TAG_NONE, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = {TAG_NONE, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BirchsBag, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = {TAG_NONE, OBJ_EVENT_PAL_TAG_ZIGZAGOON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = {TAG_NONE, OBJ_EVENT_PAL_TAG_POOCHYENA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Poochyena, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Artist, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cameraman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = {TAG_NONE, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = {TAG_NONE, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = {TAG_NONE, OBJ_EVENT_PAL_TAG_MOVING_BOX, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MovingBox, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = {TAG_NONE, OBJ_EVENT_PAL_TAG_CABLE_CAR, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Inanimate, sPicTable_CableCar, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_DevonEmployee, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sidney, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Phoebe, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Glacia, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Drake, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Roxanne, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brawly, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wattson, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Flannery, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Norman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Winona, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Liza, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tate, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wallace, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Steven, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wally, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_MayFishing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = {TAG_NONE, OBJ_EVENT_PAL_TAG_SSTIDAL, OBJ_EVENT_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_96x40, sAnimTable_Standard, sPicTable_SSTidal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = {TAG_NONE, OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, OBJ_EVENT_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_88x32, sAnimTable_Standard, sPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PichuDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MarillDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DittoDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WynautDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LotadDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikaCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_RoundCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KissCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SpinCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BallCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GrassCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_FireCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WaterCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_GameboyKid, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ContestJudge, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayWatering, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_MayDecorating, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Archie, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maxie, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreSide, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_GroudonSide, sPicTable_GroudonSide, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_Fossil, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Skitty, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep = {TAG_NONE, OBJ_EVENT_PAL_TAG_KYOGRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep = {TAG_NONE, OBJ_EVENT_PAL_TAG_GROUDON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Rayquaza, sPicTable_Rayquaza, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Pikachu, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azumarill, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Wingull, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azurill, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mom, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Juan, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scott, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_Statue, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Kirlia, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Dusclops, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = {TAG_NONE, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Red, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = {TAG_NONE, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Leaf, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sudowoodo, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mew, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = {TAG_NONE, OBJ_EVENT_PAL_TAG_DEOXYS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Deoxys, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = {TAG_NONE, OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BirthIslandStone, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Anabel, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tucker, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Greta, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Spenser, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Noland, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lucy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brandon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = {TAG_NONE, OBJ_EVENT_PAL_TAG_RS_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = {TAG_NONE, OBJ_EVENT_PAL_TAG_RS_MAY, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = {TAG_NONE, OBJ_EVENT_PAL_TAG_LUGIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Lugia, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = {TAG_NONE, OBJ_EVENT_PAL_TAG_HO_OH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_HoOh, sPicTable_HoOh, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_BrendanNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BrendanMachBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_BrendanAcroBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Surfing, + .images = sPicTable_BrendanSurfing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_FieldMove, + .images = sPicTable_BrendanFieldMove, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_L, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_QuintyPlump, + .images = sPicTable_QuintyPlump, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_NinjaBoy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Twin, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Boy1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Girl1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Boy2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Girl2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_LittleBoy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_LittleGirl, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Boy3, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Girl3, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RichBoy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_FatMan, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_PokefanF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ExpertM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ExpertF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman3, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_PokefanM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman4, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Cook, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_LinkReceptionist, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_OldMan, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_OldWoman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Camper, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Picnicker, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man3, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman5, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Youngster, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BugCatcher, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_PsychicM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_SchoolKidM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Maniac, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_HexManiac, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 2048, + .width = 64, + .height = 64, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_64x64, + .subspriteTables = sOamTables_64x64, + .anims = sAnimTable_Standard, + .images = sPicTable_RayquazaStill, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_SwimmerM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_SwimmerF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BlackBelt, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Beauty, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Scientist1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Lass, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Gentleman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Sailor, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Fisherman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RunningTriathleteM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RunningTriathleteF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_TuberF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_TuberM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Hiker, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_CyclingTriathleteM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_CyclingTriathleteF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Nurse, + .images = sPicTable_Nurse, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_ItemBall, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = NULL, + .anims = sAnimTable_BerryTree, + .images = sPicTable_PechaBerryTree, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_BerryTree, + .images = sPicTable_PechaBerryTree, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BerryTree, + .images = sPicTable_PechaBerryTree, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ProfBirch, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man4, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man5, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ReporterM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ReporterF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedNatuDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedMagnemiteDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedSquirtleDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedWooperDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedPikachuDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedPorygon2Doll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_CuttableTree, + .images = sPicTable_CuttableTree, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MartEmployee, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RooftopSaleWoman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Teala, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_BreakableRock, + .images = sPicTable_BreakableRock, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_PushableBoulder, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MrBrineysBoat, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_MayNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MayMachBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_MayAcroBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Surfing, + .images = sPicTable_MaySurfing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_FieldMove, + .images = sPicTable_MayFieldMove, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_TRUCK, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 1152, + .width = 48, + .height = 48, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_48x48, + .anims = sAnimTable_Inanimate, + .images = sPicTable_Truck, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_VIGOROTH, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_VigorothCarryingBox, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_VIGOROTH, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_VigorothFacingAway, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BirchsBag, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_ZIGZAGOON, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_EnemyZigzagoon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_POOCHYENA, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Poochyena, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Artist, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_BrendanNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BrendanMachBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_BrendanAcroBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Surfing, + .images = sPicTable_BrendanSurfing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_FieldMove, + .images = sPicTable_BrendanFieldMove, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_MayNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MayMachBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_MayAcroBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Surfing, + .images = sPicTable_MaySurfing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_FieldMove, + .images = sPicTable_MayFieldMove, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Cameraman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BrendanUnderwater, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MayUnderwater, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MOVING_BOX, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MovingBox, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_CABLE_CAR, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 2048, + .width = 64, + .height = 64, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_64x64, + .subspriteTables = sOamTables_64x64, + .anims = sAnimTable_Inanimate, + .images = sPicTable_CableCar, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Scientist2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_DevonEmployee, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_AquaMemberM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_AquaMemberF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MagmaMemberM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MagmaMemberF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Sidney, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Phoebe, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Glacia, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Drake, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Roxanne, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Brawly, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Wattson, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Flannery, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Norman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Winona, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Liza, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Tate, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Wallace, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Steven, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Wally, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_RubySapphireLittleBoy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Fishing, + .images = sPicTable_BrendanFishing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Fishing, + .images = sPicTable_MayFishing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_HotSpringsOldWoman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_SSTIDAL, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 1920, + .width = 96, + .height = 40, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_8x8, + .subspriteTables = sOamTables_96x40, + .anims = sAnimTable_Standard, + .images = sPicTable_SSTidal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 1408, + .width = 88, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_8x8, + .subspriteTables = sOamTables_88x32, + .anims = sAnimTable_Standard, + .images = sPicTable_SubmarineShadow, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_PichuDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_PikachuDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MarillDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_TogepiDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_CyndaquilDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_ChikoritaDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_TotodileDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_JigglypuffDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MeowthDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_ClefairyDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_DittoDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SmoochumDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_TreeckoDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_TorchicDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MudkipDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_DuskullDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_WynautDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BaltoyDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_KecleonDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_AzurillDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SkittyDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SwabluDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_GulpinDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_LotadDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SeedotDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_PikaCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_RoundCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_KissCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_ZigzagCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SpinCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_DiamondCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BallCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_GrassCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_FireCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_WaterCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigSnorlaxDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigRhydonDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigLaprasDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigVenusaurDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigCharizardDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigBlastoiseDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigWailmerDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigRegirockDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigRegiceDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigRegisteelDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_LatiasLatios, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_LatiasLatios, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_GameboyKid, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ContestJudge, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BrendanWatering, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MayWatering, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BrendanDecorating, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MayDecorating, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Archie, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Maxie, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_KyogreFront, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_GroudonFront, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_KyogreSide, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_GroudonSide, + .images = sPicTable_GroudonSide, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_Fossil, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Regi, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Regi, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Regi, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Skitty, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Kecleon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_KYOGRE, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_KyogreFront, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_GROUDON, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_GroudonFront, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 2048, + .width = 64, + .height = 64, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_64x64, + .subspriteTables = sOamTables_64x64, + .anims = sAnimTable_Rayquaza, + .images = sPicTable_Rayquaza, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Zigzagoon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Pikachu, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Azumarill, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Wingull, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Kecleon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_TuberMSwimming, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Azurill, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Mom, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_BrendanNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_MayNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Juan, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Scott, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MysteryEventDeliveryman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_Statue, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Kirlia, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Dusclops, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_UnionRoomAttendant, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_RED_LEAF, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Red, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_RED_LEAF, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Leaf, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Sudowoodo, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Mew, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_DEOXYS, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Deoxys, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BirthIslandStone, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Anabel, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Tucker, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Greta, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Spenser, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Noland, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Lucy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Brandon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_RS_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RubySapphireBrendan, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_RS_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RubySapphireMay, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_LUGIA, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Lugia, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_HO_OH, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_HoOh, + .images = sPicTable_HoOh, + .affineAnims = gDummySpriteAffineAnimTable, +}; diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index b501d9aae..f4ad3b566 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -39,7 +39,7 @@ static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { }; static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -96,7 +96,7 @@ static const struct LevelUpMove sCharmeleonLevelUpLearnset[] = { }; static const struct LevelUpMove sCharizardLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), @@ -189,13 +189,13 @@ static const struct LevelUpMove sCaterpieLevelUpLearnset[] = { }; static const struct LevelUpMove sMetapodLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sButterfreeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(11, MOVE_CONFUSION), @@ -224,13 +224,13 @@ static const struct LevelUpMove sWeedleLevelUpLearnset[] = { }; static const struct LevelUpMove sKakunaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sBeedrillLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TWINEEDLE), + LEVEL_UP_MOVE( 0, MOVE_TWINEEDLE), LEVEL_UP_MOVE( 1, MOVE_TWINEEDLE), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(11, MOVE_FURY_ATTACK), @@ -326,7 +326,7 @@ static const struct LevelUpMove sRattataLevelUpLearnset[] = { }; static const struct LevelUpMove sRaticateLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -406,7 +406,7 @@ static const struct LevelUpMove sEkansLevelUpLearnset[] = { }; static const struct LevelUpMove sArbokLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -485,7 +485,7 @@ static const struct LevelUpMove sSandshrewLevelUpLearnset[] = { }; static const struct LevelUpMove sSandslashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE( 0, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -857,7 +857,7 @@ static const struct LevelUpMove sVenonatLevelUpLearnset[] = { }; static const struct LevelUpMove sVenomothLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), @@ -901,7 +901,7 @@ static const struct LevelUpMove sDiglettLevelUpLearnset[] = { }; static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -944,7 +944,7 @@ static const struct LevelUpMove sMeowthLevelUpLearnset[] = { }; static const struct LevelUpMove sPersianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -1036,7 +1036,7 @@ static const struct LevelUpMove sMankeyLevelUpLearnset[] = { }; static const struct LevelUpMove sPrimeapeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAGE), + LEVEL_UP_MOVE( 0, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_FINAL_GAMBIT), LEVEL_UP_MOVE( 1, MOVE_FLING), @@ -1130,7 +1130,7 @@ static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { }; static const struct LevelUpMove sPoliwrathLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), + LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), @@ -1148,7 +1148,7 @@ static const struct LevelUpMove sAbraLevelUpLearnset[] = { }; static const struct LevelUpMove sKadabraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_KINESIS), + LEVEL_UP_MOVE( 0, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1169,7 +1169,7 @@ static const struct LevelUpMove sKadabraLevelUpLearnset[] = { }; static const struct LevelUpMove sAlakazamLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_KINESIS), + LEVEL_UP_MOVE( 0, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1234,7 +1234,7 @@ static const struct LevelUpMove sMachokeLevelUpLearnset[] = { }; static const struct LevelUpMove sMachampLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STRENGTH), + LEVEL_UP_MOVE( 0, MOVE_STRENGTH), LEVEL_UP_MOVE( 1, MOVE_STRENGTH), LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), @@ -1298,7 +1298,7 @@ static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { }; static const struct LevelUpMove sVictreebelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), LEVEL_UP_MOVE( 1, MOVE_LEAF_TORNADO), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), LEVEL_UP_MOVE( 1, MOVE_SWALLOW), @@ -1444,7 +1444,7 @@ static const struct LevelUpMove sPonytaLevelUpLearnset[] = { }; static const struct LevelUpMove sRapidashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -1488,7 +1488,7 @@ static const struct LevelUpMove sSlowpokeLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 0, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_HEAL_PULSE), LEVEL_UP_MOVE( 1, MOVE_CURSE), @@ -1534,7 +1534,7 @@ static const struct LevelUpMove sMagnemiteLevelUpLearnset[] = { }; static const struct LevelUpMove sMagnetonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), @@ -1605,7 +1605,7 @@ static const struct LevelUpMove sDoduoLevelUpLearnset[] = { }; static const struct LevelUpMove sDodrioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -1650,7 +1650,7 @@ static const struct LevelUpMove sSeelLevelUpLearnset[] = { }; static const struct LevelUpMove sDewgongLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), + LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -1696,7 +1696,7 @@ static const struct LevelUpMove sGrimerLevelUpLearnset[] = { }; static const struct LevelUpMove sMukLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -1774,7 +1774,7 @@ static const struct LevelUpMove sGastlyLevelUpLearnset[] = { }; static const struct LevelUpMove sHaunterLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -1796,7 +1796,7 @@ static const struct LevelUpMove sHaunterLevelUpLearnset[] = { }; static const struct LevelUpMove sGengarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -1997,7 +1997,7 @@ static const struct LevelUpMove sExeggcuteLevelUpLearnset[] = { }; static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STOMP), + LEVEL_UP_MOVE( 0, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), LEVEL_UP_MOVE( 1, MOVE_BARRAGE), @@ -2054,7 +2054,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -2082,7 +2082,7 @@ static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_COUNTER), @@ -2149,7 +2149,7 @@ static const struct LevelUpMove sKoffingLevelUpLearnset[] = { }; static const struct LevelUpMove sWeezingLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2191,7 +2191,7 @@ static const struct LevelUpMove sRhyhornLevelUpLearnset[] = { }; static const struct LevelUpMove sRhydonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), @@ -2547,7 +2547,7 @@ static const struct LevelUpMove sMagikarpLevelUpLearnset[] = { }; static const struct LevelUpMove sGyaradosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 0, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE(21, MOVE_LEER), @@ -2611,7 +2611,7 @@ static const struct LevelUpMove sEeveeLevelUpLearnset[] = { }; static const struct LevelUpMove sVaporeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2631,7 +2631,7 @@ static const struct LevelUpMove sVaporeonLevelUpLearnset[] = { }; static const struct LevelUpMove sJolteonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2651,7 +2651,7 @@ static const struct LevelUpMove sJolteonLevelUpLearnset[] = { }; static const struct LevelUpMove sFlareonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EMBER), + LEVEL_UP_MOVE( 0, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2708,7 +2708,7 @@ static const struct LevelUpMove sOmanyteLevelUpLearnset[] = { }; static const struct LevelUpMove sOmastarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE( 0, MOVE_SPIKE_CANNON), LEVEL_UP_MOVE( 1, MOVE_SPIKE_CANNON), LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), @@ -2746,7 +2746,7 @@ static const struct LevelUpMove sKabutoLevelUpLearnset[] = { }; static const struct LevelUpMove sKabutopsLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -2910,7 +2910,7 @@ static const struct LevelUpMove sDragonairLevelUpLearnset[] = { }; static const struct LevelUpMove sDragoniteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), @@ -3016,7 +3016,7 @@ static const struct LevelUpMove sBayleefLevelUpLearnset[] = { }; static const struct LevelUpMove sMeganiumLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -3188,7 +3188,7 @@ static const struct LevelUpMove sSentretLevelUpLearnset[] = { }; static const struct LevelUpMove sFurretLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AGILITY), + LEVEL_UP_MOVE( 0, MOVE_AGILITY), LEVEL_UP_MOVE( 1, MOVE_AGILITY), LEVEL_UP_MOVE( 1, MOVE_COIL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -3318,7 +3318,7 @@ static const struct LevelUpMove sSpinarakLevelUpLearnset[] = { }; static const struct LevelUpMove sAriadosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), @@ -3347,7 +3347,7 @@ static const struct LevelUpMove sAriadosLevelUpLearnset[] = { }; static const struct LevelUpMove sCrobatLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CROSS_POISON), + LEVEL_UP_MOVE( 0, MOVE_CROSS_POISON), LEVEL_UP_MOVE( 1, MOVE_CROSS_POISON), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3392,9 +3392,9 @@ static const struct LevelUpMove sChinchouLevelUpLearnset[] = { }; static const struct LevelUpMove sLanturnLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), - //LEVEL_UP_MOVE( 0, MOVE_SWALLOW), - //LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 0, MOVE_SWALLOW), + LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), @@ -3515,7 +3515,7 @@ static const struct LevelUpMove sNatuLevelUpLearnset[] = { }; static const struct LevelUpMove sXatuLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_TAILWIND), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -3580,7 +3580,7 @@ static const struct LevelUpMove sFlaaffyLevelUpLearnset[] = { }; static const struct LevelUpMove sAmpharosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), @@ -3609,7 +3609,7 @@ static const struct LevelUpMove sAmpharosLevelUpLearnset[] = { }; static const struct LevelUpMove sBellossomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 0, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), LEVEL_UP_MOVE( 1, MOVE_LEAF_BLADE), @@ -3667,7 +3667,7 @@ static const struct LevelUpMove sAzumarillLevelUpLearnset[] = { }; static const struct LevelUpMove sSudowoodoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLAM), + LEVEL_UP_MOVE( 0, MOVE_SLAM), LEVEL_UP_MOVE( 1, MOVE_SLAM), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), @@ -3896,7 +3896,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; static const struct LevelUpMove sEspeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -3916,7 +3916,7 @@ static const struct LevelUpMove sEspeonLevelUpLearnset[] = { }; static const struct LevelUpMove sUmbreonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PURSUIT), + LEVEL_UP_MOVE( 0, MOVE_PURSUIT), LEVEL_UP_MOVE( 1, MOVE_PURSUIT), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -4048,8 +4048,8 @@ static const struct LevelUpMove sPinecoLevelUpLearnset[] = { }; static const struct LevelUpMove sForretressLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MIRROR_SHOT), - //LEVEL_UP_MOVE( 0, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE( 0, MOVE_MIRROR_SHOT), + LEVEL_UP_MOVE( 0, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_MIRROR_SHOT), LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), @@ -4369,7 +4369,7 @@ static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { }; static const struct LevelUpMove sMagcargoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), LEVEL_UP_MOVE( 1, MOVE_YAWN), @@ -4413,7 +4413,7 @@ static const struct LevelUpMove sSwinubLevelUpLearnset[] = { }; static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -4476,7 +4476,7 @@ static const struct LevelUpMove sRemoraidLevelUpLearnset[] = { }; static const struct LevelUpMove sOctilleryLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OCTAZOOKA), + LEVEL_UP_MOVE( 0, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), @@ -4634,7 +4634,7 @@ static const struct LevelUpMove sPhanpyLevelUpLearnset[] = { }; static const struct LevelUpMove sDonphanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -4719,7 +4719,7 @@ static const struct LevelUpMove sTyrogueLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmontopLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE( 0, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -5166,7 +5166,7 @@ static const struct LevelUpMove sTreeckoLevelUpLearnset[] = { }; static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5189,7 +5189,7 @@ static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { }; static const struct LevelUpMove sSceptileLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), @@ -5231,7 +5231,7 @@ static const struct LevelUpMove sTorchicLevelUpLearnset[] = { }; static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -5252,7 +5252,7 @@ static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { }; static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), LEVEL_UP_MOVE( 1, MOVE_BLAZE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), @@ -5294,7 +5294,7 @@ static const struct LevelUpMove sMudkipLevelUpLearnset[] = { }; static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -5357,7 +5357,7 @@ static const struct LevelUpMove sPoochyenaLevelUpLearnset[] = { }; static const struct LevelUpMove sMightyenaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SNARL), + LEVEL_UP_MOVE( 0, MOVE_SNARL), LEVEL_UP_MOVE( 1, MOVE_SNARL), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -5439,13 +5439,13 @@ static const struct LevelUpMove sWurmpleLevelUpLearnset[] = { }; static const struct LevelUpMove sSilcoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sBeautiflyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE(12, MOVE_ABSORB), LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), @@ -5463,13 +5463,13 @@ static const struct LevelUpMove sBeautiflyLevelUpLearnset[] = { }; static const struct LevelUpMove sCascoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sDustoxLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE(12, MOVE_CONFUSION), LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), @@ -5540,7 +5540,7 @@ static const struct LevelUpMove sSeedotLevelUpLearnset[] = { }; static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 3, MOVE_HARDEN), @@ -5583,9 +5583,9 @@ static const struct LevelUpMove sNincadaLevelUpLearnset[] = { }; static const struct LevelUpMove sNinjaskLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_TEAM), - //LEVEL_UP_MOVE( 0, MOVE_SCREECH), - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 0, MOVE_SCREECH), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), @@ -5682,7 +5682,7 @@ static const struct LevelUpMove sShroomishLevelUpLearnset[] = { }; static const struct LevelUpMove sBreloomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -5738,7 +5738,7 @@ static const struct LevelUpMove sWingullLevelUpLearnset[] = { }; static const struct LevelUpMove sPelipperLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), @@ -5927,7 +5927,7 @@ static const struct LevelUpMove sBaltoyLevelUpLearnset[] = { }; static const struct LevelUpMove sClaydolLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 0, MOVE_HYPER_BEAM), LEVEL_UP_MOVE( 1, MOVE_HYPER_BEAM), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -6038,7 +6038,7 @@ static const struct LevelUpMove sBarboachLevelUpLearnset[] = { }; static const struct LevelUpMove sWhiscashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THRASH), + LEVEL_UP_MOVE( 0, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), @@ -6105,7 +6105,7 @@ static const struct LevelUpMove sCorphishLevelUpLearnset[] = { }; static const struct LevelUpMove sCrawdauntLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -6136,7 +6136,7 @@ static const struct LevelUpMove sFeebasLevelUpLearnset[] = { }; static const struct LevelUpMove sMiloticLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -6178,7 +6178,7 @@ static const struct LevelUpMove sCarvanhaLevelUpLearnset[] = { }; static const struct LevelUpMove sSharpedoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -6225,7 +6225,7 @@ static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { }; static const struct LevelUpMove sVibravaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM), @@ -6248,7 +6248,7 @@ static const struct LevelUpMove sVibravaLevelUpLearnset[] = { }; static const struct LevelUpMove sFlygonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), LEVEL_UP_MOVE( 1, MOVE_DRAGON_CLAW), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), @@ -6378,7 +6378,7 @@ static const struct LevelUpMove sNumelLevelUpLearnset[] = { }; static const struct LevelUpMove sCameruptLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_FISSURE), LEVEL_UP_MOVE( 1, MOVE_ERUPTION), @@ -6422,7 +6422,7 @@ static const struct LevelUpMove sSphealLevelUpLearnset[] = { }; static const struct LevelUpMove sSealeoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -6443,7 +6443,7 @@ static const struct LevelUpMove sSealeoLevelUpLearnset[] = { }; static const struct LevelUpMove sWalreinLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -6487,7 +6487,7 @@ static const struct LevelUpMove sCacneaLevelUpLearnset[] = { }; static const struct LevelUpMove sCacturneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), LEVEL_UP_MOVE( 1, MOVE_REVENGE), @@ -6531,7 +6531,7 @@ static const struct LevelUpMove sSnoruntLevelUpLearnset[] = { }; static const struct LevelUpMove sGlalieLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -6631,7 +6631,7 @@ static const struct LevelUpMove sSpoinkLevelUpLearnset[] = { }; static const struct LevelUpMove sGrumpigLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_SPLASH), @@ -6800,7 +6800,7 @@ static const struct LevelUpMove sSwabluLevelUpLearnset[] = { }; static const struct LevelUpMove sAltariaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLUCK), @@ -6858,7 +6858,7 @@ static const struct LevelUpMove sDuskullLevelUpLearnset[] = { }; static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), @@ -6941,7 +6941,7 @@ static const struct LevelUpMove sVigorothLevelUpLearnset[] = { }; static const struct LevelUpMove sSlakingLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_PUNISHMENT), @@ -6985,7 +6985,7 @@ static const struct LevelUpMove sGulpinLevelUpLearnset[] = { }; static const struct LevelUpMove sSwalotLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), @@ -7051,7 +7051,7 @@ static const struct LevelUpMove sWhismurLevelUpLearnset[] = { }; static const struct LevelUpMove sLoudredLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 0, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), @@ -7073,7 +7073,7 @@ static const struct LevelUpMove sLoudredLevelUpLearnset[] = { }; static const struct LevelUpMove sExploudLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BOOMBURST), @@ -7583,7 +7583,7 @@ static const struct LevelUpMove sBagonLevelUpLearnset[] = { }; static const struct LevelUpMove sShelgonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -7605,7 +7605,7 @@ static const struct LevelUpMove sShelgonLevelUpLearnset[] = { }; static const struct LevelUpMove sSalamenceLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLY), + LEVEL_UP_MOVE( 0, MOVE_FLY), LEVEL_UP_MOVE( 1, MOVE_FLY), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), @@ -7636,8 +7636,8 @@ static const struct LevelUpMove sBeldumLevelUpLearnset[] = { }; static const struct LevelUpMove sMetangLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), - //LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), @@ -7656,7 +7656,7 @@ static const struct LevelUpMove sMetangLevelUpLearnset[] = { }; static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), @@ -7939,7 +7939,7 @@ static const struct LevelUpMove sGrotleLevelUpLearnset[] = { }; static const struct LevelUpMove sTorterraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -7978,7 +7978,7 @@ static const struct LevelUpMove sChimcharLevelUpLearnset[] = { }; static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -7998,7 +7998,7 @@ static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { }; static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), @@ -8037,7 +8037,7 @@ static const struct LevelUpMove sPiplupLevelUpLearnset[] = { }; static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -8058,7 +8058,7 @@ static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { }; static const struct LevelUpMove sEmpoleonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8113,7 +8113,7 @@ static const struct LevelUpMove sStaraviaLevelUpLearnset[] = { }; static const struct LevelUpMove sStaraptorLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -8151,7 +8151,7 @@ static const struct LevelUpMove sBidoofLevelUpLearnset[] = { }; static const struct LevelUpMove sBibarelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -8181,7 +8181,7 @@ static const struct LevelUpMove sKricketotLevelUpLearnset[] = { }; static const struct LevelUpMove sKricketuneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_BIDE), @@ -8292,7 +8292,7 @@ static const struct LevelUpMove sCranidosLevelUpLearnset[] = { }; static const struct LevelUpMove sRampardosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -8328,7 +8328,7 @@ static const struct LevelUpMove sShieldonLevelUpLearnset[] = { }; static const struct LevelUpMove sBastiodonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLOCK), + LEVEL_UP_MOVE( 0, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -8356,7 +8356,7 @@ static const struct LevelUpMove sBurmyLevelUpLearnset[] = { }; static const struct LevelUpMove sWormadamLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8379,7 +8379,7 @@ static const struct LevelUpMove sWormadamLevelUpLearnset[] = { }; static const struct LevelUpMove sMothimLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -8409,7 +8409,7 @@ static const struct LevelUpMove sCombeeLevelUpLearnset[] = { }; static const struct LevelUpMove sVespiquenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), @@ -8510,7 +8510,7 @@ static const struct LevelUpMove sCherubiLevelUpLearnset[] = { }; static const struct LevelUpMove sCherrimLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8645,7 +8645,7 @@ static const struct LevelUpMove sBunearyLevelUpLearnset[] = { }; static const struct LevelUpMove sLopunnyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RETURN), + LEVEL_UP_MOVE( 0, MOVE_RETURN), LEVEL_UP_MOVE( 1, MOVE_RETURN), LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), LEVEL_UP_MOVE( 1, MOVE_BOUNCE), @@ -8720,7 +8720,7 @@ static const struct LevelUpMove sGlameowLevelUpLearnset[] = { }; static const struct LevelUpMove sPuruglyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -8774,7 +8774,7 @@ static const struct LevelUpMove sStunkyLevelUpLearnset[] = { }; static const struct LevelUpMove sSkuntankLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 0, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -8819,7 +8819,7 @@ static const struct LevelUpMove sBronzorLevelUpLearnset[] = { }; static const struct LevelUpMove sBronzongLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLOCK), + LEVEL_UP_MOVE( 0, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), @@ -8949,7 +8949,7 @@ static const struct LevelUpMove sGibleLevelUpLearnset[] = { }; static const struct LevelUpMove sGabiteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -8967,7 +8967,7 @@ static const struct LevelUpMove sGabiteLevelUpLearnset[] = { }; static const struct LevelUpMove sGarchompLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), @@ -9027,7 +9027,7 @@ static const struct LevelUpMove sRioluLevelUpLearnset[] = { }; static const struct LevelUpMove sLucarioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -9496,7 +9496,7 @@ static const struct LevelUpMove sYanmegaLevelUpLearnset[] = { }; static const struct LevelUpMove sLeafeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -9516,7 +9516,7 @@ static const struct LevelUpMove sLeafeonLevelUpLearnset[] = { }; static const struct LevelUpMove sGlaceonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -9610,7 +9610,7 @@ static const struct LevelUpMove sPorygonZLevelUpLearnset[] = { }; static const struct LevelUpMove sGalladeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -9640,7 +9640,7 @@ static const struct LevelUpMove sGalladeLevelUpLearnset[] = { }; static const struct LevelUpMove sProbopassLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), @@ -9697,7 +9697,7 @@ static const struct LevelUpMove sDusknoirLevelUpLearnset[] = { }; static const struct LevelUpMove sFroslassLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OMINOUS_WIND), + LEVEL_UP_MOVE( 0, MOVE_OMINOUS_WIND), LEVEL_UP_MOVE( 1, MOVE_OMINOUS_WIND), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -10098,7 +10098,7 @@ static const struct LevelUpMove sTepigLevelUpLearnset[] = { }; static const struct LevelUpMove sPigniteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -10187,7 +10187,7 @@ static const struct LevelUpMove sDewottLevelUpLearnset[] = { }; static const struct LevelUpMove sSamurottLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10233,7 +10233,7 @@ static const struct LevelUpMove sPatratLevelUpLearnset[] = { }; static const struct LevelUpMove sWatchogLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 0, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10600,7 +10600,7 @@ static const struct LevelUpMove sRoggenrolaLevelUpLearnset[] = { }; static const struct LevelUpMove sBoldoreLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -10701,7 +10701,7 @@ static const struct LevelUpMove sDrilburLevelUpLearnset[] = { }; static const struct LevelUpMove sExcadrillLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), + LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -10852,7 +10852,7 @@ static const struct LevelUpMove sPalpitoadLevelUpLearnset[] = { }; static const struct LevelUpMove sSeismitoadLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ACID), + LEVEL_UP_MOVE( 0, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -10927,7 +10927,7 @@ static const struct LevelUpMove sSewaddleLevelUpLearnset[] = { }; static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_GRASS_WHISTLE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10938,7 +10938,7 @@ static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { }; static const struct LevelUpMove sLeavannyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10978,7 +10978,7 @@ static const struct LevelUpMove sVenipedeLevelUpLearnset[] = { }; static const struct LevelUpMove sWhirlipedeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), @@ -11001,7 +11001,7 @@ static const struct LevelUpMove sWhirlipedeLevelUpLearnset[] = { }; static const struct LevelUpMove sScolipedeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 0, MOVE_BATON_PASS), LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -11202,7 +11202,7 @@ static const struct LevelUpMove sDarumakaLevelUpLearnset[] = { }; static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), @@ -11376,7 +11376,7 @@ static const struct LevelUpMove sYamaskLevelUpLearnset[] = { }; static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -11553,7 +11553,7 @@ static const struct LevelUpMove sZoruaLevelUpLearnset[] = { }; static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_DAZE), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -11721,7 +11721,7 @@ static const struct LevelUpMove sDuosionLevelUpLearnset[] = { }; static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_DIZZY_PUNCH), LEVEL_UP_MOVE( 1, MOVE_DIZZY_PUNCH), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 1, MOVE_REFLECT), @@ -11872,7 +11872,7 @@ static const struct LevelUpMove sDeerlingLevelUpLearnset[] = { }; static const struct LevelUpMove sSawsbuckLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HORN_LEECH), + LEVEL_UP_MOVE( 0, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -12088,7 +12088,7 @@ static const struct LevelUpMove sJoltikLevelUpLearnset[] = { }; static const struct LevelUpMove sGalvantulaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), + LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -12130,7 +12130,7 @@ static const struct LevelUpMove sFerroseedLevelUpLearnset[] = { }; static const struct LevelUpMove sFerrothornLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POWER_WHIP), + LEVEL_UP_MOVE( 0, MOVE_POWER_WHIP), LEVEL_UP_MOVE( 1, MOVE_POWER_WHIP), LEVEL_UP_MOVE( 1, MOVE_ROCK_CLIMB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -12195,7 +12195,7 @@ static const struct LevelUpMove sKlangLevelUpLearnset[] = { }; static const struct LevelUpMove sKlinklangLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 0, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_GEAR_UP), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), @@ -12228,7 +12228,7 @@ static const struct LevelUpMove sTynamoLevelUpLearnset[] = { }; static const struct LevelUpMove sEelektrikLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -12452,7 +12452,7 @@ static const struct LevelUpMove sCubchooLevelUpLearnset[] = { }; static const struct LevelUpMove sBearticLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_THRASH), @@ -12659,7 +12659,7 @@ static const struct LevelUpMove sGolettLevelUpLearnset[] = { }; static const struct LevelUpMove sGolurkLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HIGH_HORSEPOWER), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -12768,7 +12768,7 @@ static const struct LevelUpMove sRuffletLevelUpLearnset[] = { }; static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), @@ -12815,7 +12815,7 @@ static const struct LevelUpMove sVullabyLevelUpLearnset[] = { }; static const struct LevelUpMove sMandibuzzLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), + LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), LEVEL_UP_MOVE( 1, MOVE_BONE_RUSH), LEVEL_UP_MOVE( 1, MOVE_MIRROR_MOVE), LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), @@ -12969,7 +12969,7 @@ static const struct LevelUpMove sLarvestaLevelUpLearnset[] = { }; static const struct LevelUpMove sVolcaronaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_FIERY_DANCE), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), @@ -13274,7 +13274,7 @@ static const struct LevelUpMove sChespinLevelUpLearnset[] = { }; static const struct LevelUpMove sQuilladinLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NEEDLE_ARM), + LEVEL_UP_MOVE( 0, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -13294,7 +13294,7 @@ static const struct LevelUpMove sQuilladinLevelUpLearnset[] = { }; static const struct LevelUpMove sChesnaughtLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), @@ -13363,7 +13363,7 @@ static const struct LevelUpMove sBraixenLevelUpLearnset[] = { }; static const struct LevelUpMove sDelphoxLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE( 0, MOVE_MYSTICAL_FIRE), LEVEL_UP_MOVE( 1, MOVE_MYSTICAL_FIRE), LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -13429,7 +13429,7 @@ static const struct LevelUpMove sFrogadierLevelUpLearnset[] = { }; static const struct LevelUpMove sGreninjaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_SHURIKEN), + LEVEL_UP_MOVE( 0, MOVE_WATER_SHURIKEN), LEVEL_UP_MOVE( 1, MOVE_WATER_SHURIKEN), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_HAZE), @@ -13520,7 +13520,7 @@ static const struct LevelUpMove sFletchlingLevelUpLearnset[] = { }; static const struct LevelUpMove sFletchinderLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EMBER), + LEVEL_UP_MOVE( 0, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -13573,14 +13573,14 @@ static const struct LevelUpMove sScatterbugLevelUpLearnset[] = { }; static const struct LevelUpMove sSpewpaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sVivillonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_POWDER), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), @@ -13715,7 +13715,7 @@ static const struct LevelUpMove sSkiddoLevelUpLearnset[] = { }; static const struct LevelUpMove sGogoatLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 0, MOVE_AERIAL_ACE), LEVEL_UP_MOVE( 1, MOVE_AERIAL_ACE), LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -13758,7 +13758,7 @@ static const struct LevelUpMove sPanchamLevelUpLearnset[] = { }; static const struct LevelUpMove sPangoroLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_LOW_SWEEP), @@ -14099,7 +14099,7 @@ static const struct LevelUpMove sSkrelpLevelUpLearnset[] = { }; static const struct LevelUpMove sDragalgeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TWISTER), + LEVEL_UP_MOVE( 0, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -14141,7 +14141,7 @@ static const struct LevelUpMove sClauncherLevelUpLearnset[] = { }; static const struct LevelUpMove sClawitzerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_DARK_PULSE), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), @@ -14212,7 +14212,7 @@ static const struct LevelUpMove sTyruntLevelUpLearnset[] = { }; static const struct LevelUpMove sTyrantrumLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_HEAD_SMASH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -14260,7 +14260,7 @@ static const struct LevelUpMove sAmauraLevelUpLearnset[] = { }; static const struct LevelUpMove sAurorusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -14286,7 +14286,7 @@ static const struct LevelUpMove sAurorusLevelUpLearnset[] = { }; static const struct LevelUpMove sSylveonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 0, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -14399,7 +14399,7 @@ static const struct LevelUpMove sSliggooLevelUpLearnset[] = { }; static const struct LevelUpMove sGoodraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE( 0, MOVE_AQUA_TAIL), LEVEL_UP_MOVE( 1, MOVE_AQUA_TAIL), LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -14460,7 +14460,7 @@ static const struct LevelUpMove sPhantumpLevelUpLearnset[] = { }; static const struct LevelUpMove sTrevenantLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -14546,7 +14546,7 @@ static const struct LevelUpMove sBergmiteLevelUpLearnset[] = { }; static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -14795,7 +14795,7 @@ static const struct LevelUpMove sDartrixLevelUpLearnset[] = { }; static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIRIT_SHACKLE), + LEVEL_UP_MOVE( 0, MOVE_SPIRIT_SHACKLE), LEVEL_UP_MOVE( 1, MOVE_SPIRIT_SHACKLE), LEVEL_UP_MOVE( 1, MOVE_PHANTOM_FORCE), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), @@ -14865,7 +14865,7 @@ static const struct LevelUpMove sTorracatLevelUpLearnset[] = { }; static const struct LevelUpMove sIncineroarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), + LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), LEVEL_UP_MOVE( 1, MOVE_DARKEST_LARIAT), LEVEL_UP_MOVE( 1, MOVE_BULK_UP), LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), @@ -14934,7 +14934,7 @@ static const struct LevelUpMove sBrionneLevelUpLearnset[] = { }; static const struct LevelUpMove sPrimarinaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), + LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), LEVEL_UP_MOVE( 1, MOVE_SPARKLING_ARIA), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -14996,7 +14996,7 @@ static const struct LevelUpMove sTrumbeakLevelUpLearnset[] = { }; static const struct LevelUpMove sToucannonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), + LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), LEVEL_UP_MOVE( 1, MOVE_BEAK_BLAST), LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -15076,7 +15076,7 @@ static const struct LevelUpMove sGrubbinLevelUpLearnset[] = { }; static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CHARGE), + LEVEL_UP_MOVE( 0, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), @@ -15097,7 +15097,7 @@ static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { }; static const struct LevelUpMove sVikavoltLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), LEVEL_UP_MOVE( 1, MOVE_THUNDERBOLT), LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -15137,7 +15137,7 @@ static const struct LevelUpMove sCrabrawlerLevelUpLearnset[] = { }; static const struct LevelUpMove sCrabominableLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -15194,7 +15194,7 @@ static const struct LevelUpMove sCutieflyLevelUpLearnset[] = { }; static const struct LevelUpMove sRibombeeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), + LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), LEVEL_UP_MOVE( 1, MOVE_POLLEN_PUFF), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), @@ -15233,7 +15233,7 @@ static const struct LevelUpMove sRockruffLevelUpLearnset[] = { }; static const struct LevelUpMove sLycanrocLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ACCELEROCK), + LEVEL_UP_MOVE( 0, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -15294,7 +15294,7 @@ static const struct LevelUpMove sMareanieLevelUpLearnset[] = { }; static const struct LevelUpMove sToxapexLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BANEFUL_BUNKER), + LEVEL_UP_MOVE( 0, MOVE_BANEFUL_BUNKER), LEVEL_UP_MOVE( 1, MOVE_BANEFUL_BUNKER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -15410,7 +15410,7 @@ static const struct LevelUpMove sFomantisLevelUpLearnset[] = { }; static const struct LevelUpMove sLurantisLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -15489,7 +15489,7 @@ static const struct LevelUpMove sSalanditLevelUpLearnset[] = { }; static const struct LevelUpMove sSalazzleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CAPTIVATE), + LEVEL_UP_MOVE( 0, MOVE_CAPTIVATE), LEVEL_UP_MOVE( 1, MOVE_CAPTIVATE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -15532,7 +15532,7 @@ static const struct LevelUpMove sStuffulLevelUpLearnset[] = { }; static const struct LevelUpMove sBewearLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BIND), + LEVEL_UP_MOVE( 0, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -15564,7 +15564,7 @@ static const struct LevelUpMove sBounsweetLevelUpLearnset[] = { }; static const struct LevelUpMove sSteeneeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), @@ -15585,7 +15585,7 @@ static const struct LevelUpMove sSteeneeLevelUpLearnset[] = { }; static const struct LevelUpMove sTsareenaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TROP_KICK), + LEVEL_UP_MOVE( 0, MOVE_TROP_KICK), LEVEL_UP_MOVE( 1, MOVE_TROP_KICK), LEVEL_UP_MOVE( 1, MOVE_PUNISHMENT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -15677,7 +15677,7 @@ static const struct LevelUpMove sWimpodLevelUpLearnset[] = { }; static const struct LevelUpMove sGolisopodLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE( 0, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -15779,7 +15779,7 @@ static const struct LevelUpMove sTypeNullLevelUpLearnset[] = { }; static const struct LevelUpMove sSilvallyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MULTI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_MULTI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_MULTI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HEAL_BLOCK), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -15979,7 +15979,7 @@ static const struct LevelUpMove sJangmooLevelUpLearnset[] = { }; static const struct LevelUpMove sHakamooLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE( 0, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -16004,7 +16004,7 @@ static const struct LevelUpMove sHakamooLevelUpLearnset[] = { }; static const struct LevelUpMove sKommooLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), + LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), LEVEL_UP_MOVE( 1, MOVE_CLANGING_SCALES), LEVEL_UP_MOVE( 1, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), @@ -16125,14 +16125,14 @@ static const struct LevelUpMove sCosmogLevelUpLearnset[] = { }; static const struct LevelUpMove sCosmoemLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), + LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), LEVEL_UP_MOVE( 1, MOVE_SUNSTEEL_STRIKE), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_WAKE_UP_SLAP), @@ -16154,7 +16154,7 @@ static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { }; static const struct LevelUpMove sLunalaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), + LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), LEVEL_UP_MOVE( 1, MOVE_MOONGEIST_BEAM), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), @@ -16426,7 +16426,7 @@ static const struct LevelUpMove sPoipoleLevelUpLearnset[] = { }; static const struct LevelUpMove sNaganadelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_AIR_CUTTER), LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -16511,7 +16511,7 @@ static const struct LevelUpMove sMeltanLevelUpLearnset[] = { }; static const struct LevelUpMove sMelmetalLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -16548,7 +16548,7 @@ static const struct LevelUpMove sGrookeyLevelUpLearnset[] = { }; static const struct LevelUpMove sThwackeyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -16565,7 +16565,7 @@ static const struct LevelUpMove sThwackeyLevelUpLearnset[] = { }; static const struct LevelUpMove sRillaboomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRUM_BEATING), + LEVEL_UP_MOVE( 0, MOVE_DRUM_BEATING), LEVEL_UP_MOVE( 1, MOVE_DRUM_BEATING), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), @@ -16616,7 +16616,7 @@ static const struct LevelUpMove sRabootLevelUpLearnset[] = { }; static const struct LevelUpMove sCinderaceLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PYRO_BALL), + LEVEL_UP_MOVE( 0, MOVE_PYRO_BALL), LEVEL_UP_MOVE( 1, MOVE_PYRO_BALL), LEVEL_UP_MOVE( 1, MOVE_FEINT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -16665,7 +16665,7 @@ static const struct LevelUpMove sDrizzileLevelUpLearnset[] = { }; static const struct LevelUpMove sInteleonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SNIPE_SHOT), + LEVEL_UP_MOVE( 0, MOVE_SNIPE_SHOT), LEVEL_UP_MOVE( 1, MOVE_SNIPE_SHOT), LEVEL_UP_MOVE( 1, MOVE_ACROBATICS), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -16701,7 +16701,7 @@ static const struct LevelUpMove sSkwovetLevelUpLearnset[] = { }; static const struct LevelUpMove sGreedentLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COVET), + LEVEL_UP_MOVE( 0, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -16750,7 +16750,7 @@ static const struct LevelUpMove sCorvisquireLevelUpLearnset[] = { }; static const struct LevelUpMove sCorviknightLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STEEL_WING), + LEVEL_UP_MOVE( 0, MOVE_STEEL_WING), LEVEL_UP_MOVE( 1, MOVE_STEEL_WING), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), @@ -16774,9 +16774,9 @@ static const struct LevelUpMove sBlipbugLevelUpLearnset[] = { }; static const struct LevelUpMove sDottlerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_REFLECT), - //LEVEL_UP_MOVE( 0, MOVE_LIGHT_SCREEN), - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_REFLECT), + LEVEL_UP_MOVE( 0, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REFLECT), LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -16820,7 +16820,7 @@ static const struct LevelUpMove sNickitLevelUpLearnset[] = { }; static const struct LevelUpMove sThievulLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THIEF), + LEVEL_UP_MOVE( 0, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -16853,7 +16853,7 @@ static const struct LevelUpMove sGossifleurLevelUpLearnset[] = { }; static const struct LevelUpMove sEldegossLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 0, MOVE_COTTON_SPORE), LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -16917,7 +16917,7 @@ static const struct LevelUpMove sChewtleLevelUpLearnset[] = { }; static const struct LevelUpMove sDrednawLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE( 0, MOVE_ROCK_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROCK_TOMB), LEVEL_UP_MOVE( 1, MOVE_RAZOR_SHELL), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -16982,7 +16982,7 @@ static const struct LevelUpMove sRolycolyLevelUpLearnset[] = { }; static const struct LevelUpMove sCarkolLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE( 0, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -16999,7 +16999,7 @@ static const struct LevelUpMove sCarkolLevelUpLearnset[] = { }; static const struct LevelUpMove sCoalossalLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TAR_SHOT), + LEVEL_UP_MOVE( 0, MOVE_TAR_SHOT), LEVEL_UP_MOVE( 1, MOVE_TAR_SHOT), LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -17023,7 +17023,7 @@ static const struct LevelUpMove sApplinLevelUpLearnset[] = { }; static const struct LevelUpMove sFlappleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -17045,7 +17045,7 @@ static const struct LevelUpMove sFlappleLevelUpLearnset[] = { }; static const struct LevelUpMove sAppletunLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 0, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -17156,7 +17156,7 @@ static const struct LevelUpMove sToxelLevelUpLearnset[] = { }; static const struct LevelUpMove sToxtricityLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARK), + LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), LEVEL_UP_MOVE( 1, MOVE_BELCH), @@ -17236,7 +17236,7 @@ static const struct LevelUpMove sClobbopusLevelUpLearnset[] = { }; static const struct LevelUpMove sGrapploctLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OCTOLOCK), + LEVEL_UP_MOVE( 0, MOVE_OCTOLOCK), LEVEL_UP_MOVE( 1, MOVE_OCTOLOCK), LEVEL_UP_MOVE( 1, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -17271,7 +17271,7 @@ static const struct LevelUpMove sSinisteaLevelUpLearnset[] = { }; static const struct LevelUpMove sPolteageistLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TEATIME), + LEVEL_UP_MOVE( 0, MOVE_TEATIME), LEVEL_UP_MOVE( 1, MOVE_TEATIME), LEVEL_UP_MOVE( 1, MOVE_STRENGTH_SAP), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -17306,7 +17306,7 @@ static const struct LevelUpMove sHatennaLevelUpLearnset[] = { }; static const struct LevelUpMove sHattremLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE( 0, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), @@ -17323,7 +17323,7 @@ static const struct LevelUpMove sHattremLevelUpLearnset[] = { }; static const struct LevelUpMove sHattereneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -17359,7 +17359,7 @@ static const struct LevelUpMove sImpidimpLevelUpLearnset[] = { }; static const struct LevelUpMove sMorgremLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FALSE_SURRENDER), + LEVEL_UP_MOVE( 0, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_CONFIDE), @@ -17378,7 +17378,7 @@ static const struct LevelUpMove sMorgremLevelUpLearnset[] = { }; static const struct LevelUpMove sGrimmsnarlLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIRIT_BREAK), + LEVEL_UP_MOVE( 0, MOVE_SPIRIT_BREAK), LEVEL_UP_MOVE( 1, MOVE_SPIRIT_BREAK), LEVEL_UP_MOVE( 1, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_BULK_UP), @@ -17401,7 +17401,7 @@ static const struct LevelUpMove sGrimmsnarlLevelUpLearnset[] = { }; static const struct LevelUpMove sObstagoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OBSTRUCT), + LEVEL_UP_MOVE( 0, MOVE_OBSTRUCT), LEVEL_UP_MOVE( 1, MOVE_OBSTRUCT), LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), @@ -17427,7 +17427,7 @@ static const struct LevelUpMove sObstagoonLevelUpLearnset[] = { }; static const struct LevelUpMove sPerrserkerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 0, MOVE_IRON_HEAD), LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), @@ -17466,7 +17466,7 @@ static const struct LevelUpMove sCursolaLevelUpLearnset[] = { }; static const struct LevelUpMove sSirfetchdLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -17523,7 +17523,7 @@ static const struct LevelUpMove sMrRimeLevelUpLearnset[] = { }; static const struct LevelUpMove sRunerigusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -17562,7 +17562,7 @@ static const struct LevelUpMove sMilceryLevelUpLearnset[] = { }; static const struct LevelUpMove sAlcremieLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DECORATE), + LEVEL_UP_MOVE( 0, MOVE_DECORATE), LEVEL_UP_MOVE( 1, MOVE_DECORATE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), @@ -17622,7 +17622,7 @@ static const struct LevelUpMove sSnomLevelUpLearnset[] = { }; static const struct LevelUpMove sFrosmothLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), @@ -17730,7 +17730,7 @@ static const struct LevelUpMove sCufantLevelUpLearnset[] = { }; static const struct LevelUpMove sCopperajahLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -17842,7 +17842,7 @@ static const struct LevelUpMove sDreepyLevelUpLearnset[] = { }; static const struct LevelUpMove sDrakloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_INFESTATION), @@ -17864,7 +17864,7 @@ static const struct LevelUpMove sDrakloakLevelUpLearnset[] = { }; static const struct LevelUpMove sDragapultLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_DARTS), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_DARTS), LEVEL_UP_MOVE( 1, MOVE_DRAGON_DARTS), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -17962,7 +17962,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { }; static const struct LevelUpMove sUrshifuLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), + LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -18102,9 +18102,9 @@ static const struct LevelUpMove sWyrdeerLevelUpLearnset[] = { LEVEL_UP_MOVE( 5, MOVE_CONFUSION), LEVEL_UP_MOVE( 9, MOVE_HYPNOSIS), LEVEL_UP_MOVE(15, MOVE_CALM_MIND), - //LEVEL_UP_MOVE(21, MOVE_PSYSHIELD_BASH), + LEVEL_UP_MOVE(21, MOVE_PSYSHIELD_BASH), LEVEL_UP_MOVE(29, MOVE_EXTRASENSORY), - //LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; @@ -18114,36 +18114,36 @@ static const struct LevelUpMove sKleavorLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_SILVER_WIND), LEVEL_UP_MOVE(11, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(14, MOVE_DOUBLE_HIT), - //LEVEL_UP_MOVE(14, MOVE_STEALTH_ROCK), - //LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(14, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), - //LEVEL_UP_MOVE(29, MOVE_STONE_AXE), - //LEVEL_UP_MOVE(34, MOVE_X_SCISSOR), - //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(29, MOVE_STONE_AXE), + LEVEL_UP_MOVE(34, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; static const struct LevelUpMove sUrsalunaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - //LEVEL_UP_MOVE( 6, MOVE_BABY_DOLL_EYES), - //LEVEL_UP_MOVE(11, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 6, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(11, MOVE_BULLDOZE), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(25, MOVE_PLAY_ROUGH), - //LEVEL_UP_MOVE(34, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(25, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(34, MOVE_HIGH_HORSEPOWER), LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(47, MOVE_HEADLONG_RUSH), + LEVEL_UP_MOVE(47, MOVE_HEADLONG_RUSH), LEVEL_UP_END }; static const struct LevelUpMove sBasculegionLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - //LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), LEVEL_UP_MOVE(11, MOVE_BITE), LEVEL_UP_MOVE(11, MOVE_HEX), - //LEVEL_UP_MOVE(18, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(18, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(25, MOVE_CRUNCH), LEVEL_UP_MOVE(25, MOVE_SHADOW_BALL), - //LEVEL_UP_MOVE(34, MOVE_WAVE_CRASH), + LEVEL_UP_MOVE(34, MOVE_WAVE_CRASH), LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; @@ -18151,12 +18151,12 @@ static const struct LevelUpMove sBasculegionLevelUpLearnset[] = { static const struct LevelUpMove sSneaslerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), - //LEVEL_UP_MOVE(11, MOVE_DIRE_CLAW), + LEVEL_UP_MOVE(11, MOVE_DIRE_CLAW), LEVEL_UP_MOVE(11, MOVE_SWIFT), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(25, MOVE_POISON_JAB), + LEVEL_UP_MOVE(25, MOVE_POISON_JAB), LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), - //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; @@ -18164,11 +18164,11 @@ static const struct LevelUpMove sOverqwilLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), - //LEVEL_UP_MOVE(15, MOVE_BARB_BARRAGE), + LEVEL_UP_MOVE(15, MOVE_BARB_BARRAGE), LEVEL_UP_MOVE(21, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(26, MOVE_DARK_PULSE), - //LEVEL_UP_MOVE(29, MOVE_POISON_JAB), - //LEVEL_UP_MOVE(37, MOVE_AQUA_TAIL, + LEVEL_UP_MOVE(26, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(29, MOVE_POISON_JAB), + LEVEL_UP_MOVE(37, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(57, MOVE_SELF_DESTRUCT), LEVEL_UP_END @@ -18178,12 +18178,12 @@ static const struct LevelUpMove sEnamorusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_BITE), LEVEL_UP_MOVE(11, MOVE_TWISTER), - //LEVEL_UP_MOVE(14, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(14, MOVE_DRAINING_KISS), LEVEL_UP_MOVE(22, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(31, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(41, MOVE_CRUNCH), - //LEVEL_UP_MOVE(47, MOVE_MOONBLAST), - //LEVEL_UP_MOVE( 1, MOVE_SPRINGTIDE_STORM), + LEVEL_UP_MOVE(47, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_SPRINGTIDE_STORM), LEVEL_UP_END }; #endif @@ -18206,7 +18206,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18228,7 +18228,7 @@ static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -18260,7 +18260,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), @@ -18296,7 +18296,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), @@ -18326,7 +18326,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -18370,7 +18370,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), @@ -18483,7 +18483,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -18507,7 +18507,7 @@ static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), LEVEL_UP_MOVE( 1, MOVE_BARRAGE), @@ -18579,7 +18579,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18621,7 +18621,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), + LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18664,7 +18664,7 @@ static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), LEVEL_UP_MOVE( 1, MOVE_DEFOG), @@ -18782,7 +18782,7 @@ static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), + LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), @@ -18843,7 +18843,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), LEVEL_UP_MOVE( 1, MOVE_PIN_MISSILE), @@ -18885,7 +18885,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18948,11 +18948,11 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), - //LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(29, MOVE_CRUNCH), LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), LEVEL_UP_END }; @@ -18960,12 +18960,12 @@ static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), - //LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(29, MOVE_CRUNCH), - //LEVEL_UP_MOVE(29, MOVE_RAGING_FURY), + LEVEL_UP_MOVE(29, MOVE_RAGING_FURY), LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), LEVEL_UP_END }; @@ -18974,7 +18974,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(15, MOVE_SPARK), - //LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(29, MOVE_THUNDERBOLT), LEVEL_UP_MOVE(37, MOVE_THUNDER), LEVEL_UP_MOVE(47, MOVE_SELF_DESTRUCT), @@ -18986,23 +18986,23 @@ static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(15, MOVE_SPARK), - //LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(29, MOVE_THUNDERBOLT), LEVEL_UP_MOVE(37, MOVE_THUNDER), - //LEVEL_UP_MOVE(47, MOVE_CHLOROBLAST), + LEVEL_UP_MOVE(47, MOVE_CHLOROBLAST), LEVEL_UP_MOVE(47, MOVE_SELF_DESTRUCT), LEVEL_UP_END }; static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEX), + LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), LEVEL_UP_MOVE(11, MOVE_ROLLOUT), LEVEL_UP_MOVE(18, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(25, MOVE_SWIFT), LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), - //LEVEL_UP_MOVE(40, MOVE_INFERNAL_PARADE), + LEVEL_UP_MOVE(40, MOVE_INFERNAL_PARADE), LEVEL_UP_MOVE(43, MOVE_OVERHEAT), LEVEL_UP_MOVE(43, MOVE_SHADOW_BALL), LEVEL_UP_END @@ -19012,11 +19012,11 @@ static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), - //LEVEL_UP_MOVE(15, MOVE_BARB_BARRAGE), + LEVEL_UP_MOVE(15, MOVE_BARB_BARRAGE), LEVEL_UP_MOVE(21, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(26, MOVE_DARK_PULSE), - //LEVEL_UP_MOVE(29, MOVE_POISON_JAB), - //LEVEL_UP_MOVE(37, MOVE_AQUA_TAIL, + LEVEL_UP_MOVE(26, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(29, MOVE_POISON_JAB), + LEVEL_UP_MOVE(37, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(57, MOVE_SELF_DESTRUCT), LEVEL_UP_END @@ -19027,65 +19027,65 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(25, MOVE_POISON_JAB), + LEVEL_UP_MOVE(25, MOVE_POISON_JAB), LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), - //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; #if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - //LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), LEVEL_UP_MOVE(11, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(21, MOVE_CEASELESS_EDGE), + LEVEL_UP_MOVE(21, MOVE_CEASELESS_EDGE), LEVEL_UP_MOVE(25, MOVE_SLASH), - //LEVEL_UP_MOVE(34, MOVE_AQUA_TAIL), - //LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(34, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), LEVEL_UP_END }; static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - //LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), LEVEL_UP_MOVE( 9, MOVE_STUN_SPORE), LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), - //LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(29, MOVE_SLEEP_POWDER), - //LEVEL_UP_MOVE(34, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE(34, MOVE_DRAIN_PUNCH), LEVEL_UP_MOVE(37, MOVE_LEAF_BLADE), LEVEL_UP_MOVE(37, MOVE_RECOVER), - //LEVEL_UP_MOVE(42, MOVE_VICTORY_DANCE), - //LEVEL_UP_MOVE(47, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(42, MOVE_VICTORY_DANCE), + LEVEL_UP_MOVE(47, MOVE_LEAF_STORM), LEVEL_UP_MOVE(53, MOVE_PETAL_DANCE), LEVEL_UP_MOVE(57, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), - //LEVEL_UP_MOVE( 6, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), - //LEVEL_UP_MOVE(18, MOVE_BITTER_MALICE), + LEVEL_UP_MOVE(18, MOVE_BITTER_MALICE), LEVEL_UP_MOVE(25, MOVE_SLASH), - //LEVEL_UP_MOVE(34, MOVE_SHADOW_CLAW), - //LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(34, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), LEVEL_UP_END }; static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), - //LEVEL_UP_MOVE( 6, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), - //LEVEL_UP_MOVE(18, MOVE_BITTER_MALICE), + LEVEL_UP_MOVE(18, MOVE_BITTER_MALICE), LEVEL_UP_MOVE(25, MOVE_SLASH), - //LEVEL_UP_MOVE(34, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(34, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), - //LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), LEVEL_UP_MOVE(52, MOVE_EXTRASENSORY), LEVEL_UP_END }; @@ -19095,12 +19095,12 @@ static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(20, MOVE_AIR_SLASH), - //LEVEL_UP_MOVE(25, MOVE_ESPER_WING), + LEVEL_UP_MOVE(20, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(25, MOVE_ESPER_WING), LEVEL_UP_MOVE(25, MOVE_ROOST), LEVEL_UP_MOVE(34, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(43, MOVE_BRAVE_BIRD), - //LEVEL_UP_MOVE(52, MOVE_HURRICANE), + LEVEL_UP_MOVE(43, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(52, MOVE_HURRICANE), LEVEL_UP_END }; #endif @@ -19108,39 +19108,39 @@ static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { #if P_GEN_6_POKEMON == TRUE static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - //LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(25, MOVE_DRAGON_PULSE), - //LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), - //LEVEL_UP_MOVE(34, MOVE_SHELTER), + LEVEL_UP_MOVE(25, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(34, MOVE_SHELTER), LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), LEVEL_UP_END }; static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - //LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(25, MOVE_DRAGON_PULSE), - //LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), - //LEVEL_UP_MOVE(34, MOVE_SHELTER), + LEVEL_UP_MOVE(25, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(34, MOVE_SHELTER), LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), LEVEL_UP_END }; static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), - //LEVEL_UP_MOVE( 9, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 9, MOVE_ICE_SHARD), LEVEL_UP_MOVE(15, MOVE_BITE), LEVEL_UP_MOVE(21, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(29, MOVE_CRUNCH), - //LEVEL_UP_MOVE(29, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(29, MOVE_EARTH_POWER), LEVEL_UP_MOVE(37, MOVE_BLIZZARD), - //LEVEL_UP_MOVE(37, MOVE_MOUNTAIN_GALE), + LEVEL_UP_MOVE(37, MOVE_MOUNTAIN_GALE), LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; @@ -19148,18 +19148,18 @@ static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { #if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), - //LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), LEVEL_UP_MOVE(11, MOVE_ROOST), LEVEL_UP_MOVE(18, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(21, MOVE_MAGICAL_LEAF), - //LEVEL_UP_MOVE(25, MOVE_AIR_SLASH), - //LEVEL_UP_MOVE(30, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(25, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(30, MOVE_AURA_SPHERE), LEVEL_UP_MOVE(34, MOVE_LEAF_BLADE), - //LEVEL_UP_MOVE(34, MOVE_TRIPLE_ARROWS), - //LEVEL_UP_MOVE(40, MOVE_BRAVE_BIRD), - //LEVEL_UP_MOVE(43, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(34, MOVE_TRIPLE_ARROWS), + LEVEL_UP_MOVE(40, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(43, MOVE_LEAF_STORM), LEVEL_UP_END }; #endif @@ -19222,7 +19222,7 @@ static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { #if P_GEN_4_POKEMON == TRUE static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19245,7 +19245,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { }; static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -19398,7 +19398,7 @@ static const struct LevelUpMove sHoopaUnboundLevelUpLearnset[] = { #if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COUNTER), + LEVEL_UP_MOVE( 0, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 1, MOVE_TAUNT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19420,7 +19420,7 @@ static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { }; static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THRASH), + LEVEL_UP_MOVE( 0, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19444,7 +19444,7 @@ static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { #if P_GEN_8_POKEMON == TRUE static const struct LevelUpMove sToxtricityLowKeyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARK), + LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), LEVEL_UP_MOVE( 1, MOVE_BELCH), @@ -19491,7 +19491,7 @@ static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { }; static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), + LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 6d2ab461e..b152a0d6d 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -48,8 +48,8 @@ static const union AnimCmd sAnim_CHARMELEON_1[] = static const union AnimCmd sAnim_CHARIZARD_1[] = { - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -560,11 +560,11 @@ static const union AnimCmd sAnim_GLOOM_1[] = static const union AnimCmd sAnim_VILEPLUME_1[] = { - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 21), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 21), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -1019,14 +1019,8 @@ static const union AnimCmd sAnim_DODRIO_1[] = static const union AnimCmd sAnim_SEEL_1[] = { - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; @@ -1523,10 +1517,11 @@ static const union AnimCmd sAnim_JYNX_1[] = static const union AnimCmd sAnim_ELECTABUZZ_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; @@ -1806,15 +1801,15 @@ static const union AnimCmd sAnim_CHIKORITA_1[] = static const union AnimCmd sAnim_BAYLEEF_1[] = { - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_MEGANIUM_1[] = { - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; @@ -1836,8 +1831,8 @@ static const union AnimCmd sAnim_QUILAVA_1[] = static const union AnimCmd sAnim_TYPHLOSION_1[] = { - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; @@ -1919,32 +1914,10 @@ static const union AnimCmd sAnim_LEDYBA_1[] = static const union AnimCmd sAnim_LEDIAN_1[] = { - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), ANIMCMD_END, }; @@ -2146,10 +2119,11 @@ static const union AnimCmd sAnim_MAREEP_1[] = static const union AnimCmd sAnim_FLAAFFY_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; @@ -2163,33 +2137,40 @@ static const union AnimCmd sAnim_AMPHAROS_1[] = static const union AnimCmd sAnim_BELLOSSOM_1[] = { - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_MARILL_1[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; static const union AnimCmd sAnim_AZUMARILL_1[] = { - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; @@ -2257,10 +2238,12 @@ static const union AnimCmd sAnim_AIPOM_1[] = static const union AnimCmd sAnim_SUNKERN_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; @@ -2379,22 +2362,19 @@ static const union AnimCmd sAnim_WOBBUFFET_1[] = static const union AnimCmd sAnim_WOBBUFFET_2[] = { - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_GIRAFARIG_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; @@ -2447,12 +2427,11 @@ static const union AnimCmd sAnim_GLIGAR_1[] = static const union AnimCmd sAnim_STEELIX_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -2499,27 +2478,22 @@ static const union AnimCmd sAnim_SHUCKLE_1[] = static const union AnimCmd sAnim_HERACROSS_1[] = { - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HERACROSS_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_SNEASEL_1[] = { - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; @@ -2614,10 +2588,9 @@ static const union AnimCmd sAnim_CORSOLA_2[] = static const union AnimCmd sAnim_REMORAID_1[] = { - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; @@ -2632,10 +2605,8 @@ static const union AnimCmd sAnim_OCTILLERY_1[] = static const union AnimCmd sAnim_DELIBIRD_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; @@ -2650,29 +2621,15 @@ static const union AnimCmd sAnim_MANTINE_1[] = static const union AnimCmd sAnim_SKARMORY_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SKARMORY_2[] = -{ + ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_HOUNDOUR_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; @@ -2725,22 +2682,9 @@ static const union AnimCmd sAnim_PHANPY_2[] = static const union AnimCmd sAnim_DONPHAN_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DONPHAN_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -2795,28 +2739,21 @@ static const union AnimCmd sAnim_HITMONTOP_1[] = static const union AnimCmd sAnim_SMOOCHUM_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_ELEKID_1[] = { - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_MAGBY_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2833,16 +2770,16 @@ static const union AnimCmd sAnim_MILTANK_1[] = static const union AnimCmd sAnim_BLISSEY_1[] = { - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_RAIKOU_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -2879,16 +2816,25 @@ static const union AnimCmd sAnim_PUPITAR_1[] = static const union AnimCmd sAnim_TYRANITAR_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_LUGIA_1[] = { - ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -4304,19 +4250,9 @@ static const union AnimCmd sAnim_KIRLIA_1[] = static const union AnimCmd sAnim_GARDEVOIR_1[] = { - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; @@ -4810,53 +4746,51 @@ static const union AnimCmd sAnim_TURTWIG_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GROTLE_1[] = { - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 27), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_TORTERRA_1[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 26), + ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_CHIMCHAR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; static const union AnimCmd sAnim_MONFERNO_1[] = { - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_INFERNAPE_1[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -4870,165 +4804,213 @@ static const union AnimCmd sAnim_PIPLUP_1[] = static const union AnimCmd sAnim_PRINPLUP_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; + static const union AnimCmd sAnim_EMPOLEON_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_STARLY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_STARAVIA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_STARAPTOR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_BIDOOF_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_BIBAREL_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_BIBAREL_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_KRICKETOT_1[] = { - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_KRICKETUNE_1[] = { - ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_SHINX_1[] = +{ ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHINX_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; static const union AnimCmd sAnim_LUXIO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_LUXRAY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_LUXRAY_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_BUDEW_1[] = { - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_ROSERADE_1[] = { + ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_CRANIDOS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_RAMPARDOS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_SHIELDON_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; + static const union AnimCmd sAnim_BASTIODON_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_BURMY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_WORMADAM_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -5064,164 +5046,227 @@ static const union AnimCmd sAnim_COMBEE_1[] = static const union AnimCmd sAnim_VESPIQUEN_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; + static const union AnimCmd sAnim_PACHIRISU_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_BUIZEL_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_FLOATZEL_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_CHERUBI_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; + static const union AnimCmd sAnim_CHERRIM_NORMAL[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_CHERRIM_SUN[] = +static const union AnimCmd sAnim_CHERRIM_NORMAL_2[] = { - ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_CHERRIM_SUNSHINE[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SHELLOS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GASTRODON_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_AMBIPOM_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_DRIFLOON_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), ANIMCMD_END, }; static const union AnimCmd sAnim_DRIFBLIM_1[] = { - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_BUNEARY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; + static const union AnimCmd sAnim_LOPUNNY_1[] = { - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_MISMAGIUS_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_HONCHKROW_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GLAMEOW_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_PURUGLY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_CHINGLING_1[] = { - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_STUNKY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; @@ -5229,41 +5274,62 @@ static const union AnimCmd sAnim_SKUNTANK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_BRONZOR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), ANIMCMD_END, }; static const union AnimCmd sAnim_BRONZONG_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_BRONZONG_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_BONSLY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_MIME_JR_1[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; @@ -5271,48 +5337,60 @@ static const union AnimCmd sAnim_HAPPINY_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_CHATOT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; - static const union AnimCmd sAnim_SPIRITOMB_1[] = { - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 60), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GIBLE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GABITE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_GARCHOMP_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; @@ -5320,171 +5398,219 @@ static const union AnimCmd sAnim_MUNCHLAX_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_RIOLU_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_LUCARIO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_HIPPOPOTAS_1[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_HIPPOWDON_1[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_SKORUPI_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_DRAPION_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_CROAGUNK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_TOXICROAK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_CARNIVINE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_FINNEON_1[] = { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_LUMINEON_1[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; static const union AnimCmd sAnim_MANTYKE_1[] = { - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_SNOVER_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ABOMASNOW_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_WEAVILE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_MAGNEZONE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), ANIMCMD_END, }; static const union AnimCmd sAnim_LICKILICKY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_RHYPERIOR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_TANGROWTH_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_ELECTIVIRE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -5497,97 +5623,154 @@ static const union AnimCmd sAnim_MAGMORTAR_1[] = static const union AnimCmd sAnim_TOGEKISS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_YANMEGA_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), ANIMCMD_END, }; static const union AnimCmd sAnim_LEAFEON_1[] = { - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_GLACEON_1[] = { - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GLISCOR_1[] = { + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 40), ANIMCMD_END, }; static const union AnimCmd sAnim_MAMOSWINE_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_PORYGON_Z_1[] = { + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 40), ANIMCMD_END, }; static const union AnimCmd sAnim_GALLADE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_PROBOPASS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_PROBOPASS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_DUSKNOIR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), ANIMCMD_END, }; static const union AnimCmd sAnim_FROSLASS_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ROTOM_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_ROTOM_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; @@ -5595,57 +5778,10 @@ static const union AnimCmd sAnim_RotomHeat_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_RotomFrost_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomFan_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomMow_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; static const union AnimCmd sAnim_RotomWash_1[] = { @@ -5655,115 +5791,168 @@ static const union AnimCmd sAnim_RotomWash_1[] = ANIMCMD_END, }; +static const union AnimCmd sAnim_RotomFrost_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_RotomFan_1[] = +{ + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_RotomMow_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + static const union AnimCmd sAnim_UXIE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_MESPRIT_1[] = { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_AZELF_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_DIALGA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_PALKIA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_HEATRAN_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_REGIGIGAS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_GIRATINA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_CRESSELIA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_PHIONE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_MANAPHY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_DARKRAI_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SHAYMIN_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ARCEUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; #endif @@ -5771,920 +5960,1210 @@ static const union AnimCmd sAnim_ARCEUS_1[] = #if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_VICTINI_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SNIVY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SERVINE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_SERPERIOR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_SERPERIOR_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_TEPIG_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_PIGNITE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_EMBOAR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), ANIMCMD_END, }; static const union AnimCmd sAnim_OSHAWOTT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; static const union AnimCmd sAnim_DEWOTT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SAMUROTT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_PATRAT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_WATCHOG_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0 , 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_LILLIPUP_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; static const union AnimCmd sAnim_HERDIER_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; static const union AnimCmd sAnim_STOUTLAND_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_PURRLOIN_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 54), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_LIEPARD_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_PANSAGE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), ANIMCMD_END, }; static const union AnimCmd sAnim_SIMISAGE_1[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_PANSEAR_1[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_SIMISEAR_1[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_SIMISEAR_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_PANPOUR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_SIMIPOUR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_MUNNA_1[] = { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_MUSHARNA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_MUSHARNA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_PIDOVE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_TRANQUILL_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_UNFEZANT_1[] = { - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_BLITZLE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; static const union AnimCmd sAnim_ZEBSTRIKA_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_ROGGENROLA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_BOLDORE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_GIGALITH_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_WOOBAT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_SWOOBAT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_DRILBUR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DRILBUR_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_EXCADRILL_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_AUDINO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_TIMBURR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GURDURR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_CONKELDURR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_TYMPOLE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_PALPITOAD_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), ANIMCMD_END, }; static const union AnimCmd sAnim_SEISMITOAD_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; static const union AnimCmd sAnim_THROH_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_SAWK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SEWADDLE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_SEWADDLE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_SWADLOON_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_LEAVANNY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_VENIPEDE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_WHIRLIPEDE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SCOLIPEDE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_COTTONEE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_WHIMSICOTT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_PETILIL_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_LILLIGANT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_BASCULIN_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SANDILE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_KROKOROK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_KROOKODILE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_KROOKODILE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_DARUMAKA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_DARMANITAN_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_MARACTUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_DWEBBLE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_CRUSTLE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_SCRAGGY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SCRAFTY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SIGILYPH_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), ANIMCMD_END, }; static const union AnimCmd sAnim_YAMASK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_COFAGRIGUS_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_TIRTOUGA_1[] = { + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_CARRACOSTA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ARCHEN_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ARCHEOPS_1[] = { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_TRUBBISH_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GARBODOR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ZORUA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_ZOROARK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_MINCCINO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_CINCCINO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_GOTHITA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GOTHORITA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_GOTHORITA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_GOTHITELLE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SOLOSIS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_DUOSION_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_REUNICLUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_DUCKLETT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_SWANNA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_VANILLITE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_VANILLISH_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_VANILLUXE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_DEERLING_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_SAWSBUCK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_EMOLGA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_KARRABLAST_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_ESCAVALIER_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_FOONGUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_FOONGUS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_AMOONGUSS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; static const union AnimCmd sAnim_FRILLISH_1[] = { + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_JELLICENT_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; static const union AnimCmd sAnim_ALOMOMOLA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_JOLTIK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_GALVANTULA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), ANIMCMD_END, }; static const union AnimCmd sAnim_FERROSEED_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_FERROTHORN_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_FERROTHORN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_KLINK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_KLANG_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_KLINKLANG_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_TYNAMO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_EELEKTRIK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), ANIMCMD_END, }; static const union AnimCmd sAnim_EELEKTROSS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_ELGYEM_1[] = { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_BEHEEYEM_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_LITWICK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_LAMPENT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), ANIMCMD_END, }; @@ -6698,321 +7177,455 @@ static const union AnimCmd sAnim_CHANDELURE_1[] = static const union AnimCmd sAnim_AXEW_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_FRAXURE_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_HAXORUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_CUBCHOO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_BEARTIC_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_CRYOGONAL_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_CRYOGONAL_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_SHELMET_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_ACCELGOR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_STUNFISK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_MIENFOO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_MIENSHAO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_DRUDDIGON_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; static const union AnimCmd sAnim_GOLETT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_GOLURK_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_PAWNIARD_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_BISHARP_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_BOUFFALANT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_RUFFLET_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_BRAVIARY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_VULLABY_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_MANDIBUZZ_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_HEATMOR_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_DURANT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; static const union AnimCmd sAnim_DEINO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ZWEILOUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_HYDREIGON_1[] = { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_LARVESTA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_VOLCARONA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), ANIMCMD_END, }; static const union AnimCmd sAnim_COBALION_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_TERRAKION_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_TERRAKION_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_VIRIZION_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_TORNADUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; static const union AnimCmd sAnim_THUNDURUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; static const union AnimCmd sAnim_RESHIRAM_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_ZEKROM_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_LANDORUS_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; static const union AnimCmd sAnim_KYUREM_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_KELDEO_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_MELOETTA_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_MELOETTA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_GENESECT_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; #endif @@ -7030,427 +7643,750 @@ static const union AnimCmd sAnim_CHESPIN_1[] = static const union AnimCmd sAnim_QUILLADIN_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_QUILLADIN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_CHESNAUGHT_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_FENNEKIN_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_BRAIXEN_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_DELPHOX_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_FROAKIE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; static const union AnimCmd sAnim_FROGADIER_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_GRENINJA_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_GRENINJA_ASH_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_BUNNELBY_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_DIGGERSBY_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_FLETCHLING_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; - static const union AnimCmd sAnim_FLETCHINDER_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; static const union AnimCmd sAnim_TALONFLAME_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_TALONFLAME_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_SCATTERBUG_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_SPEWPA_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_VIVILLON_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_LITLEO_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_PYROAR_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_FLABEBE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_FLABEBE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_FLOETTE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; static const union AnimCmd sAnim_FLORGES_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_FLORGES_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_SKIDDO_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_GOGOAT_1[] = { ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_PANCHAM_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; static const union AnimCmd sAnim_PANGORO_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_FURFROU_1[] = { + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_ESPURR_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; static const union AnimCmd sAnim_MEOWSTIC_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_HONEDGE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_DOUBLADE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DOUBLADE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_AEGISLASH_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SPRITZEE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_AROMATISSE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_SWIRLIX_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_SLURPUFF_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_INKAY_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), ANIMCMD_END, }; static const union AnimCmd sAnim_MALAMAR_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_BINACLE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; static const union AnimCmd sAnim_BARBARACLE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_SKRELP_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_DRAGALGE_1[] = { + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_CLAUNCHER_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_CLAWITZER_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), ANIMCMD_END, }; static const union AnimCmd sAnim_HELIOPTILE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_HELIOLISK_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_TYRUNT_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_TYRANTRUM_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_AMAURA_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_AURORUS_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_SYLVEON_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_HAWLUCHA_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_DEDENNE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_CARBINK_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GOOMY_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_SLIGGOO_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_GOODRA_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_KLEFKI_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_PHANTUMP_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_TREVENANT_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_PUMPKABOO_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_GOURGEIST_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_BERGMITE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_BERGMITE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_AVALUGG_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_NOIBAT_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_NOIVERN_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_XERNEAS_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_YVELTAL_1[] = { + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_ZYGARDE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_DIANCIE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_HOOPA_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_VOLCANION_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; #endif @@ -9361,6 +10297,8 @@ static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = { ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -9378,7 +10316,20 @@ static const union AnimCmd sAnim_PALKIA_ORIGIN_1[] = static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_GIRATINA_ORIGIN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; #endif @@ -9386,7 +10337,8 @@ static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = #if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; @@ -9398,43 +10350,75 @@ static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1[] = static const union AnimCmd sAnim_TORNADUS_THERIAN_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_THUNDURUS_THERIAN_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_LANDORUS_THERIAN_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_KYUREM_BLACK_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_KYUREM_WHITE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; static const union AnimCmd sAnim_KELDEO_RESOLUTE_1[] = { ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; #endif @@ -9442,25 +10426,34 @@ static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = #if P_GEN_6_POKEMON == TRUE static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ZYGARDE_10_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; #endif @@ -10822,7 +11815,6 @@ static const union AnimCmd *const sAnims_HERACROSS[] = { sAnim_GeneralFrame0, sAnim_HERACROSS_1, - sAnim_HERACROSS_2, }; static const union AnimCmd *const sAnims_SNEASEL[] = @@ -10904,7 +11896,6 @@ static const union AnimCmd *const sAnims_SKARMORY[] = { sAnim_GeneralFrame0, sAnim_SKARMORY_1, - sAnim_SKARMORY_2, }; static const union AnimCmd *const sAnims_HOUNDOUR[] = @@ -10937,7 +11928,6 @@ static const union AnimCmd *const sAnims_DONPHAN[] = { sAnim_GeneralFrame0, sAnim_DONPHAN_1, - sAnim_DONPHAN_2, }; static const union AnimCmd *const sAnims_PORYGON2[] = @@ -12144,6 +13134,7 @@ static const union AnimCmd *const sAnims_BIBAREL[] = { sAnim_GeneralFrame0, sAnim_BIBAREL_1, + sAnim_BIBAREL_2, }; static const union AnimCmd *const sAnims_KRICKETOT[] = @@ -12174,6 +13165,7 @@ static const union AnimCmd *const sAnims_LUXRAY[] = { sAnim_GeneralFrame0, sAnim_LUXRAY_1, + sAnim_LUXRAY_2, }; static const union AnimCmd *const sAnims_BUDEW[] = @@ -12268,8 +13260,14 @@ static const union AnimCmd *const sAnims_CHERUBI[] = static const union AnimCmd *const sAnims_CHERRIM[] = { + sAnim_GeneralFrame0, sAnim_CHERRIM_NORMAL, - sAnim_CHERRIM_SUN, + sAnim_CHERRIM_NORMAL_2, +}; + +static const union AnimCmd *const sAnims_CHERRIM_SUNSHINE[] ={ + sAnim_GeneralFrame0, + sAnim_CHERRIM_SUNSHINE, }; static const union AnimCmd *const sAnims_SHELLOS[] = @@ -12366,6 +13364,7 @@ static const union AnimCmd *const sAnims_BRONZONG[] = { sAnim_GeneralFrame0, sAnim_BRONZONG_1, + sAnim_BRONZONG_2, }; static const union AnimCmd *const sAnims_BONSLY[] = @@ -12600,6 +13599,7 @@ static const union AnimCmd *const sAnims_PROBOPASS[] = { sAnim_GeneralFrame0, sAnim_PROBOPASS_1, + sAnim_PROBOPASS_2, }; static const union AnimCmd *const sAnims_DUSKNOIR[] = @@ -12618,6 +13618,7 @@ static const union AnimCmd *const sAnims_ROTOM[] = { sAnim_GeneralFrame0, sAnim_ROTOM_1, + sAnim_ROTOM_2, }; static const union AnimCmd *const sAnims_ROTOM_HEAT[] = @@ -12758,6 +13759,7 @@ static const union AnimCmd *const sAnims_SERPERIOR[] = { sAnim_GeneralFrame0, sAnim_SERPERIOR_1, + sAnim_SERPERIOR_2, }; static const union AnimCmd *const sAnims_TEPIG[] = @@ -12860,6 +13862,7 @@ static const union AnimCmd *const sAnims_SIMISEAR[] = { sAnim_GeneralFrame0, sAnim_SIMISEAR_1, + sAnim_SIMISEAR_2, }; static const union AnimCmd *const sAnims_PANPOUR[] = @@ -12884,6 +13887,7 @@ static const union AnimCmd *const sAnims_MUSHARNA[] = { sAnim_GeneralFrame0, sAnim_MUSHARNA_1, + sAnim_MUSHARNA_2, }; static const union AnimCmd *const sAnims_PIDOVE[] = @@ -12950,6 +13954,7 @@ static const union AnimCmd *const sAnims_DRILBUR[] = { sAnim_GeneralFrame0, sAnim_DRILBUR_1, + sAnim_DRILBUR_2, }; static const union AnimCmd *const sAnims_EXCADRILL[] = @@ -13016,6 +14021,7 @@ static const union AnimCmd *const sAnims_SEWADDLE[] = { sAnim_GeneralFrame0, sAnim_SEWADDLE_1, + sAnim_SEWADDLE_2, }; static const union AnimCmd *const sAnims_SWADLOON[] = @@ -13094,6 +14100,7 @@ static const union AnimCmd *const sAnims_KROOKODILE[] = { sAnim_GeneralFrame0, sAnim_KROOKODILE_1, + sAnim_KROOKODILE_2, }; static const union AnimCmd *const sAnims_DARUMAKA[] = @@ -13226,6 +14233,7 @@ static const union AnimCmd *const sAnims_GOTHORITA[] = { sAnim_GeneralFrame0, sAnim_GOTHORITA_1, + sAnim_GOTHORITA_2, }; static const union AnimCmd *const sAnims_GOTHITELLE[] = @@ -13316,6 +14324,7 @@ static const union AnimCmd *const sAnims_FOONGUS[] = { sAnim_GeneralFrame0, sAnim_FOONGUS_1, + sAnim_FOONGUS_2, }; static const union AnimCmd *const sAnims_AMOONGUSS[] = @@ -13364,6 +14373,7 @@ static const union AnimCmd *const sAnims_FERROTHORN[] = { sAnim_GeneralFrame0, sAnim_FERROTHORN_1, + sAnim_FERROTHORN_2, }; static const union AnimCmd *const sAnims_KLINK[] = @@ -13466,6 +14476,7 @@ static const union AnimCmd *const sAnims_CRYOGONAL[] = { sAnim_GeneralFrame0, sAnim_CRYOGONAL_1, + sAnim_CRYOGONAL_2, }; static const union AnimCmd *const sAnims_SHELMET[] = @@ -13610,6 +14621,7 @@ static const union AnimCmd *const sAnims_TERRAKION[] = { sAnim_GeneralFrame0, sAnim_TERRAKION_1, + sAnim_TERRAKION_2, }; static const union AnimCmd *const sAnims_VIRIZION[] = @@ -13664,6 +14676,7 @@ static const union AnimCmd *const sAnims_MELOETTA[] = { sAnim_GeneralFrame0, sAnim_MELOETTA_1, + sAnim_MELOETTA_2, }; static const union AnimCmd *const sAnims_GENESECT[] = @@ -13684,6 +14697,7 @@ static const union AnimCmd *const sAnims_QUILLADIN[] = { sAnim_GeneralFrame0, sAnim_QUILLADIN_1, + sAnim_QUILLADIN_2, }; static const union AnimCmd *const sAnims_CHESNAUGHT[] = @@ -13728,6 +14742,11 @@ static const union AnimCmd *const sAnims_GRENINJA[] = sAnim_GRENINJA_1, }; +static const union AnimCmd *const sAnims_GRENINJA_ASH[] ={ + sAnim_GeneralFrame0, + sAnim_GRENINJA_ASH_1, +}; + static const union AnimCmd *const sAnims_BUNNELBY[] = { sAnim_GeneralFrame0, @@ -13756,6 +14775,7 @@ static const union AnimCmd *const sAnims_TALONFLAME[] = { sAnim_GeneralFrame0, sAnim_TALONFLAME_1, + sAnim_TALONFLAME_2, }; static const union AnimCmd *const sAnims_SCATTERBUG[] = @@ -13792,6 +14812,7 @@ static const union AnimCmd *const sAnims_FLABEBE[] = { sAnim_GeneralFrame0, sAnim_FLABEBE_1, + sAnim_FLABEBE_2, }; static const union AnimCmd *const sAnims_FLOETTE[] = @@ -13804,6 +14825,7 @@ static const union AnimCmd *const sAnims_FLORGES[] = { sAnim_GeneralFrame0, sAnim_FLORGES_1, + sAnim_FLORGES_2, }; static const union AnimCmd *const sAnims_SKIDDO[] = @@ -13858,6 +14880,7 @@ static const union AnimCmd *const sAnims_DOUBLADE[] = { sAnim_GeneralFrame0, sAnim_DOUBLADE_1, + sAnim_DOUBLADE_2, }; static const union AnimCmd *const sAnims_AEGISLASH[] = @@ -14050,6 +15073,7 @@ static const union AnimCmd *const sAnims_BERGMITE[] = { sAnim_GeneralFrame0, sAnim_BERGMITE_1, + sAnim_BERGMITE_2, }; static const union AnimCmd *const sAnims_AVALUGG[] = @@ -15973,6 +16997,7 @@ static const union AnimCmd *const sAnims_GIRATINA_ORIGIN[] = { sAnim_GeneralFrame0, sAnim_GIRATINA_ORIGIN_1, + sAnim_GIRATINA_ORIGIN_2, }; static const union AnimCmd *const sAnims_SHAYMIN_SKY[] = @@ -17195,7 +18220,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(BURMY_TRASH_CLOAK, sAnims_BURMY), ANIM_CMD_FULL(WORMADAM_SANDY_CLOAK, sAnims_WORMADAM), ANIM_CMD_FULL(WORMADAM_TRASH_CLOAK, sAnims_WORMADAM), - ANIM_CMD_FULL(CHERRIM_SUNSHINE, sAnims_CHERRIM), + ANIM_CMD(CHERRIM_SUNSHINE), ANIM_CMD_FULL(SHELLOS_EAST_SEA, sAnims_SHELLOS), ANIM_CMD_FULL(GASTRODON_EAST_SEA, sAnims_GASTRODON), ANIM_CMD(ROTOM_HEAT), @@ -17241,8 +18266,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(LANDORUS_THERIAN), ANIM_CMD(KYUREM_WHITE), ANIM_CMD(KYUREM_BLACK), - ANIM_CMD(MELOETTA_PIROUETTE), ANIM_CMD(KELDEO_RESOLUTE), + ANIM_CMD(MELOETTA_PIROUETTE), ANIM_CMD_FULL(GENESECT_DOUSE_DRIVE, sAnims_GENESECT), ANIM_CMD_FULL(GENESECT_SHOCK_DRIVE, sAnims_GENESECT), ANIM_CMD_FULL(GENESECT_BURN_DRIVE, sAnims_GENESECT), @@ -17250,7 +18275,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = #endif #if P_GEN_6_POKEMON == TRUE ANIM_CMD_FULL(GRENINJA_BATTLE_BOND, sAnims_GRENINJA), - ANIM_CMD_FULL(GRENINJA_ASH, sAnims_GRENINJA), + ANIM_CMD(GRENINJA_ASH), ANIM_CMD_FULL(VIVILLON_POLAR, sAnims_VIVILLON), ANIM_CMD_FULL(VIVILLON_TUNDRA, sAnims_VIVILLON), ANIM_CMD_FULL(VIVILLON_CONTINENTAL, sAnims_VIVILLON), @@ -17302,7 +18327,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(GOURGEIST_SUPER, sAnims_GOURGEIST), ANIM_CMD_FULL(XERNEAS_ACTIVE, sAnims_XERNEAS), ANIM_CMD(ZYGARDE_10), - ANIM_CMD_FULL(ZYGARDE_10_POWER_CONSTRUCT, sAnims_ZYGARDE), + ANIM_CMD_FULL(ZYGARDE_10_POWER_CONSTRUCT, sAnims_ZYGARDE_10), ANIM_CMD_FULL(ZYGARDE_50_POWER_CONSTRUCT, sAnims_ZYGARDE), ANIM_CMD(ZYGARDE_COMPLETE), ANIM_CMD(HOOPA_UNBOUND), diff --git a/src/data/region_map/city_map_tilemaps.h b/src/data/region_map/city_map_tilemaps.h index fed158935..11a48c15d 100644 --- a/src/data/region_map/city_map_tilemaps.h +++ b/src/data/region_map/city_map_tilemaps.h @@ -1,22 +1,22 @@ -const u32 gPokenavCityMap_Lavaridge_0[] = INCBIN_U32("graphics/pokenav/city_maps/lavaridge_0.bin.lz"); -const u32 gPokenavCityMap_Fallarbor_0[] = INCBIN_U32("graphics/pokenav/city_maps/fallarbor_0.bin.lz"); -const u32 gPokenavCityMap_Fortree_0[] = INCBIN_U32("graphics/pokenav/city_maps/fortree_0.bin.lz"); -const u32 gPokenavCityMap_Slateport_0[] = INCBIN_U32("graphics/pokenav/city_maps/slateport_0.bin.lz"); -const u32 gPokenavCityMap_Slateport_1[] = INCBIN_U32("graphics/pokenav/city_maps/slateport_1.bin.lz"); -const u32 gPokenavCityMap_Rustboro_0[] = INCBIN_U32("graphics/pokenav/city_maps/rustboro_0.bin.lz"); -const u32 gPokenavCityMap_Rustboro_1[] = INCBIN_U32("graphics/pokenav/city_maps/rustboro_1.bin.lz"); -const u32 gPokenavCityMap_Pacifidlog_0[] = INCBIN_U32("graphics/pokenav/city_maps/pacifidlog_0.bin.lz"); -const u32 gPokenavCityMap_Mauville_1[] = INCBIN_U32("graphics/pokenav/city_maps/mauville_1.bin.lz"); -const u32 gPokenavCityMap_Mauville_0[] = INCBIN_U32("graphics/pokenav/city_maps/mauville_0.bin.lz"); -const u32 gPokenavCityMap_Oldale_0[] = INCBIN_U32("graphics/pokenav/city_maps/oldale_0.bin.lz"); -const u32 gPokenavCityMap_Lilycove_1[] = INCBIN_U32("graphics/pokenav/city_maps/lilycove_1.bin.lz"); -const u32 gPokenavCityMap_Lilycove_0[] = INCBIN_U32("graphics/pokenav/city_maps/lilycove_0.bin.lz"); -const u32 gPokenavCityMap_Littleroot_0[] = INCBIN_U32("graphics/pokenav/city_maps/littleroot_0.bin.lz"); -const u32 gPokenavCityMap_Dewford_0[] = INCBIN_U32("graphics/pokenav/city_maps/dewford_0.bin.lz"); -const u32 gPokenavCityMap_Sootopolis_0[] = INCBIN_U32("graphics/pokenav/city_maps/sootopolis_0.bin.lz"); -const u32 gPokenavCityMap_EverGrande_0[] = INCBIN_U32("graphics/pokenav/city_maps/ever_grande_0.bin.lz"); -const u32 gPokenavCityMap_EverGrande_1[] = INCBIN_U32("graphics/pokenav/city_maps/ever_grande_1.bin.lz"); -const u32 gPokenavCityMap_Verdanturf_0[] = INCBIN_U32("graphics/pokenav/city_maps/verdanturf_0.bin.lz"); -const u32 gPokenavCityMap_Mossdeep_1[] = INCBIN_U32("graphics/pokenav/city_maps/mossdeep_1.bin.lz"); -const u32 gPokenavCityMap_Mossdeep_0[] = INCBIN_U32("graphics/pokenav/city_maps/mossdeep_0.bin.lz"); -const u32 gPokenavCityMap_Petalburg_0[] = INCBIN_U32("graphics/pokenav/city_maps/petalburg_0.bin.lz"); +const u32 gPokenavCityMap_Lavaridge_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/lavaridge_0.bin.lz"); +const u32 gPokenavCityMap_Fallarbor_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/fallarbor_0.bin.lz"); +const u32 gPokenavCityMap_Fortree_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/fortree_0.bin.lz"); +const u32 gPokenavCityMap_Slateport_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/slateport_0.bin.lz"); +const u32 gPokenavCityMap_Slateport_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/slateport_1.bin.lz"); +const u32 gPokenavCityMap_Rustboro_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/rustboro_0.bin.lz"); +const u32 gPokenavCityMap_Rustboro_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/rustboro_1.bin.lz"); +const u32 gPokenavCityMap_Pacifidlog_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/pacifidlog_0.bin.lz"); +const u32 gPokenavCityMap_Mauville_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/mauville_1.bin.lz"); +const u32 gPokenavCityMap_Mauville_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/mauville_0.bin.lz"); +const u32 gPokenavCityMap_Oldale_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/oldale_0.bin.lz"); +const u32 gPokenavCityMap_Lilycove_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/lilycove_1.bin.lz"); +const u32 gPokenavCityMap_Lilycove_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/lilycove_0.bin.lz"); +const u32 gPokenavCityMap_Littleroot_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/littleroot_0.bin.lz"); +const u32 gPokenavCityMap_Dewford_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/dewford_0.bin.lz"); +const u32 gPokenavCityMap_Sootopolis_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/sootopolis_0.bin.lz"); +const u32 gPokenavCityMap_EverGrande_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/ever_grande_0.bin.lz"); +const u32 gPokenavCityMap_EverGrande_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/ever_grande_1.bin.lz"); +const u32 gPokenavCityMap_Verdanturf_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/verdanturf_0.bin.lz"); +const u32 gPokenavCityMap_Mossdeep_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/mossdeep_1.bin.lz"); +const u32 gPokenavCityMap_Mossdeep_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/mossdeep_0.bin.lz"); +const u32 gPokenavCityMap_Petalburg_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/petalburg_0.bin.lz"); diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h deleted file mode 100644 index d1913cd8a..000000000 --- a/src/data/region_map/region_map_entries.h +++ /dev/null @@ -1,418 +0,0 @@ -#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H -#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H - -static const u8 sMapName_LittlerootTown[] = _("LITTLEROOT TOWN"); -static const u8 sMapName_OldaleTown[] = _("OLDALE TOWN"); -static const u8 sMapName_DewfordTown[] = _("DEWFORD TOWN"); -static const u8 sMapName_LavaridgeTown[] = _("LAVARIDGE TOWN"); -static const u8 sMapName_FallarborTown[] = _("FALLARBOR TOWN"); -static const u8 sMapName_VerdanturfTown[] = _("VERDANTURF TOWN"); -static const u8 sMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN"); -static const u8 sMapName_PetalburgCity[] = _("PETALBURG CITY"); -static const u8 sMapName_SlateportCity[] = _("SLATEPORT CITY"); -static const u8 sMapName_MauvilleCity[] = _("MAUVILLE CITY"); -static const u8 sMapName_RustboroCity[] = _("RUSTBORO CITY"); -static const u8 sMapName_FortreeCity[] = _("FORTREE CITY"); -static const u8 sMapName_LilycoveCity[] = _("LILYCOVE CITY"); -static const u8 sMapName_MossdeepCity[] = _("MOSSDEEP CITY"); -static const u8 sMapName_SootopolisCity[] = _("SOOTOPOLIS CITY"); -static const u8 sMapName_EverGrandeCity[] = _("EVER GRANDE CITY"); -static const u8 sMapName_Route101[] = _("ROUTE 101"); -static const u8 sMapName_Route102[] = _("ROUTE 102"); -static const u8 sMapName_Route103[] = _("ROUTE 103"); -static const u8 sMapName_Route104[] = _("ROUTE 104"); -static const u8 sMapName_Route105[] = _("ROUTE 105"); -static const u8 sMapName_Route106[] = _("ROUTE 106"); -static const u8 sMapName_Route107[] = _("ROUTE 107"); -static const u8 sMapName_Route108[] = _("ROUTE 108"); -static const u8 sMapName_Route109[] = _("ROUTE 109"); -static const u8 sMapName_Route110[] = _("ROUTE 110"); -static const u8 sMapName_Route111[] = _("ROUTE 111"); -static const u8 sMapName_Route112[] = _("ROUTE 112"); -static const u8 sMapName_Route113[] = _("ROUTE 113"); -static const u8 sMapName_Route114[] = _("ROUTE 114"); -static const u8 sMapName_Route115[] = _("ROUTE 115"); -static const u8 sMapName_Route116[] = _("ROUTE 116"); -static const u8 sMapName_Route117[] = _("ROUTE 117"); -static const u8 sMapName_Route118[] = _("ROUTE 118"); -static const u8 sMapName_Route119[] = _("ROUTE 119"); -static const u8 sMapName_Route120[] = _("ROUTE 120"); -static const u8 sMapName_Route121[] = _("ROUTE 121"); -static const u8 sMapName_Route122[] = _("ROUTE 122"); -static const u8 sMapName_Route123[] = _("ROUTE 123"); -static const u8 sMapName_Route124[] = _("ROUTE 124"); -static const u8 sMapName_Route125[] = _("ROUTE 125"); -static const u8 sMapName_Route126[] = _("ROUTE 126"); -static const u8 sMapName_Route127[] = _("ROUTE 127"); -static const u8 sMapName_Route128[] = _("ROUTE 128"); -static const u8 sMapName_Route129[] = _("ROUTE 129"); -static const u8 sMapName_Route130[] = _("ROUTE 130"); -static const u8 sMapName_Route131[] = _("ROUTE 131"); -static const u8 sMapName_Route132[] = _("ROUTE 132"); -static const u8 sMapName_Route133[] = _("ROUTE 133"); -static const u8 sMapName_Route134[] = _("ROUTE 134"); -static const u8 sMapName_Underwater[] = _("UNDERWATER"); -static const u8 sMapName_GraniteCave[] = _("GRANITE CAVE"); -static const u8 sMapName_MtChimney[] = _("MT. CHIMNEY"); -static const u8 sMapName_SafariZone[] = _("SAFARI ZONE"); -static const u8 sMapName_BattleFrontier[] = _("BATTLE FRONTIER"); -static const u8 sMapName_PetalburgWoods[] = _("PETALBURG WOODS"); -static const u8 sMapName_RusturfTunnel[] = _("RUSTURF TUNNEL"); -static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP"); -static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE"); -static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS"); -static const u8 sMapName_MtPyre[] = _("MT. PYRE"); -static const u8 sMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT"); -static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE"); -static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); -static const u8 sMapName_VictoryRoad[] = _("VICTORY ROAD"); -static const u8 sMapName_MirageIsland[] = _("MIRAGE ISLAND"); -static const u8 sMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN"); -static const u8 sMapName_SouthernIsland[] = _("SOUTHERN ISLAND"); -static const u8 sMapName_FieryPath[] = _("FIERY PATH"); -static const u8 sMapName_JaggedPass[] = _("JAGGED PASS"); -static const u8 sMapName_SealedChamber[] = _("SEALED CHAMBER"); -static const u8 sMapName_ScorchedSlab[] = _("SCORCHED SLAB"); -static const u8 sMapName_IslandCave[] = _("ISLAND CAVE"); -static const u8 sMapName_DesertRuins[] = _("DESERT RUINS"); -static const u8 sMapName_AncientTomb[] = _("ANCIENT TOMB"); -static const u8 sMapName_InsideOfTruck[] = _("INSIDE OF TRUCK"); -static const u8 sMapName_SkyPillar[] = _("SKY PILLAR"); -static const u8 sMapName_SecretBase[] = _("SECRET BASE"); -static const u8 sMapName_None[] = _(""); -static const u8 sMapName_PalletTown[] = _("PALLET TOWN"); -static const u8 sMapName_ViridianCity[] = _("VIRIDIAN CITY"); -static const u8 sMapName_PewterCity[] = _("PEWTER CITY"); -static const u8 sMapName_CeruleanCity[] = _("CERULEAN CITY"); -static const u8 sMapName_LavenderTown[] = _("LAVENDER TOWN"); -static const u8 sMapName_VermilionCity[] = _("VERMILION CITY"); -static const u8 sMapName_CeladonCity[] = _("CELADON CITY"); -static const u8 sMapName_FuchsiaCity[] = _("FUCHSIA CITY"); -static const u8 sMapName_CinnabarIsland[] = _("CINNABAR ISLAND"); -static const u8 sMapName_IndigoPlateau[] = _("INDIGO PLATEAU"); -static const u8 sMapName_SaffronCity[] = _("SAFFRON CITY"); -static const u8 sMapName_Route4[] = _("ROUTE 4"); -static const u8 sMapName_Route10[] = _("ROUTE 10"); -static const u8 sMapName_Route1[] = _("ROUTE 1"); -static const u8 sMapName_Route2[] = _("ROUTE 2"); -static const u8 sMapName_Route3[] = _("ROUTE 3"); -static const u8 sMapName_Route4_2[] = _("ROUTE 4"); -static const u8 sMapName_Route5[] = _("ROUTE 5"); -static const u8 sMapName_Route6[] = _("ROUTE 6"); -static const u8 sMapName_Route7[] = _("ROUTE 7"); -static const u8 sMapName_Route8[] = _("ROUTE 8"); -static const u8 sMapName_Route9[] = _("ROUTE 9"); -static const u8 sMapName_Route10_2[] = _("ROUTE 10"); -static const u8 sMapName_Route11[] = _("ROUTE 11"); -static const u8 sMapName_Route12[] = _("ROUTE 12"); -static const u8 sMapName_Route13[] = _("ROUTE 13"); -static const u8 sMapName_Route14[] = _("ROUTE 14"); -static const u8 sMapName_Route15[] = _("ROUTE 15"); -static const u8 sMapName_Route16[] = _("ROUTE 16"); -static const u8 sMapName_Route17[] = _("ROUTE 17"); -static const u8 sMapName_Route18[] = _("ROUTE 18"); -static const u8 sMapName_Route19[] = _("ROUTE 19"); -static const u8 sMapName_Route20[] = _("ROUTE 20"); -static const u8 sMapName_Route21[] = _("ROUTE 21"); -static const u8 sMapName_Route22[] = _("ROUTE 22"); -static const u8 sMapName_Route23[] = _("ROUTE 23"); -static const u8 sMapName_Route24[] = _("ROUTE 24"); -static const u8 sMapName_Route25[] = _("ROUTE 25"); -static const u8 sMapName_ViridianForest[] = _("VIRIDIAN FOREST"); -static const u8 sMapName_MtMoon[] = _("MT. MOON"); -static const u8 sMapName_SSAnne[] = _("S.S. ANNE"); -static const u8 sMapName_UndergroundPath[] = _("UNDERGROUND PATH"); -static const u8 sMapName_UndergroundPath2[] = _("UNDERGROUND PATH"); -static const u8 sMapName_DiglettsCave[] = _("DIGLETT'S CAVE"); -static const u8 sMapName_KantoVictoryRoad[] = _("VICTORY ROAD"); -static const u8 sMapName_RocketHideout[] = _("ROCKET HIDEOUT"); -static const u8 sMapName_SilphCo[] = _("SILPH CO."); -static const u8 sMapName_PokemonMansion[] = _("POKéMON MANSION"); -static const u8 sMapName_KantoSafariZone[] = _("SAFARI ZONE"); -static const u8 sMapName_PokemonLeague[] = _("POKéMON LEAGUE"); -static const u8 sMapName_RockTunnel[] = _("ROCK TUNNEL"); -static const u8 sMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS"); -static const u8 sMapName_PokemonTower[] = _("POKéMON TOWER"); -static const u8 sMapName_CeruleanCave[] = _("CERULEAN CAVE"); -static const u8 sMapName_PowerPlant[] = _("POWER PLANT"); -static const u8 sMapName_OneIsland[] = _("ONE ISLAND"); -static const u8 sMapName_TwoIsland[] = _("TWO ISLAND"); -static const u8 sMapName_ThreeIsland[] = _("THREE ISLAND"); -static const u8 sMapName_FourIsland[] = _("FOUR ISLAND"); -static const u8 sMapName_FiveIsland[] = _("FIVE ISLAND"); -static const u8 sMapName_SevenIsland[] = _("SEVEN ISLAND"); -static const u8 sMapName_SixIsland[] = _("SIX ISLAND"); -static const u8 sMapName_KindleRoad[] = _("KINDLE ROAD"); -static const u8 sMapName_TreasureBeach[] = _("TREASURE BEACH"); -static const u8 sMapName_CapeBrink[] = _("CAPE BRINK"); -static const u8 sMapName_BondBridge[] = _("BOND BRIDGE"); -static const u8 sMapName_ThreeIslePort[] = _("THREE ISLE PORT"); -static const u8 sMapName_SeviiIsle6[] = _("SEVII ISLE 6"); -static const u8 sMapName_SeviiIsle7[] = _("SEVII ISLE 7"); -static const u8 sMapName_SeviiIsle8[] = _("SEVII ISLE 8"); -static const u8 sMapName_SeviiIsle9[] = _("SEVII ISLE 9"); -static const u8 sMapName_ResortGorgeous[] = _("RESORT GORGEOUS"); -static const u8 sMapName_WaterLabyrinth[] = _("WATER LABYRINTH"); -static const u8 sMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW"); -static const u8 sMapName_MemorialPillar[] = _("MEMORIAL PILLAR"); -static const u8 sMapName_OutcastIsland[] = _("OUTCAST ISLAND"); -static const u8 sMapName_GreenPath[] = _("GREEN PATH"); -static const u8 sMapName_WaterPath[] = _("WATER PATH"); -static const u8 sMapName_RuinValley[] = _("RUIN VALLEY"); -static const u8 sMapName_TrainerTower[] = _("TRAINER TOWER"); -static const u8 sMapName_CanyonEntrance[] = _("CANYON ENTRANCE"); -static const u8 sMapName_SevaultCanyon[] = _("SEVAULT CANYON"); -static const u8 sMapName_TanobyRuins[] = _("TANOBY RUINS"); -static const u8 sMapName_SeviiIsle22[] = _("SEVII ISLE 22"); -static const u8 sMapName_SeviiIsle23[] = _("SEVII ISLE 23"); -static const u8 sMapName_SeviiIsle24[] = _("SEVII ISLE 24"); -static const u8 sMapName_NavelRock[] = _("NAVEL ROCK"); -static const u8 sMapName_MtEmber[] = _("MT. EMBER"); -static const u8 sMapName_BerryForest[] = _("BERRY FOREST"); -static const u8 sMapName_IcefallCave[] = _("ICEFALL CAVE"); -static const u8 sMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE"); -static const u8 sMapName_TrainerTower2[] = _("TRAINER TOWER"); -static const u8 sMapName_DottedHole[] = _("DOTTED HOLE"); -static const u8 sMapName_LostCave[] = _("LOST CAVE"); -static const u8 sMapName_PatternBush[] = _("PATTERN BUSH"); -static const u8 sMapName_AlteringCave[] = _("ALTERING CAVE"); -static const u8 sMapName_TanobyChambers[] = _("TANOBY CHAMBERS"); -static const u8 sMapName_ThreeIslePath[] = _("THREE ISLE PATH"); -static const u8 sMapName_TanobyKey[] = _("TANOBY KEY"); -static const u8 sMapName_BirthIsland[] = _("BIRTH ISLAND"); -static const u8 sMapName_MoneanChamber[] = _("MONEAN CHAMBER"); -static const u8 sMapName_LiptooChamber[] = _("LIPTOO CHAMBER"); -static const u8 sMapName_WeepthChamber[] = _("WEEPTH CHAMBER"); -static const u8 sMapName_DilfordChamber[] = _("DILFORD CHAMBER"); -static const u8 sMapName_ScufibChamber[] = _("SCUFIB CHAMBER"); -static const u8 sMapName_RixyChamber[] = _("RIXY CHAMBER"); -static const u8 sMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER"); -static const u8 sMapName_EmberSpa[] = _("EMBER SPA"); -static const u8 sMapName_SpecialArea[] = _("SPECIAL AREA"); -static const u8 sMapName_AquaHideout[] = _("AQUA HIDEOUT"); -static const u8 sMapName_MagmaHideout[] = _("MAGMA HIDEOUT"); -static const u8 sMapName_MirageTower[] = _("MIRAGE TOWER"); -static const u8 sMapName_FarawayIsland[] = _("FARAWAY ISLAND"); -static const u8 sMapName_ArtisanCave[] = _("ARTISAN CAVE"); -static const u8 sMapName_MarineCave[] = _("MARINE CAVE"); -static const u8 sMapName_TerraCave[] = _("TERRA CAVE"); -static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); -static const u8 sMapName_TrainerHill[] = _("TRAINER HILL"); - -const struct RegionMapLocation gRegionMapEntries[] = { - [MAPSEC_LITTLEROOT_TOWN] = { 4, 11, 1, 1, sMapName_LittlerootTown}, - [MAPSEC_OLDALE_TOWN] = { 4, 9, 1, 1, sMapName_OldaleTown}, - [MAPSEC_DEWFORD_TOWN] = { 2, 14, 1, 1, sMapName_DewfordTown}, - [MAPSEC_LAVARIDGE_TOWN] = { 5, 3, 1, 1, sMapName_LavaridgeTown}, - [MAPSEC_FALLARBOR_TOWN] = { 3, 0, 1, 1, sMapName_FallarborTown}, - [MAPSEC_VERDANTURF_TOWN] = { 4, 6, 1, 1, sMapName_VerdanturfTown}, - [MAPSEC_PACIFIDLOG_TOWN] = {17, 10, 1, 1, sMapName_PacifidlogTown}, - [MAPSEC_PETALBURG_CITY] = { 1, 9, 1, 1, sMapName_PetalburgCity}, - [MAPSEC_SLATEPORT_CITY] = { 8, 10, 1, 2, sMapName_SlateportCity}, - [MAPSEC_MAUVILLE_CITY] = { 8, 6, 2, 1, sMapName_MauvilleCity}, - [MAPSEC_RUSTBORO_CITY] = { 0, 5, 1, 2, sMapName_RustboroCity}, - [MAPSEC_FORTREE_CITY] = {12, 0, 1, 1, sMapName_FortreeCity}, - [MAPSEC_LILYCOVE_CITY] = {18, 3, 2, 1, sMapName_LilycoveCity}, - [MAPSEC_MOSSDEEP_CITY] = {24, 5, 2, 1, sMapName_MossdeepCity}, - [MAPSEC_SOOTOPOLIS_CITY] = {21, 7, 1, 1, sMapName_SootopolisCity}, - [MAPSEC_EVER_GRANDE_CITY] = {27, 8, 1, 2, sMapName_EverGrandeCity}, - [MAPSEC_ROUTE_101] = { 4, 10, 1, 1, sMapName_Route101}, - [MAPSEC_ROUTE_102] = { 2, 9, 2, 1, sMapName_Route102}, - [MAPSEC_ROUTE_103] = { 4, 8, 4, 1, sMapName_Route103}, - [MAPSEC_ROUTE_104] = { 0, 7, 1, 3, sMapName_Route104}, - [MAPSEC_ROUTE_105] = { 0, 10, 1, 3, sMapName_Route105}, - [MAPSEC_ROUTE_106] = { 0, 13, 2, 1, sMapName_Route106}, - [MAPSEC_ROUTE_107] = { 3, 14, 3, 1, sMapName_Route107}, - [MAPSEC_ROUTE_108] = { 6, 14, 2, 1, sMapName_Route108}, - [MAPSEC_ROUTE_109] = { 8, 12, 1, 3, sMapName_Route109}, - [MAPSEC_ROUTE_110] = { 8, 7, 1, 3, sMapName_Route110}, - [MAPSEC_ROUTE_111] = { 8, 0, 1, 6, sMapName_Route111}, - [MAPSEC_ROUTE_112] = { 6, 3, 2, 1, sMapName_Route112}, - [MAPSEC_ROUTE_113] = { 4, 0, 4, 1, sMapName_Route113}, - [MAPSEC_ROUTE_114] = { 1, 0, 2, 3, sMapName_Route114}, - [MAPSEC_ROUTE_115] = { 0, 2, 1, 3, sMapName_Route115}, - [MAPSEC_ROUTE_116] = { 1, 5, 4, 1, sMapName_Route116}, - [MAPSEC_ROUTE_117] = { 5, 6, 3, 1, sMapName_Route117}, - [MAPSEC_ROUTE_118] = {10, 6, 2, 1, sMapName_Route118}, - [MAPSEC_ROUTE_119] = {11, 0, 1, 6, sMapName_Route119}, - [MAPSEC_ROUTE_120] = {13, 0, 1, 4, sMapName_Route120}, - [MAPSEC_ROUTE_121] = {14, 3, 4, 1, sMapName_Route121}, - [MAPSEC_ROUTE_122] = {16, 4, 1, 2, sMapName_Route122}, - [MAPSEC_ROUTE_123] = {12, 6, 5, 1, sMapName_Route123}, - [MAPSEC_ROUTE_124] = {20, 3, 4, 3, sMapName_Route124}, - [MAPSEC_ROUTE_125] = {24, 3, 2, 2, sMapName_Route125}, - [MAPSEC_ROUTE_126] = {20, 6, 3, 3, sMapName_Route126}, - [MAPSEC_ROUTE_127] = {23, 6, 3, 3, sMapName_Route127}, - [MAPSEC_ROUTE_128] = {23, 9, 4, 1, sMapName_Route128}, - [MAPSEC_ROUTE_129] = {24, 10, 2, 1, sMapName_Route129}, - [MAPSEC_ROUTE_130] = {21, 10, 3, 1, sMapName_Route130}, - [MAPSEC_ROUTE_131] = {18, 10, 3, 1, sMapName_Route131}, - [MAPSEC_ROUTE_132] = {15, 10, 2, 1, sMapName_Route132}, - [MAPSEC_ROUTE_133] = {12, 10, 3, 1, sMapName_Route133}, - [MAPSEC_ROUTE_134] = { 9, 10, 3, 1, sMapName_Route134}, - [MAPSEC_UNDERWATER_124] = {20, 3, 4, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_126] = {20, 6, 3, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_127] = {23, 6, 3, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_128] = {23, 9, 4, 1, sMapName_Underwater}, - [MAPSEC_UNDERWATER_SOOTOPOLIS] = {21, 7, 1, 1, sMapName_Underwater}, - [MAPSEC_GRANITE_CAVE] = { 1, 13, 1, 1, sMapName_GraniteCave}, - [MAPSEC_MT_CHIMNEY] = { 6, 2, 1, 1, sMapName_MtChimney}, - [MAPSEC_SAFARI_ZONE] = {16, 2, 1, 1, sMapName_SafariZone}, - [MAPSEC_BATTLE_FRONTIER] = {22, 12, 1, 1, sMapName_BattleFrontier}, - [MAPSEC_PETALBURG_WOODS] = { 0, 8, 1, 1, sMapName_PetalburgWoods}, - [MAPSEC_RUSTURF_TUNNEL] = { 2, 5, 1, 1, sMapName_RusturfTunnel}, - [MAPSEC_ABANDONED_SHIP] = { 6, 14, 1, 1, sMapName_AbandonedShip}, - [MAPSEC_NEW_MAUVILLE] = { 8, 7, 1, 1, sMapName_NewMauville}, - [MAPSEC_METEOR_FALLS] = { 0, 3, 1, 1, sMapName_MeteorFalls}, - [MAPSEC_METEOR_FALLS2] = { 1, 2, 1, 1, sMapName_MeteorFalls}, - [MAPSEC_MT_PYRE] = {16, 4, 1, 1, sMapName_MtPyre}, - [MAPSEC_AQUA_HIDEOUT_OLD] = {19, 3, 1, 1, sMapName_AquaHideoutOld}, - [MAPSEC_SHOAL_CAVE] = {24, 4, 1, 1, sMapName_ShoalCave}, - [MAPSEC_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_SeafloorCavern}, - [MAPSEC_UNDERWATER_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_Underwater}, - [MAPSEC_VICTORY_ROAD] = {27, 9, 1, 1, sMapName_VictoryRoad}, - [MAPSEC_MIRAGE_ISLAND] = {17, 10, 1, 1, sMapName_MirageIsland}, - [MAPSEC_CAVE_OF_ORIGIN] = {21, 7, 1, 1, sMapName_CaveOfOrigin}, - [MAPSEC_SOUTHERN_ISLAND] = {12, 14, 1, 1, sMapName_SouthernIsland}, - [MAPSEC_FIERY_PATH] = { 6, 3, 1, 1, sMapName_FieryPath}, - [MAPSEC_FIERY_PATH2] = { 7, 3, 1, 1, sMapName_FieryPath}, - [MAPSEC_JAGGED_PASS] = { 6, 3, 1, 1, sMapName_JaggedPass}, - [MAPSEC_JAGGED_PASS2] = { 7, 2, 1, 1, sMapName_JaggedPass}, - [MAPSEC_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_SealedChamber}, - [MAPSEC_UNDERWATER_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_Underwater}, - [MAPSEC_SCORCHED_SLAB] = {13, 0, 1, 1, sMapName_ScorchedSlab}, - [MAPSEC_ISLAND_CAVE] = { 0, 10, 1, 1, sMapName_IslandCave}, - [MAPSEC_DESERT_RUINS] = { 8, 3, 1, 1, sMapName_DesertRuins}, - [MAPSEC_ANCIENT_TOMB] = {13, 2, 1, 1, sMapName_AncientTomb}, - [MAPSEC_INSIDE_OF_TRUCK] = { 0, 0, 1, 1, sMapName_InsideOfTruck}, - [MAPSEC_SKY_PILLAR] = {19, 10, 1, 1, sMapName_SkyPillar}, - [MAPSEC_SECRET_BASE] = { 0, 0, 1, 1, sMapName_SecretBase}, - [MAPSEC_DYNAMIC] = { 0, 0, 1, 1, sMapName_None}, - [MAPSEC_PALLET_TOWN] = { 0, 0, 1, 1, sMapName_PalletTown}, - [MAPSEC_VIRIDIAN_CITY] = { 0, 0, 1, 1, sMapName_ViridianCity}, - [MAPSEC_PEWTER_CITY] = { 0, 0, 1, 1, sMapName_PewterCity}, - [MAPSEC_CERULEAN_CITY] = { 0, 0, 1, 1, sMapName_CeruleanCity}, - [MAPSEC_LAVENDER_TOWN] = { 0, 0, 1, 1, sMapName_LavenderTown}, - [MAPSEC_VERMILION_CITY] = { 0, 0, 1, 1, sMapName_VermilionCity}, - [MAPSEC_CELADON_CITY] = { 0, 0, 1, 1, sMapName_CeladonCity}, - [MAPSEC_FUCHSIA_CITY] = { 0, 0, 1, 1, sMapName_FuchsiaCity}, - [MAPSEC_CINNABAR_ISLAND] = { 0, 0, 1, 1, sMapName_CinnabarIsland}, - [MAPSEC_INDIGO_PLATEAU] = { 0, 0, 1, 1, sMapName_IndigoPlateau}, - [MAPSEC_SAFFRON_CITY] = { 0, 0, 1, 1, sMapName_SaffronCity}, - [MAPSEC_ROUTE_4_POKECENTER] = { 0, 0, 1, 1, sMapName_Route4}, - [MAPSEC_ROUTE_10_POKECENTER] = { 0, 0, 1, 1, sMapName_Route10}, - [MAPSEC_ROUTE_1] = { 0, 0, 1, 1, sMapName_Route1}, - [MAPSEC_ROUTE_2] = { 0, 0, 1, 1, sMapName_Route2}, - [MAPSEC_ROUTE_3] = { 0, 0, 1, 1, sMapName_Route3}, - [MAPSEC_ROUTE_4] = { 0, 0, 1, 1, sMapName_Route4_2}, - [MAPSEC_ROUTE_5] = { 0, 0, 1, 1, sMapName_Route5}, - [MAPSEC_ROUTE_6] = { 0, 0, 1, 1, sMapName_Route6}, - [MAPSEC_ROUTE_7] = { 0, 0, 1, 1, sMapName_Route7}, - [MAPSEC_ROUTE_8] = { 0, 0, 1, 1, sMapName_Route8}, - [MAPSEC_ROUTE_9] = { 0, 0, 1, 1, sMapName_Route9}, - [MAPSEC_ROUTE_10] = { 0, 0, 1, 1, sMapName_Route10_2}, - [MAPSEC_ROUTE_11] = { 0, 0, 1, 1, sMapName_Route11}, - [MAPSEC_ROUTE_12] = { 0, 0, 1, 1, sMapName_Route12}, - [MAPSEC_ROUTE_13] = { 0, 0, 1, 1, sMapName_Route13}, - [MAPSEC_ROUTE_14] = { 0, 0, 1, 1, sMapName_Route14}, - [MAPSEC_ROUTE_15] = { 0, 0, 1, 1, sMapName_Route15}, - [MAPSEC_ROUTE_16] = { 0, 0, 1, 1, sMapName_Route16}, - [MAPSEC_ROUTE_17] = { 0, 0, 1, 1, sMapName_Route17}, - [MAPSEC_ROUTE_18] = { 0, 0, 1, 1, sMapName_Route18}, - [MAPSEC_ROUTE_19] = { 0, 0, 1, 1, sMapName_Route19}, - [MAPSEC_ROUTE_20] = { 0, 0, 1, 1, sMapName_Route20}, - [MAPSEC_ROUTE_21] = { 0, 0, 1, 1, sMapName_Route21}, - [MAPSEC_ROUTE_22] = { 0, 0, 1, 1, sMapName_Route22}, - [MAPSEC_ROUTE_23] = { 0, 0, 1, 1, sMapName_Route23}, - [MAPSEC_ROUTE_24] = { 0, 0, 1, 1, sMapName_Route24}, - [MAPSEC_ROUTE_25] = { 0, 0, 1, 1, sMapName_Route25}, - [MAPSEC_VIRIDIAN_FOREST] = { 0, 0, 1, 1, sMapName_ViridianForest}, - [MAPSEC_MT_MOON] = { 0, 0, 1, 1, sMapName_MtMoon}, - [MAPSEC_S_S_ANNE] = { 0, 0, 1, 1, sMapName_SSAnne}, - [MAPSEC_UNDERGROUND_PATH] = { 0, 0, 1, 1, sMapName_UndergroundPath}, - [MAPSEC_UNDERGROUND_PATH_2] = { 0, 0, 1, 1, sMapName_UndergroundPath2}, - [MAPSEC_DIGLETTS_CAVE] = { 0, 0, 1, 1, sMapName_DiglettsCave}, - [MAPSEC_KANTO_VICTORY_ROAD] = { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, - [MAPSEC_ROCKET_HIDEOUT] = { 0, 0, 1, 1, sMapName_RocketHideout}, - [MAPSEC_SILPH_CO] = { 0, 0, 1, 1, sMapName_SilphCo}, - [MAPSEC_POKEMON_MANSION] = { 0, 0, 1, 1, sMapName_PokemonMansion}, - [MAPSEC_KANTO_SAFARI_ZONE] = { 0, 0, 1, 1, sMapName_KantoSafariZone}, - [MAPSEC_POKEMON_LEAGUE] = { 0, 0, 1, 1, sMapName_PokemonLeague}, - [MAPSEC_ROCK_TUNNEL] = { 0, 0, 1, 1, sMapName_RockTunnel}, - [MAPSEC_SEAFOAM_ISLANDS] = { 0, 0, 1, 1, sMapName_SeafoamIslands}, - [MAPSEC_POKEMON_TOWER] = { 0, 0, 1, 1, sMapName_PokemonTower}, - [MAPSEC_CERULEAN_CAVE] = { 0, 0, 1, 1, sMapName_CeruleanCave}, - [MAPSEC_POWER_PLANT] = { 0, 0, 1, 1, sMapName_PowerPlant}, - [MAPSEC_ONE_ISLAND] = { 0, 0, 1, 1, sMapName_OneIsland}, - [MAPSEC_TWO_ISLAND] = { 0, 0, 1, 1, sMapName_TwoIsland}, - [MAPSEC_THREE_ISLAND] = { 0, 0, 1, 1, sMapName_ThreeIsland}, - [MAPSEC_FOUR_ISLAND] = { 0, 0, 1, 1, sMapName_FourIsland}, - [MAPSEC_FIVE_ISLAND] = { 0, 0, 1, 1, sMapName_FiveIsland}, - [MAPSEC_SEVEN_ISLAND] = { 0, 0, 1, 1, sMapName_SevenIsland}, - [MAPSEC_SIX_ISLAND] = { 0, 0, 1, 1, sMapName_SixIsland}, - [MAPSEC_KINDLE_ROAD] = { 0, 0, 1, 1, sMapName_KindleRoad}, - [MAPSEC_TREASURE_BEACH] = { 0, 0, 1, 1, sMapName_TreasureBeach}, - [MAPSEC_CAPE_BRINK] = { 0, 0, 1, 1, sMapName_CapeBrink}, - [MAPSEC_BOND_BRIDGE] = { 0, 0, 1, 1, sMapName_BondBridge}, - [MAPSEC_THREE_ISLE_PORT] = { 0, 0, 1, 1, sMapName_ThreeIslePort}, - [MAPSEC_SEVII_ISLE_6] = { 0, 0, 1, 1, sMapName_SeviiIsle6}, - [MAPSEC_SEVII_ISLE_7] = { 0, 0, 1, 1, sMapName_SeviiIsle7}, - [MAPSEC_SEVII_ISLE_8] = { 0, 0, 1, 1, sMapName_SeviiIsle8}, - [MAPSEC_SEVII_ISLE_9] = { 0, 0, 1, 1, sMapName_SeviiIsle9}, - [MAPSEC_RESORT_GORGEOUS] = { 0, 0, 1, 1, sMapName_ResortGorgeous}, - [MAPSEC_WATER_LABYRINTH] = { 0, 0, 1, 1, sMapName_WaterLabyrinth}, - [MAPSEC_FIVE_ISLE_MEADOW] = { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, - [MAPSEC_MEMORIAL_PILLAR] = { 0, 0, 1, 1, sMapName_MemorialPillar}, - [MAPSEC_OUTCAST_ISLAND] = { 0, 0, 1, 1, sMapName_OutcastIsland}, - [MAPSEC_GREEN_PATH] = { 0, 0, 1, 1, sMapName_GreenPath}, - [MAPSEC_WATER_PATH] = { 0, 0, 1, 1, sMapName_WaterPath}, - [MAPSEC_RUIN_VALLEY] = { 0, 0, 1, 1, sMapName_RuinValley}, - [MAPSEC_TRAINER_TOWER] = { 0, 0, 1, 1, sMapName_TrainerTower}, - [MAPSEC_CANYON_ENTRANCE] = { 0, 0, 1, 1, sMapName_CanyonEntrance}, - [MAPSEC_SEVAULT_CANYON] = { 0, 0, 1, 1, sMapName_SevaultCanyon}, - [MAPSEC_TANOBY_RUINS] = { 0, 0, 1, 1, sMapName_TanobyRuins}, - [MAPSEC_SEVII_ISLE_22] = { 0, 0, 1, 1, sMapName_SeviiIsle22}, - [MAPSEC_SEVII_ISLE_23] = { 0, 0, 1, 1, sMapName_SeviiIsle23}, - [MAPSEC_SEVII_ISLE_24] = { 0, 0, 1, 1, sMapName_SeviiIsle24}, - [MAPSEC_NAVEL_ROCK_FRLG] = { 0, 0, 1, 1, sMapName_NavelRock}, - [MAPSEC_MT_EMBER] = { 0, 0, 1, 1, sMapName_MtEmber}, - [MAPSEC_BERRY_FOREST] = { 0, 0, 1, 1, sMapName_BerryForest}, - [MAPSEC_ICEFALL_CAVE] = { 0, 0, 1, 1, sMapName_IcefallCave}, - [MAPSEC_ROCKET_WAREHOUSE] = { 0, 0, 1, 1, sMapName_RocketWarehouse}, - [MAPSEC_TRAINER_TOWER_2] = { 0, 0, 1, 1, sMapName_TrainerTower2}, - [MAPSEC_DOTTED_HOLE] = { 0, 0, 1, 1, sMapName_DottedHole}, - [MAPSEC_LOST_CAVE] = { 0, 0, 1, 1, sMapName_LostCave}, - [MAPSEC_PATTERN_BUSH] = { 0, 0, 1, 1, sMapName_PatternBush}, - [MAPSEC_ALTERING_CAVE_FRLG] = { 0, 0, 1, 1, sMapName_AlteringCave}, - [MAPSEC_TANOBY_CHAMBERS] = { 0, 0, 1, 1, sMapName_TanobyChambers}, - [MAPSEC_THREE_ISLE_PATH] = { 0, 0, 1, 1, sMapName_ThreeIslePath}, - [MAPSEC_TANOBY_KEY] = { 0, 0, 1, 1, sMapName_TanobyKey}, - [MAPSEC_BIRTH_ISLAND_FRLG] = { 0, 0, 1, 1, sMapName_BirthIsland}, - [MAPSEC_MONEAN_CHAMBER] = { 0, 0, 1, 1, sMapName_MoneanChamber}, - [MAPSEC_LIPTOO_CHAMBER] = { 0, 0, 1, 1, sMapName_LiptooChamber}, - [MAPSEC_WEEPTH_CHAMBER] = { 0, 0, 1, 1, sMapName_WeepthChamber}, - [MAPSEC_DILFORD_CHAMBER] = { 0, 0, 1, 1, sMapName_DilfordChamber}, - [MAPSEC_SCUFIB_CHAMBER] = { 0, 0, 1, 1, sMapName_ScufibChamber}, - [MAPSEC_RIXY_CHAMBER] = { 0, 0, 1, 1, sMapName_RixyChamber}, - [MAPSEC_VIAPOIS_CHAMBER] = { 0, 0, 1, 1, sMapName_ViapoisChamber}, - [MAPSEC_EMBER_SPA] = { 0, 0, 1, 1, sMapName_EmberSpa}, - [MAPSEC_SPECIAL_AREA] = { 0, 0, 1, 1, sMapName_SpecialArea}, - [MAPSEC_AQUA_HIDEOUT] = {19, 3, 1, 1, sMapName_AquaHideout}, - [MAPSEC_MAGMA_HIDEOUT] = { 6, 3, 1, 1, sMapName_MagmaHideout}, - [MAPSEC_MIRAGE_TOWER] = { 8, 2, 1, 1, sMapName_MirageTower}, - [MAPSEC_BIRTH_ISLAND] = { 0, 0, 1, 1, sMapName_BirthIsland}, - [MAPSEC_FARAWAY_ISLAND] = { 0, 0, 1, 1, sMapName_FarawayIsland}, - [MAPSEC_ARTISAN_CAVE] = {22, 12, 1, 1, sMapName_ArtisanCave}, - [MAPSEC_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_MarineCave}, - [MAPSEC_UNDERWATER_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_Underwater}, - [MAPSEC_TERRA_CAVE] = { 0, 0, 1, 1, sMapName_TerraCave}, - [MAPSEC_UNDERWATER_105] = { 0, 10, 1, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_125] = {24, 3, 2, 2, sMapName_Underwater}, - [MAPSEC_UNDERWATER_129] = {24, 10, 2, 1, sMapName_Underwater}, - [MAPSEC_DESERT_UNDERPASS] = { 2, 0, 1, 1, sMapName_DesertUnderpass}, - [MAPSEC_ALTERING_CAVE] = { 6, 8, 1, 1, sMapName_AlteringCave}, - [MAPSEC_NAVEL_ROCK] = { 0, 0, 1, 1, sMapName_NavelRock}, - [MAPSEC_TRAINER_HILL] = { 8, 4, 1, 1, sMapName_TrainerHill} -}; - -#endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H diff --git a/src/data/region_map/region_map_layout.h b/src/data/region_map/region_map_layout.h new file mode 100644 index 000000000..95a4e94f3 --- /dev/null +++ b/src/data/region_map/region_map_layout.h @@ -0,0 +1,17 @@ +static const u8 sRegionMap_MapSectionLayout[MAP_HEIGHT][MAP_WIDTH] = { + {MAPSEC_NONE, MAPSEC_ROUTE_114, MAPSEC_ROUTE_114, MAPSEC_FALLARBOR_TOWN, MAPSEC_ROUTE_113, MAPSEC_ROUTE_113, MAPSEC_ROUTE_113, MAPSEC_ROUTE_113, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_FORTREE_CITY, MAPSEC_ROUTE_120, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_NONE, MAPSEC_ROUTE_114, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_MT_CHIMNEY, MAPSEC_MT_CHIMNEY, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_ROUTE_120, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_115, MAPSEC_ROUTE_114, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_MT_CHIMNEY, MAPSEC_MT_CHIMNEY, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_ROUTE_120, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_SAFARI_ZONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_115, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_LAVARIDGE_TOWN, MAPSEC_ROUTE_112, MAPSEC_ROUTE_112, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_ROUTE_120, MAPSEC_ROUTE_121, MAPSEC_ROUTE_121, MAPSEC_ROUTE_121, MAPSEC_ROUTE_121, MAPSEC_LILYCOVE_CITY, MAPSEC_LILYCOVE_CITY, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_125, MAPSEC_ROUTE_125, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_115, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_122, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_125, MAPSEC_ROUTE_125, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_RUSTBORO_CITY, MAPSEC_ROUTE_116, MAPSEC_ROUTE_116, MAPSEC_ROUTE_116, MAPSEC_ROUTE_116, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_122, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_MOSSDEEP_CITY, MAPSEC_MOSSDEEP_CITY, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_RUSTBORO_CITY, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_VERDANTURF_TOWN, MAPSEC_ROUTE_117, MAPSEC_ROUTE_117, MAPSEC_ROUTE_117, MAPSEC_MAUVILLE_CITY, MAPSEC_MAUVILLE_CITY, MAPSEC_ROUTE_118, MAPSEC_ROUTE_118, MAPSEC_ROUTE_123, MAPSEC_ROUTE_123, MAPSEC_ROUTE_123, MAPSEC_ROUTE_123, MAPSEC_ROUTE_123, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_126, MAPSEC_ROUTE_126, MAPSEC_ROUTE_126, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_104, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_110, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_126, MAPSEC_SOOTOPOLIS_CITY, MAPSEC_ROUTE_126, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_104, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_103, MAPSEC_ROUTE_103, MAPSEC_ROUTE_103, MAPSEC_ROUTE_103, MAPSEC_ROUTE_110, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_126, MAPSEC_ROUTE_126, MAPSEC_ROUTE_126, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_NONE, MAPSEC_EVER_GRANDE_CITY}, + {MAPSEC_ROUTE_104, MAPSEC_PETALBURG_CITY, MAPSEC_ROUTE_102, MAPSEC_ROUTE_102, MAPSEC_OLDALE_TOWN, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_110, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_128, MAPSEC_ROUTE_128, MAPSEC_ROUTE_128, MAPSEC_ROUTE_128, MAPSEC_EVER_GRANDE_CITY}, + {MAPSEC_ROUTE_105, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_101, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_SLATEPORT_CITY, MAPSEC_ROUTE_134, MAPSEC_ROUTE_134, MAPSEC_ROUTE_134, MAPSEC_ROUTE_133, MAPSEC_ROUTE_133, MAPSEC_ROUTE_133, MAPSEC_ROUTE_132, MAPSEC_ROUTE_132, MAPSEC_PACIFIDLOG_TOWN, MAPSEC_ROUTE_131, MAPSEC_ROUTE_131, MAPSEC_ROUTE_131, MAPSEC_ROUTE_130, MAPSEC_ROUTE_130, MAPSEC_ROUTE_130, MAPSEC_ROUTE_129, MAPSEC_ROUTE_129, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_105, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_LITTLEROOT_TOWN, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_SLATEPORT_CITY, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_105, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_109, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_BATTLE_FRONTIER, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_106, MAPSEC_ROUTE_106, MAPSEC_ROUTE_106, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_109, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_NONE, MAPSEC_NONE, MAPSEC_DEWFORD_TOWN, MAPSEC_ROUTE_107, MAPSEC_ROUTE_107, MAPSEC_ROUTE_107, MAPSEC_ROUTE_108, MAPSEC_ROUTE_108, MAPSEC_ROUTE_109, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_SOUTHERN_ISLAND, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, +}; diff --git a/src/data/region_map/region_map_sections.json b/src/data/region_map/region_map_sections.json new file mode 100644 index 000000000..8fa007911 --- /dev/null +++ b/src/data/region_map/region_map_sections.json @@ -0,0 +1,1715 @@ +{ + "map_sections": [ + { + "map_section": "MAPSEC_LITTLEROOT_TOWN", + "name": "LITTLEROOT TOWN", + "x": 4, + "y": 11, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_OLDALE_TOWN", + "name": "OLDALE TOWN", + "x": 4, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DEWFORD_TOWN", + "name": "DEWFORD TOWN", + "x": 2, + "y": 14, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LAVARIDGE_TOWN", + "name": "LAVARIDGE TOWN", + "x": 5, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FALLARBOR_TOWN", + "name": "FALLARBOR TOWN", + "x": 3, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VERDANTURF_TOWN", + "name": "VERDANTURF TOWN", + "x": 4, + "y": 6, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PACIFIDLOG_TOWN", + "name": "PACIFIDLOG TOWN", + "x": 17, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PETALBURG_CITY", + "name": "PETALBURG CITY", + "x": 1, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SLATEPORT_CITY", + "name": "SLATEPORT CITY", + "x": 8, + "y": 10, + "width": 1, + "height": 2 + }, + { + "map_section": "MAPSEC_MAUVILLE_CITY", + "name": "MAUVILLE CITY", + "x": 8, + "y": 6, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_RUSTBORO_CITY", + "name": "RUSTBORO CITY", + "x": 0, + "y": 5, + "width": 1, + "height": 2 + }, + { + "map_section": "MAPSEC_FORTREE_CITY", + "name": "FORTREE CITY", + "x": 12, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LILYCOVE_CITY", + "name": "LILYCOVE CITY", + "x": 18, + "y": 3, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_MOSSDEEP_CITY", + "name": "MOSSDEEP CITY", + "x": 24, + "y": 5, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_SOOTOPOLIS_CITY", + "name": "SOOTOPOLIS CITY", + "x": 21, + "y": 7, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_EVER_GRANDE_CITY", + "name": "EVER GRANDE CITY", + "x": 27, + "y": 8, + "width": 1, + "height": 2 + }, + { + "map_section": "MAPSEC_ROUTE_101", + "name": "ROUTE 101", + "x": 4, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_102", + "name": "ROUTE 102", + "x": 2, + "y": 9, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_103", + "name": "ROUTE 103", + "x": 4, + "y": 8, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_104", + "name": "ROUTE 104", + "x": 0, + "y": 7, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_105", + "name": "ROUTE 105", + "x": 0, + "y": 10, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_106", + "name": "ROUTE 106", + "x": 0, + "y": 13, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_107", + "name": "ROUTE 107", + "x": 3, + "y": 14, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_108", + "name": "ROUTE 108", + "x": 6, + "y": 14, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_109", + "name": "ROUTE 109", + "x": 8, + "y": 12, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_110", + "name": "ROUTE 110", + "x": 8, + "y": 7, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_111", + "name": "ROUTE 111", + "x": 8, + "y": 0, + "width": 1, + "height": 6 + }, + { + "map_section": "MAPSEC_ROUTE_112", + "name": "ROUTE 112", + "x": 6, + "y": 3, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_113", + "name": "ROUTE 113", + "x": 4, + "y": 0, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_114", + "name": "ROUTE 114", + "x": 1, + "y": 0, + "width": 2, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_115", + "name": "ROUTE 115", + "x": 0, + "y": 2, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_116", + "name": "ROUTE 116", + "x": 1, + "y": 5, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_117", + "name": "ROUTE 117", + "x": 5, + "y": 6, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_118", + "name": "ROUTE 118", + "x": 10, + "y": 6, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_119", + "name": "ROUTE 119", + "x": 11, + "y": 0, + "width": 1, + "height": 6 + }, + { + "map_section": "MAPSEC_ROUTE_120", + "name": "ROUTE 120", + "x": 13, + "y": 0, + "width": 1, + "height": 4 + }, + { + "map_section": "MAPSEC_ROUTE_121", + "name": "ROUTE 121", + "x": 14, + "y": 3, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_122", + "name": "ROUTE 122", + "x": 16, + "y": 4, + "width": 1, + "height": 2 + }, + { + "map_section": "MAPSEC_ROUTE_123", + "name": "ROUTE 123", + "x": 12, + "y": 6, + "width": 5, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_124", + "name": "ROUTE 124", + "x": 20, + "y": 3, + "width": 4, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_125", + "name": "ROUTE 125", + "x": 24, + "y": 3, + "width": 2, + "height": 2 + }, + { + "map_section": "MAPSEC_ROUTE_126", + "name": "ROUTE 126", + "x": 20, + "y": 6, + "width": 3, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_127", + "name": "ROUTE 127", + "x": 23, + "y": 6, + "width": 3, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_128", + "name": "ROUTE 128", + "x": 23, + "y": 9, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_129", + "name": "ROUTE 129", + "x": 24, + "y": 10, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_130", + "name": "ROUTE 130", + "x": 21, + "y": 10, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_131", + "name": "ROUTE 131", + "x": 18, + "y": 10, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_132", + "name": "ROUTE 132", + "x": 15, + "y": 10, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_133", + "name": "ROUTE 133", + "x": 12, + "y": 10, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_134", + "name": "ROUTE 134", + "x": 9, + "y": 10, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_124", + "name": "UNDERWATER", + "x": 20, + "y": 3, + "width": 4, + "height": 3 + }, + { + "map_section": "MAPSEC_UNDERWATER_126", + "name": "UNDERWATER", + "x": 20, + "y": 6, + "width": 3, + "height": 3 + }, + { + "map_section": "MAPSEC_UNDERWATER_127", + "name": "UNDERWATER", + "x": 23, + "y": 6, + "width": 3, + "height": 3 + }, + { + "map_section": "MAPSEC_UNDERWATER_128", + "name": "UNDERWATER", + "x": 23, + "y": 9, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_SOOTOPOLIS", + "name": "UNDERWATER", + "x": 21, + "y": 7, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_GRANITE_CAVE", + "name": "GRANITE CAVE", + "x": 1, + "y": 13, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MT_CHIMNEY", + "name": "MT. CHIMNEY", + "x": 6, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SAFARI_ZONE", + "name": "SAFARI ZONE", + "x": 16, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BATTLE_FRONTIER", + "name": "BATTLE FRONTIER", + "x": 22, + "y": 12, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PETALBURG_WOODS", + "name": "PETALBURG WOODS", + "x": 0, + "y": 8, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_RUSTURF_TUNNEL", + "name": "RUSTURF TUNNEL", + "x": 2, + "y": 5, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ABANDONED_SHIP", + "name": "ABANDONED SHIP", + "x": 6, + "y": 14, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_NEW_MAUVILLE", + "name": "NEW MAUVILLE", + "x": 8, + "y": 7, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_METEOR_FALLS", + "name": "METEOR FALLS", + "x": 0, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_METEOR_FALLS2", + "name": "METEOR FALLS", + "x": 1, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MT_PYRE", + "name": "MT. PYRE", + "x": 16, + "y": 4, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_AQUA_HIDEOUT_OLD", + "name": "{AQUA} HIDEOUT", + "name_clone": true, + "x": 19, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SHOAL_CAVE", + "name": "SHOAL CAVE", + "x": 24, + "y": 4, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEAFLOOR_CAVERN", + "name": "SEAFLOOR CAVERN", + "x": 24, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_SEAFLOOR_CAVERN", + "name": "UNDERWATER", + "x": 24, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VICTORY_ROAD", + "name": "VICTORY ROAD", + "x": 27, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MIRAGE_ISLAND", + "name": "MIRAGE ISLAND", + "x": 17, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CAVE_OF_ORIGIN", + "name": "CAVE OF ORIGIN", + "x": 21, + "y": 7, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SOUTHERN_ISLAND", + "name": "SOUTHERN ISLAND", + "x": 12, + "y": 14, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FIERY_PATH", + "name": "FIERY PATH", + "x": 6, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FIERY_PATH2", + "name": "FIERY PATH", + "x": 7, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_JAGGED_PASS", + "name": "JAGGED PASS", + "x": 6, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_JAGGED_PASS2", + "name": "JAGGED PASS", + "x": 7, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEALED_CHAMBER", + "name": "SEALED CHAMBER", + "x": 11, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER", + "name": "UNDERWATER", + "x": 11, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SCORCHED_SLAB", + "name": "SCORCHED SLAB", + "x": 13, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ISLAND_CAVE", + "name": "ISLAND CAVE", + "x": 0, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DESERT_RUINS", + "name": "DESERT RUINS", + "x": 8, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ANCIENT_TOMB", + "name": "ANCIENT TOMB", + "x": 13, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_INSIDE_OF_TRUCK", + "name": "INSIDE OF TRUCK", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SKY_PILLAR", + "name": "SKY PILLAR", + "x": 19, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SECRET_BASE", + "name": "SECRET BASE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DYNAMIC", + "name": "", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PALLET_TOWN", + "name": "PALLET TOWN", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VIRIDIAN_CITY", + "name": "VIRIDIAN CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PEWTER_CITY", + "name": "PEWTER CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CERULEAN_CITY", + "name": "CERULEAN CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LAVENDER_TOWN", + "name": "LAVENDER TOWN", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VERMILION_CITY", + "name": "VERMILION CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CELADON_CITY", + "name": "CELADON CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FUCHSIA_CITY", + "name": "FUCHSIA CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CINNABAR_ISLAND", + "name": "CINNABAR ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_INDIGO_PLATEAU", + "name": "INDIGO PLATEAU", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SAFFRON_CITY", + "name": "SAFFRON CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_4_POKECENTER", + "name": "ROUTE 4", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_10_POKECENTER", + "name": "ROUTE 10", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_1", + "name": "ROUTE 1", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_2", + "name": "ROUTE 2", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_3", + "name": "ROUTE 3", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_4", + "name": "ROUTE 4", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_5", + "name": "ROUTE 5", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_6", + "name": "ROUTE 6", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_7", + "name": "ROUTE 7", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_8", + "name": "ROUTE 8", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_9", + "name": "ROUTE 9", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_10", + "name": "ROUTE 10", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_11", + "name": "ROUTE 11", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_12", + "name": "ROUTE 12", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_13", + "name": "ROUTE 13", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_14", + "name": "ROUTE 14", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_15", + "name": "ROUTE 15", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_16", + "name": "ROUTE 16", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_17", + "name": "ROUTE 17", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_18", + "name": "ROUTE 18", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_19", + "name": "ROUTE 19", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_20", + "name": "ROUTE 20", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_21", + "name": "ROUTE 21", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_22", + "name": "ROUTE 22", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_23", + "name": "ROUTE 23", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_24", + "name": "ROUTE 24", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_25", + "name": "ROUTE 25", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VIRIDIAN_FOREST", + "name": "VIRIDIAN FOREST", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MT_MOON", + "name": "MT. MOON", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_S_S_ANNE", + "name": "S.S. ANNE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERGROUND_PATH", + "name": "UNDERGROUND PATH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERGROUND_PATH_2", + "name": "UNDERGROUND PATH", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DIGLETTS_CAVE", + "name": "DIGLETT'S CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_KANTO_VICTORY_ROAD", + "name": "VICTORY ROAD", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROCKET_HIDEOUT", + "name": "ROCKET HIDEOUT", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SILPH_CO", + "name": "SILPH CO.", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_POKEMON_MANSION", + "name": "POKéMON MANSION", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_KANTO_SAFARI_ZONE", + "name": "SAFARI ZONE", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_POKEMON_LEAGUE", + "name": "POKéMON LEAGUE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROCK_TUNNEL", + "name": "ROCK TUNNEL", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEAFOAM_ISLANDS", + "name": "SEAFOAM ISLANDS", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_POKEMON_TOWER", + "name": "POKéMON TOWER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CERULEAN_CAVE", + "name": "CERULEAN CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_POWER_PLANT", + "name": "POWER PLANT", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ONE_ISLAND", + "name": "ONE ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TWO_ISLAND", + "name": "TWO ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_THREE_ISLAND", + "name": "THREE ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FOUR_ISLAND", + "name": "FOUR ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FIVE_ISLAND", + "name": "FIVE ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVEN_ISLAND", + "name": "SEVEN ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SIX_ISLAND", + "name": "SIX ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_KINDLE_ROAD", + "name": "KINDLE ROAD", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TREASURE_BEACH", + "name": "TREASURE BEACH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CAPE_BRINK", + "name": "CAPE BRINK", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BOND_BRIDGE", + "name": "BOND BRIDGE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_THREE_ISLE_PORT", + "name": "THREE ISLE PORT", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_6", + "name": "SEVII ISLE 6", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_7", + "name": "SEVII ISLE 7", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_8", + "name": "SEVII ISLE 8", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_9", + "name": "SEVII ISLE 9", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_RESORT_GORGEOUS", + "name": "RESORT GORGEOUS", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_WATER_LABYRINTH", + "name": "WATER LABYRINTH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FIVE_ISLE_MEADOW", + "name": "FIVE ISLE MEADOW", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MEMORIAL_PILLAR", + "name": "MEMORIAL PILLAR", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_OUTCAST_ISLAND", + "name": "OUTCAST ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_GREEN_PATH", + "name": "GREEN PATH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_WATER_PATH", + "name": "WATER PATH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_RUIN_VALLEY", + "name": "RUIN VALLEY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TRAINER_TOWER", + "name": "TRAINER TOWER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CANYON_ENTRANCE", + "name": "CANYON ENTRANCE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVAULT_CANYON", + "name": "SEVAULT CANYON", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TANOBY_RUINS", + "name": "TANOBY RUINS", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_22", + "name": "SEVII ISLE 22", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_23", + "name": "SEVII ISLE 23", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_24", + "name": "SEVII ISLE 24", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_NAVEL_ROCK_FRLG", + "name": "NAVEL ROCK", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MT_EMBER", + "name": "MT. EMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BERRY_FOREST", + "name": "BERRY FOREST", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ICEFALL_CAVE", + "name": "ICEFALL CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROCKET_WAREHOUSE", + "name": "ROCKET WAREHOUSE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TRAINER_TOWER_2", + "name": "TRAINER TOWER", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DOTTED_HOLE", + "name": "DOTTED HOLE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LOST_CAVE", + "name": "LOST CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PATTERN_BUSH", + "name": "PATTERN BUSH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ALTERING_CAVE_FRLG", + "name": "ALTERING CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TANOBY_CHAMBERS", + "name": "TANOBY CHAMBERS", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_THREE_ISLE_PATH", + "name": "THREE ISLE PATH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TANOBY_KEY", + "name": "TANOBY KEY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BIRTH_ISLAND_FRLG", + "name": "BIRTH ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MONEAN_CHAMBER", + "name": "MONEAN CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LIPTOO_CHAMBER", + "name": "LIPTOO CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_WEEPTH_CHAMBER", + "name": "WEEPTH CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DILFORD_CHAMBER", + "name": "DILFORD CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SCUFIB_CHAMBER", + "name": "SCUFIB CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_RIXY_CHAMBER", + "name": "RIXY CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VIAPOIS_CHAMBER", + "name": "VIAPOIS CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_EMBER_SPA", + "name": "EMBER SPA", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SPECIAL_AREA", + "name": "SPECIAL AREA", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_AQUA_HIDEOUT", + "name": "AQUA HIDEOUT", + "x": 19, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MAGMA_HIDEOUT", + "name": "MAGMA HIDEOUT", + "x": 6, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MIRAGE_TOWER", + "name": "MIRAGE TOWER", + "x": 8, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BIRTH_ISLAND", + "name": "BIRTH ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FARAWAY_ISLAND", + "name": "FARAWAY ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ARTISAN_CAVE", + "name": "ARTISAN CAVE", + "x": 22, + "y": 12, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MARINE_CAVE", + "name": "MARINE CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_MARINE_CAVE", + "name": "UNDERWATER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TERRA_CAVE", + "name": "TERRA CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_105", + "name": "UNDERWATER", + "x": 0, + "y": 10, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_UNDERWATER_125", + "name": "UNDERWATER", + "x": 24, + "y": 3, + "width": 2, + "height": 2 + }, + { + "map_section": "MAPSEC_UNDERWATER_129", + "name": "UNDERWATER", + "x": 24, + "y": 10, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_DESERT_UNDERPASS", + "name": "DESERT UNDERPASS", + "x": 2, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ALTERING_CAVE", + "name": "ALTERING CAVE", + "x": 6, + "y": 8, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_NAVEL_ROCK", + "name": "NAVEL ROCK", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TRAINER_HILL", + "name": "TRAINER HILL", + "x": 8, + "y": 4, + "width": 1, + "height": 1 + } + ] +} diff --git a/src/data/region_map/region_map_sections.json.txt b/src/data/region_map/region_map_sections.json.txt new file mode 100644 index 000000000..e9c372cb5 --- /dev/null +++ b/src/data/region_map/region_map_sections.json.txt @@ -0,0 +1,24 @@ +{{ doNotModifyHeader }} +#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H +#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H + +## for map_section in map_sections +{% if isEmptyString(getVar(map_section.name)) and not existsIn(map_section, "name_clone") %}{{ setVar(map_section.name, map_section.map_section) }}{% endif %} +## endfor + +## for map_section in map_sections +{% if getVar(map_section.name) == map_section.map_section %} +static const u8 sMapName_{{ cleanString(map_section.name) }}[] = _("{{ map_section.name }}"); +{% endif %} +{% if existsIn(map_section, "name_clone") %} +static const u8 sMapName_{{ cleanString(map_section.name) }}_Clone[] = _("{{ map_section.name }}"); +{% endif %} +## endfor + +const struct RegionMapLocation gRegionMapEntries[] = { +## for map_section in map_sections + [{{ map_section.map_section }}] = { {{ map_section.x }}, {{ map_section.y }}, {{ map_section.width }}, {{ map_section.height }}, sMapName_{{ cleanString(map_section.name) }}{% if existsIn(map_section, "name_clone") %}_Clone{% endif %} }, +## endfor +}; + +#endif // GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H diff --git a/src/data/tilesets/graphics.h b/src/data/tilesets/graphics.h new file mode 100644 index 000000000..2fdc28d21 --- /dev/null +++ b/src/data/tilesets/graphics.h @@ -0,0 +1,1636 @@ +const u32 gTilesetTiles_Petalburg[] = INCBIN_U32("data/tilesets/secondary/petalburg/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Petalburg[][16] = +{ + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Rustboro[] = INCBIN_U32("data/tilesets/secondary/rustboro/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Rustboro[][16] = +{ + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Dewford[] = INCBIN_U32("data/tilesets/secondary/dewford/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Dewford[][16] = +{ + INCBIN_U16("data/tilesets/secondary/dewford/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Slateport[] = INCBIN_U32("data/tilesets/secondary/slateport/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Slateport[][16] = +{ + INCBIN_U16("data/tilesets/secondary/slateport/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Mauville[] = INCBIN_U32("data/tilesets/secondary/mauville/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Mauville[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mauville/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Lavaridge[] = INCBIN_U32("data/tilesets/secondary/lavaridge/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Lavaridge[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Fallarbor[] = INCBIN_U32("data/tilesets/secondary/fallarbor/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Fallarbor[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Fortree[] = INCBIN_U32("data/tilesets/secondary/fortree/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Fortree[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fortree/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Lilycove[] = INCBIN_U32("data/tilesets/secondary/lilycove/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Lilycove[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Mossdeep[] = INCBIN_U32("data/tilesets/secondary/mossdeep/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Mossdeep[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_EverGrande[] = INCBIN_U32("data/tilesets/secondary/ever_grande/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_EverGrande[][16] = +{ + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Pacifidlog[] = INCBIN_U32("data/tilesets/secondary/pacifidlog/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Pacifidlog[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Sootopolis[] = INCBIN_U32("data/tilesets/secondary/sootopolis/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Sootopolis[][16] = +{ + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFrontierOutsideWest[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_outside_west/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFrontierOutsideWest[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFrontierOutsideEast[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_outside_east/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFrontierOutsideEast[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_InsideBuilding[] = INCBIN_U32("data/tilesets/primary/building/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_InsideBuilding[][16] = +{ + INCBIN_U16("data/tilesets/primary/building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Shop[] = INCBIN_U32("data/tilesets/secondary/shop/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Shop[][16] = +{ + INCBIN_U16("data/tilesets/secondary/shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonCenter[] = INCBIN_U32("data/tilesets/secondary/pokemon_center/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonCenter[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Cave[] = INCBIN_U32("data/tilesets/secondary/cave/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Cave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonSchool[] = INCBIN_U32("data/tilesets/secondary/pokemon_school/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonSchool[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonFanClub[] = INCBIN_U32("data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonFanClub[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Unused1[] = INCBIN_U32("data/tilesets/secondary/unused_1/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Unused1[][16] = +{ + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MeteorFalls[] = INCBIN_U32("data/tilesets/secondary/meteor_falls/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MeteorFalls[][16] = +{ + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_OceanicMuseum[] = INCBIN_U32("data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_OceanicMuseum[][16] = +{ + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CableClub[] = INCBIN_U32("data/tilesets/secondary/cable_club/tiles.4bpp"); +const u32 gTilesetTiles_UnknownCableClub[] = INCBIN_U32("data/tilesets/secondary/cable_club/unknown_tiles.4bpp"); + +const u16 gTilesetPalettes_CableClub[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SeashoreHouse[] = INCBIN_U32("data/tilesets/secondary/seashore_house/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SeashoreHouse[][16] = +{ + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PrettyPetalFlowerShop[] = INCBIN_U32("data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PrettyPetalFlowerShop[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonDayCare[] = INCBIN_U32("data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonDayCare[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Facility[] = INCBIN_U32("data/tilesets/secondary/facility/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Facility[][16] = +{ + INCBIN_U16("data/tilesets/secondary/facility/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BikeShop[] = INCBIN_U32("data/tilesets/secondary/bike_shop/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BikeShop[][16] = +{ + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_RusturfTunnel[] = INCBIN_U32("data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_RusturfTunnel[][16] = +{ + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseBrownCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/brown_cave/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseBrownCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseTreeCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/tree/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseTree[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseShrubCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/shrub/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseShrub[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseBlueCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/blue_cave/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseBlueCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseYellowCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseYellowCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseRedCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/red_cave/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseRedCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseBrownCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseTree[] = INCBIN_U32("data/tilesets/secondary/secret_base/tree/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseShrub[] = INCBIN_U32("data/tilesets/secondary/secret_base/shrub/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseBlueCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/blue_cave/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseYellowCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/yellow_cave/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseRedCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/red_cave/tiles.4bpp"); + +const u32 gTilesetTiles_InsideOfTruck[] = INCBIN_U32("data/tilesets/secondary/inside_of_truck/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_InsideOfTruck[][16] = +{ + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Contest[] = INCBIN_U32("data/tilesets/secondary/contest/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Contest[][16] = +{ + INCBIN_U16("data/tilesets/secondary/contest/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_LilycoveMuseum[] = INCBIN_U32("data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_LilycoveMuseum[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BrendansMaysHouse[] = INCBIN_U32("data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BrendansMaysHouse[][16] = +{ + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Lab[] = INCBIN_U32("data/tilesets/secondary/lab/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Lab[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lab/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Underwater[] = INCBIN_U32("data/tilesets/secondary/underwater/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Underwater[][16] = +{ + INCBIN_U16("data/tilesets/secondary/underwater/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_GenericBuilding[] = INCBIN_U32("data/tilesets/secondary/generic_building/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_GenericBuilding[][16] = +{ + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MauvilleGameCorner[] = INCBIN_U32("data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MauvilleGameCorner[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Unused2[] = INCBIN_U32("data/tilesets/secondary/unused_2/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Unused2[][16] = +{ + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_RustboroGym[] = INCBIN_U32("data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_RustboroGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_DewfordGym[] = INCBIN_U32("data/tilesets/secondary/dewford_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_DewfordGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MauvilleGym[] = INCBIN_U32("data/tilesets/secondary/mauville_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MauvilleGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_LavaridgeGym[] = INCBIN_U32("data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_LavaridgeGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PetalburgGym[] = INCBIN_U32("data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PetalburgGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_FortreeGym[] = INCBIN_U32("data/tilesets/secondary/fortree_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_FortreeGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MossdeepGym[] = INCBIN_U32("data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MossdeepGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SootopolisGym[] = INCBIN_U32("data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SootopolisGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_TrickHousePuzzle[] = INCBIN_U32("data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_TrickHousePuzzle[][16] = +{ + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_InsideShip[] = INCBIN_U32("data/tilesets/secondary/inside_ship/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_InsideShip[][16] = +{ + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBase[] = INCBIN_U32("data/tilesets/primary/secret_base/tiles.4bpp"); +const u32 gTilesetTiles_UnknownSecretBase[] = INCBIN_U32("data/tilesets/primary/secret_base/unknown_tiles.4bpp"); + +const u16 gTilesetPalettes_SecretBase[][16] = +{ + INCBIN_U16("data/tilesets/primary/secret_base/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_EliteFour[] = INCBIN_U32("data/tilesets/secondary/elite_four/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_EliteFour[][16] = +{ + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFrontier[] = INCBIN_U32("data/tilesets/secondary/battle_frontier/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFrontier[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattlePalace[] = INCBIN_U32("data/tilesets/secondary/battle_palace/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattlePalace[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleDome[] = INCBIN_U32("data/tilesets/secondary/battle_dome/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleDome[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFactory[] = INCBIN_U32("data/tilesets/secondary/battle_factory/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFactory[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattlePike[] = INCBIN_U32("data/tilesets/secondary/battle_pike/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattlePike[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleArena[] = INCBIN_U32("data/tilesets/secondary/battle_arena/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleArena[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattlePyramid[] = INCBIN_U32("data/tilesets/secondary/battle_pyramid/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattlePyramid[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MirageTower[] = INCBIN_U32("data/tilesets/secondary/mirage_tower/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MirageTower[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MossdeepGameCorner[] = INCBIN_U32("data/tilesets/secondary/mossdeep_game_corner/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MossdeepGameCorner[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_IslandHarbor[] = INCBIN_U32("data/tilesets/secondary/island_harbor/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_IslandHarbor[][16] = +{ + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_TrainerHill[] = INCBIN_U32("data/tilesets/secondary/trainer_hill/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_TrainerHill[][16] = +{ + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_NavelRock[] = INCBIN_U32("data/tilesets/secondary/navel_rock/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_NavelRock[][16] = +{ + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFrontierRankingHall[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_ranking_hall/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFrontierRankingHall[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleTent[] = INCBIN_U32("data/tilesets/secondary/battle_tent/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleTent[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MysteryEventsHouse[] = INCBIN_U32("data/tilesets/secondary/mystery_events_house/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MysteryEventsHouse[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/15.gbapal"), +}; + +const u16 gTilesetPalettes_UnionRoom[][16] = +{ + INCBIN_U16("data/tilesets/secondary/union_room/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_UnionRoom[] = INCBIN_U32("data/tilesets/secondary/union_room/tiles.4bpp.lz"); diff --git a/src/data/tilesets/headers.h b/src/data/tilesets/headers.h new file mode 100644 index 000000000..2eae1be1e --- /dev/null +++ b/src/data/tilesets/headers.h @@ -0,0 +1,827 @@ +const struct Tileset gTileset_General = +{ + .isCompressed = TRUE, + .isSecondary = FALSE, + .tiles = gTilesetTiles_General, + .palettes = gTilesetPalettes_General, + .metatiles = gMetatiles_General, + .metatileAttributes = gMetatileAttributes_General, + .callback = InitTilesetAnim_General, +}; + +const struct Tileset gTileset_Petalburg = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Petalburg, + .palettes = gTilesetPalettes_Petalburg, + .metatiles = gMetatiles_Petalburg, + .metatileAttributes = gMetatileAttributes_Petalburg, + .callback = InitTilesetAnim_Petalburg, +}; + +const struct Tileset gTileset_Rustboro = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Rustboro, + .palettes = gTilesetPalettes_Rustboro, + .metatiles = gMetatiles_Rustboro, + .metatileAttributes = gMetatileAttributes_Rustboro, + .callback = InitTilesetAnim_Rustboro, +}; + +const struct Tileset gTileset_Dewford = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Dewford, + .palettes = gTilesetPalettes_Dewford, + .metatiles = gMetatiles_Dewford, + .metatileAttributes = gMetatileAttributes_Dewford, + .callback = InitTilesetAnim_Dewford, +}; + +const struct Tileset gTileset_Slateport = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Slateport, + .palettes = gTilesetPalettes_Slateport, + .metatiles = gMetatiles_Slateport, + .metatileAttributes = gMetatileAttributes_Slateport, + .callback = InitTilesetAnim_Slateport, +}; + +const struct Tileset gTileset_Mauville = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Mauville, + .palettes = gTilesetPalettes_Mauville, + .metatiles = gMetatiles_Mauville, + .metatileAttributes = gMetatileAttributes_Mauville, + .callback = InitTilesetAnim_Mauville, +}; + +const struct Tileset gTileset_Lavaridge = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Lavaridge, + .palettes = gTilesetPalettes_Lavaridge, + .metatiles = gMetatiles_Lavaridge, + .metatileAttributes = gMetatileAttributes_Lavaridge, + .callback = InitTilesetAnim_Lavaridge, +}; + +const struct Tileset gTileset_Fallarbor = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Fallarbor, + .palettes = gTilesetPalettes_Fallarbor, + .metatiles = gMetatiles_Fallarbor, + .metatileAttributes = gMetatileAttributes_Fallarbor, + .callback = InitTilesetAnim_Fallarbor, +}; + +const struct Tileset gTileset_Fortree = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Fortree, + .palettes = gTilesetPalettes_Fortree, + .metatiles = gMetatiles_Fortree, + .metatileAttributes = gMetatileAttributes_Fortree, + .callback = InitTilesetAnim_Fortree, +}; + +const struct Tileset gTileset_Lilycove = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Lilycove, + .palettes = gTilesetPalettes_Lilycove, + .metatiles = gMetatiles_Lilycove, + .metatileAttributes = gMetatileAttributes_Lilycove, + .callback = InitTilesetAnim_Lilycove, +}; + +const struct Tileset gTileset_Mossdeep = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Mossdeep, + .palettes = gTilesetPalettes_Mossdeep, + .metatiles = gMetatiles_Mossdeep, + .metatileAttributes = gMetatileAttributes_Mossdeep, + .callback = InitTilesetAnim_Mossdeep, +}; + +const struct Tileset gTileset_EverGrande = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_EverGrande, + .palettes = gTilesetPalettes_EverGrande, + .metatiles = gMetatiles_EverGrande, + .metatileAttributes = gMetatileAttributes_EverGrande, + .callback = InitTilesetAnim_EverGrande, +}; + +const struct Tileset gTileset_Pacifidlog = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Pacifidlog, + .palettes = gTilesetPalettes_Pacifidlog, + .metatiles = gMetatiles_Pacifidlog, + .metatileAttributes = gMetatileAttributes_Pacifidlog, + .callback = InitTilesetAnim_Pacifidlog, +}; + +const struct Tileset gTileset_Sootopolis = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Sootopolis, + .palettes = gTilesetPalettes_Sootopolis, + .metatiles = gMetatiles_Sootopolis, + .metatileAttributes = gMetatileAttributes_Sootopolis, + .callback = InitTilesetAnim_Sootopolis, +}; + +const struct Tileset gTileset_BattleFrontierOutsideWest = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFrontierOutsideWest, + .palettes = gTilesetPalettes_BattleFrontierOutsideWest, + .metatiles = gMetatiles_BattleFrontierOutsideWest, + .metatileAttributes = gMetatileAttributes_BattleFrontierOutsideWest, + .callback = InitTilesetAnim_BattleFrontierOutsideWest, +}; + +const struct Tileset gTileset_BattleFrontierOutsideEast = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFrontierOutsideEast, + .palettes = gTilesetPalettes_BattleFrontierOutsideEast, + .metatiles = gMetatiles_BattleFrontierOutsideEast, + .metatileAttributes = gMetatileAttributes_BattleFrontierOutsideEast, + .callback = InitTilesetAnim_BattleFrontierOutsideEast, +}; + +const struct Tileset gTileset_Building = +{ + .isCompressed = TRUE, + .isSecondary = FALSE, + .tiles = gTilesetTiles_InsideBuilding, + .palettes = gTilesetPalettes_InsideBuilding, + .metatiles = gMetatiles_InsideBuilding, + .metatileAttributes = gMetatileAttributes_InsideBuilding, + .callback = InitTilesetAnim_Building, +}; + +const struct Tileset gTileset_Shop = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Shop, + .palettes = gTilesetPalettes_Shop, + .metatiles = gMetatiles_Shop, + .metatileAttributes = gMetatileAttributes_Shop, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonCenter = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonCenter, + .palettes = gTilesetPalettes_PokemonCenter, + .metatiles = gMetatiles_PokemonCenter, + .metatileAttributes = gMetatileAttributes_PokemonCenter, + .callback = NULL, +}; + +const struct Tileset gTileset_Cave = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Cave, + .palettes = gTilesetPalettes_Cave, + .metatiles = gMetatiles_Cave, + .metatileAttributes = gMetatileAttributes_Cave, + .callback = InitTilesetAnim_Cave, +}; + +const struct Tileset gTileset_PokemonSchool = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonSchool, + .palettes = gTilesetPalettes_PokemonSchool, + .metatiles = gMetatiles_PokemonSchool, + .metatileAttributes = gMetatileAttributes_PokemonSchool, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonFanClub = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonFanClub, + .palettes = gTilesetPalettes_PokemonFanClub, + .metatiles = gMetatiles_PokemonFanClub, + .metatileAttributes = gMetatileAttributes_PokemonFanClub, + .callback = NULL, +}; + +const struct Tileset gTileset_Unused1 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Unused1, + .palettes = gTilesetPalettes_Unused1, + .metatiles = gMetatiles_Unused1, + .metatileAttributes = gMetatileAttributes_Unused1, + .callback = NULL, +}; + +const struct Tileset gTileset_MeteorFalls = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MeteorFalls, + .palettes = gTilesetPalettes_MeteorFalls, + .metatiles = gMetatiles_MeteorFalls, + .metatileAttributes = gMetatileAttributes_MeteorFalls, + .callback = NULL, +}; + +const struct Tileset gTileset_OceanicMuseum = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_OceanicMuseum, + .palettes = gTilesetPalettes_OceanicMuseum, + .metatiles = gMetatiles_OceanicMuseum, + .metatileAttributes = gMetatileAttributes_OceanicMuseum, + .callback = NULL, +}; + +const struct Tileset gTileset_CableClub = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CableClub, + .palettes = gTilesetPalettes_CableClub, + .metatiles = gMetatiles_CableClub, + .metatileAttributes = gMetatileAttributes_CableClub, + .callback = NULL, +}; + +const struct Tileset gTileset_SeashoreHouse = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SeashoreHouse, + .palettes = gTilesetPalettes_SeashoreHouse, + .metatiles = gMetatiles_SeashoreHouse, + .metatileAttributes = gMetatileAttributes_SeashoreHouse, + .callback = NULL, +}; + +const struct Tileset gTileset_PrettyPetalFlowerShop = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PrettyPetalFlowerShop, + .palettes = gTilesetPalettes_PrettyPetalFlowerShop, + .metatiles = gMetatiles_PrettyPetalFlowerShop, + .metatileAttributes = gMetatileAttributes_PrettyPetalFlowerShop, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonDayCare = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonDayCare, + .palettes = gTilesetPalettes_PokemonDayCare, + .metatiles = gMetatiles_PokemonDayCare, + .metatileAttributes = gMetatileAttributes_PokemonDayCare, + .callback = NULL, +}; + +const struct Tileset gTileset_Facility = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Facility, + .palettes = gTilesetPalettes_Facility, + .metatiles = gMetatiles_Facility, + .metatileAttributes = gMetatileAttributes_Facility, + .callback = NULL, +}; + +const struct Tileset gTileset_BikeShop = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BikeShop, + .palettes = gTilesetPalettes_BikeShop, + .metatiles = gMetatiles_BikeShop, + .metatileAttributes = gMetatileAttributes_BikeShop, + .callback = InitTilesetAnim_BikeShop, +}; + +const struct Tileset gTileset_RusturfTunnel = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_RusturfTunnel, + .palettes = gTilesetPalettes_RusturfTunnel, + .metatiles = gMetatiles_RusturfTunnel, + .metatileAttributes = gMetatileAttributes_RusturfTunnel, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseBrownCave = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseBrownCave, + .palettes = gTilesetPalettes_SecretBaseBrownCave, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseTree = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseTree, + .palettes = gTilesetPalettes_SecretBaseTree, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseShrub = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseShrub, + .palettes = gTilesetPalettes_SecretBaseShrub, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseBlueCave = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseBlueCave, + .palettes = gTilesetPalettes_SecretBaseBlueCave, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseYellowCave = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseYellowCave, + .palettes = gTilesetPalettes_SecretBaseYellowCave, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseRedCave = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseRedCave, + .palettes = gTilesetPalettes_SecretBaseRedCave, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_InsideOfTruck = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_InsideOfTruck, + .palettes = gTilesetPalettes_InsideOfTruck, + .metatiles = gMetatiles_InsideOfTruck, + .metatileAttributes = gMetatileAttributes_InsideOfTruck, + .callback = NULL, +}; + +const struct Tileset gTileset_Unused2 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Unused2, + .palettes = gTilesetPalettes_Unused2, + .metatiles = gMetatiles_Unused2, + .metatileAttributes = gMetatileAttributes_Unused2, + .callback = NULL, +}; + +const struct Tileset gTileset_Contest = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Contest, + .palettes = gTilesetPalettes_Contest, + .metatiles = gMetatiles_Contest, + .metatileAttributes = gMetatileAttributes_Contest, + .callback = NULL, +}; + +const struct Tileset gTileset_LilycoveMuseum = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_LilycoveMuseum, + .palettes = gTilesetPalettes_LilycoveMuseum, + .metatiles = gMetatiles_LilycoveMuseum, + .metatileAttributes = gMetatileAttributes_LilycoveMuseum, + .callback = NULL, +}; + +const struct Tileset gTileset_BrendansMaysHouse = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BrendansMaysHouse, + .palettes = gTilesetPalettes_BrendansMaysHouse, + .metatiles = gMetatiles_BrendansMaysHouse, + .metatileAttributes = gMetatileAttributes_BrendansMaysHouse, + .callback = NULL, +}; + +const struct Tileset gTileset_Lab = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Lab, + .palettes = gTilesetPalettes_Lab, + .metatiles = gMetatiles_Lab, + .metatileAttributes = gMetatileAttributes_Lab, + .callback = NULL, +}; + +const struct Tileset gTileset_Underwater = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Underwater, + .palettes = gTilesetPalettes_Underwater, + .metatiles = gMetatiles_Underwater, + .metatileAttributes = gMetatileAttributes_Underwater, + .callback = InitTilesetAnim_Underwater, +}; + +const struct Tileset gTileset_PetalburgGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PetalburgGym, + .palettes = gTilesetPalettes_PetalburgGym, + .metatiles = gMetatiles_PetalburgGym, + .metatileAttributes = gMetatileAttributes_PetalburgGym, + .callback = NULL, +}; + +const struct Tileset gTileset_SootopolisGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SootopolisGym, + .palettes = gTilesetPalettes_SootopolisGym, + .metatiles = gMetatiles_SootopolisGym, + .metatileAttributes = gMetatileAttributes_SootopolisGym, + .callback = InitTilesetAnim_SootopolisGym, +}; + +const struct Tileset gTileset_GenericBuilding = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_GenericBuilding, + .palettes = gTilesetPalettes_GenericBuilding, + .metatiles = gMetatiles_GenericBuilding, + .metatileAttributes = gMetatileAttributes_GenericBuilding, + .callback = NULL, +}; + +const struct Tileset gTileset_MauvilleGameCorner = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MauvilleGameCorner, + .palettes = gTilesetPalettes_MauvilleGameCorner, + .metatiles = gMetatiles_MauvilleGameCorner, + .metatileAttributes = gMetatileAttributes_MauvilleGameCorner, + .callback = NULL, +}; + +const struct Tileset gTileset_RustboroGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_RustboroGym, + .palettes = gTilesetPalettes_RustboroGym, + .metatiles = gMetatiles_RustboroGym, + .metatileAttributes = gMetatileAttributes_RustboroGym, + .callback = NULL, +}; + +const struct Tileset gTileset_DewfordGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_DewfordGym, + .palettes = gTilesetPalettes_DewfordGym, + .metatiles = gMetatiles_DewfordGym, + .metatileAttributes = gMetatileAttributes_DewfordGym, + .callback = NULL, +}; + +const struct Tileset gTileset_MauvilleGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MauvilleGym, + .palettes = gTilesetPalettes_MauvilleGym, + .metatiles = gMetatiles_MauvilleGym, + .metatileAttributes = gMetatileAttributes_MauvilleGym, + .callback = InitTilesetAnim_MauvilleGym, +}; + +const struct Tileset gTileset_LavaridgeGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_LavaridgeGym, + .palettes = gTilesetPalettes_LavaridgeGym, + .metatiles = gMetatiles_LavaridgeGym, + .metatileAttributes = gMetatileAttributes_LavaridgeGym, + .callback = NULL, +}; + +const struct Tileset gTileset_TrickHousePuzzle = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_TrickHousePuzzle, + .palettes = gTilesetPalettes_TrickHousePuzzle, + .metatiles = gMetatiles_TrickHousePuzzle, + .metatileAttributes = gMetatileAttributes_TrickHousePuzzle, + .callback = NULL, +}; + +const struct Tileset gTileset_FortreeGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_FortreeGym, + .palettes = gTilesetPalettes_FortreeGym, + .metatiles = gMetatiles_FortreeGym, + .metatileAttributes = gMetatileAttributes_FortreeGym, + .callback = NULL, +}; + +const struct Tileset gTileset_MossdeepGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MossdeepGym, + .palettes = gTilesetPalettes_MossdeepGym, + .metatiles = gMetatiles_MossdeepGym, + .metatileAttributes = gMetatileAttributes_MossdeepGym, + .callback = NULL, +}; + +const struct Tileset gTileset_InsideShip = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_InsideShip, + .palettes = gTilesetPalettes_InsideShip, + .metatiles = gMetatiles_InsideShip, + .metatileAttributes = gMetatileAttributes_InsideShip, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBase = +{ + .isCompressed = FALSE, + .isSecondary = FALSE, + .tiles = gTilesetTiles_SecretBase, + .palettes = gTilesetPalettes_SecretBase, + .metatiles = gMetatiles_SecretBasePrimary, + .metatileAttributes = gMetatileAttributes_SecretBasePrimary, + .callback = NULL, +}; + +const struct Tileset * const gTilesetPointer_SecretBase = &gTileset_SecretBase; +const struct Tileset * const gTilesetPointer_SecretBaseRedCave = &gTileset_SecretBaseRedCave; + +const struct Tileset gTileset_EliteFour = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_EliteFour, + .palettes = gTilesetPalettes_EliteFour, + .metatiles = gMetatiles_EliteFour, + .metatileAttributes = gMetatileAttributes_EliteFour, + .callback = InitTilesetAnim_EliteFour, +}; + +const struct Tileset gTileset_BattleFrontier = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFrontier, + .palettes = gTilesetPalettes_BattleFrontier, + .metatiles = gMetatiles_BattleFrontier, + .metatileAttributes = gMetatileAttributes_BattleFrontier, + .callback = NULL, +}; + +const struct Tileset gTileset_BattlePalace = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattlePalace, + .palettes = gTilesetPalettes_BattlePalace, + .metatiles = gMetatiles_BattlePalace, + .metatileAttributes = gMetatileAttributes_BattlePalace, + .callback = NULL, +}; + +const struct Tileset gTileset_BattleDome = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleDome, + .palettes = gTilesetPalettes_BattleDome, + .metatiles = gMetatiles_BattleDome, + .metatileAttributes = gMetatileAttributes_BattleDome, + .callback = InitTilesetAnim_BattleDome, +}; + +const struct Tileset gTileset_BattleFactory = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFactory, + .palettes = gTilesetPalettes_BattleFactory, + .metatiles = gMetatiles_BattleFactory, + .metatileAttributes = gMetatileAttributes_BattleFactory, + .callback = NULL, +}; + +const struct Tileset gTileset_BattlePike = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattlePike, + .palettes = gTilesetPalettes_BattlePike, + .metatiles = gMetatiles_BattlePike, + .metatileAttributes = gMetatileAttributes_BattlePike, + .callback = NULL, +}; + +const struct Tileset gTileset_BattleArena = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleArena, + .palettes = gTilesetPalettes_BattleArena, + .metatiles = gMetatiles_BattleArena, + .metatileAttributes = gMetatileAttributes_BattleArena, + .callback = NULL, +}; + +const struct Tileset gTileset_BattlePyramid = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattlePyramid, + .palettes = gTilesetPalettes_BattlePyramid, + .metatiles = gMetatiles_BattlePyramid, + .metatileAttributes = gMetatileAttributes_BattlePyramid, + .callback = InitTilesetAnim_BattlePyramid, +}; + +const struct Tileset gTileset_MirageTower = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MirageTower, + .palettes = gTilesetPalettes_MirageTower, + .metatiles = gMetatiles_MirageTower, + .metatileAttributes = gMetatileAttributes_MirageTower, + .callback = NULL, +}; + +const struct Tileset gTileset_MossdeepGameCorner = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MossdeepGameCorner, + .palettes = gTilesetPalettes_MossdeepGameCorner, + .metatiles = gMetatiles_MossdeepGameCorner, + .metatileAttributes = gMetatileAttributes_MossdeepGameCorner, + .callback = NULL, +}; + +const struct Tileset gTileset_IslandHarbor = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_IslandHarbor, + .palettes = gTilesetPalettes_IslandHarbor, + .metatiles = gMetatiles_IslandHarbor, + .metatileAttributes = gMetatileAttributes_IslandHarbor, + .callback = NULL, +}; + +const struct Tileset gTileset_TrainerHill = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_TrainerHill, + .palettes = gTilesetPalettes_TrainerHill, + .metatiles = gMetatiles_TrainerHill, + .metatileAttributes = gMetatileAttributes_TrainerHill, + .callback = NULL, +}; + +const struct Tileset gTileset_NavelRock = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_NavelRock, + .palettes = gTilesetPalettes_NavelRock, + .metatiles = gMetatiles_NavelRock, + .metatileAttributes = gMetatileAttributes_NavelRock, + .callback = NULL, +}; + +const struct Tileset gTileset_BattleFrontierRankingHall = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFrontierRankingHall, + .palettes = gTilesetPalettes_BattleFrontierRankingHall, + .metatiles = gMetatiles_BattleFrontierRankingHall, + .metatileAttributes = gMetatileAttributes_BattleFrontierRankingHall, + .callback = NULL, +}; + +const struct Tileset gTileset_BattleTent = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleTent, + .palettes = gTilesetPalettes_BattleTent, + .metatiles = gMetatiles_BattleTent, + .metatileAttributes = gMetatileAttributes_BattleTent, + .callback = NULL, +}; + +const struct Tileset gTileset_MysteryEventsHouse = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MysteryEventsHouse, + .palettes = gTilesetPalettes_MysteryEventsHouse, + .metatiles = gMetatiles_MysteryEventsHouse, + .metatileAttributes = gMetatileAttributes_MysteryEventsHouse, + .callback = NULL, +}; + +const struct Tileset gTileset_UnionRoom = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_UnionRoom, + .palettes = gTilesetPalettes_UnionRoom, + .metatiles = gMetatiles_UnionRoom, + .metatileAttributes = gMetatileAttributes_UnionRoom, + .callback = NULL, +}; diff --git a/src/data/tilesets/metatiles.h b/src/data/tilesets/metatiles.h new file mode 100644 index 000000000..63f9c7b1c --- /dev/null +++ b/src/data/tilesets/metatiles.h @@ -0,0 +1,209 @@ +const u16 gMetatiles_General[] = INCBIN_U16("data/tilesets/primary/general/metatiles.bin"); +const u16 gMetatileAttributes_General[] = INCBIN_U16("data/tilesets/primary/general/metatile_attributes.bin"); + +const u16 gMetatiles_Petalburg[] = INCBIN_U16("data/tilesets/secondary/petalburg/metatiles.bin"); +const u16 gMetatileAttributes_Petalburg[] = INCBIN_U16("data/tilesets/secondary/petalburg/metatile_attributes.bin"); + +const u16 gMetatiles_Rustboro[] = INCBIN_U16("data/tilesets/secondary/rustboro/metatiles.bin"); +const u16 gMetatileAttributes_Rustboro[] = INCBIN_U16("data/tilesets/secondary/rustboro/metatile_attributes.bin"); + +const u16 gMetatiles_Dewford[] = INCBIN_U16("data/tilesets/secondary/dewford/metatiles.bin"); +const u16 gMetatileAttributes_Dewford[] = INCBIN_U16("data/tilesets/secondary/dewford/metatile_attributes.bin"); + +const u16 gMetatiles_Slateport[] = INCBIN_U16("data/tilesets/secondary/slateport/metatiles.bin"); +const u16 gMetatileAttributes_Slateport[] = INCBIN_U16("data/tilesets/secondary/slateport/metatile_attributes.bin"); + +const u16 gMetatiles_Mauville[] = INCBIN_U16("data/tilesets/secondary/mauville/metatiles.bin"); +const u16 gMetatileAttributes_Mauville[] = INCBIN_U16("data/tilesets/secondary/mauville/metatile_attributes.bin"); + +const u16 gMetatiles_Lavaridge[] = INCBIN_U16("data/tilesets/secondary/lavaridge/metatiles.bin"); +const u16 gMetatileAttributes_Lavaridge[] = INCBIN_U16("data/tilesets/secondary/lavaridge/metatile_attributes.bin"); + +const u16 gMetatiles_Fallarbor[] = INCBIN_U16("data/tilesets/secondary/fallarbor/metatiles.bin"); +const u16 gMetatileAttributes_Fallarbor[] = INCBIN_U16("data/tilesets/secondary/fallarbor/metatile_attributes.bin"); + +const u16 gMetatiles_Fortree[] = INCBIN_U16("data/tilesets/secondary/fortree/metatiles.bin"); +const u16 gMetatileAttributes_Fortree[] = INCBIN_U16("data/tilesets/secondary/fortree/metatile_attributes.bin"); + +const u16 gMetatiles_Lilycove[] = INCBIN_U16("data/tilesets/secondary/lilycove/metatiles.bin"); +const u16 gMetatileAttributes_Lilycove[] = INCBIN_U16("data/tilesets/secondary/lilycove/metatile_attributes.bin"); + +const u16 gMetatiles_Mossdeep[] = INCBIN_U16("data/tilesets/secondary/mossdeep/metatiles.bin"); +const u16 gMetatileAttributes_Mossdeep[] = INCBIN_U16("data/tilesets/secondary/mossdeep/metatile_attributes.bin"); + +const u16 gMetatiles_EverGrande[] = INCBIN_U16("data/tilesets/secondary/ever_grande/metatiles.bin"); +const u16 gMetatileAttributes_EverGrande[] = INCBIN_U16("data/tilesets/secondary/ever_grande/metatile_attributes.bin"); + +const u16 gMetatiles_Pacifidlog[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/metatiles.bin"); +const u16 gMetatileAttributes_Pacifidlog[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/metatile_attributes.bin"); + +const u16 gMetatiles_Sootopolis[] = INCBIN_U16("data/tilesets/secondary/sootopolis/metatiles.bin"); +const u16 gMetatileAttributes_Sootopolis[] = INCBIN_U16("data/tilesets/secondary/sootopolis/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFrontierOutsideWest[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin"); +const u16 gMetatileAttributes_BattleFrontierOutsideWest[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFrontierOutsideEast[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin"); +const u16 gMetatileAttributes_BattleFrontierOutsideEast[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin"); + +const u16 gMetatiles_InsideBuilding[] = INCBIN_U16("data/tilesets/primary/building/metatiles.bin"); +const u16 gMetatileAttributes_InsideBuilding[] = INCBIN_U16("data/tilesets/primary/building/metatile_attributes.bin"); + +const u16 gMetatiles_Shop[] = INCBIN_U16("data/tilesets/secondary/shop/metatiles.bin"); +const u16 gMetatileAttributes_Shop[] = INCBIN_U16("data/tilesets/secondary/shop/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonCenter[] = INCBIN_U16("data/tilesets/secondary/pokemon_center/metatiles.bin"); +const u16 gMetatileAttributes_PokemonCenter[] = INCBIN_U16("data/tilesets/secondary/pokemon_center/metatile_attributes.bin"); + +const u16 gMetatiles_Cave[] = INCBIN_U16("data/tilesets/secondary/cave/metatiles.bin"); +const u16 gMetatileAttributes_Cave[] = INCBIN_U16("data/tilesets/secondary/cave/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonSchool[] = INCBIN_U16("data/tilesets/secondary/pokemon_school/metatiles.bin"); +const u16 gMetatileAttributes_PokemonSchool[] = INCBIN_U16("data/tilesets/secondary/pokemon_school/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonFanClub[] = INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/metatiles.bin"); +const u16 gMetatileAttributes_PokemonFanClub[] = INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin"); + +const u16 gMetatiles_Unused1[] = INCBIN_U16("data/tilesets/secondary/unused_1/metatiles.bin"); +const u16 gMetatileAttributes_Unused1[] = INCBIN_U16("data/tilesets/secondary/unused_1/metatile_attributes.bin"); + +const u16 gMetatiles_MeteorFalls[] = INCBIN_U16("data/tilesets/secondary/meteor_falls/metatiles.bin"); +const u16 gMetatileAttributes_MeteorFalls[] = INCBIN_U16("data/tilesets/secondary/meteor_falls/metatile_attributes.bin"); + +const u16 gMetatiles_OceanicMuseum[] = INCBIN_U16("data/tilesets/secondary/oceanic_museum/metatiles.bin"); +const u16 gMetatileAttributes_OceanicMuseum[] = INCBIN_U16("data/tilesets/secondary/oceanic_museum/metatile_attributes.bin"); + +const u16 gMetatiles_CableClub[] = INCBIN_U16("data/tilesets/secondary/cable_club/metatiles.bin"); +const u16 gMetatileAttributes_CableClub[] = INCBIN_U16("data/tilesets/secondary/cable_club/metatile_attributes.bin"); + +const u16 gMetatiles_SeashoreHouse[] = INCBIN_U16("data/tilesets/secondary/seashore_house/metatiles.bin"); +const u16 gMetatileAttributes_SeashoreHouse[] = INCBIN_U16("data/tilesets/secondary/seashore_house/metatile_attributes.bin"); + +const u16 gMetatiles_PrettyPetalFlowerShop[] = INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin"); +const u16 gMetatileAttributes_PrettyPetalFlowerShop[] = INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonDayCare[] = INCBIN_U16("data/tilesets/secondary/pokemon_day_care/metatiles.bin"); +const u16 gMetatileAttributes_PokemonDayCare[] = INCBIN_U16("data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin"); + +const u16 gMetatiles_Facility[] = INCBIN_U16("data/tilesets/secondary/facility/metatiles.bin"); +const u16 gMetatileAttributes_Facility[] = INCBIN_U16("data/tilesets/secondary/facility/metatile_attributes.bin"); + +const u16 gMetatiles_BikeShop[] = INCBIN_U16("data/tilesets/secondary/bike_shop/metatiles.bin"); +const u16 gMetatileAttributes_BikeShop[] = INCBIN_U16("data/tilesets/secondary/bike_shop/metatile_attributes.bin"); + +const u16 gMetatiles_RusturfTunnel[] = INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/metatiles.bin"); +const u16 gMetatileAttributes_RusturfTunnel[] = INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin"); + +const u16 gMetatiles_SecretBaseSecondary[] = INCBIN_U16("data/tilesets/secondary/secret_base/metatiles.bin"); +const u16 gMetatileAttributes_SecretBaseSecondary[] = INCBIN_U16("data/tilesets/secondary/secret_base/metatile_attributes.bin"); + +const u16 gMetatiles_InsideOfTruck[] = INCBIN_U16("data/tilesets/secondary/inside_of_truck/metatiles.bin"); +const u16 gMetatileAttributes_InsideOfTruck[] = INCBIN_U16("data/tilesets/secondary/inside_of_truck/metatile_attributes.bin"); + +const u16 gMetatiles_Contest[] = INCBIN_U16("data/tilesets/secondary/contest/metatiles.bin"); +const u16 gMetatileAttributes_Contest[] = INCBIN_U16("data/tilesets/secondary/contest/metatile_attributes.bin"); + +const u16 gMetatiles_LilycoveMuseum[] = INCBIN_U16("data/tilesets/secondary/lilycove_museum/metatiles.bin"); +const u16 gMetatileAttributes_LilycoveMuseum[] = INCBIN_U16("data/tilesets/secondary/lilycove_museum/metatile_attributes.bin"); + +const u16 gMetatiles_BrendansMaysHouse[] = INCBIN_U16("data/tilesets/secondary/brendans_mays_house/metatiles.bin"); +const u16 gMetatileAttributes_BrendansMaysHouse[] = INCBIN_U16("data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin"); + +const u16 gMetatiles_Lab[] = INCBIN_U16("data/tilesets/secondary/lab/metatiles.bin"); +const u16 gMetatileAttributes_Lab[] = INCBIN_U16("data/tilesets/secondary/lab/metatile_attributes.bin"); + +const u16 gMetatiles_Underwater[] = INCBIN_U16("data/tilesets/secondary/underwater/metatiles.bin"); +const u16 gMetatileAttributes_Underwater[] = INCBIN_U16("data/tilesets/secondary/underwater/metatile_attributes.bin"); + +const u16 gMetatiles_GenericBuilding[] = INCBIN_U16("data/tilesets/secondary/generic_building/metatiles.bin"); +const u16 gMetatileAttributes_GenericBuilding[] = INCBIN_U16("data/tilesets/secondary/generic_building/metatile_attributes.bin"); + +const u16 gMetatiles_MauvilleGameCorner[] = INCBIN_U16("data/tilesets/secondary/mauville_game_corner/metatiles.bin"); +const u16 gMetatileAttributes_MauvilleGameCorner[] = INCBIN_U16("data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin"); + +const u16 gMetatiles_Unused2[] = INCBIN_U16("data/tilesets/secondary/unused_2/metatiles.bin"); +const u16 gMetatileAttributes_Unused2[] = INCBIN_U16("data/tilesets/secondary/unused_2/metatile_attributes.bin"); + +const u16 gMetatiles_RustboroGym[] = INCBIN_U16("data/tilesets/secondary/rustboro_gym/metatiles.bin"); +const u16 gMetatileAttributes_RustboroGym[] = INCBIN_U16("data/tilesets/secondary/rustboro_gym/metatile_attributes.bin"); + +const u16 gMetatiles_DewfordGym[] = INCBIN_U16("data/tilesets/secondary/dewford_gym/metatiles.bin"); +const u16 gMetatileAttributes_DewfordGym[] = INCBIN_U16("data/tilesets/secondary/dewford_gym/metatile_attributes.bin"); + +const u16 gMetatiles_MauvilleGym[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/metatiles.bin"); +const u16 gMetatileAttributes_MauvilleGym[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/metatile_attributes.bin"); + +const u16 gMetatiles_LavaridgeGym[] = INCBIN_U16("data/tilesets/secondary/lavaridge_gym/metatiles.bin"); +const u16 gMetatileAttributes_LavaridgeGym[] = INCBIN_U16("data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin"); + +const u16 gMetatiles_PetalburgGym[] = INCBIN_U16("data/tilesets/secondary/petalburg_gym/metatiles.bin"); +const u16 gMetatileAttributes_PetalburgGym[] = INCBIN_U16("data/tilesets/secondary/petalburg_gym/metatile_attributes.bin"); + +const u16 gMetatiles_FortreeGym[] = INCBIN_U16("data/tilesets/secondary/fortree_gym/metatiles.bin"); +const u16 gMetatileAttributes_FortreeGym[] = INCBIN_U16("data/tilesets/secondary/fortree_gym/metatile_attributes.bin"); + +const u16 gMetatiles_MossdeepGym[] = INCBIN_U16("data/tilesets/secondary/mossdeep_gym/metatiles.bin"); +const u16 gMetatileAttributes_MossdeepGym[] = INCBIN_U16("data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin"); + +const u16 gMetatiles_SootopolisGym[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/metatiles.bin"); +const u16 gMetatileAttributes_SootopolisGym[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin"); + +const u16 gMetatiles_TrickHousePuzzle[] = INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/metatiles.bin"); +const u16 gMetatileAttributes_TrickHousePuzzle[] = INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin"); + +const u16 gMetatiles_InsideShip[] = INCBIN_U16("data/tilesets/secondary/inside_ship/metatiles.bin"); +const u16 gMetatileAttributes_InsideShip[] = INCBIN_U16("data/tilesets/secondary/inside_ship/metatile_attributes.bin"); + +const u16 gMetatiles_SecretBasePrimary[] = INCBIN_U16("data/tilesets/primary/secret_base/metatiles.bin"); +const u16 gMetatileAttributes_SecretBasePrimary[] = INCBIN_U16("data/tilesets/primary/secret_base/metatile_attributes.bin"); + +const u16 gMetatiles_EliteFour[] = INCBIN_U16("data/tilesets/secondary/elite_four/metatiles.bin"); +const u16 gMetatileAttributes_EliteFour[] = INCBIN_U16("data/tilesets/secondary/elite_four/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFrontier[] = INCBIN_U16("data/tilesets/secondary/battle_frontier/metatiles.bin"); +const u16 gMetatileAttributes_BattleFrontier[] = INCBIN_U16("data/tilesets/secondary/battle_frontier/metatile_attributes.bin"); + +const u16 gMetatiles_BattlePalace[] = INCBIN_U16("data/tilesets/secondary/battle_palace/metatiles.bin"); +const u16 gMetatileAttributes_BattlePalace[] = INCBIN_U16("data/tilesets/secondary/battle_palace/metatile_attributes.bin"); + +const u16 gMetatiles_BattleDome[] = INCBIN_U16("data/tilesets/secondary/battle_dome/metatiles.bin"); +const u16 gMetatileAttributes_BattleDome[] = INCBIN_U16("data/tilesets/secondary/battle_dome/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFactory[] = INCBIN_U16("data/tilesets/secondary/battle_factory/metatiles.bin"); +const u16 gMetatileAttributes_BattleFactory[] = INCBIN_U16("data/tilesets/secondary/battle_factory/metatile_attributes.bin"); + +const u16 gMetatiles_BattlePike[] = INCBIN_U16("data/tilesets/secondary/battle_pike/metatiles.bin"); +const u16 gMetatileAttributes_BattlePike[] = INCBIN_U16("data/tilesets/secondary/battle_pike/metatile_attributes.bin"); + +const u16 gMetatiles_BattleArena[] = INCBIN_U16("data/tilesets/secondary/battle_arena/metatiles.bin"); +const u16 gMetatileAttributes_BattleArena[] = INCBIN_U16("data/tilesets/secondary/battle_arena/metatile_attributes.bin"); + +const u16 gMetatiles_BattlePyramid[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/metatiles.bin"); +const u16 gMetatileAttributes_BattlePyramid[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/metatile_attributes.bin"); + +const u16 gMetatiles_MirageTower[] = INCBIN_U16("data/tilesets/secondary/mirage_tower/metatiles.bin"); +const u16 gMetatileAttributes_MirageTower[] = INCBIN_U16("data/tilesets/secondary/mirage_tower/metatile_attributes.bin"); + +const u16 gMetatiles_MossdeepGameCorner[] = INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/metatiles.bin"); +const u16 gMetatileAttributes_MossdeepGameCorner[] = INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin"); + +const u16 gMetatiles_IslandHarbor[] = INCBIN_U16("data/tilesets/secondary/island_harbor/metatiles.bin"); +const u16 gMetatileAttributes_IslandHarbor[] = INCBIN_U16("data/tilesets/secondary/island_harbor/metatile_attributes.bin"); + +const u16 gMetatiles_TrainerHill[] = INCBIN_U16("data/tilesets/secondary/trainer_hill/metatiles.bin"); +const u16 gMetatileAttributes_TrainerHill[] = INCBIN_U16("data/tilesets/secondary/trainer_hill/metatile_attributes.bin"); + +const u16 gMetatiles_NavelRock[] = INCBIN_U16("data/tilesets/secondary/navel_rock/metatiles.bin"); +const u16 gMetatileAttributes_NavelRock[] = INCBIN_U16("data/tilesets/secondary/navel_rock/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFrontierRankingHall[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin"); +const u16 gMetatileAttributes_BattleFrontierRankingHall[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin"); + +const u16 gMetatiles_BattleTent[] = INCBIN_U16("data/tilesets/secondary/battle_tent/metatiles.bin"); +const u16 gMetatileAttributes_BattleTent[] = INCBIN_U16("data/tilesets/secondary/battle_tent/metatile_attributes.bin"); + +const u16 gMetatiles_MysteryEventsHouse[] = INCBIN_U16("data/tilesets/secondary/mystery_events_house/metatiles.bin"); +const u16 gMetatileAttributes_MysteryEventsHouse[] = INCBIN_U16("data/tilesets/secondary/mystery_events_house/metatile_attributes.bin"); + +const u16 gMetatiles_UnionRoom[] = INCBIN_U16("data/tilesets/secondary/union_room/metatiles.bin"); +const u16 gMetatileAttributes_UnionRoom[] = INCBIN_U16("data/tilesets/secondary/union_room/metatile_attributes.bin"); diff --git a/src/debug.c b/src/debug.c index aaf5a8131..dd0aab732 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2792,16 +2792,6 @@ static void DebugAction_Give_CHEAT(u8 taskId) ScriptContext_SetupScript(Debug_CheatStart); } -static void Task_WaitFadeAccessPC(u8 taskId) -{ - if (!gPaletteFade.active) - { - DestroyTask(taskId); - FlagSet(DEBUG_FLAG_PC_FROM_DEBUG_MENU); - EnterPokeStorage(2); - } -} - static void DebugAction_AccessPC(u8 taskId) { Debug_DestroyMenu_Full(taskId); diff --git a/src/event_object_movement.c b/src/event_object_movement.c index dde4f06a5..057b6185a 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -169,7 +169,20 @@ static bool8 AreElevationsCompatible(u8, u8); static const struct SpriteFrameImage sPicTable_PechaBerryTree[]; -const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; +const u8 gReflectionEffectPaletteMap[16] = { + [PALSLOT_PLAYER] = PALSLOT_PLAYER_REFLECTION, + [PALSLOT_PLAYER_REFLECTION] = PALSLOT_PLAYER_REFLECTION, + [PALSLOT_NPC_1] = PALSLOT_NPC_1_REFLECTION, + [PALSLOT_NPC_2] = PALSLOT_NPC_2_REFLECTION, + [PALSLOT_NPC_3] = PALSLOT_NPC_3_REFLECTION, + [PALSLOT_NPC_4] = PALSLOT_NPC_4_REFLECTION, + [PALSLOT_NPC_1_REFLECTION] = PALSLOT_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = PALSLOT_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = PALSLOT_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = PALSLOT_NPC_4_REFLECTION, + [PALSLOT_NPC_SPECIAL] = PALSLOT_NPC_SPECIAL_REFLECTION, + [PALSLOT_NPC_SPECIAL_REFLECTION] = PALSLOT_NPC_SPECIAL_REFLECTION +}; static const struct SpriteTemplate sCameraSpriteTemplate = { .tileTag = 0, @@ -611,55 +624,55 @@ static const struct PairedPalettes sSpecialObjectReflectionPaletteSets[] = { }; static const u16 sObjectPaletteTags0[] = { - OBJ_EVENT_PAL_TAG_BRENDAN, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_1, - OBJ_EVENT_PAL_TAG_NPC_2, - OBJ_EVENT_PAL_TAG_NPC_3, - OBJ_EVENT_PAL_TAG_NPC_4, - OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, + [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, + [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, + [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, + [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, + [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, + [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; static const u16 sObjectPaletteTags1[] = { - OBJ_EVENT_PAL_TAG_BRENDAN, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_1, - OBJ_EVENT_PAL_TAG_NPC_2, - OBJ_EVENT_PAL_TAG_NPC_3, - OBJ_EVENT_PAL_TAG_NPC_4, - OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, + [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, + [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, + [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, + [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, + [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, + [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; static const u16 sObjectPaletteTags2[] = { - OBJ_EVENT_PAL_TAG_BRENDAN, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_1, - OBJ_EVENT_PAL_TAG_NPC_2, - OBJ_EVENT_PAL_TAG_NPC_3, - OBJ_EVENT_PAL_TAG_NPC_4, - OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, + [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, + [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, + [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, + [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, + [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, + [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; static const u16 sObjectPaletteTags3[] = { - OBJ_EVENT_PAL_TAG_BRENDAN, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_1, - OBJ_EVENT_PAL_TAG_NPC_2, - OBJ_EVENT_PAL_TAG_NPC_3, - OBJ_EVENT_PAL_TAG_NPC_4, - OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, + [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, + [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, + [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, + [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, + [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, + [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; static const u16 *const sObjectPaletteTagSets[] = { @@ -1397,13 +1410,13 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl objectEvent = &gObjectEvents[objectEventId]; graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) + if (paletteSlot == PALSLOT_PLAYER) { - LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, 0); + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, paletteSlot); } - else if (paletteSlot == 10) + else if (paletteSlot == PALSLOT_NPC_SPECIAL) { - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, 10); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, paletteSlot); } else if (paletteSlot >= 16) { @@ -1591,7 +1604,7 @@ u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevatio sprite->coordOffsetEnabled = TRUE; sprite->sVirtualObjId = virtualObjId; sprite->sVirtualObjElev = elevation; - if (graphicsInfo->paletteSlot == 10) + if (graphicsInfo->paletteSlot == PALSLOT_NPC_SPECIAL) LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); else if (graphicsInfo->paletteSlot >= 16) _PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot | 0xf0); @@ -1717,11 +1730,11 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) *(u16 *)&spriteTemplate.paletteTag = TAG_NONE; paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) + if (paletteSlot == PALSLOT_PLAYER) { LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } - else if (paletteSlot == 10) + else if (paletteSlot == PALSLOT_NPC_SPECIAL) { LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } @@ -1792,11 +1805,11 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); sprite = &gSprites[objectEvent->spriteId]; paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) + if (paletteSlot == PALSLOT_PLAYER) { PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } - else if (paletteSlot == 10) + else if (paletteSlot == PALSLOT_NPC_SPECIAL) { LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } @@ -1974,7 +1987,7 @@ void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, void FreeAndReserveObjectSpritePalettes(void) { FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 12; + gReservedSpritePaletteCount = OBJ_PALSLOT_COUNT; } static void LoadObjectEventPalette(u16 paletteTag) @@ -2500,19 +2513,19 @@ void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup } } -void InitObjectEventPalettes(u8 palSlot) +void InitObjectEventPalettes(u8 reflectionType) { FreeAndReserveObjectSpritePalettes(); sCurrentSpecialObjectPaletteTag = OBJ_EVENT_PAL_TAG_NONE; - sCurrentReflectionType = palSlot; - if (palSlot == 1) + sCurrentReflectionType = reflectionType; + if (reflectionType == 1) { - PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], 0, 6); + PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, PALSLOT_NPC_4 + 1); gReservedSpritePaletteCount = 8; } else { - PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], 0, 10); + PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, PALSLOT_NPC_4_REFLECTION + 1); } } @@ -2520,7 +2533,7 @@ u16 GetObjectPaletteTag(u8 palSlot) { u8 i; - if (palSlot < 10) + if (palSlot < PALSLOT_NPC_SPECIAL) return sObjectPaletteTagSets[sCurrentReflectionType][palSlot]; for (i = 0; sSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) diff --git a/src/field_camera.c b/src/field_camera.c index 9b129e6b2..8b53451c0 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -30,7 +30,7 @@ static void RedrawMapSliceWest(struct FieldCameraOffset *, const struct MapLayou static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *, s32, s32); static void DrawWholeMapViewInternal(int, int, const struct MapLayout *); static void DrawMetatileAt(const struct MapLayout *, u16, int, int); -static void DrawMetatile(s32, u16 *, u16); +static void DrawMetatile(s32, const u16 *, u16); static void CameraPanningCB_PanAhead(void); static struct FieldCameraOffset sFieldCameraOffset; @@ -226,7 +226,7 @@ void DrawDoorMetatileAt(int x, int y, u16 *tiles) static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, int y) { u16 metatileId = MapGridGetMetatileIdAt(x, y); - u16 *metatiles; + const u16 *metatiles; if (metatileId > NUM_METATILES_TOTAL) metatileId = 0; @@ -240,7 +240,7 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * 8, offset); } -static void DrawMetatile(s32 metatileLayerType, u16 *tiles, u16 offset) +static void DrawMetatile(s32 metatileLayerType, const u16 *tiles, u16 offset) { switch (metatileLayerType) { diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index c325b63e5..5066eca3a 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -37,7 +37,7 @@ #include "constants/trainer_hill.h" static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; -static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; +static EWRAM_DATA u16 sPrevMetatileBehavior = 0; u8 gSelectedObjectEvent; @@ -693,18 +693,18 @@ static bool8 CheckStandardWildEncounter(u16 metatileBehavior) if (sWildEncounterImmunitySteps < 4) { sWildEncounterImmunitySteps++; - sPreviousPlayerMetatileBehavior = metatileBehavior; + sPrevMetatileBehavior = metatileBehavior; return FALSE; } - if (StandardWildEncounter(metatileBehavior, sPreviousPlayerMetatileBehavior) == TRUE) + if (StandardWildEncounter(metatileBehavior, sPrevMetatileBehavior) == TRUE) { sWildEncounterImmunitySteps = 0; - sPreviousPlayerMetatileBehavior = metatileBehavior; + sPrevMetatileBehavior = metatileBehavior; return TRUE; } - sPreviousPlayerMetatileBehavior = metatileBehavior; + sPrevMetatileBehavior = metatileBehavior; return FALSE; } @@ -837,7 +837,7 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi warpEvent = &gMapHeader.events->warps[warpEventId]; } - if (warpEvent->mapNum == MAP_NUM(NONE)) + if (warpEvent->mapNum == MAP_NUM(DYNAMIC)) { SetWarpDestinationToDynamicWarp(warpEvent->warpId); } @@ -848,7 +848,7 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi SetWarpDestinationToMapWarp(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId); UpdateEscapeWarp(position->x, position->y); mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->mapGroup, warpEvent->mapNum); - if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(NONE)) + if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(DYNAMIC)) SetDynamicWarp(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId); } } @@ -906,7 +906,7 @@ static u8 *TryRunCoordEventScript(struct CoordEvent *coordEvent) DoCoordEventWeather(coordEvent->trigger); return NULL; } - if (coordEvent->trigger == 0) + if (coordEvent->trigger == TRIGGER_RUN_IMMEDIATELY) { RunScriptImmediately(coordEvent->script); return NULL; diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 5b8123a71..9421aaf27 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -97,18 +97,12 @@ static void LoadObjectRegularReflectionPalette(struct ObjectEvent *objectEvent, graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); if (graphicsInfo->reflectionPaletteTag != OBJ_EVENT_PAL_TAG_NONE) { - if (graphicsInfo->paletteSlot == 0) - { + if (graphicsInfo->paletteSlot == PALSLOT_PLAYER) LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); - } - else if (graphicsInfo->paletteSlot == 10) - { + else if (graphicsInfo->paletteSlot == PALSLOT_NPC_SPECIAL) LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); - } else - { PatchObjectPalette(GetObjectPaletteTag(paletteIndex), paletteIndex); - } UpdateSpritePaletteWithWeather(paletteIndex); } } diff --git a/src/field_weather.c b/src/field_weather.c index f7a7f8129..891dbb1d1 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -21,9 +21,9 @@ enum { - GAMMA_NONE, - GAMMA_NORMAL, - GAMMA_ALT, + COLOR_MAP_NONE, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_CONTRAST, }; struct RGBColor @@ -33,11 +33,6 @@ struct RGBColor u16 b:5; }; -struct WeatherPaletteData -{ - u16 gammaShiftColors[8][0x1000]; // 0x1000 is the number of bytes that make up all palettes. -}; - struct WeatherCallbacks { void (*initVars)(void); @@ -48,11 +43,11 @@ struct WeatherCallbacks // This file's functions. static bool8 LightenSpritePaletteInFog(u8); -static void BuildGammaShiftTables(void); -static void UpdateWeatherGammaShift(void); -static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex); -static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaIndex, u8 blendCoeff, u16 blendColor); -static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 blendColor); +static void BuildColorMaps(void); +static void UpdateWeatherColorMap(void); +static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex); +static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex, u8 blendCoeff, u16 blendColor); +static void ApplyDroughtColorMapWithBlend(s8 colorMapIndex, u8 blendCoeff, u16 blendColor); static void ApplyFogBlend(u8 blendCoeff, u16 blendColor); static bool8 FadeInScreen_RainShowShade(void); static bool8 FadeInScreen_Drought(void); @@ -66,9 +61,9 @@ static void None_Main(void); static u8 None_Finish(void); EWRAM_DATA struct Weather gWeather = {0}; -EWRAM_DATA static u8 sFieldEffectPaletteGammaTypes[32] = {0}; +EWRAM_DATA static u8 sFieldEffectPaletteColorMapTypes[32] = {0}; -static const u8 *sPaletteGammaTypes; +static const u8 *sPaletteColorMapTypes; // The drought weather effect uses a precalculated color lookup table. Presumably this // is because the underlying color shift calculation is slow. @@ -108,50 +103,50 @@ static const struct WeatherCallbacks sWeatherFuncs[] = void (*const gWeatherPalStateFuncs[])(void) = { - [WEATHER_PAL_STATE_CHANGING_WEATHER] = UpdateWeatherGammaShift, + [WEATHER_PAL_STATE_CHANGING_WEATHER] = UpdateWeatherColorMap, [WEATHER_PAL_STATE_SCREEN_FADING_IN] = FadeInScreenWithWeather, [WEATHER_PAL_STATE_SCREEN_FADING_OUT] = DoNothing, [WEATHER_PAL_STATE_IDLE] = DoNothing, }; -// This table specifies which of the gamma shift tables should be +// This table specifies which of the color maps should be // applied to each of the background and sprite palettes. -static const u8 sBasePaletteGammaTypes[32] = +static const u8 sBasePaletteColorMapTypes[32] = { // background palettes - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NONE, - GAMMA_NONE, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_NONE, + COLOR_MAP_NONE, // sprite palettes - GAMMA_ALT, - GAMMA_NORMAL, - GAMMA_ALT, - GAMMA_ALT, - GAMMA_ALT, - GAMMA_ALT, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_ALT, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, + COLOR_MAP_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, }; const u16 gFogPalette[] = INCBIN_U16("graphics/weather/fog.gbapal"); @@ -160,10 +155,10 @@ void StartWeather(void) { if (!FuncIsActiveTask(Task_WeatherMain)) { - u8 index = AllocSpritePalette(TAG_WEATHER_START); + u8 index = AllocSpritePalette(PALTAG_WEATHER); CpuCopy32(gFogPalette, &gPlttBufferUnfaded[0x100 + index * 16], 32); - BuildGammaShiftTables(); - gWeatherPtr->altGammaSpritePalIndex = index; + BuildColorMaps(); + gWeatherPtr->contrastColorMapSpritePalIndex = index; gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(PALTAG_WEATHER_2); gWeatherPtr->rainSpriteCount = 0; gWeatherPtr->curRainSpriteIndex = 0; @@ -238,7 +233,7 @@ static void Task_WeatherMain(u8 taskId) { // Finished cleaning up previous weather. Now transition to next weather. sWeatherFuncs[gWeatherPtr->nextWeather].initVars(); - gWeatherPtr->gammaStepFrameCounter = 0; + gWeatherPtr->colorMapStepCounter = 0; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_CHANGING_WEATHER; gWeatherPtr->currWeather = gWeatherPtr->nextWeather; gWeatherPtr->weatherChangeComplete = TRUE; @@ -254,8 +249,8 @@ static void Task_WeatherMain(u8 taskId) static void None_Init(void) { - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 0; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 0; } static void None_Main(void) @@ -267,70 +262,82 @@ static u8 None_Finish(void) return 0; } -// Builds two tables that contain gamma shifts for palette colors. +// Builds two tables that contain color maps, used for directly transforming +// palette colors in weather effects. The colors maps are a spectrum of +// brightness + contrast mappings. By transitioning between the maps, weather +// effects like lightning are created. // It's unclear why the two tables aren't declared as const arrays, since // this function always builds the same two tables. -static void BuildGammaShiftTables(void) +static void BuildColorMaps(void) { - u16 v0; - u8 (*gammaTable)[32]; - u16 v2; - u16 v4; - u16 v5; - u16 gammaIndex; - u16 v9; - u32 v10; - u16 v11; - s16 dunno; + u16 i; + u8 (*colorMaps)[32]; + u16 colorVal; + u16 curBrightness; + u16 brightnessDelta; + u16 colorMapIndex; + u16 baseBrightness; + u32 remainingBrightness; + s16 diff; - sPaletteGammaTypes = sBasePaletteGammaTypes; - for (v0 = 0; v0 <= 1; v0++) + sPaletteColorMapTypes = sBasePaletteColorMapTypes; + for (i = 0; i < 2; i++) { - if (v0 == 0) - gammaTable = gWeatherPtr->gammaShifts; + if (i == 0) + colorMaps = gWeatherPtr->darkenedContrastColorMaps; else - gammaTable = gWeatherPtr->altGammaShifts; + colorMaps = gWeatherPtr->contrastColorMaps; - for (v2 = 0; v2 < 32; v2++) + for (colorVal = 0; colorVal < 32; colorVal++) { - v4 = v2 << 8; - if (v0 == 0) - v5 = (v2 << 8) / 16; + curBrightness = colorVal << 8; + if (i == 0) + brightnessDelta = (colorVal << 8) / 16; else - v5 = 0; - for (gammaIndex = 0; gammaIndex <= 2; gammaIndex++) + brightnessDelta = 0; + + // First three color mappings are simple brightness modifiers which are + // progressively darker, according to brightnessDelta. + for (colorMapIndex = 0; colorMapIndex < 3; colorMapIndex++) { - v4 = (v4 - v5); - gammaTable[gammaIndex][v2] = v4 >> 8; + curBrightness -= brightnessDelta; + colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; } - v9 = v4; - v10 = 0x1f00 - v4; - if ((0x1f00 - v4) < 0) + + baseBrightness = curBrightness; + remainingBrightness = 0x1f00 - curBrightness; + if ((0x1f00 - curBrightness) < 0) + remainingBrightness += 0xf; + + brightnessDelta = remainingBrightness / (NUM_WEATHER_COLOR_MAPS - 3); + if (colorVal < 12) { - v10 += 0xf; - } - v11 = v10 >> 4; - if (v2 < 12) - { - for (; gammaIndex < 19; gammaIndex++) + // For shadows (color values < 12), the remaining color mappings are + // brightness modifiers, which are increased at a significantly lower rate + // than the midtones and highlights (color values >= 12). This creates a + // high contrast effect, used in the thunderstorm weather. + for (; colorMapIndex < NUM_WEATHER_COLOR_MAPS; colorMapIndex++) { - v4 += v11; - dunno = v4 - v9; - if (dunno > 0) - v4 -= (dunno + ((u16)dunno >> 15)) >> 1; - gammaTable[gammaIndex][v2] = v4 >> 8; - if (gammaTable[gammaIndex][v2] > 0x1f) - gammaTable[gammaIndex][v2] = 0x1f; + curBrightness += brightnessDelta; + diff = curBrightness - baseBrightness; + if (diff > 0) + curBrightness -= diff / 2; + colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; + if (colorMaps[colorMapIndex][colorVal] > 31) + colorMaps[colorMapIndex][colorVal] = 31; } } else { - for (; gammaIndex < 19; gammaIndex++) + // For midtones and highlights (color values >= 12), the remaining + // color mappings are simple brightness modifiers which are + // progressively brighter, hitting exactly 31 at the last mapping. + for (; colorMapIndex < NUM_WEATHER_COLOR_MAPS; colorMapIndex++) { - v4 += v11; - gammaTable[gammaIndex][v2] = v4 >> 8; - if (gammaTable[gammaIndex][v2] > 0x1f) - gammaTable[gammaIndex][v2] = 0x1f; + curBrightness += brightnessDelta; + colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; + if (colorMaps[colorMapIndex][colorVal] > 31) + colorMaps[colorMapIndex][colorVal] = 31; } } } @@ -338,26 +345,26 @@ static void BuildGammaShiftTables(void) } // When the weather is changing, it gradually updates the palettes -// towards the desired gamma shift. -static void UpdateWeatherGammaShift(void) +// towards the desired color map. +static void UpdateWeatherColorMap(void) { if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT) { - if (gWeatherPtr->gammaIndex == gWeatherPtr->gammaTargetIndex) + if (gWeatherPtr->colorMapIndex == gWeatherPtr->targetColorMapIndex) { gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } else { - if (++gWeatherPtr->gammaStepFrameCounter >= gWeatherPtr->gammaStepDelay) + if (++gWeatherPtr->colorMapStepCounter >= gWeatherPtr->colorMapStepDelay) { - gWeatherPtr->gammaStepFrameCounter = 0; - if (gWeatherPtr->gammaIndex < gWeatherPtr->gammaTargetIndex) - gWeatherPtr->gammaIndex++; + gWeatherPtr->colorMapStepCounter = 0; + if (gWeatherPtr->colorMapIndex < gWeatherPtr->targetColorMapIndex) + gWeatherPtr->colorMapIndex++; else - gWeatherPtr->gammaIndex--; + gWeatherPtr->colorMapIndex--; - ApplyGammaShift(0, 32, gWeatherPtr->gammaIndex); + ApplyColorMap(0, 32, gWeatherPtr->colorMapIndex); } } } @@ -377,21 +384,21 @@ static void FadeInScreenWithWeather(void) case WEATHER_SHADE: if (FadeInScreen_RainShowShade() == FALSE) { - gWeatherPtr->gammaIndex = 3; + gWeatherPtr->colorMapIndex = 3; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; case WEATHER_DROUGHT: if (FadeInScreen_Drought() == FALSE) { - gWeatherPtr->gammaIndex = -6; + gWeatherPtr->colorMapIndex = -6; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; case WEATHER_FOG_HORIZONTAL: if (FadeInScreen_FogHorizontal() == FALSE) { - gWeatherPtr->gammaIndex = 0; + gWeatherPtr->colorMapIndex = 0; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; @@ -402,7 +409,7 @@ static void FadeInScreenWithWeather(void) default: if (!gPaletteFade.active) { - gWeatherPtr->gammaIndex = gWeatherPtr->gammaTargetIndex; + gWeatherPtr->colorMapIndex = gWeatherPtr->targetColorMapIndex; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; @@ -416,12 +423,12 @@ static bool8 FadeInScreen_RainShowShade(void) if (++gWeatherPtr->fadeScreenCounter >= 16) { - ApplyGammaShift(0, 32, 3); + ApplyColorMap(0, 32, 3); gWeatherPtr->fadeScreenCounter = 16; return FALSE; } - ApplyGammaShiftWithBlend(0, 32, 3, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor); + ApplyColorMapWithBlend(0, 32, 3, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor); return TRUE; } @@ -432,12 +439,12 @@ static bool8 FadeInScreen_Drought(void) if (++gWeatherPtr->fadeScreenCounter >= 16) { - ApplyGammaShift(0, 32, -6); + ApplyColorMap(0, 32, -6); gWeatherPtr->fadeScreenCounter = 16; return FALSE; } - ApplyDroughtGammaShiftWithBlend(-6, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor); + ApplyDroughtColorMapWithBlend(-6, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor); return TRUE; } @@ -454,24 +461,24 @@ static bool8 FadeInScreen_FogHorizontal(void) static void DoNothing(void) { } -static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) +static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex) { u16 curPalIndex; u16 palOffset; - u8 *gammaTable; + u8 *colorMap; u16 i; - if (gammaIndex > 0) + if (colorMapIndex > 0) { - gammaIndex--; + colorMapIndex--; palOffset = startPalIndex * 16; numPalettes += startPalIndex; curPalIndex = startPalIndex; - // Loop through the speficied palette range and apply necessary gamma shifts to the colors. + // Loop through the specified palette range and apply necessary color maps. while (curPalIndex < numPalettes) { - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_NONE) { // No palette change. CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16)); @@ -481,18 +488,18 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) { u8 r, g, b; - if (sPaletteGammaTypes[curPalIndex] == GAMMA_ALT || curPalIndex - 16 == gWeatherPtr->altGammaSpritePalIndex) - gammaTable = gWeatherPtr->altGammaShifts[gammaIndex]; + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_CONTRAST || curPalIndex - 16 == gWeatherPtr->contrastColorMapSpritePalIndex) + colorMap = gWeatherPtr->contrastColorMaps[colorMapIndex]; else - gammaTable = gWeatherPtr->gammaShifts[gammaIndex]; + colorMap = gWeatherPtr->darkenedContrastColorMaps[colorMapIndex]; for (i = 0; i < 16; i++) { - // Apply gamma shift to the original color. + // Apply color map to the original color. struct RGBColor baseColor = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset]; - r = gammaTable[baseColor.r]; - g = gammaTable[baseColor.g]; - b = gammaTable[baseColor.b]; + r = colorMap[baseColor.r]; + g = colorMap[baseColor.g]; + b = colorMap[baseColor.b]; gPlttBufferFaded[palOffset++] = RGB2(r, g, b); } } @@ -500,17 +507,17 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) curPalIndex++; } } - else if (gammaIndex < 0) + else if (colorMapIndex < 0) { // A negative gammIndex value means that the blending will come from the special Drought weather's palette tables. - gammaIndex = -gammaIndex - 1; + colorMapIndex = -colorMapIndex - 1; palOffset = startPalIndex * 16; numPalettes += startPalIndex; curPalIndex = startPalIndex; while (curPalIndex < numPalettes) { - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_NONE) { // No palette change. CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16)); @@ -520,7 +527,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) { for (i = 0; i < 16; i++) { - gPlttBufferFaded[palOffset] = sDroughtWeatherColors[gammaIndex][DROUGHT_COLOR_INDEX(gPlttBufferUnfaded[palOffset])]; + gPlttBufferFaded[palOffset] = sDroughtWeatherColors[colorMapIndex][DROUGHT_COLOR_INDEX(gPlttBufferUnfaded[palOffset])]; palOffset++; } } @@ -535,7 +542,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) } } -static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaIndex, u8 blendCoeff, u16 blendColor) +static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex, u8 blendCoeff, u16 blendColor) { u16 palOffset; u16 curPalIndex; @@ -547,34 +554,34 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI palOffset = startPalIndex * 16; numPalettes += startPalIndex; - gammaIndex--; + colorMapIndex--; curPalIndex = startPalIndex; while (curPalIndex < numPalettes) { - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_NONE) { - // No gamma shift. Simply blend the colors. + // No color map. Simply blend the colors. BlendPalette(palOffset, 16, blendCoeff, blendColor); palOffset += 16; } else { - u8 *gammaTable; + u8 *colorMap; - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NORMAL) - gammaTable = gWeatherPtr->gammaShifts[gammaIndex]; + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_DARK_CONTRAST) + colorMap = gWeatherPtr->darkenedContrastColorMaps[colorMapIndex]; else - gammaTable = gWeatherPtr->altGammaShifts[gammaIndex]; + colorMap = gWeatherPtr->contrastColorMaps[colorMapIndex]; for (i = 0; i < 16; i++) { struct RGBColor baseColor = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset]; - u8 r = gammaTable[baseColor.r]; - u8 g = gammaTable[baseColor.g]; - u8 b = gammaTable[baseColor.b]; + u8 r = colorMap[baseColor.r]; + u8 g = colorMap[baseColor.g]; + u8 b = colorMap[baseColor.b]; - // Apply gamma shift and target blend color to the original color. + // Apply color map and target blend color to the original color. r += ((rBlend - r) * blendCoeff) >> 4; g += ((gBlend - g) * blendCoeff) >> 4; b += ((bBlend - b) * blendCoeff) >> 4; @@ -586,7 +593,7 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI } } -static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 blendColor) +static void ApplyDroughtColorMapWithBlend(s8 colorMapIndex, u8 blendCoeff, u16 blendColor) { struct RGBColor color; u8 rBlend; @@ -596,7 +603,7 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl u16 palOffset; u16 i; - gammaIndex = -gammaIndex - 1; + colorMapIndex = -colorMapIndex - 1; color = *(struct RGBColor *)&blendColor; rBlend = color.r; gBlend = color.g; @@ -604,9 +611,9 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl palOffset = 0; for (curPalIndex = 0; curPalIndex < 32; curPalIndex++) { - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_NONE) { - // No gamma shift. Simply blend the colors. + // No color map. Simply blend the colors. BlendPalette(palOffset, 16, blendCoeff, blendColor); palOffset += 16; } @@ -626,7 +633,7 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl b1 = color1.b; offset = ((b1 & 0x1E) << 7) | ((g1 & 0x1E) << 3) | ((r1 & 0x1E) >> 1); - color2 = *(struct RGBColor *)&sDroughtWeatherColors[gammaIndex][offset]; + color2 = *(struct RGBColor *)&sDroughtWeatherColors[colorMapIndex][offset]; r2 = color2.r; g2 = color2.g; b2 = color2.b; @@ -710,25 +717,25 @@ static bool8 LightenSpritePaletteInFog(u8 paletteIndex) return FALSE; } -void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex) +void ApplyWeatherColorMapIfIdle(s8 colorMapIndex) { if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE) { - ApplyGammaShift(0, 32, gammaIndex); - gWeatherPtr->gammaIndex = gammaIndex; + ApplyColorMap(0, 32, colorMapIndex); + gWeatherPtr->colorMapIndex = colorMapIndex; } } -void ApplyWeatherGammaShiftIfIdle_Gradual(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay) +void ApplyWeatherColorMapIfIdle_Gradual(u8 colorMapIndex, u8 targetColorMapIndex, u8 colorMapStepDelay) { if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE) { gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_CHANGING_WEATHER; - gWeatherPtr->gammaIndex = gammaIndex; - gWeatherPtr->gammaTargetIndex = gammaTargetIndex; - gWeatherPtr->gammaStepFrameCounter = 0; - gWeatherPtr->gammaStepDelay = gammaStepDelay; - ApplyWeatherGammaShiftIfIdle(gammaIndex); + gWeatherPtr->colorMapIndex = colorMapIndex; + gWeatherPtr->targetColorMapIndex = targetColorMapIndex; + gWeatherPtr->colorMapStepCounter = 0; + gWeatherPtr->colorMapStepDelay = colorMapStepDelay; + ApplyWeatherColorMapIfIdle(colorMapIndex); } } @@ -832,7 +839,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) default: if (gWeatherPtr->currWeather != WEATHER_FOG_HORIZONTAL) { - ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex); + ApplyColorMap(paletteIndex, 1, gWeatherPtr->colorMapIndex); } else { @@ -843,9 +850,9 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) } } -void ApplyWeatherGammaShiftToPal(u8 paletteIndex) +void ApplyWeatherColorMapToPal(u8 paletteIndex) { - ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex); + ApplyColorMap(paletteIndex, 1, gWeatherPtr->colorMapIndex); } // Unused @@ -886,9 +893,9 @@ bool8 LoadDroughtWeatherPalettes(void) return FALSE; } -static void SetDroughtGamma(s8 gammaIndex) +static void SetDroughtColorMap(s8 colorMapIndex) { - ApplyWeatherGammaShiftIfIdle(-gammaIndex - 1); + ApplyWeatherColorMapIfIdle(-colorMapIndex - 1); } void DroughtStateInit(void) @@ -907,7 +914,7 @@ void DroughtStateRun(void) if (++gWeatherPtr->droughtTimer > 5) { gWeatherPtr->droughtTimer = 0; - SetDroughtGamma(gWeatherPtr->droughtBrightnessStage++); + SetDroughtColorMap(gWeatherPtr->droughtBrightnessStage++); if (gWeatherPtr->droughtBrightnessStage > 5) { gWeatherPtr->droughtLastBrightnessStage = gWeatherPtr->droughtBrightnessStage; @@ -920,14 +927,14 @@ void DroughtStateRun(void) gWeatherPtr->droughtTimer = (gWeatherPtr->droughtTimer + 3) & 0x7F; gWeatherPtr->droughtBrightnessStage = ((gSineTable[gWeatherPtr->droughtTimer] - 1) >> 6) + 2; if (gWeatherPtr->droughtBrightnessStage != gWeatherPtr->droughtLastBrightnessStage) - SetDroughtGamma(gWeatherPtr->droughtBrightnessStage); + SetDroughtColorMap(gWeatherPtr->droughtBrightnessStage); gWeatherPtr->droughtLastBrightnessStage = gWeatherPtr->droughtBrightnessStage; break; case 2: if (++gWeatherPtr->droughtTimer > 5) { gWeatherPtr->droughtTimer = 0; - SetDroughtGamma(--gWeatherPtr->droughtBrightnessStage); + SetDroughtColorMap(--gWeatherPtr->droughtBrightnessStage); if (gWeatherPtr->droughtBrightnessStage == 3) gWeatherPtr->droughtState = 0; } @@ -1093,12 +1100,12 @@ void SetWeatherPalStateIdle(void) void PreservePaletteInWeather(u8 preservedPalIndex) { - CpuCopy16(sBasePaletteGammaTypes, sFieldEffectPaletteGammaTypes, 32); - sFieldEffectPaletteGammaTypes[preservedPalIndex] = GAMMA_NONE; - sPaletteGammaTypes = sFieldEffectPaletteGammaTypes; + CpuCopy16(sBasePaletteColorMapTypes, sFieldEffectPaletteColorMapTypes, 32); + sFieldEffectPaletteColorMapTypes[preservedPalIndex] = COLOR_MAP_NONE; + sPaletteColorMapTypes = sFieldEffectPaletteColorMapTypes; } void ResetPreservedPalettesInWeather(void) { - sPaletteGammaTypes = sBasePaletteGammaTypes; + sPaletteColorMapTypes = sBasePaletteColorMapTypes; } diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index f5769cc23..05eae421e 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -94,8 +94,8 @@ static const struct SpriteTemplate sCloudSpriteTemplate = void Clouds_InitVars(void) { - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->initStep = 0; if (gWeatherPtr->cloudSpritesCreated == FALSE) @@ -152,8 +152,8 @@ bool8 Clouds_Finish(void) void Sunny_InitVars(void) { - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; } void Sunny_InitAll(void) @@ -235,8 +235,8 @@ void Drought_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 0; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 0; } void Drought_InitAll(void) @@ -476,8 +476,8 @@ void Rain_InitVars(void) gWeatherPtr->rainSpriteVisibleDelay = 8; gWeatherPtr->isDownpour = FALSE; gWeatherPtr->targetRainSpriteCount = 10; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; SetRainStrengthFromSoundEffect(SE_RAIN); } @@ -768,8 +768,8 @@ void Snow_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->targetSnowflakeSpriteCount = 16; gWeatherPtr->snowflakeVisibleCounter = 0; } @@ -1014,38 +1014,38 @@ static void UpdateSnowflakeSprite(struct Sprite *sprite) enum { // This block of states is run only once // when first setting up the thunderstorm - TSTORM_STATE_LOAD_RAIN, - TSTORM_STATE_CREATE_RAIN, - TSTORM_STATE_INIT_RAIN, - TSTORM_STATE_WAIT_CHANGE, + THUNDER_STATE_LOAD_RAIN, + THUNDER_STATE_CREATE_RAIN, + THUNDER_STATE_INIT_RAIN, + THUNDER_STATE_WAIT_CHANGE, // The thunderstorm loops through these states, // not necessarily in order. - TSTORM_STATE_LOOP_START, - TSTORM_STATE_LOOP_WAIT, - TSTORM_STATE_INIT_THUNDER_SHORT_1, - TSTORM_STATE_INIT_THUNDER_SHORT_2, - TSTORM_STATE_TRY_THUNDER_SHORT, - TSTORM_STATE_TRY_NEW_THUNDER, - TSTORM_STATE_WAIT_THUNDER_SHORT, - TSTORM_STATE_INIT_THUNDER_LONG, - TSTORM_STATE_WAIT_THUNDER_LONG, - TSTORM_STATE_FADE_THUNDER_LONG, - TSTORM_STATE_END_THUNDER_LONG, + THUNDER_STATE_NEW_CYCLE, + THUNDER_STATE_NEW_CYCLE_WAIT, + THUNDER_STATE_INIT_CYCLE_1, + THUNDER_STATE_INIT_CYCLE_2, + THUNDER_STATE_SHORT_BOLT, + THUNDER_STATE_TRY_NEW_BOLT, + THUNDER_STATE_WAIT_BOLT_SHORT, + THUNDER_STATE_INIT_BOLT_LONG, + THUNDER_STATE_WAIT_BOLT_LONG, + THUNDER_STATE_FADE_BOLT_LONG, + THUNDER_STATE_END_BOLT_LONG, }; void Thunderstorm_InitVars(void) { - gWeatherPtr->initStep = TSTORM_STATE_LOAD_RAIN; + gWeatherPtr->initStep = THUNDER_STATE_LOAD_RAIN; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->rainSpriteVisibleCounter = 0; gWeatherPtr->rainSpriteVisibleDelay = 4; gWeatherPtr->isDownpour = FALSE; gWeatherPtr->targetRainSpriteCount = 16; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment - gWeatherPtr->thunderTriggered = FALSE; + gWeatherPtr->thunderEnqueued = FALSE; SetRainStrengthFromSoundEffect(SE_THUNDERSTORM); } @@ -1061,18 +1061,18 @@ void Thunderstorm_InitAll(void) //------------------------------------------------------------------------------ static void UpdateThunderSound(void); -static void SetThunderCounter(u16); +static void EnqueueThunder(u16); void Downpour_InitVars(void) { - gWeatherPtr->initStep = TSTORM_STATE_LOAD_RAIN; + gWeatherPtr->initStep = THUNDER_STATE_LOAD_RAIN; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->rainSpriteVisibleCounter = 0; gWeatherPtr->rainSpriteVisibleDelay = 4; gWeatherPtr->isDownpour = TRUE; gWeatherPtr->targetRainSpriteCount = 24; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment SetRainStrengthFromSoundEffect(SE_DOWNPOUR); } @@ -1084,110 +1084,119 @@ void Downpour_InitAll(void) Thunderstorm_Main(); } +// In a given cycle, there will be some shorter bolts of lightning, potentially +// followed by a longer bolt. As a "regex", the pattern is: +// (SHORT_BOLT){1,2}(LONG_BOLT)? +// +// Thunder only plays on the final bolt of the cycle. void Thunderstorm_Main(void) { UpdateThunderSound(); switch (gWeatherPtr->initStep) { - case TSTORM_STATE_LOAD_RAIN: + case THUNDER_STATE_LOAD_RAIN: LoadRainSpriteSheet(); gWeatherPtr->initStep++; break; - case TSTORM_STATE_CREATE_RAIN: + case THUNDER_STATE_CREATE_RAIN: if (!CreateRainSprite()) gWeatherPtr->initStep++; break; - case TSTORM_STATE_INIT_RAIN: + case THUNDER_STATE_INIT_RAIN: if (!UpdateVisibleRainSprites()) { gWeatherPtr->weatherGfxLoaded = TRUE; gWeatherPtr->initStep++; } break; - case TSTORM_STATE_WAIT_CHANGE: + case THUNDER_STATE_WAIT_CHANGE: if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_CHANGING_WEATHER) - gWeatherPtr->initStep = TSTORM_STATE_INIT_THUNDER_SHORT_1; + gWeatherPtr->initStep = THUNDER_STATE_INIT_CYCLE_1; break; - case TSTORM_STATE_LOOP_START: + case THUNDER_STATE_NEW_CYCLE: gWeatherPtr->thunderAllowEnd = TRUE; - gWeatherPtr->thunderDelay = (Random() % 360) + 360; + gWeatherPtr->thunderTimer = (Random() % 360) + 360; gWeatherPtr->initStep++; // fall through - case TSTORM_STATE_LOOP_WAIT: - // Wait between 360-720 frames before trying thunder again - if (--gWeatherPtr->thunderDelay == 0) + case THUNDER_STATE_NEW_CYCLE_WAIT: + // Wait between 360-720 frames before starting a new cycle. + if (--gWeatherPtr->thunderTimer == 0) gWeatherPtr->initStep++; break; - case TSTORM_STATE_INIT_THUNDER_SHORT_1: + case THUNDER_STATE_INIT_CYCLE_1: gWeatherPtr->thunderAllowEnd = TRUE; - gWeatherPtr->thunderSkipShort = Random() % 2; + gWeatherPtr->thunderLongBolt = Random() % 2; gWeatherPtr->initStep++; break; - case TSTORM_STATE_INIT_THUNDER_SHORT_2: - gWeatherPtr->thunderShortRetries = (Random() & 1) + 1; + case THUNDER_STATE_INIT_CYCLE_2: + gWeatherPtr->thunderShortBolts = (Random() & 1) + 1; gWeatherPtr->initStep++; // fall through - case TSTORM_STATE_TRY_THUNDER_SHORT: - ApplyWeatherGammaShiftIfIdle(19); - if (!gWeatherPtr->thunderSkipShort && gWeatherPtr->thunderShortRetries == 1) - SetThunderCounter(20); // Do short thunder + case THUNDER_STATE_SHORT_BOLT: + // Short bolt of lightning strikes. + ApplyWeatherColorMapIfIdle(19); + // If final lightning bolt, enqueue thunder. + if (!gWeatherPtr->thunderLongBolt && gWeatherPtr->thunderShortBolts == 1) + EnqueueThunder(20); - gWeatherPtr->thunderDelay = (Random() % 3) + 6; + gWeatherPtr->thunderTimer = (Random() % 3) + 6; gWeatherPtr->initStep++; break; - case TSTORM_STATE_TRY_NEW_THUNDER: - if (--gWeatherPtr->thunderDelay == 0) + case THUNDER_STATE_TRY_NEW_BOLT: + if (--gWeatherPtr->thunderTimer == 0) { - ApplyWeatherGammaShiftIfIdle(3); + // Short bolt of lightning ends. + ApplyWeatherColorMapIfIdle(3); gWeatherPtr->thunderAllowEnd = TRUE; - if (--gWeatherPtr->thunderShortRetries != 0) + if (--gWeatherPtr->thunderShortBolts != 0) { - // Try a short thunder again - gWeatherPtr->thunderDelay = (Random() % 16) + 60; - gWeatherPtr->initStep = TSTORM_STATE_WAIT_THUNDER_SHORT; + // Wait a little, then do another short bolt. + gWeatherPtr->thunderTimer = (Random() % 16) + 60; + gWeatherPtr->initStep = THUNDER_STATE_WAIT_BOLT_SHORT; } - else if (!gWeatherPtr->thunderSkipShort) + else if (!gWeatherPtr->thunderLongBolt) { - // No more thunder, restart loop - gWeatherPtr->initStep = TSTORM_STATE_LOOP_START; + // No more bolts, restart loop. + gWeatherPtr->initStep = THUNDER_STATE_NEW_CYCLE; } else { - // Set up long thunder - gWeatherPtr->initStep = TSTORM_STATE_INIT_THUNDER_LONG; + // Set up long bolt. + gWeatherPtr->initStep = THUNDER_STATE_INIT_BOLT_LONG; } } break; - case TSTORM_STATE_WAIT_THUNDER_SHORT: - if (--gWeatherPtr->thunderDelay == 0) - gWeatherPtr->initStep = TSTORM_STATE_TRY_THUNDER_SHORT; + case THUNDER_STATE_WAIT_BOLT_SHORT: + if (--gWeatherPtr->thunderTimer == 0) + gWeatherPtr->initStep = THUNDER_STATE_SHORT_BOLT; break; - case TSTORM_STATE_INIT_THUNDER_LONG: - gWeatherPtr->thunderDelay = (Random() % 16) + 60; + case THUNDER_STATE_INIT_BOLT_LONG: + gWeatherPtr->thunderTimer = (Random() % 16) + 60; gWeatherPtr->initStep++; break; - case TSTORM_STATE_WAIT_THUNDER_LONG: - if (--gWeatherPtr->thunderDelay == 0) + case THUNDER_STATE_WAIT_BOLT_LONG: + if (--gWeatherPtr->thunderTimer == 0) { - // Do long thunder - SetThunderCounter(100); - ApplyWeatherGammaShiftIfIdle(19); - gWeatherPtr->thunderDelay = (Random() & 0xF) + 30; + // Do long bolt. Enqueue thunder with a potentially longer delay. + EnqueueThunder(100); + ApplyWeatherColorMapIfIdle(19); + gWeatherPtr->thunderTimer = (Random() & 0xF) + 30; gWeatherPtr->initStep++; } break; - case TSTORM_STATE_FADE_THUNDER_LONG: - if (--gWeatherPtr->thunderDelay == 0) + case THUNDER_STATE_FADE_BOLT_LONG: + if (--gWeatherPtr->thunderTimer == 0) { - ApplyWeatherGammaShiftIfIdle_Gradual(19, 3, 5); + // Fade long bolt out over time. + ApplyWeatherColorMapIfIdle_Gradual(19, 3, 5); gWeatherPtr->initStep++; } break; - case TSTORM_STATE_END_THUNDER_LONG: + case THUNDER_STATE_END_BOLT_LONG: if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE) { gWeatherPtr->thunderAllowEnd = TRUE; - gWeatherPtr->initStep = TSTORM_STATE_LOOP_START; + gWeatherPtr->initStep = THUNDER_STATE_NEW_CYCLE; } break; } @@ -1218,7 +1227,7 @@ bool8 Thunderstorm_Finish(void) if (!UpdateVisibleRainSprites()) { DestroyRainSprites(); - gWeatherPtr->thunderTriggered = 0; + gWeatherPtr->thunderEnqueued = FALSE; gWeatherPtr->finishStep++; return FALSE; } @@ -1229,20 +1238,21 @@ bool8 Thunderstorm_Finish(void) return TRUE; } -static void SetThunderCounter(u16 max) +// Enqueue a thunder sound effect for at most `waitFrames` frames from now. +static void EnqueueThunder(u16 waitFrames) { - if (!gWeatherPtr->thunderTriggered) + if (!gWeatherPtr->thunderEnqueued) { - gWeatherPtr->thunderCounter = Random() % max; - gWeatherPtr->thunderTriggered = TRUE; + gWeatherPtr->thunderSETimer = Random() % waitFrames; + gWeatherPtr->thunderEnqueued = TRUE; } } static void UpdateThunderSound(void) { - if (gWeatherPtr->thunderTriggered == TRUE) + if (gWeatherPtr->thunderEnqueued == TRUE) { - if (gWeatherPtr->thunderCounter == 0) + if (gWeatherPtr->thunderSETimer == 0) { if (IsSEPlaying()) return; @@ -1252,11 +1262,11 @@ static void UpdateThunderSound(void) else PlaySE(SE_THUNDER2); - gWeatherPtr->thunderTriggered = FALSE; + gWeatherPtr->thunderEnqueued = FALSE; } else { - gWeatherPtr->thunderCounter--; + gWeatherPtr->thunderSETimer--; } } } @@ -1361,8 +1371,8 @@ void FogHorizontal_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; if (gWeatherPtr->fogHSpritesCreated == 0) { gWeatherPtr->fogHScrollCounter = 0; @@ -1516,8 +1526,8 @@ void Ash_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->ashUnused = 20; // Never read if (!gWeatherPtr->ashSpritesCreated) { @@ -1726,8 +1736,8 @@ void FogDiagonal_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = 0; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->fogHScrollCounter = 0; gWeatherPtr->fogHScrollOffset = 1; if (!gWeatherPtr->fogDSpritesCreated) @@ -1940,8 +1950,8 @@ void Sandstorm_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = 0; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; if (!gWeatherPtr->sandstormSpritesCreated) { gWeatherPtr->sandstormXOffset = gWeatherPtr->sandstormYOffset = 0; @@ -2237,8 +2247,8 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite) void Shade_InitVars(void) { gWeatherPtr->initStep = 0; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; } void Shade_InitAll(void) diff --git a/src/fieldmap.c b/src/fieldmap.c index bcd2d1019..fa82a983f 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -406,7 +406,7 @@ void MapGridSetMetatileEntryAt(int x, int y, u16 metatile) u16 GetMetatileAttributesById(u16 metatile) { - u16 *attributes; + const u16 *attributes; if (metatile < NUM_METATILES_IN_PRIMARY) { attributes = gMapHeader.mapLayout->primaryTileset->metatileAttributes; @@ -880,17 +880,17 @@ void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u16 size) if (tileset->isSecondary == FALSE) { LoadPalette(&black, destOffset, 2); - LoadPalette(((u16 *)tileset->palettes) + 1, destOffset + 1, size - 2); + LoadPalette(tileset->palettes[0] + 1, destOffset + 1, size - 2); ApplyGlobalTintToPaletteEntries(destOffset + 1, (size - 2) >> 1); } else if (tileset->isSecondary == TRUE) { - LoadPalette(((u16 *)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size); + LoadPalette(tileset->palettes[NUM_PALS_IN_PRIMARY], destOffset, size); ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } else { - LoadCompressedPalette((u32 *)tileset->palettes, destOffset, size); + LoadCompressedPalette((const u32 *)tileset->palettes, destOffset, size); ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } } diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index 7e9352609..5ed133e5d 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -19,7 +19,6 @@ #include "constants/songs.h" static void FieldCallback_SweetScent(void); -static void StartSweetScentFieldEffect(void); static void TrySweetScentEncounter(u8 taskId); static void FailSweetScentEncounter(u8 taskId); @@ -47,14 +46,15 @@ bool8 FldEff_SweetScent(void) return FALSE; } -static void StartSweetScentFieldEffect(void) +void StartSweetScentFieldEffect(void) { u8 taskId; + u32 palettes = ~(1 << (gSprites[GetPlayerAvatarSpriteId()].oam.paletteNum + 16) | (1 << 13) | (1 << 14) | (1 << 15)); PlaySE(SE_M_SWEET_SCENT); CpuFastSet(gPlttBufferUnfaded, gPaletteDecompressionBuffer, 0x100); CpuFastSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x100); - BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarSpriteId()].oam.paletteNum + 16)), 4, 0, 8, RGB_RED); + BeginNormalPaletteFade(palettes, 4, 0, 8, RGB_RED); taskId = CreateTask(TrySweetScentEncounter, 0); gTasks[taskId].data[0] = 0; FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT); diff --git a/src/graphics.c b/src/graphics.c index 306f35928..0126150fd 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1810,8 +1810,8 @@ const u16 gPokenavMessageBox_Pal[] = INCBIN_U16("graphics/pokenav/message.gbapal const u32 gPokenavMessageBox_Gfx[] = INCBIN_U32("graphics/pokenav/message.4bpp.lz"); const u32 gPokenavMessageBox_Tilemap[] = INCBIN_U32("graphics/pokenav/message.bin.lz"); -const u16 gRegionMapCityZoomTiles_Pal[] = INCBIN_U16("graphics/pokenav/zoom_tiles.gbapal"); -const u32 gRegionMapCityZoomText_Gfx[] = INCBIN_U32("graphics/pokenav/city_zoom_text.4bpp.lz"); +const u16 gRegionMapCityZoomTiles_Pal[] = INCBIN_U16("graphics/pokenav/region_map/zoom_tiles.gbapal"); +const u32 gRegionMapCityZoomText_Gfx[] = INCBIN_U32("graphics/pokenav/region_map/city_zoom_text.4bpp.lz"); const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/condition/cancel.gbapal"); const u8 gPokenavConditionCancel_Gfx[] = INCBIN_U8("graphics/pokenav/condition/cancel.4bpp"); diff --git a/src/heal_location.c b/src/heal_location.c index ab8dc5265..0ab554034 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -13,14 +13,14 @@ u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) if (sHealLocations[i].group == mapGroup && sHealLocations[i].map == mapNum) return i + 1; } - return 0; + return HEAL_LOCATION_NONE; } const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) { u32 index = GetHealLocationIndexByMap(mapGroup, mapNum); - if (index == 0) + if (index == HEAL_LOCATION_NONE) return NULL; else return &sHealLocations[index - 1]; @@ -28,7 +28,7 @@ const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) const struct HealLocation *GetHealLocation(u32 index) { - if (index == 0) + if (index == HEAL_LOCATION_NONE) return NULL; else if (index > ARRAY_COUNT(sHealLocations)) return NULL; diff --git a/src/item.c b/src/item.c index 9266e28b3..18b6242c4 100644 --- a/src/item.c +++ b/src/item.c @@ -880,12 +880,6 @@ const u8 *ItemId_GetName(u16 itemId) return gItems[SanitizeItemId(itemId)].name; } -// Unused -u16 ItemId_GetId(u16 itemId) -{ - return gItems[SanitizeItemId(itemId)].itemId; -} - u16 ItemId_GetPrice(u16 itemId) { return gItems[SanitizeItemId(itemId)].price; diff --git a/src/item_use.c b/src/item_use.c index 913c0700f..dbdcc16d6 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -18,6 +18,7 @@ #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_weather.h" +#include "fldeff.h" #include "item.h" #include "item_menu.h" #include "item_use.h" @@ -67,10 +68,13 @@ static void Task_ShowTMHMContainedMessage(u8); static void UseTMHMYesNo(u8); static void UseTMHM(u8); static void Task_StartUseRepel(u8); +static void Task_StartUseLure(u8 taskId); static void Task_UseRepel(u8); +static void Task_UseLure(u8 taskId); static void Task_CloseCantUseKeyItemMessage(u8); static void SetDistanceOfClosestHiddenItem(u8, s16, s16); static void CB2_OpenPokeblockFromBag(void); +static void ItemUseOnFieldCB_Honey(u8 taskId); // EWRAM variables EWRAM_DATA static void(*sItemUseOnFieldCB)(u8 taskId) = NULL; @@ -846,7 +850,7 @@ static void RemoveUsedItem(void) void ItemUseOutOfBattle_Repel(u8 taskId) { - if (VarGet(VAR_REPEL_STEP_COUNT) == 0) + if (REPEL_STEP_COUNT == 0) gTasks[taskId].func = Task_StartUseRepel; else if (!InBattlePyramid()) DisplayItemMessage(taskId, FONT_NORMAL, gText_RepelEffectsLingered, CloseItemMessage); @@ -871,6 +875,9 @@ static void Task_UseRepel(u8 taskId) if (!IsSEPlaying()) { VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); + #if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_ItemId); + #endif RemoveUsedItem(); if (!InBattlePyramid()) DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage); @@ -878,6 +885,57 @@ static void Task_UseRepel(u8 taskId) DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); } } +void HandleUseExpiredRepel(void) +{ +#if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED))); +#endif +} + +void ItemUseOutOfBattle_Lure(u8 taskId) +{ + if (LURE_STEP_COUNT == 0) + gTasks[taskId].func = Task_StartUseLure; + else if (!InBattlePyramid()) + DisplayItemMessage(taskId, FONT_NORMAL, gText_LureEffectsLingered, CloseItemMessage); + else + DisplayItemMessageInBattlePyramid(taskId, gText_LureEffectsLingered, Task_CloseBattlePyramidBagMessage); +} + +static void Task_StartUseLure(u8 taskId) +{ + s16* data = gTasks[taskId].data; + + if (++data[8] > 7) + { + data[8] = 0; + PlaySE(SE_REPEL); + gTasks[taskId].func = Task_UseLure; + } +} + +static void Task_UseLure(u8 taskId) +{ + if (!IsSEPlaying()) + { + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId) | REPEL_LURE_MASK); + #if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_ItemId); + #endif + RemoveUsedItem(); + if (!InBattlePyramid()) + DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage); + else + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); + } +} + +void HandleUseExpiredLure(void) +{ +#if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED)) | REPEL_LURE_MASK); +#endif +} static void Task_UsedBlackWhiteFlute(u8 taskId) { @@ -1202,6 +1260,29 @@ void ItemUseOutOfBattle_FormChange_ConsumedOnUse(u8 taskId) SetUpItemUseCallback(taskId); } +void Task_UseHoneyOnField(u8 taskId) +{ + //ResetInitialPlayerAvatarState(); + StartSweetScentFieldEffect(); + DestroyTask(taskId); +} + +static void ItemUseOnFieldCB_Honey(u8 taskId) +{ + Overworld_ResetStateAfterDigEscRope(); + RemoveUsedItem(); + gTasks[taskId].data[0] = 0; + DisplayItemMessageOnField(taskId, gStringVar4, Task_UseHoneyOnField); +} + +void ItemUseOutOfBattle_Honey(u8 taskId) +{ + sItemUseOnFieldCB = ItemUseOnFieldCB_Honey; + gFieldCallback = FieldCB_UseItemOnField; + gBagMenu->newScreenCallback = CB2_ReturnToField; + Task_FadeAndCloseBagMenu(taskId); +} + void ItemUseOutOfBattle_CannotUse(u8 taskId) { DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); diff --git a/src/main.c b/src/main.c index 99d2610bb..3a306b2cf 100644 --- a/src/main.c +++ b/src/main.c @@ -408,9 +408,7 @@ static void IntrDummy(void) static void WaitForVBlank(void) { gMain.intrCheck &= ~INTR_FLAG_VBLANK; - - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)) - ; + VBlankIntrWait(); } void SetTrainerHillVBlankCounter(u32 *counter) diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 0fb80342f..90e3671cc 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -479,7 +479,7 @@ static void BardSing(struct Task *task, struct BardSong *song) song->sound = GetWordSounds(word); GetWordPhonemes(song, MACRO1(word)); song->currWord++; - if (song->sound->var00 != 0xFF) + if (song->sound->songLengthId != 0xFF) song->state = 0; else { @@ -497,9 +497,9 @@ static void BardSing(struct Task *task, struct BardSong *song) { case 0: song->phonemeTimer = song->phonemes[song->currPhoneme].length; - if (sound->var00 <= 50) + if (sound->songLengthId <= 50) { - u8 num = sound->var00 / 3; + u8 num = sound->songLengthId / 3; m4aSongNumStart(PH_TRAP_HELD + 3 * num); } song->state = 2; @@ -507,7 +507,7 @@ static void BardSing(struct Task *task, struct BardSong *song) break; case 2: song->state = 1; - if (sound->var00 <= 50) + if (sound->songLengthId <= 50) { song->volume = 0x100 + sound->volume * 16; m4aMPlayVolumeControl(&gMPlayInfo_SE2, TRACKS_ALL, song->volume); @@ -529,7 +529,7 @@ static void BardSing(struct Task *task, struct BardSong *song) if (song->phonemeTimer == 0) { song->currPhoneme++; - if (song->currPhoneme != 6 && song->sound[song->currPhoneme].var00 != 0xFF) + if (song->currPhoneme != 6 && song->sound[song->currPhoneme].songLengthId != 0xFF) song->state = 0; else { diff --git a/src/overworld.c b/src/overworld.c index 54cdb3d1d..4d3ff8340 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -665,9 +665,9 @@ void SetWarpDestinationToDynamicWarp(u8 unusedWarpId) void SetWarpDestinationToHealLocation(u8 healLocationId) { - const struct HealLocation *warp = GetHealLocation(healLocationId); - if (warp) - SetWarpDestination(warp->group, warp->map, WARP_ID_NONE, warp->x, warp->y); + const struct HealLocation *healLocation = GetHealLocation(healLocationId); + if (healLocation) + SetWarpDestination(healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); } void SetWarpDestinationToLastHealLocation(void) @@ -735,9 +735,9 @@ void SetContinueGameWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) void SetContinueGameWarpToHealLocation(u8 healLocationId) { - const struct HealLocation *warp = GetHealLocation(healLocationId); - if (warp) - SetWarpData(&gSaveBlock1Ptr->continueGameWarp, warp->group, warp->map, WARP_ID_NONE, warp->x, warp->y); + const struct HealLocation *healLocation = GetHealLocation(healLocationId); + if (healLocation) + SetWarpData(&gSaveBlock1Ptr->continueGameWarp, healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); } void SetContinueGameWarpToDynamicWarp(int unused) @@ -817,8 +817,8 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum) CopySecondaryTilesetToVramUsingHeap(gMapHeader.mapLayout); LoadSecondaryTilesetPalette(gMapHeader.mapLayout); - for (paletteIndex = 6; paletteIndex < 13; paletteIndex++) - ApplyWeatherGammaShiftToPal(paletteIndex); + for (paletteIndex = NUM_PALS_IN_PRIMARY; paletteIndex < NUM_PALS_TOTAL; paletteIndex++) + ApplyWeatherColorMapToPal(paletteIndex); InitSecondaryTilesetAnimation(); UpdateLocationHistoryForRoamer(); diff --git a/src/party_menu.c b/src/party_menu.c index eaeadabab..635cd3fe0 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4928,6 +4928,7 @@ void ItemUseCB_TMHM(u8 taskId, TaskFunc task) u16 move = ItemIdToBattleMoveId(item); gPartyMenu.data1 = move; + gPartyMenu.learnMoveState = 0; PlaySE(SE_SELECT); mon = &gPlayerParty[gPartyMenu.slotId]; diff --git a/src/pokemon.c b/src/pokemon.c index 98ac99256..9478e7baf 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1974,7 +1974,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_CHARMANDER - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_CHARMELEON - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_CHARIZARD - 1] = ANIM_V_SHAKE, - [SPECIES_SQUIRTLE - 1] = ANIM_SWING_CONCAVE, + [SPECIES_SQUIRTLE - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_WARTORTLE - 1] = ANIM_SHRINK_GROW, [SPECIES_BLASTOISE - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_CATERPIE - 1] = ANIM_SWING_CONCAVE, @@ -1988,31 +1988,31 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_PIDGEOT - 1] = ANIM_FRONT_FLIP, [SPECIES_RATTATA - 1] = ANIM_RAPID_H_HOPS, [SPECIES_RATICATE - 1] = ANIM_FIGURE_8, - [SPECIES_SPEAROW - 1] = ANIM_RISING_WOBBLE, + [SPECIES_SPEAROW - 1] = ANIM_H_JUMPS, [SPECIES_FEAROW - 1] = ANIM_FIGURE_8, - [SPECIES_EKANS - 1] = ANIM_H_STRETCH, + [SPECIES_EKANS - 1] = ANIM_V_STRETCH, [SPECIES_ARBOK - 1] = ANIM_V_STRETCH, [SPECIES_PIKACHU - 1] = ANIM_FLASH_YELLOW, - [SPECIES_RAICHU - 1] = ANIM_V_STRETCH, + [SPECIES_RAICHU - 1] = ANIM_GROW_VIBRATE, [SPECIES_SANDSHREW - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, - [SPECIES_SANDSLASH - 1] = ANIM_V_STRETCH, + [SPECIES_SANDSLASH - 1] = ANIM_H_SHAKE, [SPECIES_NIDORAN_F - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_NIDORINA - 1] = ANIM_V_STRETCH, [SPECIES_NIDOQUEEN - 1] = ANIM_H_SHAKE, [SPECIES_NIDORAN_M - 1] = ANIM_GROW_VIBRATE, - [SPECIES_NIDORINO - 1] = ANIM_SHRINK_GROW, + [SPECIES_NIDORINO - 1] = ANIM_V_STRETCH, [SPECIES_NIDOKING - 1] = ANIM_H_SHAKE, [SPECIES_CLEFAIRY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CLEFABLE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + [SPECIES_CLEFABLE - 1] = ANIM_V_STRETCH, [SPECIES_VULPIX - 1] = ANIM_V_STRETCH, - [SPECIES_NINETALES - 1] = ANIM_V_SHAKE, + [SPECIES_NINETALES - 1] = ANIM_GROW_VIBRATE, [SPECIES_JIGGLYPUFF - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_WIGGLYTUFF - 1] = ANIM_H_JUMPS, [SPECIES_ZUBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GOLBAT - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_ODDISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GLOOM - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_VILEPLUME - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, + [SPECIES_VILEPLUME - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_PARAS - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_PARASECT - 1] = ANIM_H_SHAKE, [SPECIES_VENONAT - 1] = ANIM_V_JUMPS_H_JUMPS, @@ -2026,17 +2026,17 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_MANKEY - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_PRIMEAPE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_GROWLITHE - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_ARCANINE - 1] = ANIM_H_VIBRATE, + [SPECIES_ARCANINE - 1] = ANIM_H_SHAKE, [SPECIES_POLIWAG - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_POLIWHIRL - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_POLIWRATH - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_ABRA - 1] = ANIM_H_JUMPS, [SPECIES_KADABRA - 1] = ANIM_GROW_VIBRATE, - [SPECIES_ALAKAZAM - 1] = ANIM_V_STRETCH, + [SPECIES_ALAKAZAM - 1] = ANIM_GROW_VIBRATE, [SPECIES_MACHOP - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MACHOKE - 1] = ANIM_V_SHAKE, [SPECIES_MACHAMP - 1] = ANIM_H_JUMPS, - [SPECIES_BELLSPROUT - 1] = ANIM_V_STRETCH, + [SPECIES_BELLSPROUT - 1] = ANIM_H_JUMPS, [SPECIES_WEEPINBELL - 1] = ANIM_SWING_CONVEX, [SPECIES_VICTREEBEL - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_TENTACOOL - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2045,85 +2045,85 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_GRAVELER - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_GOLEM - 1] = ANIM_ROTATE_UP_SLAM_DOWN, [SPECIES_PONYTA - 1] = ANIM_GLOW_ORANGE, - [SPECIES_RAPIDASH - 1] = ANIM_CIRCULAR_VIBRATE, + [SPECIES_RAPIDASH - 1] = ANIM_H_SHAKE, [SPECIES_SLOWPOKE - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_SLOWBRO - 1] = ANIM_SWING_CONCAVE, + [SPECIES_SLOWBRO - 1] = ANIM_GROW_VIBRATE, [SPECIES_MAGNEMITE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, [SPECIES_MAGNETON - 1] = ANIM_FLASH_YELLOW, [SPECIES_FARFETCHD - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_DODUO - 1] = ANIM_H_SHAKE_SLOW, - [SPECIES_DODRIO - 1] = ANIM_LUNGE_GROW, - [SPECIES_SEEL - 1] = ANIM_SWING_CONCAVE, + [SPECIES_DODRIO - 1] = ANIM_V_STRETCH, + [SPECIES_SEEL - 1] = ANIM_H_STRETCH, [SPECIES_DEWGONG - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GRIMER - 1] = ANIM_H_SLIDE_SLOW, - [SPECIES_MUK - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, + [SPECIES_MUK - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SHELLDER - 1] = ANIM_TWIST, [SPECIES_CLOYSTER - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_GASTLY - 1] = ANIM_GLOW_BLACK, + [SPECIES_GASTLY - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, [SPECIES_HAUNTER - 1] = ANIM_FLICKER_INCREASING, [SPECIES_GENGAR - 1] = ANIM_GROW_IN_STAGES, - [SPECIES_ONIX - 1] = ANIM_RAPID_H_HOPS, - [SPECIES_DROWZEE - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, - [SPECIES_HYPNO - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ONIX - 1] = ANIM_H_SHAKE, + [SPECIES_DROWZEE - 1] = ANIM_V_STRETCH, + [SPECIES_HYPNO - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_KRABBY - 1] = ANIM_H_SLIDE, - [SPECIES_KINGLER - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_KINGLER - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_VOLTORB - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ELECTRODE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_EXEGGCUTE - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_EXEGGUTOR - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_CUBONE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, + [SPECIES_CUBONE - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_MAROWAK - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, [SPECIES_HITMONLEE - 1] = ANIM_H_STRETCH, [SPECIES_HITMONCHAN - 1] = ANIM_GROW_VIBRATE, [SPECIES_LICKITUNG - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_KOFFING - 1] = ANIM_SHRINK_GROW, + [SPECIES_KOFFING - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_WEEZING - 1] = ANIM_V_SLIDE, [SPECIES_RHYHORN - 1] = ANIM_V_SHAKE, - [SPECIES_RHYDON - 1] = ANIM_SHRINK_GROW, - [SPECIES_CHANSEY - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_RHYDON - 1] = ANIM_H_SHAKE, + [SPECIES_CHANSEY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_TANGELA - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_KANGASKHAN - 1] = ANIM_V_STRETCH, - [SPECIES_HORSEA - 1] = ANIM_TWIST, + [SPECIES_HORSEA - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_SEADRA - 1] = ANIM_V_SLIDE, - [SPECIES_GOLDEEN - 1] = ANIM_SWING_CONVEX, + [SPECIES_GOLDEEN - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_SEAKING - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_STARYU - 1] = ANIM_TWIST_TWICE, [SPECIES_STARMIE - 1] = ANIM_TWIST, [SPECIES_MR_MIME - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_SCYTHER - 1] = ANIM_H_VIBRATE, [SPECIES_JYNX - 1] = ANIM_V_STRETCH, - [SPECIES_ELECTABUZZ - 1] = ANIM_FLASH_YELLOW, + [SPECIES_ELECTABUZZ - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, [SPECIES_MAGMAR - 1] = ANIM_H_SHAKE, - [SPECIES_PINSIR - 1] = ANIM_GROW_VIBRATE, + [SPECIES_PINSIR - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_TAUROS - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_MAGIKARP - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, [SPECIES_GYARADOS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_LAPRAS - 1] = ANIM_V_STRETCH, [SPECIES_DITTO - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_EEVEE - 1] = ANIM_V_STRETCH, - [SPECIES_VAPOREON - 1] = ANIM_V_STRETCH, - [SPECIES_JOLTEON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FLAREON - 1] = ANIM_V_STRETCH, + [SPECIES_VAPOREON - 1] = ANIM_GLOW_BLUE, + [SPECIES_JOLTEON - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLAREON - 1] = ANIM_V_SHAKE, [SPECIES_PORYGON - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_OMANYTE - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_OMASTAR - 1] = ANIM_GROW_VIBRATE, [SPECIES_KABUTO - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_KABUTOPS - 1] = ANIM_H_SHAKE, [SPECIES_AERODACTYL - 1] = ANIM_V_SLIDE_SLOW, - [SPECIES_SNORLAX - 1] = ANIM_SWING_CONCAVE, + [SPECIES_SNORLAX - 1] = ANIM_V_STRETCH, [SPECIES_ARTICUNO - 1] = ANIM_GROW_VIBRATE, [SPECIES_ZAPDOS - 1] = ANIM_FLASH_YELLOW, [SPECIES_MOLTRES - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_DRATINI - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DRAGONAIR - 1] = ANIM_V_SHAKE, - [SPECIES_DRAGONITE - 1] = ANIM_V_SLIDE_SLOW, + [SPECIES_DRAGONAIR - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DRAGONITE - 1] = ANIM_V_SHAKE, [SPECIES_MEWTWO - 1] = ANIM_GROW_VIBRATE, - [SPECIES_MEW - 1] = ANIM_SWING_CONVEX, + [SPECIES_MEW - 1] = ANIM_ZIGZAG_SLOW, [SPECIES_CHIKORITA - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_BAYLEEF - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MEGANIUM - 1] = ANIM_V_STRETCH, - [SPECIES_CYNDAQUIL - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_QUILAVA - 1] = ANIM_V_STRETCH, + [SPECIES_MEGANIUM - 1] = ANIM_GROW_VIBRATE, + [SPECIES_CYNDAQUIL - 1] = ANIM_V_STRETCH, + [SPECIES_QUILAVA - 1] = ANIM_H_STRETCH, [SPECIES_TYPHLOSION - 1] = ANIM_V_SHAKE, [SPECIES_TOTODILE - 1] = ANIM_H_JUMPS, [SPECIES_CROCONAW - 1] = ANIM_H_SHAKE, @@ -2133,7 +2133,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_HOOTHOOT - 1] = ANIM_V_SLIDE_SLOW, [SPECIES_NOCTOWL - 1] = ANIM_V_STRETCH, [SPECIES_LEDYBA - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_LEDIAN - 1] = ANIM_V_SLIDE_SLOW, + [SPECIES_LEDIAN - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_SPINARAK - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, [SPECIES_ARIADOS - 1] = ANIM_H_SHAKE, [SPECIES_CROBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2142,23 +2142,23 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_PICHU - 1] = ANIM_V_JUMPS_BIG, [SPECIES_CLEFFA - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_IGGLYBUFF - 1] = ANIM_SWING_CONCAVE_FAST, - [SPECIES_TOGEPI - 1] = ANIM_SWING_CONCAVE, + [SPECIES_TOGEPI - 1] = ANIM_V_JUMPS_BIG, [SPECIES_TOGETIC - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_NATU - 1] = ANIM_H_JUMPS, [SPECIES_XATU - 1] = ANIM_GROW_VIBRATE, [SPECIES_MAREEP - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FLAAFFY - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_FLAAFFY - 1] = ANIM_V_STRETCH, [SPECIES_AMPHAROS - 1] = ANIM_FLASH_YELLOW, - [SPECIES_BELLOSSOM - 1] = ANIM_SWING_CONCAVE, + [SPECIES_BELLOSSOM - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_MARILL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_AZUMARILL - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + [SPECIES_AZUMARILL - 1] = ANIM_SHRINK_GROW, [SPECIES_SUDOWOODO - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_POLITOED - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_HOPPIP - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_SKIPLOOM - 1] = ANIM_RISING_WOBBLE, [SPECIES_JUMPLUFF - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_AIPOM - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_SUNKERN - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_SUNKERN - 1] = ANIM_H_JUMPS, [SPECIES_SUNFLORA - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_YANMA - 1] = ANIM_FIGURE_8, [SPECIES_WOOPER - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2169,65 +2169,65 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_SLOWKING - 1] = ANIM_SHRINK_GROW, [SPECIES_MISDREAVUS - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_UNOWN - 1] = ANIM_ZIGZAG_FAST, - [SPECIES_WOBBUFFET - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, - [SPECIES_GIRAFARIG - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_WOBBUFFET - 1] = ANIM_GROW_VIBRATE, + [SPECIES_GIRAFARIG - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_PINECO - 1] = ANIM_SWING_CONCAVE, [SPECIES_FORRETRESS - 1] = ANIM_V_SHAKE, [SPECIES_DUNSPARCE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GLIGAR - 1] = ANIM_SHRINK_GROW, - [SPECIES_STEELIX - 1] = ANIM_H_SHAKE, + [SPECIES_STEELIX - 1] = ANIM_V_SHAKE, [SPECIES_SNUBBULL - 1] = ANIM_V_STRETCH, [SPECIES_GRANBULL - 1] = ANIM_V_SHAKE, [SPECIES_QWILFISH - 1] = ANIM_GROW_IN_STAGES, [SPECIES_SCIZOR - 1] = ANIM_H_VIBRATE, [SPECIES_SHUCKLE - 1] = ANIM_SWING_CONCAVE, - [SPECIES_HERACROSS - 1] = ANIM_LUNGE_GROW, - [SPECIES_SNEASEL - 1] = ANIM_H_STRETCH, + [SPECIES_HERACROSS - 1] = ANIM_V_STRETCH, + [SPECIES_SNEASEL - 1] = ANIM_H_JUMPS, [SPECIES_TEDDIURSA - 1] = ANIM_V_STRETCH, - [SPECIES_URSARING - 1] = ANIM_V_SHAKE, + [SPECIES_URSARING - 1] = ANIM_H_SHAKE, [SPECIES_SLUGMA - 1] = ANIM_V_STRETCH, [SPECIES_MAGCARGO - 1] = ANIM_V_STRETCH, [SPECIES_SWINUB - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_PILOSWINE - 1] = ANIM_H_SHAKE, [SPECIES_CORSOLA - 1] = ANIM_H_SLIDE, - [SPECIES_REMORAID - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_REMORAID - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_OCTILLERY - 1] = ANIM_V_STRETCH, - [SPECIES_DELIBIRD - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_DELIBIRD - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MANTINE - 1] = ANIM_SWING_CONVEX, - [SPECIES_SKARMORY - 1] = ANIM_V_STRETCH, + [SPECIES_SKARMORY - 1] = ANIM_V_SHAKE, [SPECIES_HOUNDOUR - 1] = ANIM_V_STRETCH, [SPECIES_HOUNDOOM - 1] = ANIM_V_SHAKE, [SPECIES_KINGDRA - 1] = ANIM_CIRCLE_INTO_BG, [SPECIES_PHANPY - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_DONPHAN - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_DONPHAN - 1] = ANIM_ROTATE_UP_SLAM_DOWN, [SPECIES_PORYGON2 - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_STANTLER - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SMEARGLE - 1] = ANIM_H_JUMPS, - [SPECIES_TYROGUE - 1] = ANIM_H_STRETCH, + [SPECIES_SMEARGLE - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_TYROGUE - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_HITMONTOP - 1] = ANIM_H_VIBRATE, [SPECIES_SMOOCHUM - 1] = ANIM_GROW_VIBRATE, [SPECIES_ELEKID - 1] = ANIM_FLASH_YELLOW, [SPECIES_MAGBY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MILTANK - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_BLISSEY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_RAIKOU - 1] = ANIM_FLASH_YELLOW, + [SPECIES_RAIKOU - 1] = ANIM_V_STRETCH, [SPECIES_ENTEI - 1] = ANIM_GROW_VIBRATE, [SPECIES_SUICUNE - 1] = ANIM_V_SHAKE, [SPECIES_LARVITAR - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_PUPITAR - 1] = ANIM_V_SHAKE, - [SPECIES_TYRANITAR - 1] = ANIM_H_SHAKE, + [SPECIES_PUPITAR - 1] = ANIM_H_SHAKE, + [SPECIES_TYRANITAR - 1] = ANIM_V_SHAKE, [SPECIES_LUGIA - 1] = ANIM_GROW_IN_STAGES, [SPECIES_HO_OH - 1] = ANIM_GROW_VIBRATE, - [SPECIES_CELEBI - 1] = ANIM_RISING_WOBBLE, + [SPECIES_CELEBI - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_TREECKO - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GROVYLE - 1] = ANIM_V_STRETCH, [SPECIES_SCEPTILE - 1] = ANIM_V_SHAKE, - [SPECIES_TORCHIC - 1] = ANIM_H_STRETCH, + [SPECIES_TORCHIC - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_COMBUSKEN - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_BLAZIKEN - 1] = ANIM_H_SHAKE, [SPECIES_MUDKIP - 1] = ANIM_CIRCULAR_STRETCH_TWICE, - [SPECIES_MARSHTOMP - 1] = ANIM_V_SLIDE, - [SPECIES_SWAMPERT - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_MARSHTOMP - 1] = ANIM_V_STRETCH, + [SPECIES_SWAMPERT - 1] = ANIM_H_SHAKE, [SPECIES_POOCHYENA - 1] = ANIM_V_SHAKE, [SPECIES_MIGHTYENA - 1] = ANIM_V_SHAKE, [SPECIES_ZIGZAGOON - 1] = ANIM_H_SLIDE, @@ -2240,7 +2240,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_LOTAD - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_LOMBRE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_LUDICOLO - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, - [SPECIES_SEEDOT - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, + [SPECIES_SEEDOT - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_NUZLEAF - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SHIFTRY - 1] = ANIM_H_VIBRATE, [SPECIES_TAILLOW - 1] = ANIM_V_JUMPS_BIG, @@ -2249,7 +2249,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_PELIPPER - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_RALTS - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_KIRLIA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GARDEVOIR - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_GARDEVOIR - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_SURSKIT - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MASQUERAIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SHROOMISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2261,12 +2261,12 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_NINJASK - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_SHEDINJA - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_WHISMUR - 1] = ANIM_H_SLIDE, - [SPECIES_LOUDRED - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, + [SPECIES_LOUDRED - 1] = ANIM_SHRINK_GROW, [SPECIES_EXPLOUD - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_MAKUHITA - 1] = ANIM_SWING_CONCAVE, + [SPECIES_MAKUHITA - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_HARIYAMA - 1] = ANIM_ROTATE_UP_TO_SIDES, [SPECIES_AZURILL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_NOSEPASS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, + [SPECIES_NOSEPASS - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_SKITTY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_DELCATTY - 1] = ANIM_V_STRETCH, [SPECIES_SABLEYE - 1] = ANIM_GLOW_BLACK, @@ -2278,10 +2278,10 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_MEDICHAM - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_ELECTRIKE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MANECTRIC - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PLUSLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MINUN - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_PLUSLE - 1] = ANIM_V_JUMPS_H_JUMPS, + [SPECIES_MINUN - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_VOLBEAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ILLUMISE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, + [SPECIES_ILLUMISE - 1] = ANIM_RISING_WOBBLE, [SPECIES_ROSELIA - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GULPIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SWALOT - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, @@ -2300,8 +2300,8 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_FLYGON - 1] = ANIM_ZIGZAG_SLOW, [SPECIES_CACNEA - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, [SPECIES_CACTURNE - 1] = ANIM_V_SLIDE, - [SPECIES_SWABLU - 1] = ANIM_V_SLIDE, - [SPECIES_ALTARIA - 1] = ANIM_H_STRETCH, + [SPECIES_SWABLU - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ALTARIA - 1] = ANIM_V_STRETCH, [SPECIES_ZANGOOSE - 1] = ANIM_GROW_VIBRATE, [SPECIES_SEVIPER - 1] = ANIM_V_STRETCH, [SPECIES_LUNATONE - 1] = ANIM_SWING_CONVEX_FAST, @@ -2317,11 +2317,11 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_ANORITH - 1] = ANIM_TWIST, [SPECIES_ARMALDO - 1] = ANIM_V_SHAKE, [SPECIES_FEEBAS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, - [SPECIES_MILOTIC - 1] = ANIM_GLOW_BLUE, + [SPECIES_MILOTIC - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_CASTFORM - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_KECLEON - 1] = ANIM_FLICKER_INCREASING, [SPECIES_SHUPPET - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_BANETTE - 1] = ANIM_SWING_CONVEX, + [SPECIES_BANETTE - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_DUSKULL - 1] = ANIM_ZIGZAG_FAST, [SPECIES_DUSCLOPS - 1] = ANIM_H_VIBRATE, [SPECIES_TROPIUS - 1] = ANIM_V_SHAKE, @@ -2330,7 +2330,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_WYNAUT - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_SNORUNT - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GLALIE - 1] = ANIM_ZIGZAG_FAST, - [SPECIES_SPHEAL - 1] = ANIM_SPIN, + [SPECIES_SPHEAL - 1] = ANIM_V_STRETCH, [SPECIES_SEALEO - 1] = ANIM_V_STRETCH, [SPECIES_WALREIN - 1] = ANIM_H_SHAKE, [SPECIES_CLAMPERL - 1] = ANIM_TWIST, @@ -2338,364 +2338,363 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_GOREBYSS - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_RELICANTH - 1] = ANIM_TIP_MOVE_FORWARD, [SPECIES_LUVDISC - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_BAGON - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_BAGON - 1] = ANIM_H_SHAKE, [SPECIES_SHELGON - 1] = ANIM_V_SLIDE, [SPECIES_SALAMENCE - 1] = ANIM_H_SHAKE, [SPECIES_BELDUM - 1] = ANIM_H_SHAKE, [SPECIES_METANG - 1] = ANIM_V_SLIDE, [SPECIES_METAGROSS - 1] = ANIM_V_SHAKE, [SPECIES_REGIROCK - 1] = ANIM_CIRCULAR_STRETCH_TWICE, - [SPECIES_REGICE - 1] = ANIM_FOUR_PETAL, + [SPECIES_REGICE - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_REGISTEEL - 1] = ANIM_GROW_VIBRATE, - [SPECIES_LATIAS - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, - [SPECIES_LATIOS - 1] = ANIM_V_SHAKE, + [SPECIES_LATIAS - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_LATIOS - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, [SPECIES_KYOGRE - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, [SPECIES_GROUDON - 1] = ANIM_V_SHAKE, [SPECIES_RAYQUAZA - 1] = ANIM_H_SHAKE, - [SPECIES_JIRACHI - 1] = ANIM_SWING_CONVEX, - [SPECIES_DEOXYS - 1] = ANIM_H_PIVOT, + [SPECIES_JIRACHI - 1] = ANIM_RISING_WOBBLE, + [SPECIES_DEOXYS - 1] = ANIM_GROW_VIBRATE, // Gen 4 - [SPECIES_TURTWIG - 1] = ANIM_V_SLIDE, - [SPECIES_GROTLE - 1] = ANIM_H_SLIDE, - [SPECIES_TORTERRA - 1] = ANIM_V_SHAKE, + [SPECIES_TURTWIG - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_GROTLE - 1] = ANIM_V_STRETCH, + [SPECIES_TORTERRA - 1] = ANIM_H_SHAKE, [SPECIES_CHIMCHAR - 1] = ANIM_V_JUMPS_BIG, - [SPECIES_MONFERNO - 1] = ANIM_H_SHAKE_SLOW, - [SPECIES_INFERNAPE - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_PIPLUP - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_PRINPLUP - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_EMPOLEON - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_MONFERNO - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_INFERNAPE - 1] = ANIM_V_STRETCH, + [SPECIES_PIPLUP - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_PRINPLUP - 1] = ANIM_V_STRETCH, + [SPECIES_EMPOLEON - 1] = ANIM_V_STRETCH, [SPECIES_STARLY - 1] = ANIM_V_STRETCH, [SPECIES_STARAVIA - 1] = ANIM_V_STRETCH, - [SPECIES_STARAPTOR - 1] = ANIM_H_STRETCH, - [SPECIES_BIDOOF - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_BIBAREL - 1] = ANIM_GROW, - [SPECIES_KRICKETOT - 1] = ANIM_V_SHAKE, - [SPECIES_KRICKETUNE - 1] = ANIM_V_SHAKE, - [SPECIES_SHINX - 1] = ANIM_V_STRETCH, - [SPECIES_LUXIO - 1] = ANIM_V_STRETCH, + [SPECIES_STARAPTOR - 1] = ANIM_V_SHAKE, + [SPECIES_BIDOOF - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_BIBAREL - 1] = ANIM_GROW_VIBRATE, + [SPECIES_KRICKETOT - 1] = ANIM_H_JUMPS, + [SPECIES_KRICKETUNE - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_SHINX - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_LUXIO - 1] = ANIM_H_STRETCH, [SPECIES_LUXRAY - 1] = ANIM_GLOW_YELLOW, - [SPECIES_BUDEW - 1] = ANIM_SHRINK_GROW, - [SPECIES_ROSERADE - 1] = ANIM_GLOW_PURPLE, - [SPECIES_CRANIDOS - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_BUDEW - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_ROSERADE - 1] = ANIM_H_VIBRATE, + [SPECIES_CRANIDOS - 1] = ANIM_V_STRETCH, [SPECIES_RAMPARDOS - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_SHIELDON - 1] = ANIM_V_SHAKE, - [SPECIES_BASTIODON - 1] = ANIM_H_SHAKE, - [SPECIES_BURMY - 1] = ANIM_V_JUMPS_BIG, - [SPECIES_WORMADAM - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_BASTIODON - 1] = ANIM_BACK_AND_LUNGE, + [SPECIES_BURMY - 1] = ANIM_V_STRETCH, + [SPECIES_WORMADAM - 1] = ANIM_SWING_CONVEX_FAST_SHORT, [SPECIES_MOTHIM - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_COMBEE - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_VESPIQUEN - 1] = ANIM_GLOW_ORANGE, + [SPECIES_VESPIQUEN - 1] = ANIM_LUNGE_GROW, [SPECIES_PACHIRISU - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BUIZEL - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_FLOATZEL - 1] = ANIM_SHRINK_GROW, - [SPECIES_CHERUBI - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, + [SPECIES_BUIZEL - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLOATZEL - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_CHERUBI - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_CHERRIM - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, - [SPECIES_SHELLOS - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_GASTRODON - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_SHELLOS - 1] = ANIM_V_STRETCH, + [SPECIES_GASTRODON - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_AMBIPOM - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_DRIFLOON - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_DRIFBLIM - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_BUNEARY - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_BUNEARY - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_LOPUNNY - 1] = ANIM_SHRINK_GROW, - [SPECIES_MISMAGIUS - 1] = ANIM_SWING_CONVEX_FAST, - [SPECIES_HONCHKROW - 1] = ANIM_GLOW_BLACK, + [SPECIES_MISMAGIUS - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_HONCHKROW - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GLAMEOW - 1] = ANIM_GROW_VIBRATE, - [SPECIES_PURUGLY - 1] = ANIM_V_SHAKE, + [SPECIES_PURUGLY - 1] = ANIM_V_STRETCH, [SPECIES_CHINGLING - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_STUNKY - 1] = ANIM_TIP_MOVE_FORWARD, [SPECIES_SKUNTANK - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_BRONZOR - 1] = ANIM_TWIST_TWICE, + [SPECIES_BRONZOR - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_BRONZONG - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, - [SPECIES_BONSLY - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_MIME_JR - 1] = ANIM_H_SLIDE_SHRINK, + [SPECIES_BONSLY - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, + [SPECIES_MIME_JR - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_HAPPINY - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_CHATOT - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_SPIRITOMB - 1] = ANIM_GROW_IN_STAGES, - [SPECIES_GIBLE - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_GIBLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GABITE - 1] = ANIM_V_STRETCH, [SPECIES_GARCHOMP - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_MUNCHLAX - 1] = ANIM_SHRINK_GROW, - [SPECIES_RIOLU - 1] = ANIM_H_STRETCH, - [SPECIES_LUCARIO - 1] = ANIM_H_SHAKE, + [SPECIES_MUNCHLAX - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_RIOLU - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_LUCARIO - 1] = ANIM_V_STRETCH, [SPECIES_HIPPOPOTAS - 1] = ANIM_V_STRETCH, - [SPECIES_HIPPOWDON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SKORUPI - 1] = ANIM_V_SHAKE, + [SPECIES_HIPPOWDON - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_SKORUPI - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_DRAPION - 1] = ANIM_V_JUMPS_BIG, - [SPECIES_CROAGUNK - 1] = ANIM_GLOW_PURPLE, - [SPECIES_TOXICROAK - 1] = ANIM_V_SLIDE, - [SPECIES_CARNIVINE - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_FINNEON - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, - [SPECIES_LUMINEON - 1] = ANIM_GLOW_BLUE, + [SPECIES_CROAGUNK - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_TOXICROAK - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_CARNIVINE - 1] = ANIM_FIGURE_8, + [SPECIES_FINNEON - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, + [SPECIES_LUMINEON - 1] = ANIM_H_STRETCH, [SPECIES_MANTYKE - 1] = ANIM_TWIST_TWICE, - [SPECIES_SNOVER - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_SNOVER - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ABOMASNOW - 1] = ANIM_H_SHAKE, - [SPECIES_WEAVILE - 1] = ANIM_H_SHAKE, - [SPECIES_MAGNEZONE - 1] = ANIM_GLOW_YELLOW, - [SPECIES_LICKILICKY - 1] = ANIM_ROTATE_UP_SLAM_DOWN, - [SPECIES_RHYPERIOR - 1] = ANIM_LUNGE_GROW, - [SPECIES_TANGROWTH - 1] = ANIM_GROW_IN_STAGES, + [SPECIES_WEAVILE - 1] = ANIM_H_VIBRATE, + [SPECIES_MAGNEZONE - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_LICKILICKY - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_RHYPERIOR - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_TANGROWTH - 1] = ANIM_H_STRETCH, [SPECIES_ELECTIVIRE - 1] = ANIM_GLOW_YELLOW, - [SPECIES_MAGMORTAR - 1] = ANIM_GLOW_RED, - [SPECIES_TOGEKISS - 1] = ANIM_TIP_MOVE_FORWARD, - [SPECIES_YANMEGA - 1] = ANIM_ZIGZAG_FAST, - [SPECIES_LEAFEON - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_MAGMORTAR - 1] = ANIM_V_STRETCH, + [SPECIES_TOGEKISS - 1] = ANIM_SWING_CONVEX, + [SPECIES_YANMEGA - 1] = ANIM_H_VIBRATE, + [SPECIES_LEAFEON - 1] = ANIM_SHRINK_GROW, [SPECIES_GLACEON - 1] = ANIM_V_STRETCH, - [SPECIES_GLISCOR - 1] = ANIM_TWIST, - [SPECIES_MAMOSWINE - 1] = ANIM_V_JUMPS_BIG, - [SPECIES_PORYGON_Z - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_GALLADE - 1] = ANIM_SHRINK_GROW, - [SPECIES_PROBOPASS - 1] = ANIM_SWING_CONVEX_FAST, - [SPECIES_DUSKNOIR - 1] = ANIM_GLOW_BLACK, + [SPECIES_GLISCOR - 1] = ANIM_SWING_CONVEX, + [SPECIES_MAMOSWINE - 1] = ANIM_BACK_AND_LUNGE, + [SPECIES_PORYGON_Z - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + [SPECIES_GALLADE - 1] = ANIM_H_VIBRATE, + [SPECIES_PROBOPASS - 1] = ANIM_V_SLIDE, + [SPECIES_DUSKNOIR - 1] = ANIM_H_SLIDE, [SPECIES_FROSLASS - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_ROTOM - 1] = ANIM_GLOW_YELLOW, - [SPECIES_UXIE - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_UXIE - 1] = ANIM_SWING_CONCAVE, [SPECIES_MESPRIT - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_AZELF - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_DIALGA - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, - [SPECIES_PALKIA - 1] = ANIM_H_SHAKE, - [SPECIES_HEATRAN - 1] = ANIM_GLOW_RED, - [SPECIES_REGIGIGAS - 1] = ANIM_GROW_IN_STAGES, - [SPECIES_GIRATINA - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_AZELF - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_DIALGA - 1] = ANIM_H_SHAKE, + [SPECIES_PALKIA - 1] = ANIM_V_SHAKE, + [SPECIES_HEATRAN - 1] = ANIM_GLOW_ORANGE, + [SPECIES_REGIGIGAS - 1] = ANIM_V_SHAKE, + [SPECIES_GIRATINA - 1] = ANIM_GROW_VIBRATE, [SPECIES_CRESSELIA - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_PHIONE - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_MANAPHY - 1] = ANIM_V_STRETCH, + [SPECIES_PHIONE - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MANAPHY - 1] = ANIM_SWING_CONVEX, [SPECIES_DARKRAI - 1] = ANIM_GLOW_BLACK, - [SPECIES_SHAYMIN - 1] = ANIM_SHRINK_GROW, - [SPECIES_ARCEUS - 1] = ANIM_CIRCULAR_VIBRATE, + [SPECIES_SHAYMIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ARCEUS - 1] = ANIM_GROW_VIBRATE, - // Gen 5 Todo: Assign proper ones. - [SPECIES_VICTINI - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SNIVY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SERVINE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SERPERIOR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TEPIG - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PIGNITE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_EMBOAR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_OSHAWOTT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DEWOTT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SAMUROTT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PATRAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_WATCHOG - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LILLIPUP - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HERDIER - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_STOUTLAND - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PURRLOIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LIEPARD - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PANSAGE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIMISAGE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PANSEAR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIMISEAR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PANPOUR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIMIPOUR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MUNNA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MUSHARNA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PIDOVE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TRANQUILL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_UNFEZANT - 1] = ANIM_V_STRETCH, - [SPECIES_BLITZLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZEBSTRIKA - 1] = ANIM_V_SQUISH_AND_BOUNCE, + // Gen 5 + [SPECIES_VICTINI - 1] = ANIM_H_JUMPS, + [SPECIES_SNIVY - 1] = ANIM_V_STRETCH, + [SPECIES_SERVINE - 1] = ANIM_V_STRETCH, + [SPECIES_SERPERIOR - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_TEPIG - 1] = ANIM_H_SLIDE, + [SPECIES_PIGNITE - 1] = ANIM_V_STRETCH, + [SPECIES_EMBOAR - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, + [SPECIES_OSHAWOTT - 1] = ANIM_H_JUMPS, + [SPECIES_DEWOTT - 1] = ANIM_H_VIBRATE, + [SPECIES_SAMUROTT - 1] = ANIM_V_SHAKE, + [SPECIES_PATRAT - 1] = ANIM_V_STRETCH, + [SPECIES_WATCHOG - 1] = ANIM_V_STRETCH, + [SPECIES_LILLIPUP - 1] = ANIM_H_JUMPS, + [SPECIES_HERDIER - 1] = ANIM_H_STRETCH, + [SPECIES_STOUTLAND - 1] = ANIM_H_SLIDE, + [SPECIES_PURRLOIN - 1] = ANIM_GROW_VIBRATE, + [SPECIES_LIEPARD - 1] = ANIM_GROW_VIBRATE, + [SPECIES_PANSAGE - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_SIMISAGE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_PANSEAR - 1] = ANIM_V_STRETCH, + [SPECIES_SIMISEAR - 1] = ANIM_SWING_CONCAVE_FAST, + [SPECIES_PANPOUR - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SIMIPOUR - 1] = ANIM_H_STRETCH, + [SPECIES_MUNNA - 1] = ANIM_RISING_WOBBLE, + [SPECIES_MUSHARNA - 1] = ANIM_ROTATE_TO_SIDES_TWICE, + [SPECIES_PIDOVE - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_TRANQUILL - 1] = ANIM_V_STRETCH, + [SPECIES_UNFEZANT - 1] = ANIM_SHRINK_GROW, + [SPECIES_BLITZLE - 1] = ANIM_V_STRETCH, + [SPECIES_ZEBSTRIKA - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_ROGGENROLA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BOLDORE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GIGALITH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_WOOBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SWOOBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DRILBUR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_EXCADRILL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_AUDINO - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_BOLDORE - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_GIGALITH - 1] = ANIM_ROTATE_UP_SLAM_DOWN, + [SPECIES_WOOBAT - 1] = ANIM_FOUR_PETAL, + [SPECIES_SWOOBAT - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, + [SPECIES_DRILBUR - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_EXCADRILL - 1] = ANIM_H_SHAKE, + [SPECIES_AUDINO - 1] = ANIM_V_STRETCH, [SPECIES_TIMBURR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GURDURR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CONKELDURR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TYMPOLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PALPITOAD - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SEISMITOAD - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_THROH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SAWK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SEWADDLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SWADLOON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LEAVANNY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VENIPEDE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_WHIRLIPEDE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SCOLIPEDE - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_GURDURR - 1] = ANIM_GROW_VIBRATE, + [SPECIES_CONKELDURR - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_TYMPOLE - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_PALPITOAD - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_SEISMITOAD - 1] = ANIM_H_JUMPS, + [SPECIES_THROH - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_SAWK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SEWADDLE - 1] = ANIM_CIRCLE_INTO_BG, + [SPECIES_SWADLOON - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_LEAVANNY - 1] = ANIM_GROW_VIBRATE, + [SPECIES_VENIPEDE - 1] = ANIM_H_SLIDE, + [SPECIES_WHIRLIPEDE - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_SCOLIPEDE - 1] = ANIM_H_SHAKE, [SPECIES_COTTONEE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_WHIMSICOTT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PETILIL - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_WHIMSICOTT - 1] = ANIM_SHRINK_GROW, + [SPECIES_PETILIL - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_LILLIGANT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BASCULIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_BASCULIN - 1] = ANIM_TIP_MOVE_FORWARD, [SPECIES_SANDILE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KROKOROK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KROOKODILE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DARUMAKA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DARMANITAN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MARACTUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_KROKOROK - 1] = ANIM_V_STRETCH, + [SPECIES_KROOKODILE - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_DARUMAKA - 1] = ANIM_SWING_CONCAVE, + [SPECIES_DARMANITAN - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_MARACTUS - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_DWEBBLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CRUSTLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SCRAGGY - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_CRUSTLE - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_SCRAGGY - 1] = ANIM_V_STRETCH, [SPECIES_SCRAFTY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIGILYPH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_YAMASK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_COFAGRIGUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TIRTOUGA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CARRACOSTA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ARCHEN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ARCHEOPS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SIGILYPH - 1] = ANIM_FIGURE_8, + [SPECIES_YAMASK - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_COFAGRIGUS - 1] = ANIM_GLOW_BLACK, + [SPECIES_TIRTOUGA - 1] = ANIM_RISING_WOBBLE, + [SPECIES_CARRACOSTA - 1] = ANIM_H_SHAKE_SLOW, + [SPECIES_ARCHEN - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_ARCHEOPS - 1] = ANIM_RISING_WOBBLE, [SPECIES_TRUBBISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GARBODOR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZORUA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZOROARK - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_GARBODOR - 1] = ANIM_V_STRETCH, + [SPECIES_ZORUA - 1] = ANIM_CIRCULAR_VIBRATE, + [SPECIES_ZOROARK - 1] = ANIM_FLICKER_INCREASING, [SPECIES_MINCCINO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CINCCINO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOTHITA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOTHORITA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOTHITELLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SOLOSIS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DUOSION - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_REUNICLUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DUCKLETT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SWANNA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VANILLITE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VANILLISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VANILLUXE - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_CINCCINO - 1] = ANIM_V_SLIDE, + [SPECIES_GOTHITA - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_GOTHORITA - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_GOTHITELLE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SOLOSIS - 1] = ANIM_TWIST, + [SPECIES_DUOSION - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_REUNICLUS - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_DUCKLETT - 1] = ANIM_V_STRETCH, + [SPECIES_SWANNA - 1] = ANIM_V_STRETCH, + [SPECIES_VANILLITE - 1] = ANIM_H_SLIDE, + [SPECIES_VANILLISH - 1] = ANIM_GROW_VIBRATE, + [SPECIES_VANILLUXE - 1] = ANIM_GROW_VIBRATE, [SPECIES_DEERLING - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SAWSBUCK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_EMOLGA - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_EMOLGA - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_KARRABLAST - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ESCAVALIER - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FOONGUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_AMOONGUSS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FRILLISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ESCAVALIER - 1] = ANIM_BACK_AND_LUNGE, + [SPECIES_FOONGUS - 1] = ANIM_SWING_CONCAVE_FAST, + [SPECIES_AMOONGUSS - 1] = ANIM_H_SLIDE, + [SPECIES_FRILLISH - 1] = ANIM_RISING_WOBBLE, [SPECIES_JELLICENT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ALOMOMOLA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_JOLTIK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GALVANTULA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FERROSEED - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FERROTHORN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KLINK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KLANG - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KLINKLANG - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TYNAMO - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ALOMOMOLA - 1] = ANIM_SWING_CONCAVE, + [SPECIES_JOLTIK - 1] = ANIM_H_SLIDE, + [SPECIES_GALVANTULA - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + [SPECIES_FERROSEED - 1] = ANIM_H_VIBRATE, + [SPECIES_FERROTHORN - 1] = ANIM_V_SHAKE, + [SPECIES_KLINK - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_KLANG - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_KLINKLANG - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_TYNAMO - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_EELEKTRIK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_EELEKTROSS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ELGYEM - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BEHEEYEM - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LITWICK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LAMPENT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CHANDELURE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_AXEW - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_EELEKTROSS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + [SPECIES_ELGYEM - 1] = ANIM_RISING_WOBBLE, + [SPECIES_BEHEEYEM - 1] = ANIM_GROW_VIBRATE, + [SPECIES_LITWICK - 1] = ANIM_V_STRETCH, + [SPECIES_LAMPENT - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_CHANDELURE - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_AXEW - 1] = ANIM_H_SHAKE, [SPECIES_FRAXURE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HAXORUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_HAXORUS - 1] = ANIM_H_SHAKE, [SPECIES_CUBCHOO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BEARTIC - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CRYOGONAL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SHELMET - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ACCELGOR - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_BEARTIC - 1] = ANIM_H_SHAKE, + [SPECIES_CRYOGONAL - 1] = ANIM_SHRINK_GROW, + [SPECIES_SHELMET - 1] = ANIM_TWIST, + [SPECIES_ACCELGOR - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_STUNFISK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MIENFOO - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MIENFOO - 1] = ANIM_H_VIBRATE, [SPECIES_MIENSHAO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DRUDDIGON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOLETT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOLURK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PAWNIARD - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BISHARP - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BOUFFALANT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_RUFFLET - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DRUDDIGON - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + [SPECIES_GOLETT - 1] = ANIM_V_SHAKE, + [SPECIES_GOLURK - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_PAWNIARD - 1] = ANIM_H_VIBRATE, + [SPECIES_BISHARP - 1] = ANIM_H_STRETCH, + [SPECIES_BOUFFALANT - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_RUFFLET - 1] = ANIM_V_STRETCH, [SPECIES_BRAVIARY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_VULLABY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MANDIBUZZ - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HEATMOR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DURANT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MANDIBUZZ - 1] = ANIM_V_STRETCH, + [SPECIES_HEATMOR - 1] = ANIM_H_SHAKE, + [SPECIES_DURANT - 1] = ANIM_RAPID_H_HOPS, [SPECIES_DEINO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZWEILOUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HYDREIGON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LARVESTA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VOLCARONA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_COBALION - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TERRAKION - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VIRIZION - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TORNADUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_THUNDURUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_RESHIRAM - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZEKROM - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LANDORUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ZWEILOUS - 1] = ANIM_H_STRETCH, + [SPECIES_HYDREIGON - 1] = ANIM_RISING_WOBBLE, + [SPECIES_LARVESTA - 1] = ANIM_GLOW_ORANGE, + [SPECIES_VOLCARONA - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_COBALION - 1] = ANIM_V_STRETCH, + [SPECIES_TERRAKION - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_VIRIZION - 1] = ANIM_GROW_VIBRATE, + [SPECIES_TORNADUS - 1] = ANIM_FIGURE_8, + [SPECIES_THUNDURUS - 1] = ANIM_FIGURE_8, + [SPECIES_RESHIRAM - 1] = ANIM_V_SHAKE, + [SPECIES_ZEKROM - 1] = ANIM_V_SHAKE, + [SPECIES_LANDORUS - 1] = ANIM_FIGURE_8, [SPECIES_KYUREM - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_KELDEO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MELOETTA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GENESECT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MELOETTA - 1] = ANIM_GROW_VIBRATE, + [SPECIES_GENESECT - 1] = ANIM_H_VIBRATE, //Gen 6 - [SPECIES_CHESPIN - 1] = ANIM_H_JUMPS, - [SPECIES_QUILLADIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CHESNAUGHT - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_CHESPIN - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_QUILLADIN - 1] = ANIM_LUNGE_GROW, + [SPECIES_CHESNAUGHT - 1] = ANIM_GROW_IN_STAGES, [SPECIES_FENNEKIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BRAIXEN - 1] = ANIM_SHAKE_GLOW_RED_SLOW, - [SPECIES_DELPHOX - 1] = ANIM_V_STRETCH, - [SPECIES_FROAKIE - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_FROGADIER - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GRENINJA - 1] = ANIM_SHRINK_GROW, + [SPECIES_BRAIXEN - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DELPHOX - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FROAKIE - 1] = ANIM_H_JUMPS, + [SPECIES_FROGADIER - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_GRENINJA - 1] = ANIM_V_STRETCH, [SPECIES_BUNNELBY - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_DIGGERSBY - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_FLETCHLING - 1] = ANIM_H_STRETCH, - [SPECIES_FLETCHINDER - 1] = ANIM_GROW_VIBRATE, - [SPECIES_TALONFLAME - 1] = ANIM_GROW_IN_STAGES, - [SPECIES_SCATTERBUG - 1] = ANIM_H_JUMPS, + [SPECIES_DIGGERSBY - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_FLETCHLING - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_FLETCHINDER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_TALONFLAME - 1] = ANIM_SWING_CONCAVE_FAST, + [SPECIES_SCATTERBUG - 1] = ANIM_V_STRETCH, [SPECIES_SPEWPA - 1] = ANIM_V_SHAKE, - [SPECIES_VIVILLON - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_VIVILLON - 1] = ANIM_ZIGZAG_SLOW, [SPECIES_LITLEO - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_PYROAR - 1] = ANIM_GROW_VIBRATE, - [SPECIES_FLABEBE - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, - [SPECIES_FLOETTE - 1] = ANIM_SWING_CONVEX, - [SPECIES_FLORGES - 1] = ANIM_V_SLIDE_SLOW, - [SPECIES_SKIDDO - 1] = ANIM_H_STRETCH, + [SPECIES_PYROAR - 1] = ANIM_V_SHAKE, + [SPECIES_FLABEBE - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLOETTE - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLORGES - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SKIDDO - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GOGOAT - 1] = ANIM_V_STRETCH, - [SPECIES_PANCHAM - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_PANGORO - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_FURFROU - 1] = ANIM_H_STRETCH, - [SPECIES_ESPURR - 1] = ANIM_H_STRETCH, - [SPECIES_MEOWSTIC - 1] = ANIM_SHRINK_GROW, + [SPECIES_PANCHAM - 1] = ANIM_H_STRETCH, + [SPECIES_PANGORO - 1] = ANIM_BACK_AND_LUNGE, + [SPECIES_FURFROU - 1] = ANIM_H_SLIDE, + [SPECIES_ESPURR - 1] = ANIM_V_STRETCH, + [SPECIES_MEOWSTIC - 1] = ANIM_GROW_VIBRATE, [SPECIES_HONEDGE - 1] = ANIM_SWING_CONVEX, - [SPECIES_DOUBLADE - 1] = ANIM_SWING_CONVEX, + [SPECIES_DOUBLADE - 1] = ANIM_GROW_VIBRATE, [SPECIES_AEGISLASH - 1] = ANIM_H_VIBRATE, [SPECIES_SPRITZEE - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_AROMATISSE - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_SWIRLIX - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_SLURPUFF - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SLURPUFF - 1] = ANIM_V_STRETCH, [SPECIES_INKAY - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_MALAMAR - 1] = ANIM_CIRCULAR_STRETCH_TWICE, - [SPECIES_BINACLE - 1] = ANIM_V_STRETCH, - [SPECIES_BARBARACLE - 1] = ANIM_ROTATE_UP_SLAM_DOWN, + [SPECIES_BINACLE - 1] = ANIM_H_SLIDE, + [SPECIES_BARBARACLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SKRELP - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, - [SPECIES_DRAGALGE - 1] = ANIM_SHRINK_GROW, - [SPECIES_CLAUNCHER - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_CLAWITZER - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_HELIOPTILE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HELIOLISK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DRAGALGE - 1] = ANIM_FRONT_FLIP, + [SPECIES_CLAUNCHER - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_CLAWITZER - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + [SPECIES_HELIOPTILE - 1] = ANIM_GLOW_YELLOW, + [SPECIES_HELIOLISK - 1] = ANIM_RAPID_H_HOPS, [SPECIES_TYRUNT - 1] = ANIM_V_SHAKE, - [SPECIES_TYRANTRUM - 1] = ANIM_H_SHAKE, - [SPECIES_AMAURA - 1] = ANIM_V_STRETCH, - [SPECIES_AURORUS - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_SYLVEON - 1] = ANIM_H_STRETCH, - [SPECIES_HAWLUCHA - 1] = ANIM_H_STRETCH, - [SPECIES_DEDENNE - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_CARBINK - 1] = ANIM_SWING_CONVEX, - [SPECIES_GOOMY - 1] = ANIM_CIRCULAR_STRETCH_TWICE, - [SPECIES_SLIGGOO - 1] = ANIM_H_SPRING_SLOW, + [SPECIES_TYRANTRUM - 1] = ANIM_V_SHAKE, + [SPECIES_AMAURA - 1] = ANIM_H_STRETCH, + [SPECIES_AURORUS - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SYLVEON - 1] = ANIM_SHRINK_GROW, + [SPECIES_HAWLUCHA - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_DEDENNE - 1] = ANIM_GLOW_YELLOW, + [SPECIES_CARBINK - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_GOOMY - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_SLIGGOO - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GOODRA - 1] = ANIM_V_SHAKE, - [SPECIES_KLEFKI - 1] = ANIM_SWING_CONVEX, - [SPECIES_PHANTUMP - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_TREVENANT - 1] = ANIM_FLICKER_INCREASING, - [SPECIES_PUMPKABOO - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_GOURGEIST - 1] = ANIM_SWING_CONVEX, - [SPECIES_BERGMITE - 1] = ANIM_V_SHAKE, - [SPECIES_AVALUGG - 1] = ANIM_ROTATE_UP_SLAM_DOWN, - [SPECIES_NOIBAT - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, - [SPECIES_NOIVERN - 1] = ANIM_GROW_VIBRATE, - [SPECIES_XERNEAS - 1] = ANIM_GLOW_YELLOW, - [SPECIES_YVELTAL - 1] = ANIM_SHAKE_GLOW_BLACK_SLOW, - [SPECIES_ZYGARDE - 1] = ANIM_GROW_VIBRATE, - [SPECIES_DIANCIE - 1] = ANIM_SWING_CONVEX, + [SPECIES_KLEFKI - 1] = ANIM_FOUR_PETAL, + [SPECIES_PHANTUMP - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_TREVENANT - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_PUMPKABOO - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_GOURGEIST - 1] = ANIM_SHRINK_GROW, + [SPECIES_BERGMITE - 1] = ANIM_LUNGE_GROW, + [SPECIES_AVALUGG - 1] = ANIM_V_SHAKE, + [SPECIES_NOIBAT - 1] = ANIM_RISING_WOBBLE, + [SPECIES_NOIVERN - 1] = ANIM_V_STRETCH, + [SPECIES_XERNEAS - 1] = ANIM_GROW_VIBRATE, + [SPECIES_YVELTAL - 1] = ANIM_FRONT_FLIP, + [SPECIES_ZYGARDE - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_DIANCIE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_HOOPA - 1] = ANIM_ZIGZAG_SLOW, - [SPECIES_VOLCANION - 1] = ANIM_V_SHAKE, - + [SPECIES_VOLCANION - 1] = ANIM_V_SHAKE_TWICE, // Gen 7 [SPECIES_ROWLET - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_DARTRIX - 1] = ANIM_H_STRETCH, @@ -2883,30 +2882,162 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_SNEASLER - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_OVERQWIL - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ENAMORUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DEOXYS_ATTACK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DEOXYS_DEFENSE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DEOXYS_SPEED - 1] = ANIM_GROW_VIBRATE, - // Forms - [SPECIES_ROTOM_HEAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ROTOM_FROST - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ROTOM_FAN - 1] = ANIM_FIGURE_8, - [SPECIES_ROTOM_MOW - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ROTOM_WASH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ARCEUS_FIGHTING - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_FLYING - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_POISON - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_GROUND - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_ROCK - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_BUG - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_GHOST - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_STEEL - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_FIRE - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_WATER - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_GRASS - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_ELECTRIC - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_PSYCHIC - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_ICE - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_DRAGON - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_DARK - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_FAIRY - 1] = ANIM_CIRCULAR_VIBRATE, + //Gen 4 Forms + [SPECIES_BURMY_SANDY_CLOAK - 1] = ANIM_V_STRETCH, + [SPECIES_BURMY_TRASH_CLOAK - 1] = ANIM_V_STRETCH, + [SPECIES_WORMADAM_SANDY_CLOAK - 1] = ANIM_SWING_CONVEX_FAST_SHORT, + [SPECIES_WORMADAM_TRASH_CLOAK - 1] = ANIM_SWING_CONVEX_FAST_SHORT, + [SPECIES_CHERRIM_SUNSHINE - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_SHELLOS_EAST_SEA - 1] = ANIM_V_STRETCH, + [SPECIES_GASTRODON_EAST_SEA - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_ROTOM_HEAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ROTOM_WASH - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_ROTOM_FROST - 1] = ANIM_H_STRETCH, + [SPECIES_ROTOM_FAN - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_ROTOM_MOW - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_GIRATINA_ORIGIN - 1] = ANIM_LUNGE_GROW, + [SPECIES_SHAYMIN_SKY - 1] = ANIM_V_STRETCH, + [SPECIES_ARCEUS_FIGHTING - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_FLYING - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_POISON - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_GROUND - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_ROCK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_BUG - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_GHOST - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_STEEL - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_FIRE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_WATER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_GRASS - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_ELECTRIC - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_PSYCHIC - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_ICE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_DRAGON - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_DARK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_FAIRY - 1] = ANIM_GROW_VIBRATE, + //Gen 5 Forms + [SPECIES_BASCULIN_BLUE_STRIPED - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_DARMANITAN_ZEN_MODE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DEERLING_SUMMER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DEERLING_AUTUMN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DEERLING_WINTER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SAWSBUCK_SUMMER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SAWSBUCK_AUTUMN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SAWSBUCK_WINTER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_TORNADUS_THERIAN - 1] = ANIM_V_STRETCH, + [SPECIES_THUNDURUS_THERIAN - 1] = ANIM_RISING_WOBBLE, + [SPECIES_LANDORUS_THERIAN - 1] = ANIM_CIRCULAR_VIBRATE, + [SPECIES_KYUREM_WHITE - 1] = ANIM_H_SHAKE, + [SPECIES_KYUREM_BLACK - 1] = ANIM_V_SHAKE, + [SPECIES_KELDEO_RESOLUTE - 1] = ANIM_V_STRETCH, + [SPECIES_MELOETTA_PIROUETTE - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_GENESECT_DOUSE_DRIVE - 1] = ANIM_H_VIBRATE, + [SPECIES_GENESECT_SHOCK_DRIVE - 1] = ANIM_H_VIBRATE, + [SPECIES_GENESECT_BURN_DRIVE - 1] = ANIM_H_VIBRATE, + [SPECIES_GENESECT_CHILL_DRIVE - 1] = ANIM_H_VIBRATE, + //Gen 6 Forms + [SPECIES_GRENINJA_ASH - 1] = ANIM_FLICKER_INCREASING, + [SPECIES_VIVILLON_POLAR - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_TUNDRA - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_CONTINENTAL - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_GARDEN - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_ELEGANT - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_MEADOW - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_MODERN - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_MARINE - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_ARCHIPELAGO - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_HIGH_PLAINS - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_SANDSTORM - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_RIVER - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_MONSOON - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_SAVANNA - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_SUN - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_OCEAN - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_JUNGLE - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_FANCY - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_POKE_BALL - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_FLABEBE_YELLOW_FLOWER - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLABEBE_ORANGE_FLOWER - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLABEBE_BLUE_FLOWER - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLABEBE_WHITE_FLOWER - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLOETTE_YELLOW_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLOETTE_ORANGE_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLOETTE_BLUE_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLOETTE_WHITE_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLOETTE_ETERNAL_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLORGES_YELLOW_FLOWER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLORGES_ORANGE_FLOWER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLORGES_BLUE_FLOWER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLORGES_WHITE_FLOWER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FURFROU_HEART_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_STAR_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_DIAMOND_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_DEBUTANTE_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_MATRON_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_DANDY_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_LA_REINE_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_KABUKI_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_PHARAOH_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_MEOWSTIC_FEMALE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_AEGISLASH_BLADE - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + [SPECIES_PUMPKABOO_SMALL - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_PUMPKABOO_LARGE - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_PUMPKABOO_SUPER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_GOURGEIST_SMALL - 1] = ANIM_SHRINK_GROW, + [SPECIES_GOURGEIST_LARGE - 1] = ANIM_SHRINK_GROW, + [SPECIES_GOURGEIST_SUPER - 1] = ANIM_SHRINK_GROW, + [SPECIES_XERNEAS_ACTIVE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ZYGARDE_10 - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ZYGARDE_10_POWER_CONSTRUCT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ZYGARDE_50_POWER_CONSTRUCT - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_ZYGARDE_COMPLETE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_HOOPA_UNBOUND - 1] = ANIM_GROW_IN_STAGES, + //Gen 7 Forms + [SPECIES_ORICORIO_POM_POM - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_ORICORIO_PAU - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_ORICORIO_SENSU - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_ROCKRUFF_OWN_TEMPO - 1] = ANIM_V_STRETCH, + [SPECIES_LYCANROC_MIDNIGHT - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_LYCANROC_DUSK - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_WISHIWASHI_SCHOOL - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_SILVALLY_FIGHTING - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_FLYING - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_POISON - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_GROUND - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_ROCK - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_BUG - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_GHOST - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_STEEL - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_FIRE - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_WATER - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_GRASS - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_ELECTRIC - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_PSYCHIC - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_ICE - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_DRAGON - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_DARK - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_FAIRY - 1] = ANIM_V_SHAKE, + [SPECIES_MINIOR_METEOR_ORANGE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_YELLOW - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_GREEN - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_BLUE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_INDIGO - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_VIOLET - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_RED - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_ORANGE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_YELLOW - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_GREEN - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_BLUE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_INDIGO - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_VIOLET - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MIMIKYU_BUSTED - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, + [SPECIES_NECROZMA_DUSK_MANE - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_NECROZMA_DAWN_WINGS - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_NECROZMA_ULTRA - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_MAGEARNA_ORIGINAL_COLOR - 1] = ANIM_H_SLIDE_SLOW, }; static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = @@ -3329,7 +3460,6 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, } else // Player is the OT { - u32 shinyValue; value = gSaveBlock2Ptr->playerTrainerId[0] | (gSaveBlock2Ptr->playerTrainerId[1] << 8) | (gSaveBlock2Ptr->playerTrainerId[2] << 16) @@ -3337,22 +3467,24 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, if (gBaseStats[species].flags & SPECIES_FLAG_SHINY_LOCKED) { - do + while (GET_SHINY_VALUE(value, personality) < SHINY_ODDS) { - // Choose random personalities until one that results in a non-shiny Pokémon personality = Random32(); - shinyValue = HIHALF(value) ^ LOHALF(value) ^ HIHALF(personality) ^ LOHALF(personality); - } while (shinyValue < SHINY_ODDS); + } } - else if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) + else { - u32 rolls = 0; - do + u32 totalRerolls = 0; + if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) + totalRerolls += I_SHINY_CHARM_REROLLS; + if (LURE_STEP_COUNT != 0) + totalRerolls += 1; + + while (GET_SHINY_VALUE(value, personality) >= SHINY_ODDS && totalRerolls > 0) { personality = Random32(); - shinyValue = HIHALF(value) ^ LOHALF(value) ^ HIHALF(personality) ^ LOHALF(personality); - rolls++; - } while (shinyValue >= SHINY_ODDS && rolls < I_SHINY_CHARM_REROLLS); + totalRerolls--; + } } } @@ -4238,6 +4370,13 @@ u8 CountAliveMonsInBattle(u8 caseId) retVal++; } break; + case BATTLE_ALIVE_EXCEPT_ATTACKER: + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + if (i != gBattlerAttacker && !(gAbsentBattlerFlags & gBitTable[i])) + retVal++; + } + break; } return retVal; diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 8a047e397..447590e28 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -1380,7 +1380,7 @@ static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment) UpdateBattlerValue(data); ReloadPokemonSprites(data); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); PlaySE(SE_DEX_SCROLL); } break; @@ -1499,7 +1499,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) PrintDigitChars(data); UpdateBattlerValue(data); ReloadPokemonSprites(data); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); PlaySE(SE_DEX_SCROLL); } @@ -1531,7 +1531,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) ResetOffsetSpriteValues(data); } PlaySE(SE_DEX_SCROLL); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); } else if (JOY_NEW(DPAD_UP)) { diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 3f58daa86..1146d0789 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -551,8 +551,7 @@ struct PokemonStorageSystemData u16 *displayMonTilePtr; struct Sprite *displayMonSprite; u16 displayMonPalBuffer[0x40]; - u8 tileBuffer[0x800]; - u8 unusedBuffer[0x1800]; // Unused + u8 tileBuffer[MON_PIC_SIZE * 4]; // 4x the size of a 'Mon sprite to account for Castform u8 itemIconBuffer[0x800]; u8 wallpaperBgTilemapBuffer[0x1000]; u8 displayMenuTilemapBuffer[0x800]; @@ -1669,18 +1668,10 @@ static void FieldTask_ReturnToPcMenu(void) MainCallback vblankCb = gMain.vblankCallback; SetVBlankCallback(NULL); - if (!FlagGet(DEBUG_FLAG_PC_FROM_DEBUG_MENU)) - { - taskId = CreateTask(Task_PCMainMenu, 80); - gTasks[taskId].tState = 0; - gTasks[taskId].tSelectedOption = sPreviousBoxOption; - Task_PCMainMenu(taskId); - } - else - { - FlagClear(DEBUG_FLAG_PC_FROM_DEBUG_MENU); - ScriptContext_Enable(); - } + taskId = CreateTask(Task_PCMainMenu, 80); + gTasks[taskId].tState = 0; + gTasks[taskId].tSelectedOption = sPreviousBoxOption; + Task_PCMainMenu(taskId); SetVBlankCallback(vblankCb); FadeInFromBlack(); } @@ -8881,14 +8872,14 @@ static void TakeItemFromMon(u8 cursorArea, u8 cursorPos) if (cursorArea == CURSOR_AREA_IN_BOX) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &itemId); - SetBoxMonIconObjMode(cursorPos, 1); + SetBoxMonIconObjMode(cursorPos, ST_OAM_OBJ_BLEND); SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &itemId); - SetPartyMonIconObjMode(cursorPos, 1); + SetPartyMonIconObjMode(cursorPos, ST_OAM_OBJ_BLEND); SetMonFormPSS(&mon->box); } @@ -8953,14 +8944,14 @@ static void GiveItemToMon(u8 cursorArea, u8 cursorPos) if (cursorArea == CURSOR_AREA_IN_BOX) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &sStorage->movingItemId); - SetBoxMonIconObjMode(cursorPos, 0); + SetBoxMonIconObjMode(cursorPos, ST_OAM_OBJ_NORMAL); SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &sStorage->movingItemId); - SetPartyMonIconObjMode(cursorPos, 0); + SetPartyMonIconObjMode(cursorPos, ST_OAM_OBJ_NORMAL); SetMonFormPSS(&mon->box); } } @@ -8980,14 +8971,14 @@ static void MoveItemFromMonToBag(u8 cursorArea, u8 cursorPos) if (cursorArea == CURSOR_AREA_IN_BOX) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &itemId); - SetBoxMonIconObjMode(cursorPos, 1); + SetBoxMonIconObjMode(cursorPos, ST_OAM_OBJ_BLEND); SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &itemId); - SetPartyMonIconObjMode(cursorPos, 1); + SetPartyMonIconObjMode(cursorPos, ST_OAM_OBJ_BLEND); SetMonFormPSS(&mon->box); } } diff --git a/src/pokenav_region_map.c b/src/pokenav_region_map.c index 39c1659a9..036ea5ff1 100755 --- a/src/pokenav_region_map.c +++ b/src/pokenav_region_map.c @@ -78,7 +78,7 @@ extern const u16 gRegionMapCityZoomTiles_Pal[]; extern const u32 gRegionMapCityZoomText_Gfx[]; static const u16 sMapSecInfoWindow_Pal[] = INCBIN_U16("graphics/pokenav/region_map/info_window.gbapal"); -static const u32 sRegionMapCityZoomTiles_Gfx[] = INCBIN_U32("graphics/pokenav/zoom_tiles.4bpp.lz"); +static const u32 sRegionMapCityZoomTiles_Gfx[] = INCBIN_U32("graphics/pokenav/region_map/zoom_tiles.4bpp.lz"); #include "data/region_map/city_map_tilemaps.h" diff --git a/src/recorded_battle.c b/src/recorded_battle.c index dead1dd7e..33228255d 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -21,11 +21,6 @@ #include "constants/rgb.h" #define BATTLER_RECORD_SIZE 664 -#define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \ - | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \ - | BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \ - | BATTLE_TYPE_RECORDED | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \ - | BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA)) struct PlayerInfo { @@ -301,7 +296,7 @@ static bool32 IsRecordedBattleSaveValid(struct RecordedBattleSave *save) { if (save->battleFlags == 0) return FALSE; - if (save->battleFlags & ILLEGAL_BATTLE_TYPES) + if (save->battleFlags & BATTLE_TYPE_RECORDED_INVALID) return FALSE; if (CalcByteArraySum((void *)(save), sizeof(*save) - 4) != save->checksum) return FALSE; diff --git a/src/region_map.c b/src/region_map.c index 8157f8a4e..67f1643d6 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -53,8 +53,6 @@ enum { TAG_FLY_ICON, }; -// Static type declarations - struct MultiNameFlyDest { const u8 *const *name; @@ -62,8 +60,6 @@ struct MultiNameFlyDest u16 flag; }; -// Static RAM declarations - static EWRAM_DATA struct RegionMap *sRegionMap = NULL; static EWRAM_DATA struct { @@ -78,8 +74,6 @@ static EWRAM_DATA struct { static bool32 sDrawFlyDestTextWindow; -// Static ROM declarations - static u8 ProcessRegionMapInput_Full(void); static u8 MoveRegionMapCursor_Full(void); static u8 ProcessRegionMapInput_Zoomed(void); @@ -115,20 +109,18 @@ static void CB_FadeInFlyMap(void); static void CB_HandleFlyMapInput(void); static void CB_ExitFlyMap(void); -// NOTE: Some of the below graphics are not in graphics/pokenav/region_map -// because porymap expects them to be in their current location. static const u16 sRegionMapCursorPal[] = INCBIN_U16("graphics/pokenav/region_map/cursor.gbapal"); static const u32 sRegionMapCursorSmallGfxLZ[] = INCBIN_U32("graphics/pokenav/region_map/cursor_small.4bpp.lz"); static const u32 sRegionMapCursorLargeGfxLZ[] = INCBIN_U32("graphics/pokenav/region_map/cursor_large.4bpp.lz"); -static const u16 sRegionMapBg_Pal[] = INCBIN_U16("graphics/pokenav/region_map.gbapal"); -static const u32 sRegionMapBg_GfxLZ[] = INCBIN_U32("graphics/pokenav/region_map.8bpp.lz"); -static const u32 sRegionMapBg_TilemapLZ[] = INCBIN_U32("graphics/pokenav/region_map_map.bin.lz"); +static const u16 sRegionMapBg_Pal[] = INCBIN_U16("graphics/pokenav/region_map/map.gbapal"); +static const u32 sRegionMapBg_GfxLZ[] = INCBIN_U32("graphics/pokenav/region_map/map.8bpp.lz"); +static const u32 sRegionMapBg_TilemapLZ[] = INCBIN_U32("graphics/pokenav/region_map/map.bin.lz"); static const u16 sRegionMapPlayerIcon_BrendanPal[] = INCBIN_U16("graphics/pokenav/region_map/brendan_icon.gbapal"); static const u8 sRegionMapPlayerIcon_BrendanGfx[] = INCBIN_U8("graphics/pokenav/region_map/brendan_icon.4bpp"); static const u16 sRegionMapPlayerIcon_MayPal[] = INCBIN_U16("graphics/pokenav/region_map/may_icon.gbapal"); static const u8 sRegionMapPlayerIcon_MayGfx[] = INCBIN_U8("graphics/pokenav/region_map/may_icon.4bpp"); -static const u8 sRegionMap_MapSectionLayout[] = INCBIN_U8("graphics/pokenav/region_map_section_layout.bin"); +#include "data/region_map/region_map_layout.h" #include "data/region_map/region_map_entries.h" static const u16 sRegionMap_SpecialPlaceLocations[][2] = @@ -305,40 +297,40 @@ static const u8 sMapHealLocations[][3] = [MAPSEC_MOSSDEEP_CITY] = {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY}, [MAPSEC_SOOTOPOLIS_CITY] = {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY}, [MAPSEC_EVER_GRANDE_CITY] = {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY}, - [MAPSEC_ROUTE_101] = {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), 0}, - [MAPSEC_ROUTE_102] = {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0}, - [MAPSEC_ROUTE_103] = {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0}, - [MAPSEC_ROUTE_104] = {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), 0}, - [MAPSEC_ROUTE_105] = {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), 0}, - [MAPSEC_ROUTE_106] = {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), 0}, - [MAPSEC_ROUTE_107] = {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), 0}, - [MAPSEC_ROUTE_108] = {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), 0}, - [MAPSEC_ROUTE_109] = {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), 0}, - [MAPSEC_ROUTE_110] = {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), 0}, - [MAPSEC_ROUTE_111] = {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), 0}, - [MAPSEC_ROUTE_112] = {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), 0}, - [MAPSEC_ROUTE_113] = {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), 0}, - [MAPSEC_ROUTE_114] = {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), 0}, - [MAPSEC_ROUTE_115] = {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), 0}, - [MAPSEC_ROUTE_116] = {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), 0}, - [MAPSEC_ROUTE_117] = {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), 0}, - [MAPSEC_ROUTE_118] = {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), 0}, - [MAPSEC_ROUTE_119] = {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), 0}, - [MAPSEC_ROUTE_120] = {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), 0}, - [MAPSEC_ROUTE_121] = {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), 0}, - [MAPSEC_ROUTE_122] = {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), 0}, - [MAPSEC_ROUTE_123] = {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), 0}, - [MAPSEC_ROUTE_124] = {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), 0}, - [MAPSEC_ROUTE_125] = {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), 0}, - [MAPSEC_ROUTE_126] = {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), 0}, - [MAPSEC_ROUTE_127] = {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), 0}, - [MAPSEC_ROUTE_128] = {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), 0}, - [MAPSEC_ROUTE_129] = {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), 0}, - [MAPSEC_ROUTE_130] = {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), 0}, - [MAPSEC_ROUTE_131] = {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), 0}, - [MAPSEC_ROUTE_132] = {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), 0}, - [MAPSEC_ROUTE_133] = {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), 0}, - [MAPSEC_ROUTE_134] = {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), 0} + [MAPSEC_ROUTE_101] = {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_102] = {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_103] = {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_104] = {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_105] = {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_106] = {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_107] = {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_108] = {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_109] = {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_110] = {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_111] = {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_112] = {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_113] = {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_114] = {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_115] = {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_116] = {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_117] = {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_118] = {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_119] = {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_120] = {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_121] = {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_122] = {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_123] = {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_124] = {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_125] = {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_126] = {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_127] = {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_128] = {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_129] = {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_130] = {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_131] = {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_132] = {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_133] = {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_134] = {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), HEAL_LOCATION_NONE}, }; static const u8 *const sEverGrandeCityNames[] = @@ -506,8 +498,6 @@ static const struct SpriteTemplate sFlyDestIconSpriteTemplate = .callback = SpriteCallbackDummy }; -// .text - void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed) { InitRegionMapData(regionMap, NULL, zoomed); @@ -965,7 +955,7 @@ static u16 GetMapSecIdAt(u16 x, u16 y) } y -= MAPCURSOR_Y_MIN; x -= MAPCURSOR_X_MIN; - return sRegionMap_MapSectionLayout[x + y * MAP_WIDTH]; + return sRegionMap_MapSectionLayout[y][x]; } static void InitMapBasedOnPlayerLocation(void) @@ -2012,7 +2002,7 @@ static void CB_ExitFlyMap(void) SetWarpDestinationToHealLocation(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && sFlyMap->regionMap.posWithinMapSec == 0 ? HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE : HEAL_LOCATION_EVER_GRANDE_CITY); break; default: - if (sMapHealLocations[sFlyMap->regionMap.mapSecId][2] != 0) + if (sMapHealLocations[sFlyMap->regionMap.mapSecId][2] != HEAL_LOCATION_NONE) SetWarpDestinationToHealLocation(sMapHealLocations[sFlyMap->regionMap.mapSecId][2]); else SetWarpDestinationToMapWarp(sMapHealLocations[sFlyMap->regionMap.mapSecId][0], sMapHealLocations[sFlyMap->regionMap.mapSecId][1], WARP_ID_NONE); diff --git a/src/rom_header_gf.c b/src/rom_header_gf.c index d769d47f8..558bfdb8c 100644 --- a/src/rom_header_gf.c +++ b/src/rom_header_gf.c @@ -6,6 +6,15 @@ #include "item.h" #include "pokeball.h" +// The purpose of this struct is for outside applications to be +// able to access parts of the ROM or its save file, like a public API. +// In vanilla, it was used by Colosseum and XD to access pokemon graphics. +// +// If this struct is rearranged in any way, it defeats the purpose of +// having it at all. Applications like PKHex or streaming HUDs may find +// these values useful, so there's some potential benefit to keeping it. +// If there's a compilation problem below, just comment out the assignment +// instead of changing this struct. struct GFRomHeader { u32 version; @@ -24,7 +33,8 @@ struct GFRomHeader u32 flagsOffset; u32 varsOffset; u32 pokedexOffset; - u32 seenOffset; + u32 seen1Offset; + u32 seen2Offset; u32 pokedexVar; u32 pokedexFlag; u32 mysteryEventFlag; @@ -103,7 +113,8 @@ static const struct GFRomHeader sGFRomHeader = { .flagsOffset = offsetof(struct SaveBlock1, flags), .varsOffset = offsetof(struct SaveBlock1, vars), .pokedexOffset = offsetof(struct SaveBlock2, pokedex), - .seenOffset = offsetof(struct SaveBlock1, dexSeen), + .seen1Offset = offsetof(struct SaveBlock1, dexSeen), + .seen2Offset = offsetof(struct SaveBlock1, dexSeen), // dex flags are combined, just provide the same pointer .pokedexVar = VAR_NATIONAL_DEX - VARS_START, .pokedexFlag = FLAG_RECEIVED_POKEDEX_FROM_BIRCH, .mysteryEventFlag = FLAG_SYS_MYSTERY_EVENT_ENABLE, diff --git a/src/scrcmd.c b/src/scrcmd.c index e5ea3d5e1..745e0d882 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1153,10 +1153,7 @@ bool8 ScrCmd_resetobjectsubpriority(struct ScriptContext *ctx) bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) { if (gObjectEvents[gSelectedObjectEvent].active) - { - ObjectEventFaceOppositeDirection(&gObjectEvents[gSelectedObjectEvent], - GetPlayerFacingDirection()); - } + ObjectEventFaceOppositeDirection(&gObjectEvents[gSelectedObjectEvent], GetPlayerFacingDirection()); return FALSE; } diff --git a/src/script_menu.c b/src/script_menu.c index 6633332f3..df7a12f6d 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -90,12 +90,10 @@ static u16 GetLengthWithExpandedPlayerName(const u8 *str) return length; } -static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos) +static void DrawMultichoiceMenuInternal(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos, const struct MenuAction *actions, int count) { int i; u8 windowId; - u8 count = sMultichoiceLists[multichoiceId].count; - const struct MenuAction *actions = sMultichoiceLists[multichoiceId].list; int width = 0; u8 newWidth; @@ -114,6 +112,84 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreB InitMultichoiceCheckWrap(ignoreBPress, count, windowId, multichoiceId); } +static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos) +{ + DrawMultichoiceMenuInternal(left, top, multichoiceId, ignoreBPress, cursorPos, sMultichoiceLists[multichoiceId].list, sMultichoiceLists[multichoiceId].count); +} + +#if I_REPEL_LURE_MENU == TRUE +void TryDrawRepelMenu(void) +{ + static const u16 repelItems[] = {ITEM_REPEL, ITEM_SUPER_REPEL, ITEM_MAX_REPEL}; + struct MenuAction menuItems[ARRAY_COUNT(repelItems) + 1] = {NULL}; + int i, count = 0, menuPos = 0; + + for (i = 0; i < ARRAY_COUNT(repelItems); i++) + { + if (CheckBagHasItem(repelItems[i], 1)) + { + VarSet(VAR_0x8004 + count, repelItems[i]); + #if VAR_LAST_REPEL_LURE_USED != 0 + if (VarGet(VAR_LAST_REPEL_LURE_USED) == repelItems[i]) + menuPos = count; + #endif + menuItems[count].text = ItemId_GetName(repelItems[i]); + count++; + } + } + + if (count > 1) + DrawMultichoiceMenuInternal(0, 0, 0, FALSE, menuPos, menuItems, count); + + gSpecialVar_Result = (count > 1); +} + +void HandleRepelMenuChoice(void) +{ + gSpecialVar_0x8004 = VarGet(VAR_0x8004 + gSpecialVar_Result); // Get item Id; + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_0x8004)); +#if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_0x8004); +#endif +} + +void TryDrawLureMenu(void) +{ + static const u16 lureItems[] = {ITEM_LURE, ITEM_SUPER_LURE, ITEM_MAX_LURE}; + struct MenuAction menuItems[ARRAY_COUNT(lureItems) + 1] = {NULL}; + int i, count = 0, menuPos = 0; + + + for (i = 0; i < ARRAY_COUNT(lureItems); i++) + { + if (CheckBagHasItem(lureItems[i], 1)) + { + VarSet(VAR_0x8004 + count, lureItems[i]); + #if VAR_LAST_REPEL_LURE_USED != 0 + if (VarGet(VAR_LAST_REPEL_LURE_USED) == lureItems[i]) + menuPos = count; + #endif + menuItems[count].text = ItemId_GetName(lureItems[i]); + count++; + } + } + + if (count > 1) + DrawMultichoiceMenuInternal(0, 0, 0, FALSE, menuPos, menuItems, count); + + gSpecialVar_Result = (count > 1); +} + +void HandleLureMenuChoice(void) +{ + gSpecialVar_0x8004 = VarGet(VAR_0x8004 + gSpecialVar_Result); // Get item Id; + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_0x8004) | REPEL_LURE_MASK); +#if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_0x8004); +#endif +} +#endif //I_REPEL_LURE_MENU == TRUE + #define tLeft data[0] #define tTop data[1] #define tRight data[2] diff --git a/src/shop.c b/src/shop.c old mode 100755 new mode 100644 index d3569c2e5..b34bded84 --- a/src/shop.c +++ b/src/shop.c @@ -808,9 +808,9 @@ static void BuyMenuDrawMapBg(void) metatileLayerType = METATILE_LAYER_TYPE_COVERED; if (metatile < NUM_METATILES_IN_PRIMARY) - BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); + BuyMenuDrawMapMetatile(i, j, mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); else - BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); + BuyMenuDrawMapMetatile(i, j, mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); } } } diff --git a/src/start_menu.c b/src/start_menu.c index 32596aa96..3bf882429 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1312,7 +1312,7 @@ static void Task_SaveAfterLinkBattle(u8 taskId) } else { - gSoftResetDisabled = 1; + gSoftResetDisabled = TRUE; *state = 1; } break; @@ -1326,7 +1326,7 @@ static void Task_SaveAfterLinkBattle(u8 taskId) { ClearContinueGameWarpStatus2(); *state = 3; - gSoftResetDisabled = 0; + gSoftResetDisabled = FALSE; } break; case 3: diff --git a/src/strings.c b/src/strings.c index 4452fd825..8815212e0 100644 --- a/src/strings.c +++ b/src/strings.c @@ -244,6 +244,7 @@ const u8 gText_BootedUpHM[] = _("Booted up an HM."); const u8 gText_TMHMContainedVar1[] = _("It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?"); const u8 gText_PlayerUsedVar2[] = _("{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); const u8 gText_RepelEffectsLingered[] = _("But the effects of a REPEL\nlingered from earlier.{PAUSE_UNTIL_PRESS}"); +const u8 gText_LureEffectsLingered[] = _("But the effects of a Lure\nlingered from earlier.{PAUSE_UNTIL_PRESS}"); const u8 gText_UsedVar2WildLured[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}"); const u8 gText_UsedVar2WildRepelled[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}"); const u8 gText_BoxFull[] = _("The BOX is full.{PAUSE_UNTIL_PRESS}"); diff --git a/src/tilesets.c b/src/tilesets.c new file mode 100644 index 000000000..2cc1da81d --- /dev/null +++ b/src/tilesets.c @@ -0,0 +1,7 @@ +#include "global.h" +#include "tilesets.h" +#include "tileset_anims.h" + +#include "data/tilesets/graphics.h" +#include "data/tilesets/metatiles.h" +#include "data/tilesets/headers.h" diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 8bf8c45e0..a7ea56b82 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -20,11 +20,13 @@ #include "constants/abilities.h" #include "constants/battle_config.h" #include "constants/game_stat.h" +#include "constants/item.h" #include "constants/items.h" #include "constants/layouts.h" #include "constants/weather.h" extern const u8 EventScript_RepelWoreOff[]; +extern const u8 EventScript_LureWoreOff[]; #define MAX_ENCOUNTER_RATE 2880 @@ -54,6 +56,7 @@ static void FeebasSeedRng(u16 seed); static bool8 IsWildLevelAllowedByRepel(u8 level); static void ApplyFluteEncounterRateMod(u32 *encRate); static void ApplyCleanseTagEncounterRateMod(u32 *encRate); +static u8 GetMaxLevelOfSpeciesInWildTable(const struct WildPokemon *wildMon, u16 species, u8 area); static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex); static bool8 IsAbilityAllowingEncounter(u8 level); @@ -181,58 +184,82 @@ static void FeebasSeedRng(u16 seed) // LAND_WILD_COUNT static u8 ChooseWildMonIndex_Land(void) { + u8 wildMonIndex = 0; + bool8 swap = FALSE; u8 rand = Random() % ENCOUNTER_CHANCE_LAND_MONS_TOTAL; if (rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_0) - return 0; + wildMonIndex = 0; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_0 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_1) - return 1; + wildMonIndex = 1; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_1 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_2) - return 2; + wildMonIndex = 2; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_3) - return 3; + wildMonIndex = 3; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_3 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_4) - return 4; + wildMonIndex = 4; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_4 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_5) - return 5; + wildMonIndex = 5; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_5 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_6) - return 6; + wildMonIndex = 6; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_6 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_7) - return 7; + wildMonIndex = 7; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_7 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_8) - return 8; + wildMonIndex = 8; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_8 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_9) - return 9; + wildMonIndex = 9; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_9 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_10) - return 10; + wildMonIndex = 10; else - return 11; + wildMonIndex = 11; + + if (LURE_STEP_COUNT != 0 && (Random() % 10 < 2)) + swap = TRUE; + + if (swap) + wildMonIndex = 11 - wildMonIndex; + + return wildMonIndex; } // ROCK_WILD_COUNT / WATER_WILD_COUNT static u8 ChooseWildMonIndex_WaterRock(void) { + u8 wildMonIndex = 0; + bool8 swap = FALSE; u8 rand = Random() % ENCOUNTER_CHANCE_WATER_MONS_TOTAL; if (rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_0) - return 0; + wildMonIndex = 0; else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_0 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_1) - return 1; + wildMonIndex = 1; else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_1 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_2) - return 2; + wildMonIndex = 2; else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_3) - return 3; + wildMonIndex = 3; else - return 4; + wildMonIndex = 4; + + if (LURE_STEP_COUNT != 0 && (Random() % 10 < 2)) + swap = TRUE; + + if (swap) + wildMonIndex = 4 - wildMonIndex; + + return wildMonIndex; } // FISH_WILD_COUNT static u8 ChooseWildMonIndex_Fishing(u8 rod) { u8 wildMonIndex = 0; + bool8 swap = FALSE; u8 rand = Random() % max(max(ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_TOTAL, ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_TOTAL), ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_TOTAL); + if (LURE_STEP_COUNT != 0 && (Random() % 10 < 2)) + swap = TRUE; + switch (rod) { case OLD_ROD: @@ -240,6 +267,9 @@ static u8 ChooseWildMonIndex_Fishing(u8 rod) wildMonIndex = 0; else wildMonIndex = 1; + + if (swap) + wildMonIndex = 1 - wildMonIndex; break; case GOOD_ROD: if (rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2) @@ -248,6 +278,9 @@ static u8 ChooseWildMonIndex_Fishing(u8 rod) wildMonIndex = 3; if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_4) wildMonIndex = 4; + + if (swap) + wildMonIndex = 6 - wildMonIndex; break; case SUPER_ROD: if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5) @@ -260,46 +293,61 @@ static u8 ChooseWildMonIndex_Fishing(u8 rod) wildMonIndex = 8; if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_9) wildMonIndex = 9; + + if (swap) + wildMonIndex = 14 - wildMonIndex; break; } return wildMonIndex; } -static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon) +static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon, u8 wildMonIndex, u8 area) { u8 min; u8 max; u8 range; u8 rand; - // Make sure minimum level is less than maximum level - if (wildPokemon->maxLevel >= wildPokemon->minLevel) + if (LURE_STEP_COUNT == 0) { - min = wildPokemon->minLevel; - max = wildPokemon->maxLevel; + // Make sure minimum level is less than maximum level + if (wildPokemon[wildMonIndex].maxLevel >= wildPokemon[wildMonIndex].minLevel) + { + min = wildPokemon[wildMonIndex].minLevel; + max = wildPokemon[wildMonIndex].maxLevel; + } + else + { + min = wildPokemon[wildMonIndex].maxLevel; + max = wildPokemon[wildMonIndex].minLevel; + } + range = max - min + 1; + rand = Random() % range; + + // check ability for max level mon + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) + { + u16 ability = GetMonAbility(&gPlayerParty[0]); + if (ability == ABILITY_HUSTLE || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_PRESSURE) + { + if (Random() % 2 == 0) + return max; + + if (rand != 0) + rand--; + } + } + return min + rand; } else { - min = wildPokemon->maxLevel; - max = wildPokemon->minLevel; + // Looks for the max level of all slots that share the same species as the selected slot. + max = GetMaxLevelOfSpeciesInWildTable(wildPokemon, wildPokemon[wildMonIndex].species, area); + if (max > 0) + return max + 1; + else // Failsafe + return wildPokemon[wildMonIndex].maxLevel + 1; } - range = max - min + 1; - rand = Random() % range; - - // check ability for max level mon - if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) - { - u16 ability = GetMonAbility(&gPlayerParty[0]); - if (ability == ABILITY_HUSTLE || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_PRESSURE) - { - if (Random() % 2 == 0) - return max; - - if (rand != 0) - rand--; - } - } - return min + rand; } static u16 GetCurrentMapWildMonHeaderId(void) @@ -461,7 +509,7 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar break; } - level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); + level = ChooseWildMonLevel(wildMonInfo->wildPokemon, wildMonIndex, area); if (flags & WILD_CHECK_REPEL && !IsWildLevelAllowedByRepel(level)) return FALSE; if (gMapHeader.mapLayoutId != LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) @@ -474,7 +522,7 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar static u16 GenerateFishingWildMon(const struct WildPokemonInfo *wildMonInfo, u8 rod) { u8 wildMonIndex = ChooseWildMonIndex_Fishing(rod); - u8 level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); + u8 level = ChooseWildMonLevel(wildMonInfo->wildPokemon, wildMonIndex, WILD_AREA_FISHING); CreateWildMon(wildMonInfo->wildPokemon[wildMonIndex].species, level); return wildMonInfo->wildPokemon[wildMonIndex].species; @@ -506,7 +554,7 @@ static bool8 DoMassOutbreakEncounterTest(void) return FALSE; } -static bool8 DoWildEncounterRateDiceRoll(u16 encounterRate) +static bool8 EncounterOddsCheck(u16 encounterRate) { if (Random() % MAX_ENCOUNTER_RATE < encounterRate) return TRUE; @@ -514,13 +562,16 @@ static bool8 DoWildEncounterRateDiceRoll(u16 encounterRate) return FALSE; } -static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) +// Returns true if it will try to create a wild encounter. +static bool8 WildEncounterCheck(u32 encounterRate, bool8 ignoreAbility) { encounterRate *= 16; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) encounterRate = encounterRate * 80 / 100; ApplyFluteEncounterRateMod(&encounterRate); ApplyCleanseTagEncounterRateMod(&encounterRate); + if (LURE_STEP_COUNT != 0) + encounterRate *= 2; if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) { u32 ability = GetMonAbility(&gPlayerParty[0]); @@ -548,10 +599,12 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) } if (encounterRate > MAX_ENCOUNTER_RATE) encounterRate = MAX_ENCOUNTER_RATE; - return DoWildEncounterRateDiceRoll(encounterRate); + return EncounterOddsCheck(encounterRate); } -static bool8 DoGlobalWildEncounterDiceRoll(void) +// When you first step on a different type of metatile, there's a 40% chance it +// skips the wild encounter check entirely. +static bool8 AllowWildCheckOnNewMetatile(void) { if (Random() % 100 >= 60) return FALSE; @@ -570,7 +623,7 @@ static bool8 AreLegendariesInSootopolisPreventingEncounters(void) return FlagGet(FLAG_LEGENDARIES_IN_SOOTOPOLIS); } -bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior) +bool8 StandardWildEncounter(u16 curMetatileBehavior, u16 prevMetatileBehavior) { u16 headerId; struct Roamer *roamer; @@ -584,9 +637,9 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS) { headerId = GetBattlePikeWildMonHeaderId(); - if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + if (prevMetatileBehavior != curMetatileBehavior && !AllowWildCheckOnNewMetatile()) return FALSE; - else if (DoWildEncounterRateTest(gBattlePikeWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + else if (WildEncounterCheck(gBattlePikeWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) return FALSE; else if (TryGenerateWildMon(gBattlePikeWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_KEEN_EYE) != TRUE) return FALSE; @@ -599,9 +652,9 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) { headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum; - if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + if (prevMetatileBehavior != curMetatileBehavior && !AllowWildCheckOnNewMetatile()) return FALSE; - else if (DoWildEncounterRateTest(gBattlePyramidWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + else if (WildEncounterCheck(gBattlePyramidWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) return FALSE; else if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_KEEN_EYE) != TRUE) return FALSE; @@ -613,13 +666,13 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi } else { - if (MetatileBehavior_IsLandWildEncounter(currMetaTileBehavior) == TRUE) + if (MetatileBehavior_IsLandWildEncounter(curMetatileBehavior) == TRUE) { if (gWildMonHeaders[headerId].landMonsInfo == NULL) return FALSE; - else if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + else if (prevMetatileBehavior != curMetatileBehavior && !AllowWildCheckOnNewMetatile()) return FALSE; - else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + else if (WildEncounterCheck(gWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) return FALSE; if (TryStartRoamerEncounter() == TRUE) @@ -659,16 +712,16 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi return FALSE; } } - else if (MetatileBehavior_IsWaterWildEncounter(currMetaTileBehavior) == TRUE - || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridgeOverWater(currMetaTileBehavior) == TRUE)) + else if (MetatileBehavior_IsWaterWildEncounter(curMetatileBehavior) == TRUE + || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridgeOverWater(curMetatileBehavior) == TRUE)) { if (AreLegendariesInSootopolisPreventingEncounters() == TRUE) return FALSE; else if (gWildMonHeaders[headerId].waterMonsInfo == NULL) return FALSE; - else if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + else if (prevMetatileBehavior != curMetatileBehavior && !AllowWildCheckOnNewMetatile()) return FALSE; - else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].waterMonsInfo->encounterRate, FALSE) != TRUE) + else if (WildEncounterCheck(gWildMonHeaders[headerId].waterMonsInfo->encounterRate, FALSE) != TRUE) return FALSE; if (TryStartRoamerEncounter() == TRUE) @@ -719,7 +772,7 @@ void RockSmashWildEncounter(void) { gSpecialVar_Result = FALSE; } - else if (DoWildEncounterRateTest(wildPokemonInfo->encounterRate, TRUE) == TRUE + else if (WildEncounterCheck(wildPokemonInfo->encounterRate, TRUE) == TRUE && TryGenerateWildMon(wildPokemonInfo, WILD_AREA_ROCKS, WILD_CHECK_REPEL | WILD_CHECK_KEEN_EYE) == TRUE) { BattleSetup_StartWildBattle(); @@ -825,7 +878,7 @@ void FishingWildEncounter(u8 rod) if (CheckFeebas() == TRUE) { - u8 level = ChooseWildMonLevel(&sWildFeebas); + u8 level = ChooseWildMonLevel(&sWildFeebas, 0, WILD_AREA_FISHING); species = sWildFeebas.species; CreateWildMon(species, level); @@ -892,24 +945,37 @@ u16 GetLocalWaterMon(void) bool8 UpdateRepelCounter(void) { - u16 steps; + u16 repelLureVar = VarGet(VAR_REPEL_STEP_COUNT); + u16 steps = REPEL_LURE_STEPS(repelLureVar); + bool32 isLure = IS_LAST_USED_LURE(repelLureVar); if (InBattlePike() || InBattlePyramid()) return FALSE; if (InUnionRoom() == TRUE) return FALSE; - steps = VarGet(VAR_REPEL_STEP_COUNT); - if (steps != 0) { steps--; - VarSet(VAR_REPEL_STEP_COUNT, steps); - if (steps == 0) + if (!isLure) { - ScriptContext_SetupScript(EventScript_RepelWoreOff); - return TRUE; + VarSet(VAR_REPEL_STEP_COUNT, steps); + if (steps == 0) + { + ScriptContext_SetupScript(EventScript_RepelWoreOff); + return TRUE; + } } + else + { + VarSet(VAR_REPEL_STEP_COUNT, steps | REPEL_LURE_MASK); + if (steps == 0) + { + ScriptContext_SetupScript(EventScript_LureWoreOff); + return TRUE; + } + } + } return FALSE; } @@ -918,7 +984,7 @@ static bool8 IsWildLevelAllowedByRepel(u8 wildLevel) { u8 i; - if (!VarGet(VAR_REPEL_STEP_COUNT)) + if (!REPEL_STEP_COUNT) return TRUE; for (i = 0; i < PARTY_SIZE; i++) @@ -976,6 +1042,34 @@ static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u return TRUE; } +#include "data.h" + +static u8 GetMaxLevelOfSpeciesInWildTable(const struct WildPokemon *wildMon, u16 species, u8 area) +{ + u8 i, maxLevel = 0, numMon = 0; + + switch (area) + { + case WILD_AREA_LAND: + numMon = LAND_WILD_COUNT; + break; + case WILD_AREA_WATER: + numMon = WATER_WILD_COUNT; + break; + case WILD_AREA_ROCKS: + numMon = ROCK_WILD_COUNT; + break; + } + + for (i = 0; i < numMon; i++) + { + if (wildMon[i].species == species && wildMon[i].maxLevel > maxLevel) + maxLevel = wildMon[i].maxLevel; + } + + return maxLevel; +} + static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex) { if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) diff --git a/tools/jsonproc/Makefile b/tools/jsonproc/Makefile index eec73eb7b..653d58567 100755 --- a/tools/jsonproc/Makefile +++ b/tools/jsonproc/Makefile @@ -1,6 +1,6 @@ CXX ?= g++ -CXXFLAGS := -Wall -std=c++11 -O2 +CXXFLAGS := -Wall -std=c++17 -O2 INCLUDES := -I . diff --git a/tools/jsonproc/inja.hpp b/tools/jsonproc/inja.hpp index 21478ea11..5b469745f 100755 --- a/tools/jsonproc/inja.hpp +++ b/tools/jsonproc/inja.hpp @@ -1,1427 +1,841 @@ -// MIT License +/* + ___ _ Version 3.3 + |_ _|_ __ (_) __ _ https://github.com/pantor/inja + | || '_ \ | |/ _` | Licensed under the MIT License . + | || | | || | (_| | + |___|_| |_|/ |\__,_| Copyright (c) 2018-2021 Lars Berscheid + |__/ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ -// Copyright (c) 2018 lbersch +#ifndef INCLUDE_INJA_INJA_HPP_ +#define INCLUDE_INJA_INJA_HPP_ -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: +#include -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. +namespace inja { +#ifndef INJA_DATA_TYPE +using json = nlohmann::json; +#else +using json = INJA_DATA_TYPE; +#endif +} // namespace inja -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(INJA_NOEXCEPTION) +#ifndef INJA_THROW +#define INJA_THROW(exception) throw exception +#endif +#else +#include +#ifndef INJA_THROW +#define INJA_THROW(exception) \ + std::abort(); \ + std::ignore = exception +#endif +#ifndef INJA_NOEXCEPTION +#define INJA_NOEXCEPTION +#endif +#endif +// #include "environment.hpp" +#ifndef INCLUDE_INJA_ENVIRONMENT_HPP_ +#define INCLUDE_INJA_ENVIRONMENT_HPP_ -// --- - - -// Copyright (c) 2009-2018 FIRST -// All rights reserved. - -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// * Neither the name of the FIRST nor the -// names of its contributors may be used to endorse or promote products -// derived from this software without specific prior written permission. - -// THIS SOFTWARE IS PROVIDED BY FIRST AND CONTRIBUTORS``AS IS'' AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY NONINFRINGEMENT AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL FIRST OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef PANTOR_INJA_HPP -#define PANTOR_INJA_HPP - -#include +#include #include -#include #include #include #include +#include + +// #include "config.hpp" +#ifndef INCLUDE_INJA_CONFIG_HPP_ +#define INCLUDE_INJA_CONFIG_HPP_ + +#include +#include + +// #include "template.hpp" +#ifndef INCLUDE_INJA_TEMPLATE_HPP_ +#define INCLUDE_INJA_TEMPLATE_HPP_ + +#include +#include +#include #include -#include +// #include "node.hpp" +#ifndef INCLUDE_INJA_NODE_HPP_ +#define INCLUDE_INJA_NODE_HPP_ -// #include "environment.hpp" -#ifndef PANTOR_INJA_ENVIRONMENT_HPP -#define PANTOR_INJA_ENVIRONMENT_HPP - -#include -#include -#include #include +#include +#include -#include - -// #include "config.hpp" -#ifndef PANTOR_INJA_CONFIG_HPP -#define PANTOR_INJA_CONFIG_HPP - -#include -#include - -// #include "string_view.hpp" -// Copyright 2017-2019 by Martin Moene -// -// string-view lite, a C++17-like string_view for C++98 and later. -// For more information see https://github.com/martinmoene/string-view-lite -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - - -#ifndef NONSTD_SV_LITE_H_INCLUDED -#define NONSTD_SV_LITE_H_INCLUDED - -#define string_view_lite_MAJOR 1 -#define string_view_lite_MINOR 1 -#define string_view_lite_PATCH 0 - -#define string_view_lite_VERSION nssv_STRINGIFY(string_view_lite_MAJOR) "." nssv_STRINGIFY(string_view_lite_MINOR) "." nssv_STRINGIFY(string_view_lite_PATCH) - -#define nssv_STRINGIFY( x ) nssv_STRINGIFY_( x ) -#define nssv_STRINGIFY_( x ) #x - -// string-view lite configuration: - -#define nssv_STRING_VIEW_DEFAULT 0 -#define nssv_STRING_VIEW_NONSTD 1 -#define nssv_STRING_VIEW_STD 2 - -#if !defined( nssv_CONFIG_SELECT_STRING_VIEW ) -# define nssv_CONFIG_SELECT_STRING_VIEW ( nssv_HAVE_STD_STRING_VIEW ? nssv_STRING_VIEW_STD : nssv_STRING_VIEW_NONSTD ) -#endif - -#if defined( nssv_CONFIG_SELECT_STD_STRING_VIEW ) || defined( nssv_CONFIG_SELECT_NONSTD_STRING_VIEW ) -# error nssv_CONFIG_SELECT_STD_STRING_VIEW and nssv_CONFIG_SELECT_NONSTD_STRING_VIEW are deprecated and removed, please use nssv_CONFIG_SELECT_STRING_VIEW=nssv_STRING_VIEW_... -#endif - -#ifndef nssv_CONFIG_STD_SV_OPERATOR -# define nssv_CONFIG_STD_SV_OPERATOR 0 -#endif - -#ifndef nssv_CONFIG_USR_SV_OPERATOR -# define nssv_CONFIG_USR_SV_OPERATOR 1 -#endif - -#ifdef nssv_CONFIG_CONVERSION_STD_STRING -# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS nssv_CONFIG_CONVERSION_STD_STRING -# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS nssv_CONFIG_CONVERSION_STD_STRING -#endif - -#ifndef nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS -# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS 1 -#endif - -#ifndef nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS -# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS 1 -#endif - -// Control presence of exception handling (try and auto discover): - -#ifndef nssv_CONFIG_NO_EXCEPTIONS -# if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND) -# define nssv_CONFIG_NO_EXCEPTIONS 0 -# else -# define nssv_CONFIG_NO_EXCEPTIONS 1 -# endif -#endif - -// C++ language version detection (C++20 is speculative): -// Note: VC14.0/1900 (VS2015) lacks too much from C++14. - -#ifndef nssv_CPLUSPLUS -# if defined(_MSVC_LANG ) && !defined(__clang__) -# define nssv_CPLUSPLUS (_MSC_VER == 1900 ? 201103L : _MSVC_LANG ) -# else -# define nssv_CPLUSPLUS __cplusplus -# endif -#endif - -#define nssv_CPP98_OR_GREATER ( nssv_CPLUSPLUS >= 199711L ) -#define nssv_CPP11_OR_GREATER ( nssv_CPLUSPLUS >= 201103L ) -#define nssv_CPP11_OR_GREATER_ ( nssv_CPLUSPLUS >= 201103L ) -#define nssv_CPP14_OR_GREATER ( nssv_CPLUSPLUS >= 201402L ) -#define nssv_CPP17_OR_GREATER ( nssv_CPLUSPLUS >= 201703L ) -#define nssv_CPP20_OR_GREATER ( nssv_CPLUSPLUS >= 202000L ) - -// use C++17 std::string_view if available and requested: - -#if nssv_CPP17_OR_GREATER && defined(__has_include ) -# if __has_include( ) -# define nssv_HAVE_STD_STRING_VIEW 1 -# else -# define nssv_HAVE_STD_STRING_VIEW 0 -# endif -#else -# define nssv_HAVE_STD_STRING_VIEW 0 -#endif - -#define nssv_USES_STD_STRING_VIEW ( (nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_STD) || ((nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_DEFAULT) && nssv_HAVE_STD_STRING_VIEW) ) - -#define nssv_HAVE_STARTS_WITH ( nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW ) -#define nssv_HAVE_ENDS_WITH nssv_HAVE_STARTS_WITH - -// -// Use C++17 std::string_view: -// - -#if nssv_USES_STD_STRING_VIEW +// #include "function_storage.hpp" +#ifndef INCLUDE_INJA_FUNCTION_STORAGE_HPP_ +#define INCLUDE_INJA_FUNCTION_STORAGE_HPP_ #include +#include -// Extensions for std::string: +namespace inja { -#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS +using Arguments = std::vector; +using CallbackFunction = std::function; +using VoidCallbackFunction = std::function; -namespace nonstd { +/*! + * \brief Class for builtin functions and user-defined callbacks. + */ +class FunctionStorage { +public: + enum class Operation { + Not, + And, + Or, + In, + Equal, + NotEqual, + Greater, + GreaterEqual, + Less, + LessEqual, + Add, + Subtract, + Multiplication, + Division, + Power, + Modulo, + AtId, + At, + Default, + DivisibleBy, + Even, + Exists, + ExistsInObject, + First, + Float, + Int, + IsArray, + IsBoolean, + IsFloat, + IsInteger, + IsNumber, + IsObject, + IsString, + Last, + Length, + Lower, + Max, + Min, + Odd, + Range, + Round, + Sort, + Upper, + Super, + Join, + Callback, + ParenLeft, + ParenRight, + None, + }; -template< class CharT, class Traits, class Allocator = std::allocator > -std::basic_string -to_string( std::basic_string_view v, Allocator const & a = Allocator() ) -{ - return std::basic_string( v.begin(), v.end(), a ); -} + struct FunctionData { + explicit FunctionData(const Operation& op, const CallbackFunction& cb = CallbackFunction {}): operation(op), callback(cb) {} + const Operation operation; + const CallbackFunction callback; + }; -template< class CharT, class Traits, class Allocator > -std::basic_string_view -to_string_view( std::basic_string const & s ) -{ - return std::basic_string_view( s.data(), s.size() ); -} +private: + const int VARIADIC {-1}; -// Literal operators sv and _sv: + std::map, FunctionData> function_storage = { + {std::make_pair("at", 2), FunctionData {Operation::At}}, + {std::make_pair("default", 2), FunctionData {Operation::Default}}, + {std::make_pair("divisibleBy", 2), FunctionData {Operation::DivisibleBy}}, + {std::make_pair("even", 1), FunctionData {Operation::Even}}, + {std::make_pair("exists", 1), FunctionData {Operation::Exists}}, + {std::make_pair("existsIn", 2), FunctionData {Operation::ExistsInObject}}, + {std::make_pair("first", 1), FunctionData {Operation::First}}, + {std::make_pair("float", 1), FunctionData {Operation::Float}}, + {std::make_pair("int", 1), FunctionData {Operation::Int}}, + {std::make_pair("isArray", 1), FunctionData {Operation::IsArray}}, + {std::make_pair("isBoolean", 1), FunctionData {Operation::IsBoolean}}, + {std::make_pair("isFloat", 1), FunctionData {Operation::IsFloat}}, + {std::make_pair("isInteger", 1), FunctionData {Operation::IsInteger}}, + {std::make_pair("isNumber", 1), FunctionData {Operation::IsNumber}}, + {std::make_pair("isObject", 1), FunctionData {Operation::IsObject}}, + {std::make_pair("isString", 1), FunctionData {Operation::IsString}}, + {std::make_pair("last", 1), FunctionData {Operation::Last}}, + {std::make_pair("length", 1), FunctionData {Operation::Length}}, + {std::make_pair("lower", 1), FunctionData {Operation::Lower}}, + {std::make_pair("max", 1), FunctionData {Operation::Max}}, + {std::make_pair("min", 1), FunctionData {Operation::Min}}, + {std::make_pair("odd", 1), FunctionData {Operation::Odd}}, + {std::make_pair("range", 1), FunctionData {Operation::Range}}, + {std::make_pair("round", 2), FunctionData {Operation::Round}}, + {std::make_pair("sort", 1), FunctionData {Operation::Sort}}, + {std::make_pair("upper", 1), FunctionData {Operation::Upper}}, + {std::make_pair("super", 0), FunctionData {Operation::Super}}, + {std::make_pair("super", 1), FunctionData {Operation::Super}}, + {std::make_pair("join", 2), FunctionData {Operation::Join}}, + }; -#if nssv_CONFIG_STD_SV_OPERATOR +public: + void add_builtin(std::string_view name, int num_args, Operation op) { + function_storage.emplace(std::make_pair(static_cast(name), num_args), FunctionData {op}); + } -using namespace std::literals::string_view_literals; + void add_callback(std::string_view name, int num_args, const CallbackFunction& callback) { + function_storage.emplace(std::make_pair(static_cast(name), num_args), FunctionData {Operation::Callback, callback}); + } -#endif + FunctionData find_function(std::string_view name, int num_args) const { + auto it = function_storage.find(std::make_pair(static_cast(name), num_args)); + if (it != function_storage.end()) { + return it->second; -#if nssv_CONFIG_USR_SV_OPERATOR + // Find variadic function + } else if (num_args > 0) { + it = function_storage.find(std::make_pair(static_cast(name), VARIADIC)); + if (it != function_storage.end()) { + return it->second; + } + } -inline namespace literals { -inline namespace string_view_literals { + return FunctionData {Operation::None}; + } +}; +} // namespace inja -constexpr std::string_view operator "" _sv( const char* str, size_t len ) noexcept // (1) -{ - return std::string_view{ str, len }; -} +#endif // INCLUDE_INJA_FUNCTION_STORAGE_HPP_ -constexpr std::u16string_view operator "" _sv( const char16_t* str, size_t len ) noexcept // (2) -{ - return std::u16string_view{ str, len }; -} - -constexpr std::u32string_view operator "" _sv( const char32_t* str, size_t len ) noexcept // (3) -{ - return std::u32string_view{ str, len }; -} - -constexpr std::wstring_view operator "" _sv( const wchar_t* str, size_t len ) noexcept // (4) -{ - return std::wstring_view{ str, len }; -} - -}} // namespace literals::string_view_literals - -#endif // nssv_CONFIG_USR_SV_OPERATOR - -} // namespace nonstd - -#endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS - -namespace nonstd { - -using std::string_view; -using std::wstring_view; -using std::u16string_view; -using std::u32string_view; -using std::basic_string_view; - -// literal "sv" and "_sv", see above - -using std::operator==; -using std::operator!=; -using std::operator<; -using std::operator<=; -using std::operator>; -using std::operator>=; - -using std::operator<<; - -} // namespace nonstd - -#else // nssv_HAVE_STD_STRING_VIEW - -// -// Before C++17: use string_view lite: -// - -// Compiler versions: -// -// MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0) -// MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002) -// MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003) -// MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005) -// MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008) -// MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) -// MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) -// MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) -// MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) -// MSVC++ 14.1 _MSC_VER >= 1910 (Visual Studio 2017) - -#if defined(_MSC_VER ) && !defined(__clang__) -# define nssv_COMPILER_MSVC_VER (_MSC_VER ) -# define nssv_COMPILER_MSVC_VERSION (_MSC_VER / 10 - 10 * ( 5 + (_MSC_VER < 1900 ) ) ) -#else -# define nssv_COMPILER_MSVC_VER 0 -# define nssv_COMPILER_MSVC_VERSION 0 -#endif - -#define nssv_COMPILER_VERSION( major, minor, patch ) (10 * ( 10 * major + minor) + patch) - -#if defined(__clang__) -# define nssv_COMPILER_CLANG_VERSION nssv_COMPILER_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__) -#else -# define nssv_COMPILER_CLANG_VERSION 0 -#endif - -#if defined(__GNUC__) && !defined(__clang__) -# define nssv_COMPILER_GNUC_VERSION nssv_COMPILER_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) -#else -# define nssv_COMPILER_GNUC_VERSION 0 -#endif - -// half-open range [lo..hi): -#define nssv_BETWEEN( v, lo, hi ) ( (lo) <= (v) && (v) < (hi) ) - -// Presence of language and library features: - -#ifdef _HAS_CPP0X -# define nssv_HAS_CPP0X _HAS_CPP0X -#else -# define nssv_HAS_CPP0X 0 -#endif - -// Unless defined otherwise below, consider VC14 as C++11 for variant-lite: - -#if nssv_COMPILER_MSVC_VER >= 1900 -# undef nssv_CPP11_OR_GREATER -# define nssv_CPP11_OR_GREATER 1 -#endif - -#define nssv_CPP11_90 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1500) -#define nssv_CPP11_100 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1600) -#define nssv_CPP11_110 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1700) -#define nssv_CPP11_120 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1800) -#define nssv_CPP11_140 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1900) -#define nssv_CPP11_141 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1910) - -#define nssv_CPP14_000 (nssv_CPP14_OR_GREATER) -#define nssv_CPP17_000 (nssv_CPP17_OR_GREATER) - -// Presence of C++11 language features: - -#define nssv_HAVE_CONSTEXPR_11 nssv_CPP11_140 -#define nssv_HAVE_EXPLICIT_CONVERSION nssv_CPP11_140 -#define nssv_HAVE_INLINE_NAMESPACE nssv_CPP11_140 -#define nssv_HAVE_NOEXCEPT nssv_CPP11_140 -#define nssv_HAVE_NULLPTR nssv_CPP11_100 -#define nssv_HAVE_REF_QUALIFIER nssv_CPP11_140 -#define nssv_HAVE_UNICODE_LITERALS nssv_CPP11_140 -#define nssv_HAVE_USER_DEFINED_LITERALS nssv_CPP11_140 -#define nssv_HAVE_WCHAR16_T nssv_CPP11_100 -#define nssv_HAVE_WCHAR32_T nssv_CPP11_100 - -#if ! ( ( nssv_CPP11 && nssv_COMPILER_CLANG_VERSION ) || nssv_BETWEEN( nssv_COMPILER_CLANG_VERSION, 300, 400 ) ) -# define nssv_HAVE_STD_DEFINED_LITERALS nssv_CPP11_140 -#endif - -// Presence of C++14 language features: - -#define nssv_HAVE_CONSTEXPR_14 nssv_CPP14_000 - -// Presence of C++17 language features: - -#define nssv_HAVE_NODISCARD nssv_CPP17_000 - -// Presence of C++ library features: - -#define nssv_HAVE_STD_HASH nssv_CPP11_120 - -// C++ feature usage: - -#if nssv_HAVE_CONSTEXPR_11 -# define nssv_constexpr constexpr -#else -# define nssv_constexpr /*constexpr*/ -#endif - -#if nssv_HAVE_CONSTEXPR_14 -# define nssv_constexpr14 constexpr -#else -# define nssv_constexpr14 /*constexpr*/ -#endif - -#if nssv_HAVE_EXPLICIT_CONVERSION -# define nssv_explicit explicit -#else -# define nssv_explicit /*explicit*/ -#endif - -#if nssv_HAVE_INLINE_NAMESPACE -# define nssv_inline_ns inline -#else -# define nssv_inline_ns /*inline*/ -#endif - -#if nssv_HAVE_NOEXCEPT -# define nssv_noexcept noexcept -#else -# define nssv_noexcept /*noexcept*/ -#endif - -//#if nssv_HAVE_REF_QUALIFIER -//# define nssv_ref_qual & -//# define nssv_refref_qual && -//#else -//# define nssv_ref_qual /*&*/ -//# define nssv_refref_qual /*&&*/ -//#endif - -#if nssv_HAVE_NULLPTR -# define nssv_nullptr nullptr -#else -# define nssv_nullptr NULL -#endif - -#if nssv_HAVE_NODISCARD -# define nssv_nodiscard [[nodiscard]] -#else -# define nssv_nodiscard /*[[nodiscard]]*/ -#endif - -// Additional includes: +// #include "utils.hpp" +#ifndef INCLUDE_INJA_UTILS_HPP_ +#define INCLUDE_INJA_UTILS_HPP_ #include -#include -#include -#include -#include -#include // std::char_traits<> +#include +#include +#include +#include -#if ! nssv_CONFIG_NO_EXCEPTIONS -# include -#endif +// #include "exceptions.hpp" +#ifndef INCLUDE_INJA_EXCEPTIONS_HPP_ +#define INCLUDE_INJA_EXCEPTIONS_HPP_ -#if nssv_CPP11_OR_GREATER -# include -#endif +#include +#include -// Clang, GNUC, MSVC warning suppression macros: +namespace inja { -#if defined(__clang__) -# pragma clang diagnostic ignored "-Wreserved-user-defined-literal" -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wuser-defined-literals" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wliteral-suffix" -#endif // __clang__ - -#if nssv_COMPILER_MSVC_VERSION >= 140 -# define nssv_SUPPRESS_MSGSL_WARNING(expr) [[gsl::suppress(expr)]] -# define nssv_SUPPRESS_MSVC_WARNING(code, descr) __pragma(warning(suppress: code) ) -# define nssv_DISABLE_MSVC_WARNINGS(codes) __pragma(warning(push)) __pragma(warning(disable: codes)) -#else -# define nssv_SUPPRESS_MSGSL_WARNING(expr) -# define nssv_SUPPRESS_MSVC_WARNING(code, descr) -# define nssv_DISABLE_MSVC_WARNINGS(codes) -#endif - -#if defined(__clang__) -# define nssv_RESTORE_WARNINGS() _Pragma("clang diagnostic pop") -#elif defined(__GNUC__) -# define nssv_RESTORE_WARNINGS() _Pragma("GCC diagnostic pop") -#elif nssv_COMPILER_MSVC_VERSION >= 140 -# define nssv_RESTORE_WARNINGS() __pragma(warning(pop )) -#else -# define nssv_RESTORE_WARNINGS() -#endif - -// Suppress the following MSVC (GSL) warnings: -// - C4455, non-gsl : 'operator ""sv': literal suffix identifiers that do not -// start with an underscore are reserved -// - C26472, gsl::t.1 : don't use a static_cast for arithmetic conversions; -// use brace initialization, gsl::narrow_cast or gsl::narow -// - C26481: gsl::b.1 : don't use pointer arithmetic. Use span instead - -nssv_DISABLE_MSVC_WARNINGS( 4455 26481 26472 ) -//nssv_DISABLE_CLANG_WARNINGS( "-Wuser-defined-literals" ) -//nssv_DISABLE_GNUC_WARNINGS( -Wliteral-suffix ) - -namespace nonstd { namespace sv_lite { - -template -< - class CharT, - class Traits = std::char_traits -> -class basic_string_view; - -// -// basic_string_view: -// - -template -< - class CharT, - class Traits /* = std::char_traits */ -> -class basic_string_view -{ -public: - // Member types: - - typedef Traits traits_type; - typedef CharT value_type; - - typedef CharT * pointer; - typedef CharT const * const_pointer; - typedef CharT & reference; - typedef CharT const & const_reference; - - typedef const_pointer iterator; - typedef const_pointer const_iterator; - typedef std::reverse_iterator< const_iterator > reverse_iterator; - typedef std::reverse_iterator< const_iterator > const_reverse_iterator; - - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - // 24.4.2.1 Construction and assignment: - - nssv_constexpr basic_string_view() nssv_noexcept - : data_( nssv_nullptr ) - , size_( 0 ) - {} - -#if nssv_CPP11_OR_GREATER - nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept = default; -#else - nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept - : data_( other.data_) - , size_( other.size_) - {} -#endif - - nssv_constexpr basic_string_view( CharT const * s, size_type count ) - : data_( s ) - , size_( count ) - {} - - nssv_constexpr basic_string_view( CharT const * s) - : data_( s ) - , size_( Traits::length(s) ) - {} - - // Assignment: - -#if nssv_CPP11_OR_GREATER - nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept = default; -#else - nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept - { - data_ = other.data_; - size_ = other.size_; - return *this; - } -#endif - - // 24.4.2.2 Iterator support: - - nssv_constexpr const_iterator begin() const nssv_noexcept { return data_; } - nssv_constexpr const_iterator end() const nssv_noexcept { return data_ + size_; } - - nssv_constexpr const_iterator cbegin() const nssv_noexcept { return begin(); } - nssv_constexpr const_iterator cend() const nssv_noexcept { return end(); } - - nssv_constexpr const_reverse_iterator rbegin() const nssv_noexcept { return const_reverse_iterator( end() ); } - nssv_constexpr const_reverse_iterator rend() const nssv_noexcept { return const_reverse_iterator( begin() ); } - - nssv_constexpr const_reverse_iterator crbegin() const nssv_noexcept { return rbegin(); } - nssv_constexpr const_reverse_iterator crend() const nssv_noexcept { return rend(); } - - // 24.4.2.3 Capacity: - - nssv_constexpr size_type size() const nssv_noexcept { return size_; } - nssv_constexpr size_type length() const nssv_noexcept { return size_; } - nssv_constexpr size_type max_size() const nssv_noexcept { return (std::numeric_limits< size_type >::max)(); } - - // since C++20 - nssv_nodiscard nssv_constexpr bool empty() const nssv_noexcept - { - return 0 == size_; - } - - // 24.4.2.4 Element access: - - nssv_constexpr const_reference operator[]( size_type pos ) const - { - return data_at( pos ); - } - - nssv_constexpr14 const_reference at( size_type pos ) const - { -#if nssv_CONFIG_NO_EXCEPTIONS - assert( pos < size() ); -#else - if ( pos >= size() ) - { - throw std::out_of_range("nonst::string_view::at()"); - } -#endif - return data_at( pos ); - } - - nssv_constexpr const_reference front() const { return data_at( 0 ); } - nssv_constexpr const_reference back() const { return data_at( size() - 1 ); } - - nssv_constexpr const_pointer data() const nssv_noexcept { return data_; } - - // 24.4.2.5 Modifiers: - - nssv_constexpr14 void remove_prefix( size_type n ) - { - assert( n <= size() ); - data_ += n; - size_ -= n; - } - - nssv_constexpr14 void remove_suffix( size_type n ) - { - assert( n <= size() ); - size_ -= n; - } - - nssv_constexpr14 void swap( basic_string_view & other ) nssv_noexcept - { - using std::swap; - swap( data_, other.data_ ); - swap( size_, other.size_ ); - } - - // 24.4.2.6 String operations: - - size_type copy( CharT * dest, size_type n, size_type pos = 0 ) const - { -#if nssv_CONFIG_NO_EXCEPTIONS - assert( pos <= size() ); -#else - if ( pos > size() ) - { - throw std::out_of_range("nonst::string_view::copy()"); - } -#endif - const size_type rlen = (std::min)( n, size() - pos ); - - (void) Traits::copy( dest, data() + pos, rlen ); - - return rlen; - } - - nssv_constexpr14 basic_string_view substr( size_type pos = 0, size_type n = npos ) const - { -#if nssv_CONFIG_NO_EXCEPTIONS - assert( pos <= size() ); -#else - if ( pos > size() ) - { - throw std::out_of_range("nonst::string_view::substr()"); - } -#endif - return basic_string_view( data() + pos, (std::min)( n, size() - pos ) ); - } - - // compare(), 6x: - - nssv_constexpr14 int compare( basic_string_view other ) const nssv_noexcept // (1) - { - if ( const int result = Traits::compare( data(), other.data(), (std::min)( size(), other.size() ) ) ) - return result; - - return size() == other.size() ? 0 : size() < other.size() ? -1 : 1; - } - - nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other ) const // (2) - { - return substr( pos1, n1 ).compare( other ); - } - - nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other, size_type pos2, size_type n2 ) const // (3) - { - return substr( pos1, n1 ).compare( other.substr( pos2, n2 ) ); - } - - nssv_constexpr int compare( CharT const * s ) const // (4) - { - return compare( basic_string_view( s ) ); - } - - nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s ) const // (5) - { - return substr( pos1, n1 ).compare( basic_string_view( s ) ); - } - - nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s, size_type n2 ) const // (6) - { - return substr( pos1, n1 ).compare( basic_string_view( s, n2 ) ); - } - - // 24.4.2.7 Searching: - - // starts_with(), 3x, since C++20: - - nssv_constexpr bool starts_with( basic_string_view v ) const nssv_noexcept // (1) - { - return size() >= v.size() && compare( 0, v.size(), v ) == 0; - } - - nssv_constexpr bool starts_with( CharT c ) const nssv_noexcept // (2) - { - return starts_with( basic_string_view( &c, 1 ) ); - } - - nssv_constexpr bool starts_with( CharT const * s ) const // (3) - { - return starts_with( basic_string_view( s ) ); - } - - // ends_with(), 3x, since C++20: - - nssv_constexpr bool ends_with( basic_string_view v ) const nssv_noexcept // (1) - { - return size() >= v.size() && compare( size() - v.size(), npos, v ) == 0; - } - - nssv_constexpr bool ends_with( CharT c ) const nssv_noexcept // (2) - { - return ends_with( basic_string_view( &c, 1 ) ); - } - - nssv_constexpr bool ends_with( CharT const * s ) const // (3) - { - return ends_with( basic_string_view( s ) ); - } - - // find(), 4x: - - nssv_constexpr14 size_type find( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) - { - return assert( v.size() == 0 || v.data() != nssv_nullptr ) - , pos >= size() - ? npos - : to_pos( std::search( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); - } - - nssv_constexpr14 size_type find( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) - { - return find( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr14 size_type find( CharT const * s, size_type pos, size_type n ) const // (3) - { - return find( basic_string_view( s, n ), pos ); - } - - nssv_constexpr14 size_type find( CharT const * s, size_type pos = 0 ) const // (4) - { - return find( basic_string_view( s ), pos ); - } - - // rfind(), 4x: - - nssv_constexpr14 size_type rfind( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) - { - if ( size() < v.size() ) - return npos; - - if ( v.empty() ) - return (std::min)( size(), pos ); - - const_iterator last = cbegin() + (std::min)( size() - v.size(), pos ) + v.size(); - const_iterator result = std::find_end( cbegin(), last, v.cbegin(), v.cend(), Traits::eq ); - - return result != last ? size_type( result - cbegin() ) : npos; - } - - nssv_constexpr14 size_type rfind( CharT c, size_type pos = npos ) const nssv_noexcept // (2) - { - return rfind( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr14 size_type rfind( CharT const * s, size_type pos, size_type n ) const // (3) - { - return rfind( basic_string_view( s, n ), pos ); - } - - nssv_constexpr14 size_type rfind( CharT const * s, size_type pos = npos ) const // (4) - { - return rfind( basic_string_view( s ), pos ); - } - - // find_first_of(), 4x: - - nssv_constexpr size_type find_first_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) - { - return pos >= size() - ? npos - : to_pos( std::find_first_of( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); - } - - nssv_constexpr size_type find_first_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) - { - return find_first_of( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr size_type find_first_of( CharT const * s, size_type pos, size_type n ) const // (3) - { - return find_first_of( basic_string_view( s, n ), pos ); - } - - nssv_constexpr size_type find_first_of( CharT const * s, size_type pos = 0 ) const // (4) - { - return find_first_of( basic_string_view( s ), pos ); - } - - // find_last_of(), 4x: - - nssv_constexpr size_type find_last_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) - { - return empty() - ? npos - : pos >= size() - ? find_last_of( v, size() - 1 ) - : to_pos( std::find_first_of( const_reverse_iterator( cbegin() + pos + 1 ), crend(), v.cbegin(), v.cend(), Traits::eq ) ); - } - - nssv_constexpr size_type find_last_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) - { - return find_last_of( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr size_type find_last_of( CharT const * s, size_type pos, size_type count ) const // (3) - { - return find_last_of( basic_string_view( s, count ), pos ); - } - - nssv_constexpr size_type find_last_of( CharT const * s, size_type pos = npos ) const // (4) - { - return find_last_of( basic_string_view( s ), pos ); - } - - // find_first_not_of(), 4x: - - nssv_constexpr size_type find_first_not_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) - { - return pos >= size() - ? npos - : to_pos( std::find_if( cbegin() + pos, cend(), not_in_view( v ) ) ); - } - - nssv_constexpr size_type find_first_not_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) - { - return find_first_not_of( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos, size_type count ) const // (3) - { - return find_first_not_of( basic_string_view( s, count ), pos ); - } - - nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos = 0 ) const // (4) - { - return find_first_not_of( basic_string_view( s ), pos ); - } - - // find_last_not_of(), 4x: - - nssv_constexpr size_type find_last_not_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) - { - return empty() - ? npos - : pos >= size() - ? find_last_not_of( v, size() - 1 ) - : to_pos( std::find_if( const_reverse_iterator( cbegin() + pos + 1 ), crend(), not_in_view( v ) ) ); - } - - nssv_constexpr size_type find_last_not_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) - { - return find_last_not_of( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos, size_type count ) const // (3) - { - return find_last_not_of( basic_string_view( s, count ), pos ); - } - - nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos = npos ) const // (4) - { - return find_last_not_of( basic_string_view( s ), pos ); - } - - // Constants: - -#if nssv_CPP17_OR_GREATER - static nssv_constexpr size_type npos = size_type(-1); -#elif nssv_CPP11_OR_GREATER - enum : size_type { npos = size_type(-1) }; -#else - enum { npos = size_type(-1) }; -#endif - -private: - struct not_in_view - { - const basic_string_view v; - - nssv_constexpr not_in_view( basic_string_view v ) : v( v ) {} - - nssv_constexpr bool operator()( CharT c ) const - { - return npos == v.find_first_of( c ); - } - }; - - nssv_constexpr size_type to_pos( const_iterator it ) const - { - return it == cend() ? npos : size_type( it - cbegin() ); - } - - nssv_constexpr size_type to_pos( const_reverse_iterator it ) const - { - return it == crend() ? npos : size_type( crend() - it - 1 ); - } - - nssv_constexpr const_reference data_at( size_type pos ) const - { -#if nssv_BETWEEN( nssv_COMPILER_GNUC_VERSION, 1, 500 ) - return data_[pos]; -#else - return assert( pos < size() ), data_[pos]; -#endif - } - -private: - const_pointer data_; - size_type size_; - -public: -#if nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS - - template< class Allocator > - basic_string_view( std::basic_string const & s ) nssv_noexcept - : data_( s.data() ) - , size_( s.size() ) - {} - -#if nssv_HAVE_EXPLICIT_CONVERSION - - template< class Allocator > - explicit operator std::basic_string() const - { - return to_string( Allocator() ); - } - -#endif // nssv_HAVE_EXPLICIT_CONVERSION - -#if nssv_CPP11_OR_GREATER - - template< class Allocator = std::allocator > - std::basic_string - to_string( Allocator const & a = Allocator() ) const - { - return std::basic_string( begin(), end(), a ); - } - -#else - - std::basic_string - to_string() const - { - return std::basic_string( begin(), end() ); - } - - template< class Allocator > - std::basic_string - to_string( Allocator const & a ) const - { - return std::basic_string( begin(), end(), a ); - } - -#endif // nssv_CPP11_OR_GREATER - -#endif // nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS +struct SourceLocation { + size_t line; + size_t column; }; -// -// Non-member functions: -// +struct InjaError : public std::runtime_error { + const std::string type; + const std::string message; -// 24.4.3 Non-member comparison functions: -// lexicographically compare two string views (function template): + const SourceLocation location; -template< class CharT, class Traits > -nssv_constexpr bool operator== ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) == 0 ; } + explicit InjaError(const std::string& type, const std::string& message) + : std::runtime_error("[inja.exception." + type + "] " + message), type(type), message(message), location({0, 0}) {} -template< class CharT, class Traits > -nssv_constexpr bool operator!= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) != 0 ; } - -template< class CharT, class Traits > -nssv_constexpr bool operator< ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } - -template< class CharT, class Traits > -nssv_constexpr bool operator<= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } - -template< class CharT, class Traits > -nssv_constexpr bool operator> ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } - -template< class CharT, class Traits > -nssv_constexpr bool operator>= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } - -// Let S be basic_string_view, and sv be an instance of S. -// Implementations shall provide sufficient additional overloads marked -// constexpr and noexcept so that an object t with an implicit conversion -// to S can be compared according to Table 67. - -#if nssv_CPP11_OR_GREATER && ! nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 100, 141 ) - -#define nssv_BASIC_STRING_VIEW_I(T,U) typename std::decay< basic_string_view >::type - -#if nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 140, 150 ) -# define nssv_MSVC_ORDER(x) , int=x -#else -# define nssv_MSVC_ORDER(x) /*, int=x*/ -#endif - -// == - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator==( - basic_string_view lhs, - nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) == 0; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator==( - nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.size() == rhs.size() && lhs.compare( rhs ) == 0; } - -// != - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator!= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.size() != rhs.size() || lhs.compare( rhs ) != 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator!= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) != 0 ; } - -// < - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator< ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator< ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } - -// <= - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator<= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator<= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } - -// > - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator> ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator> ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } - -// >= - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator>= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator>= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } - -#undef nssv_MSVC_ORDER -#undef nssv_BASIC_STRING_VIEW_I - -#endif // nssv_CPP11_OR_GREATER - -// 24.4.4 Inserters and extractors: - -namespace detail { - -template< class Stream > -void write_padding( Stream & os, std::streamsize n ) -{ - for ( std::streamsize i = 0; i < n; ++i ) - os.rdbuf()->sputc( os.fill() ); -} - -template< class Stream, class View > -Stream & write_to_stream( Stream & os, View const & sv ) -{ - typename Stream::sentry sentry( os ); - - if ( !os ) - return os; - - const std::streamsize length = static_cast( sv.length() ); - - // Whether, and how, to pad: - const bool pad = ( length < os.width() ); - const bool left_pad = pad && ( os.flags() & std::ios_base::adjustfield ) == std::ios_base::right; - - if ( left_pad ) - write_padding( os, os.width() - length ); - - // Write span characters: - os.rdbuf()->sputn( sv.begin(), length ); - - if ( pad && !left_pad ) - write_padding( os, os.width() - length ); - - // Reset output stream width: - os.width( 0 ); - - return os; -} - -} // namespace detail - -template< class CharT, class Traits > -std::basic_ostream & -operator<<( - std::basic_ostream& os, - basic_string_view sv ) -{ - return detail::write_to_stream( os, sv ); -} - -// Several typedefs for common character types are provided: - -typedef basic_string_view string_view; -typedef basic_string_view wstring_view; -#if nssv_HAVE_WCHAR16_T -typedef basic_string_view u16string_view; -typedef basic_string_view u32string_view; -#endif - -}} // namespace nonstd::sv_lite - -// -// 24.4.6 Suffix for basic_string_view literals: -// - -#if nssv_HAVE_USER_DEFINED_LITERALS - -namespace nonstd { -nssv_inline_ns namespace literals { -nssv_inline_ns namespace string_view_literals { - -#if nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS - -nssv_constexpr nonstd::sv_lite::string_view operator "" sv( const char* str, size_t len ) nssv_noexcept // (1) -{ - return nonstd::sv_lite::string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::u16string_view operator "" sv( const char16_t* str, size_t len ) nssv_noexcept // (2) -{ - return nonstd::sv_lite::u16string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::u32string_view operator "" sv( const char32_t* str, size_t len ) nssv_noexcept // (3) -{ - return nonstd::sv_lite::u32string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::wstring_view operator "" sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) -{ - return nonstd::sv_lite::wstring_view{ str, len }; -} - -#endif // nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS - -#if nssv_CONFIG_USR_SV_OPERATOR - -nssv_constexpr nonstd::sv_lite::string_view operator "" _sv( const char* str, size_t len ) nssv_noexcept // (1) -{ - return nonstd::sv_lite::string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::u16string_view operator "" _sv( const char16_t* str, size_t len ) nssv_noexcept // (2) -{ - return nonstd::sv_lite::u16string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::u32string_view operator "" _sv( const char32_t* str, size_t len ) nssv_noexcept // (3) -{ - return nonstd::sv_lite::u32string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::wstring_view operator "" _sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) -{ - return nonstd::sv_lite::wstring_view{ str, len }; -} - -#endif // nssv_CONFIG_USR_SV_OPERATOR - -}}} // namespace nonstd::literals::string_view_literals - -#endif - -// -// Extensions for std::string: -// - -#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS - -namespace nonstd { -namespace sv_lite { - -// Exclude MSVC 14 (19.00): it yields ambiguous to_string(): - -#if nssv_CPP11_OR_GREATER && nssv_COMPILER_MSVC_VERSION != 140 - -template< class CharT, class Traits, class Allocator = std::allocator > -std::basic_string -to_string( basic_string_view v, Allocator const & a = Allocator() ) -{ - return std::basic_string( v.begin(), v.end(), a ); -} - -#else - -template< class CharT, class Traits > -std::basic_string -to_string( basic_string_view v ) -{ - return std::basic_string( v.begin(), v.end() ); -} - -template< class CharT, class Traits, class Allocator > -std::basic_string -to_string( basic_string_view v, Allocator const & a ) -{ - return std::basic_string( v.begin(), v.end(), a ); -} - -#endif // nssv_CPP11_OR_GREATER - -template< class CharT, class Traits, class Allocator > -basic_string_view -to_string_view( std::basic_string const & s ) -{ - return basic_string_view( s.data(), s.size() ); -} - -}} // namespace nonstd::sv_lite - -#endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS - -// -// make types and algorithms available in namespace nonstd: -// - -namespace nonstd { - -using sv_lite::basic_string_view; -using sv_lite::string_view; -using sv_lite::wstring_view; - -#if nssv_HAVE_WCHAR16_T -using sv_lite::u16string_view; -#endif -#if nssv_HAVE_WCHAR32_T -using sv_lite::u32string_view; -#endif - -// literal "sv" - -using sv_lite::operator==; -using sv_lite::operator!=; -using sv_lite::operator<; -using sv_lite::operator<=; -using sv_lite::operator>; -using sv_lite::operator>=; - -using sv_lite::operator<<; - -#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS -using sv_lite::to_string; -using sv_lite::to_string_view; -#endif - -} // namespace nonstd - -// 24.4.5 Hash support (C++11): - -// Note: The hash value of a string view object is equal to the hash value of -// the corresponding string object. - -#if nssv_HAVE_STD_HASH - -#include - -namespace std { - -template<> -struct hash< nonstd::string_view > -{ -public: - std::size_t operator()( nonstd::string_view v ) const nssv_noexcept - { - return std::hash()( std::string( v.data(), v.size() ) ); - } + explicit InjaError(const std::string& type, const std::string& message, SourceLocation location) + : std::runtime_error("[inja.exception." + type + "] (at " + std::to_string(location.line) + ":" + std::to_string(location.column) + ") " + message), + type(type), message(message), location(location) {} }; -template<> -struct hash< nonstd::wstring_view > -{ -public: - std::size_t operator()( nonstd::wstring_view v ) const nssv_noexcept - { - return std::hash()( std::wstring( v.data(), v.size() ) ); - } +struct ParserError : public InjaError { + explicit ParserError(const std::string& message, SourceLocation location): InjaError("parser_error", message, location) {} }; -template<> -struct hash< nonstd::u16string_view > -{ -public: - std::size_t operator()( nonstd::u16string_view v ) const nssv_noexcept - { - return std::hash()( std::u16string( v.data(), v.size() ) ); - } +struct RenderError : public InjaError { + explicit RenderError(const std::string& message, SourceLocation location): InjaError("render_error", message, location) {} }; -template<> -struct hash< nonstd::u32string_view > -{ -public: - std::size_t operator()( nonstd::u32string_view v ) const nssv_noexcept - { - return std::hash()( std::u32string( v.data(), v.size() ) ); - } +struct FileError : public InjaError { + explicit FileError(const std::string& message): InjaError("file_error", message) {} + explicit FileError(const std::string& message, SourceLocation location): InjaError("file_error", message, location) {} }; -} // namespace std +struct DataError : public InjaError { + explicit DataError(const std::string& message, SourceLocation location): InjaError("data_error", message, location) {} +}; -#endif // nssv_HAVE_STD_HASH - -nssv_RESTORE_WARNINGS() - -#endif // nssv_HAVE_STD_STRING_VIEW -#endif // NONSTD_SV_LITE_H_INCLUDED +} // namespace inja +#endif // INCLUDE_INJA_EXCEPTIONS_HPP_ namespace inja { -enum class ElementNotation { - Dot, - Pointer +namespace string_view { +inline std::string_view slice(std::string_view view, size_t start, size_t end) { + start = std::min(start, view.size()); + end = std::min(std::max(start, end), view.size()); + return view.substr(start, end - start); +} + +inline std::pair split(std::string_view view, char Separator) { + size_t idx = view.find(Separator); + if (idx == std::string_view::npos) { + return std::make_pair(view, std::string_view()); + } + return std::make_pair(slice(view, 0, idx), slice(view, idx + 1, std::string_view::npos)); +} + +inline bool starts_with(std::string_view view, std::string_view prefix) { + return (view.size() >= prefix.size() && view.compare(0, prefix.size(), prefix) == 0); +} +} // namespace string_view + +inline SourceLocation get_source_location(std::string_view content, size_t pos) { + // Get line and offset position (starts at 1:1) + auto sliced = string_view::slice(content, 0, pos); + std::size_t last_newline = sliced.rfind("\n"); + + if (last_newline == std::string_view::npos) { + return {1, sliced.length() + 1}; + } + + // Count newlines + size_t count_lines = 0; + size_t search_start = 0; + while (search_start <= sliced.size()) { + search_start = sliced.find("\n", search_start) + 1; + if (search_start == 0) { + break; + } + count_lines += 1; + } + + return {count_lines + 1, sliced.length() - last_newline}; +} + +inline void replace_substring(std::string& s, const std::string& f, const std::string& t) { + if (f.empty()) { + return; + } + for (auto pos = s.find(f); // find first occurrence of f + pos != std::string::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} +} + +} // namespace inja + +#endif // INCLUDE_INJA_UTILS_HPP_ + + +namespace inja { + +class NodeVisitor; +class BlockNode; +class TextNode; +class ExpressionNode; +class LiteralNode; +class DataNode; +class FunctionNode; +class ExpressionListNode; +class StatementNode; +class ForStatementNode; +class ForArrayStatementNode; +class ForObjectStatementNode; +class IfStatementNode; +class IncludeStatementNode; +class ExtendsStatementNode; +class BlockStatementNode; +class SetStatementNode; + +class NodeVisitor { +public: + virtual ~NodeVisitor() = default; + + virtual void visit(const BlockNode& node) = 0; + virtual void visit(const TextNode& node) = 0; + virtual void visit(const ExpressionNode& node) = 0; + virtual void visit(const LiteralNode& node) = 0; + virtual void visit(const DataNode& node) = 0; + virtual void visit(const FunctionNode& node) = 0; + virtual void visit(const ExpressionListNode& node) = 0; + virtual void visit(const StatementNode& node) = 0; + virtual void visit(const ForStatementNode& node) = 0; + virtual void visit(const ForArrayStatementNode& node) = 0; + virtual void visit(const ForObjectStatementNode& node) = 0; + virtual void visit(const IfStatementNode& node) = 0; + virtual void visit(const IncludeStatementNode& node) = 0; + virtual void visit(const ExtendsStatementNode& node) = 0; + virtual void visit(const BlockStatementNode& node) = 0; + virtual void visit(const SetStatementNode& node) = 0; }; +/*! + * \brief Base node class for the abstract syntax tree (AST). + */ +class AstNode { +public: + virtual void accept(NodeVisitor& v) const = 0; + + size_t pos; + + AstNode(size_t pos): pos(pos) {} + virtual ~AstNode() {} +}; + +class BlockNode : public AstNode { +public: + std::vector> nodes; + + explicit BlockNode(): AstNode(0) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class TextNode : public AstNode { +public: + const size_t length; + + explicit TextNode(size_t pos, size_t length): AstNode(pos), length(length) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ExpressionNode : public AstNode { +public: + explicit ExpressionNode(size_t pos): AstNode(pos) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class LiteralNode : public ExpressionNode { +public: + const json value; + + explicit LiteralNode(std::string_view data_text, size_t pos): ExpressionNode(pos), value(json::parse(data_text)) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class DataNode : public ExpressionNode { +public: + const std::string name; + const json::json_pointer ptr; + + static std::string convert_dot_to_ptr(std::string_view ptr_name) { + std::string result; + do { + std::string_view part; + std::tie(part, ptr_name) = string_view::split(ptr_name, '.'); + result.push_back('/'); + result.append(part.begin(), part.end()); + } while (!ptr_name.empty()); + return result; + } + + explicit DataNode(std::string_view ptr_name, size_t pos): ExpressionNode(pos), name(ptr_name), ptr(json::json_pointer(convert_dot_to_ptr(ptr_name))) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class FunctionNode : public ExpressionNode { + using Op = FunctionStorage::Operation; + +public: + enum class Associativity { + Left, + Right, + }; + + unsigned int precedence; + Associativity associativity; + + Op operation; + + std::string name; + int number_args; // Should also be negative -> -1 for unknown number + std::vector> arguments; + CallbackFunction callback; + + explicit FunctionNode(std::string_view name, size_t pos) + : ExpressionNode(pos), precedence(8), associativity(Associativity::Left), operation(Op::Callback), name(name), number_args(1) {} + explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos), operation(operation), number_args(1) { + switch (operation) { + case Op::Not: { + number_args = 1; + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::And: { + number_args = 2; + precedence = 1; + associativity = Associativity::Left; + } break; + case Op::Or: { + number_args = 2; + precedence = 1; + associativity = Associativity::Left; + } break; + case Op::In: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Equal: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::NotEqual: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Greater: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::GreaterEqual: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Less: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::LessEqual: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Add: { + number_args = 2; + precedence = 3; + associativity = Associativity::Left; + } break; + case Op::Subtract: { + number_args = 2; + precedence = 3; + associativity = Associativity::Left; + } break; + case Op::Multiplication: { + number_args = 2; + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::Division: { + number_args = 2; + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::Power: { + number_args = 2; + precedence = 5; + associativity = Associativity::Right; + } break; + case Op::Modulo: { + number_args = 2; + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::AtId: { + number_args = 2; + precedence = 8; + associativity = Associativity::Left; + } break; + default: { + precedence = 1; + associativity = Associativity::Left; + } + } + } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ExpressionListNode : public AstNode { +public: + std::shared_ptr root; + + explicit ExpressionListNode(): AstNode(0) {} + explicit ExpressionListNode(size_t pos): AstNode(pos) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class StatementNode : public AstNode { +public: + StatementNode(size_t pos): AstNode(pos) {} + + virtual void accept(NodeVisitor& v) const = 0; +}; + +class ForStatementNode : public StatementNode { +public: + ExpressionListNode condition; + BlockNode body; + BlockNode* const parent; + + ForStatementNode(BlockNode* const parent, size_t pos): StatementNode(pos), parent(parent) {} + + virtual void accept(NodeVisitor& v) const = 0; +}; + +class ForArrayStatementNode : public ForStatementNode { +public: + const std::string value; + + explicit ForArrayStatementNode(const std::string& value, BlockNode* const parent, size_t pos): ForStatementNode(parent, pos), value(value) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ForObjectStatementNode : public ForStatementNode { +public: + const std::string key; + const std::string value; + + explicit ForObjectStatementNode(const std::string& key, const std::string& value, BlockNode* const parent, size_t pos) + : ForStatementNode(parent, pos), key(key), value(value) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class IfStatementNode : public StatementNode { +public: + ExpressionListNode condition; + BlockNode true_statement; + BlockNode false_statement; + BlockNode* const parent; + + const bool is_nested; + bool has_false_statement {false}; + + explicit IfStatementNode(BlockNode* const parent, size_t pos): StatementNode(pos), parent(parent), is_nested(false) {} + explicit IfStatementNode(bool is_nested, BlockNode* const parent, size_t pos): StatementNode(pos), parent(parent), is_nested(is_nested) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class IncludeStatementNode : public StatementNode { +public: + const std::string file; + + explicit IncludeStatementNode(const std::string& file, size_t pos): StatementNode(pos), file(file) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ExtendsStatementNode : public StatementNode { +public: + const std::string file; + + explicit ExtendsStatementNode(const std::string& file, size_t pos): StatementNode(pos), file(file) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + }; +}; + +class BlockStatementNode : public StatementNode { +public: + const std::string name; + BlockNode block; + BlockNode* const parent; + + explicit BlockStatementNode(BlockNode* const parent, const std::string& name, size_t pos): StatementNode(pos), name(name), parent(parent) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + }; +}; + +class SetStatementNode : public StatementNode { +public: + const std::string key; + ExpressionListNode expression; + + explicit SetStatementNode(const std::string& key, size_t pos): StatementNode(pos), key(key) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +} // namespace inja + +#endif // INCLUDE_INJA_NODE_HPP_ + +// #include "statistics.hpp" +#ifndef INCLUDE_INJA_STATISTICS_HPP_ +#define INCLUDE_INJA_STATISTICS_HPP_ + +// #include "node.hpp" + + +namespace inja { + +/*! + * \brief A class for counting statistics on a Template. + */ +class StatisticsVisitor : public NodeVisitor { + void visit(const BlockNode& node) { + for (auto& n : node.nodes) { + n->accept(*this); + } + } + + void visit(const TextNode&) {} + void visit(const ExpressionNode&) {} + void visit(const LiteralNode&) {} + + void visit(const DataNode&) { + variable_counter += 1; + } + + void visit(const FunctionNode& node) { + for (auto& n : node.arguments) { + n->accept(*this); + } + } + + void visit(const ExpressionListNode& node) { + node.root->accept(*this); + } + + void visit(const StatementNode&) {} + void visit(const ForStatementNode&) {} + + void visit(const ForArrayStatementNode& node) { + node.condition.accept(*this); + node.body.accept(*this); + } + + void visit(const ForObjectStatementNode& node) { + node.condition.accept(*this); + node.body.accept(*this); + } + + void visit(const IfStatementNode& node) { + node.condition.accept(*this); + node.true_statement.accept(*this); + node.false_statement.accept(*this); + } + + void visit(const IncludeStatementNode&) {} + + void visit(const ExtendsStatementNode&) {} + + void visit(const BlockStatementNode& node) { + node.block.accept(*this); + } + + void visit(const SetStatementNode&) {} + +public: + unsigned int variable_counter; + + explicit StatisticsVisitor(): variable_counter(0) {} +}; + +} // namespace inja + +#endif // INCLUDE_INJA_STATISTICS_HPP_ + + +namespace inja { + +/*! + * \brief The main inja Template. + */ +struct Template { + BlockNode root; + std::string content; + std::map> block_storage; + + explicit Template() {} + explicit Template(const std::string& content): content(content) {} + + /// Return number of variables (total number, not distinct ones) in the template + int count_variables() { + auto statistic_visitor = StatisticsVisitor(); + root.accept(statistic_visitor); + return statistic_visitor.variable_counter; + } +}; + +using TemplateStorage = std::map; + +} // namespace inja + +#endif // INCLUDE_INJA_TEMPLATE_HPP_ + + +namespace inja { + /*! * \brief Class for lexer configuration. */ struct LexerConfig { std::string statement_open {"{%"}; + std::string statement_open_no_lstrip {"{%+"}; + std::string statement_open_force_lstrip {"{%-"}; std::string statement_close {"%}"}; + std::string statement_close_force_rstrip {"-%}"}; std::string line_statement {"##"}; std::string expression_open {"{{"}; + std::string expression_open_force_lstrip {"{{-"}; std::string expression_close {"}}"}; + std::string expression_close_force_rstrip {"-}}"}; std::string comment_open {"{#"}; + std::string comment_open_force_lstrip {"{#-"}; std::string comment_close {"#}"}; + std::string comment_close_force_rstrip {"-#}"}; std::string open_chars {"#{"}; bool trim_blocks {false}; @@ -1435,12 +849,24 @@ struct LexerConfig { if (open_chars.find(statement_open[0]) == std::string::npos) { open_chars += statement_open[0]; } + if (open_chars.find(statement_open_no_lstrip[0]) == std::string::npos) { + open_chars += statement_open_no_lstrip[0]; + } + if (open_chars.find(statement_open_force_lstrip[0]) == std::string::npos) { + open_chars += statement_open_force_lstrip[0]; + } if (open_chars.find(expression_open[0]) == std::string::npos) { open_chars += expression_open[0]; } + if (open_chars.find(expression_open_force_lstrip[0]) == std::string::npos) { + open_chars += expression_open_force_lstrip[0]; + } if (open_chars.find(comment_open[0]) == std::string::npos) { open_chars += comment_open[0]; } + if (open_chars.find(comment_open_force_lstrip[0]) == std::string::npos) { + open_chars += comment_open_force_lstrip[0]; + } } }; @@ -1448,245 +874,43 @@ struct LexerConfig { * \brief Class for parser configuration. */ struct ParserConfig { - ElementNotation notation {ElementNotation::Dot}; + bool search_included_templates_in_files {true}; + + std::function include_callback; }; -} - -#endif // PANTOR_INJA_CONFIG_HPP - -// #include "function_storage.hpp" -#ifndef PANTOR_INJA_FUNCTION_STORAGE_HPP -#define PANTOR_INJA_FUNCTION_STORAGE_HPP - -#include - -// #include "bytecode.hpp" -#ifndef PANTOR_INJA_BYTECODE_HPP -#define PANTOR_INJA_BYTECODE_HPP - -#include -#include - -#include - -// #include "string_view.hpp" - - - -namespace inja { - -using json = nlohmann::json; - - -struct Bytecode { - enum class Op : uint8_t { - Nop, - // print StringRef (always immediate) - PrintText, - // print value - PrintValue, - // push value onto stack (always immediate) - Push, - - // builtin functions - // result is pushed to stack - // args specify number of arguments - // all functions can take their "last" argument either immediate - // or popped off stack (e.g. if immediate, it's like the immediate was - // just pushed to the stack) - Not, - And, - Or, - In, - Equal, - Greater, - GreaterEqual, - Less, - LessEqual, - At, - Different, - DivisibleBy, - Even, - First, - Float, - Int, - Last, - Length, - Lower, - Max, - Min, - Odd, - Range, - Result, - Round, - Sort, - Upper, - Exists, - ExistsInObject, - IsBoolean, - IsNumber, - IsInteger, - IsFloat, - IsObject, - IsArray, - IsString, - Default, - - // include another template - // value is the template name - Include, - - // callback function - // str is the function name (this means it cannot be a lookup) - // args specify number of arguments - // as with builtin functions, "last" argument can be immediate - Callback, - - // unconditional jump - // args is the index of the bytecode to jump to. - Jump, - - // conditional jump - // value popped off stack is checked for truthyness - // if false, args is the index of the bytecode to jump to. - // if true, no action is taken (falls through) - ConditionalJump, - - // start loop - // value popped off stack is what is iterated over - // args is index of bytecode after end loop (jumped to if iterable is - // empty) - // immediate value is key name (for maps) - // str is value name - StartLoop, - - // end a loop - // args is index of the first bytecode in the loop body - EndLoop, - }; - - enum Flag { - // location of value for value-taking ops (mask) - ValueMask = 0x03, - // pop value off stack - ValuePop = 0x00, - // value is immediate rather than on stack - ValueImmediate = 0x01, - // lookup immediate str (dot notation) - ValueLookupDot = 0x02, - // lookup immediate str (json pointer notation) - ValueLookupPointer = 0x03, - }; - - Op op {Op::Nop}; - uint32_t args: 30; - uint32_t flags: 2; - - json value; - std::string str; - - Bytecode(): args(0), flags(0) {} - explicit Bytecode(Op op, unsigned int args = 0): op(op), args(args), flags(0) {} - explicit Bytecode(Op op, nonstd::string_view str, unsigned int flags): op(op), args(0), flags(flags), str(str) {} - explicit Bytecode(Op op, json&& value, unsigned int flags): op(op), args(0), flags(flags), value(std::move(value)) {} -}; - -} // namespace inja - -#endif // PANTOR_INJA_BYTECODE_HPP - -// #include "string_view.hpp" - - - -namespace inja { - -using namespace nlohmann; - -using Arguments = std::vector; -using CallbackFunction = std::function; - /*! - * \brief Class for builtin functions and user-defined callbacks. + * \brief Class for render configuration. */ -class FunctionStorage { - public: - void add_builtin(nonstd::string_view name, unsigned int num_args, Bytecode::Op op) { - auto& data = get_or_new(name, num_args); - data.op = op; - } - - void add_callback(nonstd::string_view name, unsigned int num_args, const CallbackFunction& function) { - auto& data = get_or_new(name, num_args); - data.function = function; - } - - Bytecode::Op find_builtin(nonstd::string_view name, unsigned int num_args) const { - if (auto ptr = get(name, num_args)) { - return ptr->op; - } - return Bytecode::Op::Nop; - } - - CallbackFunction find_callback(nonstd::string_view name, unsigned int num_args) const { - if (auto ptr = get(name, num_args)) { - return ptr->function; - } - return nullptr; - } - - private: - struct FunctionData { - unsigned int num_args {0}; - Bytecode::Op op {Bytecode::Op::Nop}; // for builtins - CallbackFunction function; // for callbacks - }; - - FunctionData& get_or_new(nonstd::string_view name, unsigned int num_args) { - auto &vec = m_map[static_cast(name)]; - for (auto &i: vec) { - if (i.num_args == num_args) return i; - } - vec.emplace_back(); - vec.back().num_args = num_args; - return vec.back(); - } - - const FunctionData* get(nonstd::string_view name, unsigned int num_args) const { - auto it = m_map.find(static_cast(name)); - if (it == m_map.end()) return nullptr; - for (auto &&i: it->second) { - if (i.num_args == num_args) return &i; - } - return nullptr; - } - - std::map> m_map; +struct RenderConfig { + bool throw_at_missing_includes {true}; }; -} +} // namespace inja -#endif // PANTOR_INJA_FUNCTION_STORAGE_HPP +#endif // INCLUDE_INJA_CONFIG_HPP_ + +// #include "function_storage.hpp" // #include "parser.hpp" -#ifndef PANTOR_INJA_PARSER_HPP -#define PANTOR_INJA_PARSER_HPP +#ifndef INCLUDE_INJA_PARSER_HPP_ +#define INCLUDE_INJA_PARSER_HPP_ #include +#include #include #include #include -// #include "bytecode.hpp" - // #include "config.hpp" +// #include "exceptions.hpp" + // #include "function_storage.hpp" // #include "lexer.hpp" -#ifndef PANTOR_INJA_LEXER_HPP -#define PANTOR_INJA_LEXER_HPP +#ifndef INCLUDE_INJA_LEXER_HPP_ +#define INCLUDE_INJA_LEXER_HPP_ #include #include @@ -1694,130 +918,81 @@ class FunctionStorage { // #include "config.hpp" // #include "token.hpp" -#ifndef PANTOR_INJA_TOKEN_HPP -#define PANTOR_INJA_TOKEN_HPP +#ifndef INCLUDE_INJA_TOKEN_HPP_ +#define INCLUDE_INJA_TOKEN_HPP_ #include - -// #include "string_view.hpp" - - +#include namespace inja { /*! - * \brief Helper-class for the inja Parser. + * \brief Helper-class for the inja Lexer. */ struct Token { enum class Kind { Text, - ExpressionOpen, // {{ - ExpressionClose, // }} - LineStatementOpen, // ## - LineStatementClose, // \n - StatementOpen, // {% - StatementClose, // %} - CommentOpen, // {# - CommentClose, // #} - Id, // this, this.foo - Number, // 1, 2, -1, 5.2, -5.3 - String, // "this" - Comma, // , - Colon, // : - LeftParen, // ( - RightParen, // ) - LeftBracket, // [ - RightBracket, // ] - LeftBrace, // { - RightBrace, // } - Equal, // == - GreaterThan, // > - GreaterEqual, // >= - LessThan, // < - LessEqual, // <= - NotEqual, // != + ExpressionOpen, // {{ + ExpressionClose, // }} + LineStatementOpen, // ## + LineStatementClose, // \n + StatementOpen, // {% + StatementClose, // %} + CommentOpen, // {# + CommentClose, // #} + Id, // this, this.foo + Number, // 1, 2, -1, 5.2, -5.3 + String, // "this" + Plus, // + + Minus, // - + Times, // * + Slash, // / + Percent, // % + Power, // ^ + Comma, // , + Dot, // . + Colon, // : + LeftParen, // ( + RightParen, // ) + LeftBracket, // [ + RightBracket, // ] + LeftBrace, // { + RightBrace, // } + Equal, // == + NotEqual, // != + GreaterThan, // > + GreaterEqual, // >= + LessThan, // < + LessEqual, // <= Unknown, - Eof - } kind {Kind::Unknown}; + Eof, + }; - nonstd::string_view text; + Kind kind {Kind::Unknown}; + std::string_view text; - constexpr Token() = default; - constexpr Token(Kind kind, nonstd::string_view text): kind(kind), text(text) {} + explicit constexpr Token() = default; + explicit constexpr Token(Kind kind, std::string_view text): kind(kind), text(text) {} std::string describe() const { switch (kind) { - case Kind::Text: - return ""; - case Kind::LineStatementClose: - return ""; - case Kind::Eof: - return ""; - default: - return static_cast(text); + case Kind::Text: + return ""; + case Kind::LineStatementClose: + return ""; + case Kind::Eof: + return ""; + default: + return static_cast(text); } } }; -} +} // namespace inja -#endif // PANTOR_INJA_TOKEN_HPP +#endif // INCLUDE_INJA_TOKEN_HPP_ // #include "utils.hpp" -#ifndef PANTOR_INJA_UTILS_HPP -#define PANTOR_INJA_UTILS_HPP - -#include -#include -#include -#include -#include - -// #include "string_view.hpp" - - - -namespace inja { - -inline void inja_throw(const std::string& type, const std::string& message) { - throw std::runtime_error("[inja.exception." + type + "] " + message); -} - -inline std::ifstream open_file_or_throw(const std::string& path) { - std::ifstream file; - file.exceptions(std::ifstream::failbit | std::ifstream::badbit); - try { - file.open(path); - } catch(const std::ios_base::failure& e) { - inja_throw("file_error", "failed accessing file at '" + path + "'"); - } - return file; -} - -namespace string_view { - inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) { - start = std::min(start, view.size()); - end = std::min(std::max(start, end), view.size()); - return view.substr(start, end - start); // StringRef(Data + Start, End - Start); - } - - inline std::pair split(nonstd::string_view view, char Separator) { - size_t idx = view.find(Separator); - if (idx == nonstd::string_view::npos) { - return std::make_pair(view, nonstd::string_view()); - } - return std::make_pair(slice(view, 0, idx), slice(view, idx + 1, nonstd::string_view::npos)); - } - - inline bool starts_with(nonstd::string_view view, nonstd::string_view prefix) { - return (view.size() >= prefix.size() && view.compare(0, prefix.size(), prefix) == 0); - } -} // namespace string - -} // namespace inja - -#endif // PANTOR_INJA_UTILS_HPP - namespace inja { @@ -1829,236 +1004,190 @@ class Lexer { enum class State { Text, ExpressionStart, + ExpressionStartForceLstrip, ExpressionBody, LineStart, LineBody, StatementStart, + StatementStartNoLstrip, + StatementStartForceLstrip, StatementBody, CommentStart, - CommentBody - } m_state; + CommentStartForceLstrip, + CommentBody, + }; - const LexerConfig& m_config; - nonstd::string_view m_in; - size_t m_tok_start; - size_t m_pos; + enum class MinusState { + Operator, + Number, + }; - public: - explicit Lexer(const LexerConfig& config) : m_config(config) {} + const LexerConfig& config; - void start(nonstd::string_view in) { - m_in = in; - m_tok_start = 0; - m_pos = 0; - m_state = State::Text; - } + State state; + MinusState minus_state; + std::string_view m_in; + size_t tok_start; + size_t pos; - Token scan() { - m_tok_start = m_pos; - - again: - if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); - - switch (m_state) { - default: - case State::Text: { - // fast-scan to first open character - size_t open_start = m_in.substr(m_pos).find_first_of(m_config.open_chars); - if (open_start == nonstd::string_view::npos) { - // didn't find open, return remaining text as text token - m_pos = m_in.size(); - return make_token(Token::Kind::Text); - } - m_pos += open_start; - - // try to match one of the opening sequences, and get the close - nonstd::string_view open_str = m_in.substr(m_pos); - bool must_lstrip = false; - if (inja::string_view::starts_with(open_str, m_config.expression_open)) { - m_state = State::ExpressionStart; - } else if (inja::string_view::starts_with(open_str, m_config.statement_open)) { - m_state = State::StatementStart; - must_lstrip = m_config.lstrip_blocks; - } else if (inja::string_view::starts_with(open_str, m_config.comment_open)) { - m_state = State::CommentStart; - must_lstrip = m_config.lstrip_blocks; - } else if ((m_pos == 0 || m_in[m_pos - 1] == '\n') && - inja::string_view::starts_with(open_str, m_config.line_statement)) { - m_state = State::LineStart; - } else { - m_pos += 1; // wasn't actually an opening sequence - goto again; - } - - nonstd::string_view text = string_view::slice(m_in, m_tok_start, m_pos); - if (must_lstrip) - text = clear_final_line_if_whitespace(text); - - if (text.empty()) goto again; // don't generate empty token - return Token(Token::Kind::Text, text); - } - case State::ExpressionStart: { - m_state = State::ExpressionBody; - m_pos += m_config.expression_open.size(); - return make_token(Token::Kind::ExpressionOpen); - } - case State::LineStart: { - m_state = State::LineBody; - m_pos += m_config.line_statement.size(); - return make_token(Token::Kind::LineStatementOpen); - } - case State::StatementStart: { - m_state = State::StatementBody; - m_pos += m_config.statement_open.size(); - return make_token(Token::Kind::StatementOpen); - } - case State::CommentStart: { - m_state = State::CommentBody; - m_pos += m_config.comment_open.size(); - return make_token(Token::Kind::CommentOpen); - } - case State::ExpressionBody: - return scan_body(m_config.expression_close, Token::Kind::ExpressionClose); - case State::LineBody: - return scan_body("\n", Token::Kind::LineStatementClose); - case State::StatementBody: - return scan_body(m_config.statement_close, Token::Kind::StatementClose, m_config.trim_blocks); - case State::CommentBody: { - // fast-scan to comment close - size_t end = m_in.substr(m_pos).find(m_config.comment_close); - if (end == nonstd::string_view::npos) { - m_pos = m_in.size(); - return make_token(Token::Kind::Eof); - } - // return the entire comment in the close token - m_state = State::Text; - m_pos += end + m_config.comment_close.size(); - Token tok = make_token(Token::Kind::CommentClose); - if (m_config.trim_blocks) - skip_newline(); - return tok; - } - } - } - - const LexerConfig& get_config() const { return m_config; } - - private: - Token scan_body(nonstd::string_view close, Token::Kind closeKind, bool trim = false) { + Token scan_body(std::string_view close, Token::Kind closeKind, std::string_view close_trim = std::string_view(), bool trim = false) { again: // skip whitespace (except for \n as it might be a close) - if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); - char ch = m_in[m_tok_start]; + if (tok_start >= m_in.size()) { + return make_token(Token::Kind::Eof); + } + const char ch = m_in[tok_start]; if (ch == ' ' || ch == '\t' || ch == '\r') { - m_tok_start += 1; + tok_start += 1; goto again; } // check for close - if (inja::string_view::starts_with(m_in.substr(m_tok_start), close)) { - m_state = State::Text; - m_pos = m_tok_start + close.size(); - Token tok = make_token(closeKind); - if (trim) - skip_newline(); + if (!close_trim.empty() && inja::string_view::starts_with(m_in.substr(tok_start), close_trim)) { + state = State::Text; + pos = tok_start + close_trim.size(); + const Token tok = make_token(closeKind); + skip_whitespaces_and_newlines(); + return tok; + } + + if (inja::string_view::starts_with(m_in.substr(tok_start), close)) { + state = State::Text; + pos = tok_start + close.size(); + const Token tok = make_token(closeKind); + if (trim) { + skip_whitespaces_and_first_newline(); + } return tok; } // skip \n if (ch == '\n') { - m_tok_start += 1; + tok_start += 1; goto again; } - m_pos = m_tok_start + 1; - if (std::isalpha(ch)) return scan_id(); + pos = tok_start + 1; + if (std::isalpha(ch)) { + minus_state = MinusState::Operator; + return scan_id(); + } + + const MinusState current_minus_state = minus_state; + if (minus_state == MinusState::Operator) { + minus_state = MinusState::Number; + } + switch (ch) { - case ',': - return make_token(Token::Kind::Comma); - case ':': - return make_token(Token::Kind::Colon); - case '(': - return make_token(Token::Kind::LeftParen); - case ')': - return make_token(Token::Kind::RightParen); - case '[': - return make_token(Token::Kind::LeftBracket); - case ']': - return make_token(Token::Kind::RightBracket); - case '{': - return make_token(Token::Kind::LeftBrace); - case '}': - return make_token(Token::Kind::RightBrace); - case '>': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::GreaterEqual); - } - return make_token(Token::Kind::GreaterThan); - case '<': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::LessEqual); - } - return make_token(Token::Kind::LessThan); - case '=': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::Equal); - } - return make_token(Token::Kind::Unknown); - case '!': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::NotEqual); - } - return make_token(Token::Kind::Unknown); - case '\"': - return scan_string(); - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '-': - return scan_number(); - case '_': - return scan_id(); - default: - return make_token(Token::Kind::Unknown); + case '+': + return make_token(Token::Kind::Plus); + case '-': + if (current_minus_state == MinusState::Operator) { + return make_token(Token::Kind::Minus); + } + return scan_number(); + case '*': + return make_token(Token::Kind::Times); + case '/': + return make_token(Token::Kind::Slash); + case '^': + return make_token(Token::Kind::Power); + case '%': + return make_token(Token::Kind::Percent); + case '.': + return make_token(Token::Kind::Dot); + case ',': + return make_token(Token::Kind::Comma); + case ':': + return make_token(Token::Kind::Colon); + case '(': + return make_token(Token::Kind::LeftParen); + case ')': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightParen); + case '[': + return make_token(Token::Kind::LeftBracket); + case ']': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightBracket); + case '{': + return make_token(Token::Kind::LeftBrace); + case '}': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightBrace); + case '>': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::GreaterEqual); + } + return make_token(Token::Kind::GreaterThan); + case '<': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::LessEqual); + } + return make_token(Token::Kind::LessThan); + case '=': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::Equal); + } + return make_token(Token::Kind::Unknown); + case '!': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::NotEqual); + } + return make_token(Token::Kind::Unknown); + case '\"': + return scan_string(); + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + minus_state = MinusState::Operator; + return scan_number(); + case '_': + case '@': + case '$': + minus_state = MinusState::Operator; + return scan_id(); + default: + return make_token(Token::Kind::Unknown); } } Token scan_id() { for (;;) { - if (m_pos >= m_in.size()) { + if (pos >= m_in.size()) { break; } - char ch = m_in[m_pos]; + const char ch = m_in[pos]; if (!std::isalnum(ch) && ch != '.' && ch != '/' && ch != '_' && ch != '-') { break; } - m_pos += 1; + pos += 1; } return make_token(Token::Kind::Id); } Token scan_number() { for (;;) { - if (m_pos >= m_in.size()) { + if (pos >= m_in.size()) { break; } - char ch = m_in[m_pos]; + const char ch = m_in[pos]; // be very permissive in lexer (we'll catch errors when conversion happens) - if (!std::isdigit(ch) && ch != '.' && ch != 'e' && ch != 'E' && ch != '+' && ch != '-') { + if (!(std::isdigit(ch) || ch == '.' || ch == 'e' || ch == 'E' || (ch == '+' && (pos == 0 || m_in[pos-1] == 'e' || m_in[pos-1] == 'E')) || (ch == '-' && (pos == 0 || m_in[pos-1] == 'e' || m_in[pos-1] == 'E')))) { break; } - m_pos += 1; + pos += 1; } return make_token(Token::Kind::Number); } @@ -2066,11 +1195,13 @@ class Lexer { Token scan_string() { bool escape {false}; for (;;) { - if (m_pos >= m_in.size()) break; - char ch = m_in[m_pos++]; + if (pos >= m_in.size()) { + break; + } + const char ch = m_in[pos++]; if (ch == '\\') { escape = true; - } else if (!escape && ch == m_in[m_tok_start]) { + } else if (!escape && ch == m_in[tok_start]) { break; } else { escape = false; @@ -2080,675 +1211,870 @@ class Lexer { } Token make_token(Token::Kind kind) const { - return Token(kind, string_view::slice(m_in, m_tok_start, m_pos)); + return Token(kind, string_view::slice(m_in, tok_start, pos)); } - void skip_newline() { - if (m_pos < m_in.size()) { - char ch = m_in[m_pos]; - if (ch == '\n') - m_pos += 1; - else if (ch == '\r') { - m_pos += 1; - if (m_pos < m_in.size() && m_in[m_pos] == '\n') - m_pos += 1; + void skip_whitespaces_and_newlines() { + if (pos < m_in.size()) { + while (pos < m_in.size() && (m_in[pos] == ' ' || m_in[pos] == '\t' || m_in[pos] == '\n' || m_in[pos] == '\r')) { + pos += 1; } } } - static nonstd::string_view clear_final_line_if_whitespace(nonstd::string_view text) - { - nonstd::string_view result = text; + void skip_whitespaces_and_first_newline() { + if (pos < m_in.size()) { + while (pos < m_in.size() && (m_in[pos] == ' ' || m_in[pos] == '\t')) { + pos += 1; + } + } + + if (pos < m_in.size()) { + const char ch = m_in[pos]; + if (ch == '\n') { + pos += 1; + } else if (ch == '\r') { + pos += 1; + if (pos < m_in.size() && m_in[pos] == '\n') { + pos += 1; + } + } + } + } + + static std::string_view clear_final_line_if_whitespace(std::string_view text) { + std::string_view result = text; while (!result.empty()) { - char ch = result.back(); - if (ch == ' ' || ch == '\t') - result.remove_suffix(1); - else if (ch == '\n' || ch == '\r') + const char ch = result.back(); + if (ch == ' ' || ch == '\t') { + result.remove_suffix(1); + } else if (ch == '\n' || ch == '\r') { break; - else + } else { return text; + } } return result; } + +public: + explicit Lexer(const LexerConfig& config): config(config), state(State::Text), minus_state(MinusState::Number) {} + + SourceLocation current_position() const { + return get_source_location(m_in, tok_start); + } + + void start(std::string_view input) { + m_in = input; + tok_start = 0; + pos = 0; + state = State::Text; + minus_state = MinusState::Number; + + // Consume byte order mark (BOM) for UTF-8 + if (inja::string_view::starts_with(m_in, "\xEF\xBB\xBF")) { + m_in = m_in.substr(3); + } + } + + Token scan() { + tok_start = pos; + + again: + if (tok_start >= m_in.size()) { + return make_token(Token::Kind::Eof); + } + + switch (state) { + default: + case State::Text: { + // fast-scan to first open character + const size_t open_start = m_in.substr(pos).find_first_of(config.open_chars); + if (open_start == std::string_view::npos) { + // didn't find open, return remaining text as text token + pos = m_in.size(); + return make_token(Token::Kind::Text); + } + pos += open_start; + + // try to match one of the opening sequences, and get the close + std::string_view open_str = m_in.substr(pos); + bool must_lstrip = false; + if (inja::string_view::starts_with(open_str, config.expression_open)) { + if (inja::string_view::starts_with(open_str, config.expression_open_force_lstrip)) { + state = State::ExpressionStartForceLstrip; + must_lstrip = true; + } else { + state = State::ExpressionStart; + } + } else if (inja::string_view::starts_with(open_str, config.statement_open)) { + if (inja::string_view::starts_with(open_str, config.statement_open_no_lstrip)) { + state = State::StatementStartNoLstrip; + } else if (inja::string_view::starts_with(open_str, config.statement_open_force_lstrip)) { + state = State::StatementStartForceLstrip; + must_lstrip = true; + } else { + state = State::StatementStart; + must_lstrip = config.lstrip_blocks; + } + } else if (inja::string_view::starts_with(open_str, config.comment_open)) { + if (inja::string_view::starts_with(open_str, config.comment_open_force_lstrip)) { + state = State::CommentStartForceLstrip; + must_lstrip = true; + } else { + state = State::CommentStart; + must_lstrip = config.lstrip_blocks; + } + } else if ((pos == 0 || m_in[pos - 1] == '\n') && inja::string_view::starts_with(open_str, config.line_statement)) { + state = State::LineStart; + } else { + pos += 1; // wasn't actually an opening sequence + goto again; + } + + std::string_view text = string_view::slice(m_in, tok_start, pos); + if (must_lstrip) { + text = clear_final_line_if_whitespace(text); + } + + if (text.empty()) { + goto again; // don't generate empty token + } + return Token(Token::Kind::Text, text); + } + case State::ExpressionStart: { + state = State::ExpressionBody; + pos += config.expression_open.size(); + return make_token(Token::Kind::ExpressionOpen); + } + case State::ExpressionStartForceLstrip: { + state = State::ExpressionBody; + pos += config.expression_open_force_lstrip.size(); + return make_token(Token::Kind::ExpressionOpen); + } + case State::LineStart: { + state = State::LineBody; + pos += config.line_statement.size(); + return make_token(Token::Kind::LineStatementOpen); + } + case State::StatementStart: { + state = State::StatementBody; + pos += config.statement_open.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::StatementStartNoLstrip: { + state = State::StatementBody; + pos += config.statement_open_no_lstrip.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::StatementStartForceLstrip: { + state = State::StatementBody; + pos += config.statement_open_force_lstrip.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::CommentStart: { + state = State::CommentBody; + pos += config.comment_open.size(); + return make_token(Token::Kind::CommentOpen); + } + case State::CommentStartForceLstrip: { + state = State::CommentBody; + pos += config.comment_open_force_lstrip.size(); + return make_token(Token::Kind::CommentOpen); + } + case State::ExpressionBody: + return scan_body(config.expression_close, Token::Kind::ExpressionClose, config.expression_close_force_rstrip); + case State::LineBody: + return scan_body("\n", Token::Kind::LineStatementClose); + case State::StatementBody: + return scan_body(config.statement_close, Token::Kind::StatementClose, config.statement_close_force_rstrip, config.trim_blocks); + case State::CommentBody: { + // fast-scan to comment close + const size_t end = m_in.substr(pos).find(config.comment_close); + if (end == std::string_view::npos) { + pos = m_in.size(); + return make_token(Token::Kind::Eof); + } + + // Check for trim pattern + const bool must_rstrip = inja::string_view::starts_with(m_in.substr(pos + end - 1), config.comment_close_force_rstrip); + + // return the entire comment in the close token + state = State::Text; + pos += end + config.comment_close.size(); + Token tok = make_token(Token::Kind::CommentClose); + + if (must_rstrip || config.trim_blocks) { + skip_whitespaces_and_first_newline(); + } + return tok; + } + } + } + + const LexerConfig& get_config() const { + return config; + } }; -} +} // namespace inja -#endif // PANTOR_INJA_LEXER_HPP +#endif // INCLUDE_INJA_LEXER_HPP_ + +// #include "node.hpp" // #include "template.hpp" -#ifndef PANTOR_INJA_TEMPLATE_HPP -#define PANTOR_INJA_TEMPLATE_HPP - -#include -#include -#include - -// #include "bytecode.hpp" - - - -namespace inja { - -/*! - * \brief The main inja Template. - */ -struct Template { - std::vector bytecodes; - std::string content; -}; - -using TemplateStorage = std::map; - -} - -#endif // PANTOR_INJA_TEMPLATE_HPP // #include "token.hpp" // #include "utils.hpp" -#include - - namespace inja { -class ParserStatic { - ParserStatic() { - functions.add_builtin("at", 2, Bytecode::Op::At); - functions.add_builtin("default", 2, Bytecode::Op::Default); - functions.add_builtin("divisibleBy", 2, Bytecode::Op::DivisibleBy); - functions.add_builtin("even", 1, Bytecode::Op::Even); - functions.add_builtin("first", 1, Bytecode::Op::First); - functions.add_builtin("float", 1, Bytecode::Op::Float); - functions.add_builtin("int", 1, Bytecode::Op::Int); - functions.add_builtin("last", 1, Bytecode::Op::Last); - functions.add_builtin("length", 1, Bytecode::Op::Length); - functions.add_builtin("lower", 1, Bytecode::Op::Lower); - functions.add_builtin("max", 1, Bytecode::Op::Max); - functions.add_builtin("min", 1, Bytecode::Op::Min); - functions.add_builtin("odd", 1, Bytecode::Op::Odd); - functions.add_builtin("range", 1, Bytecode::Op::Range); - functions.add_builtin("round", 2, Bytecode::Op::Round); - functions.add_builtin("sort", 1, Bytecode::Op::Sort); - functions.add_builtin("upper", 1, Bytecode::Op::Upper); - functions.add_builtin("exists", 1, Bytecode::Op::Exists); - functions.add_builtin("existsIn", 2, Bytecode::Op::ExistsInObject); - functions.add_builtin("isBoolean", 1, Bytecode::Op::IsBoolean); - functions.add_builtin("isNumber", 1, Bytecode::Op::IsNumber); - functions.add_builtin("isInteger", 1, Bytecode::Op::IsInteger); - functions.add_builtin("isFloat", 1, Bytecode::Op::IsFloat); - functions.add_builtin("isObject", 1, Bytecode::Op::IsObject); - functions.add_builtin("isArray", 1, Bytecode::Op::IsArray); - functions.add_builtin("isString", 1, Bytecode::Op::IsString); - } - - public: - ParserStatic(const ParserStatic&) = delete; - ParserStatic& operator=(const ParserStatic&) = delete; - - static const ParserStatic& get_instance() { - static ParserStatic inst; - return inst; - } - - FunctionStorage functions; -}; - /*! * \brief Class for parsing an inja Template. */ class Parser { - public: - explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& included_templates): m_config(parser_config), m_lexer(lexer_config), m_included_templates(included_templates), m_static(ParserStatic::get_instance()) { } + const ParserConfig& config; - bool parse_expression(Template& tmpl) { - if (!parse_expression_and(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("or")) return true; - get_next_token(); - if (!parse_expression_and(tmpl)) return false; - append_function(tmpl, Bytecode::Op::Or, 2); - return true; + Lexer lexer; + TemplateStorage& template_storage; + const FunctionStorage& function_storage; + + Token tok, peek_tok; + bool have_peek_tok {false}; + + size_t current_paren_level {0}; + size_t current_bracket_level {0}; + size_t current_brace_level {0}; + + std::string_view literal_start; + + BlockNode* current_block {nullptr}; + ExpressionListNode* current_expression_list {nullptr}; + std::stack> function_stack; + std::vector> arguments; + + std::stack> operator_stack; + std::stack if_statement_stack; + std::stack for_statement_stack; + std::stack block_statement_stack; + + inline void throw_parser_error(const std::string& message) const { + INJA_THROW(ParserError(message, lexer.current_position())); } - bool parse_expression_and(Template& tmpl) { - if (!parse_expression_not(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("and")) return true; - get_next_token(); - if (!parse_expression_not(tmpl)) return false; - append_function(tmpl, Bytecode::Op::And, 2); - return true; - } - - bool parse_expression_not(Template& tmpl) { - if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("not")) { - get_next_token(); - if (!parse_expression_not(tmpl)) return false; - append_function(tmpl, Bytecode::Op::Not, 1); - return true; + inline void get_next_token() { + if (have_peek_tok) { + tok = peek_tok; + have_peek_tok = false; } else { - return parse_expression_comparison(tmpl); + tok = lexer.scan(); } } - bool parse_expression_comparison(Template& tmpl) { - if (!parse_expression_datum(tmpl)) return false; - Bytecode::Op op; - switch (m_tok.kind) { - case Token::Kind::Id: - if (m_tok.text == static_cast("in")) - op = Bytecode::Op::In; - else - return true; - break; - case Token::Kind::Equal: - op = Bytecode::Op::Equal; - break; - case Token::Kind::GreaterThan: - op = Bytecode::Op::Greater; - break; - case Token::Kind::LessThan: - op = Bytecode::Op::Less; - break; - case Token::Kind::LessEqual: - op = Bytecode::Op::LessEqual; - break; - case Token::Kind::GreaterEqual: - op = Bytecode::Op::GreaterEqual; - break; - case Token::Kind::NotEqual: - op = Bytecode::Op::Different; - break; - default: - return true; + inline void get_peek_token() { + if (!have_peek_tok) { + peek_tok = lexer.scan(); + have_peek_tok = true; } - get_next_token(); - if (!parse_expression_datum(tmpl)) return false; - append_function(tmpl, op, 2); - return true; } - bool parse_expression_datum(Template& tmpl) { - nonstd::string_view json_first; - size_t bracket_level = 0; - size_t brace_level = 0; + inline void add_literal(const char* content_ptr) { + std::string_view data_text(literal_start.data(), tok.text.data() - literal_start.data() + tok.text.size()); + arguments.emplace_back(std::make_shared(data_text, data_text.data() - content_ptr)); + } - for (;;) { - switch (m_tok.kind) { - case Token::Kind::LeftParen: { - get_next_token(); - if (!parse_expression(tmpl)) return false; - if (m_tok.kind != Token::Kind::RightParen) { - inja_throw("parser_error", "unmatched '('"); - } - get_next_token(); - return true; + inline void add_operator() { + auto function = operator_stack.top(); + operator_stack.pop(); + + for (int i = 0; i < function->number_args; ++i) { + function->arguments.insert(function->arguments.begin(), arguments.back()); + arguments.pop_back(); + } + arguments.emplace_back(function); + } + + void add_to_template_storage(std::string_view path, std::string& template_name) { + if (template_storage.find(template_name) != template_storage.end()) { + return; + } + + std::string original_path = static_cast(path); + std::string original_name = template_name; + + if (config.search_included_templates_in_files) { + // Build the relative path + template_name = original_path + original_name; + if (template_name.compare(0, 2, "./") == 0) { + template_name.erase(0, 2); + } + + if (template_storage.find(template_name) == template_storage.end()) { + // Load file + std::ifstream file; + file.open(template_name); + if (!file.fail()) { + std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); + + auto include_template = Template(text); + template_storage.emplace(template_name, include_template); + parse_into_template(template_storage[template_name], template_name); + return; + } else if (!config.include_callback) { + INJA_THROW(FileError("failed accessing file at '" + template_name + "'")); } - case Token::Kind::Id: - get_peek_token(); - if (m_peek_tok.kind == Token::Kind::LeftParen) { - // function call, parse arguments - Token func_token = m_tok; - get_next_token(); // id - get_next_token(); // leftParen - unsigned int num_args = 0; - if (m_tok.kind == Token::Kind::RightParen) { - // no args - get_next_token(); - } else { - for (;;) { - if (!parse_expression(tmpl)) { - inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); - } - num_args += 1; - if (m_tok.kind == Token::Kind::RightParen) { - get_next_token(); - break; - } - if (m_tok.kind != Token::Kind::Comma) { - inja_throw("parser_error", "expected ')' or ',', got '" + m_tok.describe() + "'"); - } - get_next_token(); - } - } + } + } - auto op = m_static.functions.find_builtin(func_token.text, num_args); + // Try include callback + if (config.include_callback) { + auto include_template = config.include_callback(original_path, original_name); + template_storage.emplace(template_name, include_template); + } + } - if (op != Bytecode::Op::Nop) { - // swap arguments for default(); see comment in RenderTo() - if (op == Bytecode::Op::Default) - std::swap(tmpl.bytecodes.back(), *(tmpl.bytecodes.rbegin() + 1)); - append_function(tmpl, op, num_args); - return true; - } else { - append_callback(tmpl, func_token.text, num_args); - return true; - } - } else if (m_tok.text == static_cast("true") || - m_tok.text == static_cast("false") || - m_tok.text == static_cast("null")) { - // true, false, null are json literals - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; - goto returnJson; - } - break; + std::string parse_filename(const Token& tok) const { + if (tok.kind != Token::Kind::String) { + throw_parser_error("expected string, got '" + tok.describe() + "'"); + } + + if (tok.text.length() < 2) { + throw_parser_error("expected filename, got '" + static_cast(tok.text) + "'"); + } + + // Remove first and last character "" + return std::string {tok.text.substr(1, tok.text.length() - 2)}; + } + + bool parse_expression(Template& tmpl, Token::Kind closing) { + while (tok.kind != closing && tok.kind != Token::Kind::Eof) { + // Literals + switch (tok.kind) { + case Token::Kind::String: { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + add_literal(tmpl.content.c_str()); + } + } break; + case Token::Kind::Number: { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + add_literal(tmpl.content.c_str()); + } + } break; + case Token::Kind::LeftBracket: { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + } + current_bracket_level += 1; + } break; + case Token::Kind::LeftBrace: { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + } + current_brace_level += 1; + } break; + case Token::Kind::RightBracket: { + if (current_bracket_level == 0) { + throw_parser_error("unexpected ']'"); + } + + current_bracket_level -= 1; + if (current_brace_level == 0 && current_bracket_level == 0) { + add_literal(tmpl.content.c_str()); + } + } break; + case Token::Kind::RightBrace: { + if (current_brace_level == 0) { + throw_parser_error("unexpected '}'"); + } + + current_brace_level -= 1; + if (current_brace_level == 0 && current_bracket_level == 0) { + add_literal(tmpl.content.c_str()); + } + } break; + case Token::Kind::Id: { + get_peek_token(); + + // Data Literal + if (tok.text == static_cast("true") || tok.text == static_cast("false") || + tok.text == static_cast("null")) { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + add_literal(tmpl.content.c_str()); + } + + // Operator + } else if (tok.text == "and" || tok.text == "or" || tok.text == "in" || tok.text == "not") { + goto parse_operator; + + // Functions + } else if (peek_tok.kind == Token::Kind::LeftParen) { + operator_stack.emplace(std::make_shared(static_cast(tok.text), tok.text.data() - tmpl.content.c_str())); + function_stack.emplace(operator_stack.top().get(), current_paren_level); + + // Variables + } else { + arguments.emplace_back(std::make_shared(static_cast(tok.text), tok.text.data() - tmpl.content.c_str())); + } + + // Operators + } break; + case Token::Kind::Equal: + case Token::Kind::NotEqual: + case Token::Kind::GreaterThan: + case Token::Kind::GreaterEqual: + case Token::Kind::LessThan: + case Token::Kind::LessEqual: + case Token::Kind::Plus: + case Token::Kind::Minus: + case Token::Kind::Times: + case Token::Kind::Slash: + case Token::Kind::Power: + case Token::Kind::Percent: + case Token::Kind::Dot: { + + parse_operator: + FunctionStorage::Operation operation; + switch (tok.kind) { + case Token::Kind::Id: { + if (tok.text == "and") { + operation = FunctionStorage::Operation::And; + } else if (tok.text == "or") { + operation = FunctionStorage::Operation::Or; + } else if (tok.text == "in") { + operation = FunctionStorage::Operation::In; + } else if (tok.text == "not") { + operation = FunctionStorage::Operation::Not; } else { - // normal literal (json read) - tmpl.bytecodes.emplace_back( - Bytecode::Op::Push, m_tok.text, - m_config.notation == ElementNotation::Pointer ? Bytecode::Flag::ValueLookupPointer : Bytecode::Flag::ValueLookupDot); - get_next_token(); - return true; + throw_parser_error("unknown operator in parser."); } - // json passthrough - case Token::Kind::Number: - case Token::Kind::String: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; - goto returnJson; + } break; + case Token::Kind::Equal: { + operation = FunctionStorage::Operation::Equal; + } break; + case Token::Kind::NotEqual: { + operation = FunctionStorage::Operation::NotEqual; + } break; + case Token::Kind::GreaterThan: { + operation = FunctionStorage::Operation::Greater; + } break; + case Token::Kind::GreaterEqual: { + operation = FunctionStorage::Operation::GreaterEqual; + } break; + case Token::Kind::LessThan: { + operation = FunctionStorage::Operation::Less; + } break; + case Token::Kind::LessEqual: { + operation = FunctionStorage::Operation::LessEqual; + } break; + case Token::Kind::Plus: { + operation = FunctionStorage::Operation::Add; + } break; + case Token::Kind::Minus: { + operation = FunctionStorage::Operation::Subtract; + } break; + case Token::Kind::Times: { + operation = FunctionStorage::Operation::Multiplication; + } break; + case Token::Kind::Slash: { + operation = FunctionStorage::Operation::Division; + } break; + case Token::Kind::Power: { + operation = FunctionStorage::Operation::Power; + } break; + case Token::Kind::Percent: { + operation = FunctionStorage::Operation::Modulo; + } break; + case Token::Kind::Dot: { + operation = FunctionStorage::Operation::AtId; + } break; + default: { + throw_parser_error("unknown operator in parser."); + } + } + auto function_node = std::make_shared(operation, tok.text.data() - tmpl.content.c_str()); + + while (!operator_stack.empty() && + ((operator_stack.top()->precedence > function_node->precedence) || + (operator_stack.top()->precedence == function_node->precedence && function_node->associativity == FunctionNode::Associativity::Left)) && + (operator_stack.top()->operation != FunctionStorage::Operation::ParenLeft)) { + add_operator(); + } + + operator_stack.emplace(function_node); + } break; + case Token::Kind::Comma: { + if (current_brace_level == 0 && current_bracket_level == 0) { + if (function_stack.empty()) { + throw_parser_error("unexpected ','"); } - break; - case Token::Kind::Comma: - case Token::Kind::Colon: - if (brace_level == 0 && bracket_level == 0) { - inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); + + function_stack.top().first->number_args += 1; + } + } break; + case Token::Kind::Colon: { + if (current_brace_level == 0 && current_bracket_level == 0) { + throw_parser_error("unexpected ':'"); + } + } break; + case Token::Kind::LeftParen: { + current_paren_level += 1; + operator_stack.emplace(std::make_shared(FunctionStorage::Operation::ParenLeft, tok.text.data() - tmpl.content.c_str())); + + get_peek_token(); + if (peek_tok.kind == Token::Kind::RightParen) { + if (!function_stack.empty() && function_stack.top().second == current_paren_level - 1) { + function_stack.top().first->number_args = 0; } - break; - case Token::Kind::LeftBracket: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; + } + } break; + case Token::Kind::RightParen: { + current_paren_level -= 1; + while (!operator_stack.empty() && operator_stack.top()->operation != FunctionStorage::Operation::ParenLeft) { + add_operator(); + } + + if (!operator_stack.empty() && operator_stack.top()->operation == FunctionStorage::Operation::ParenLeft) { + operator_stack.pop(); + } + + if (!function_stack.empty() && function_stack.top().second == current_paren_level) { + auto func = function_stack.top().first; + auto function_data = function_storage.find_function(func->name, func->number_args); + if (function_data.operation == FunctionStorage::Operation::None) { + throw_parser_error("unknown function " + func->name); } - bracket_level += 1; - break; - case Token::Kind::LeftBrace: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; + func->operation = function_data.operation; + if (function_data.operation == FunctionStorage::Operation::Callback) { + func->callback = function_data.callback; } - brace_level += 1; - break; - case Token::Kind::RightBracket: - if (bracket_level == 0) { - inja_throw("parser_error", "unexpected ']'"); + + if (operator_stack.empty()) { + throw_parser_error("internal error at function " + func->name); } - --bracket_level; - if (brace_level == 0 && bracket_level == 0) goto returnJson; - break; - case Token::Kind::RightBrace: - if (brace_level == 0) { - inja_throw("parser_error", "unexpected '}'"); - } - --brace_level; - if (brace_level == 0 && bracket_level == 0) goto returnJson; - break; - default: - if (brace_level != 0) { - inja_throw("parser_error", "unmatched '{'"); - } - if (bracket_level != 0) { - inja_throw("parser_error", "unmatched '['"); - } - return false; + + add_operator(); + function_stack.pop(); + } + } + default: + break; } get_next_token(); } - returnJson: - // bridge across all intermediate tokens - nonstd::string_view json_text(json_first.data(), m_tok.text.data() - json_first.data() + m_tok.text.size()); - tmpl.bytecodes.emplace_back(Bytecode::Op::Push, json::parse(json_text), Bytecode::Flag::ValueImmediate); - get_next_token(); + while (!operator_stack.empty()) { + add_operator(); + } + + if (arguments.size() == 1) { + current_expression_list->root = arguments[0]; + arguments = {}; + } else if (arguments.size() > 1) { + throw_parser_error("malformed expression"); + } + return true; } - bool parse_statement(Template& tmpl, nonstd::string_view path) { - if (m_tok.kind != Token::Kind::Id) return false; + bool parse_statement(Template& tmpl, Token::Kind closing, std::string_view path) { + if (tok.kind != Token::Kind::Id) { + return false; + } - if (m_tok.text == static_cast("if")) { + if (tok.text == static_cast("if")) { get_next_token(); - // evaluate expression - if (!parse_expression(tmpl)) return false; + auto if_statement_node = std::make_shared(current_block, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(if_statement_node); + if_statement_stack.emplace(if_statement_node.get()); + current_block = &if_statement_node->true_statement; + current_expression_list = &if_statement_node->condition; - // start a new if block on if stack - m_if_stack.emplace_back(tmpl.bytecodes.size()); - - // conditional jump; destination will be filled in by else or endif - tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); - } else if (m_tok.text == static_cast("endif")) { - if (m_if_stack.empty()) { - inja_throw("parser_error", "endif without matching if"); + if (!parse_expression(tmpl, closing)) { + return false; } - auto& if_data = m_if_stack.back(); + } else if (tok.text == static_cast("else")) { + if (if_statement_stack.empty()) { + throw_parser_error("else without matching if"); + } + auto& if_statement_data = if_statement_stack.top(); get_next_token(); - // previous conditional jump jumps here - if (if_data.prev_cond_jump != std::numeric_limits::max()) { - tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); - } + if_statement_data->has_false_statement = true; + current_block = &if_statement_data->false_statement; - // update all previous unconditional jumps to here - for (unsigned int i: if_data.uncond_jumps) { - tmpl.bytecodes[i].args = tmpl.bytecodes.size(); - } - - // pop if stack - m_if_stack.pop_back(); - } else if (m_tok.text == static_cast("else")) { - if (m_if_stack.empty()) - inja_throw("parser_error", "else without matching if"); - auto& if_data = m_if_stack.back(); - get_next_token(); - - // end previous block with unconditional jump to endif; destination will be - // filled in by endif - if_data.uncond_jumps.push_back(tmpl.bytecodes.size()); - tmpl.bytecodes.emplace_back(Bytecode::Op::Jump); - - // previous conditional jump jumps here - tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); - if_data.prev_cond_jump = std::numeric_limits::max(); - - // chained else if - if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("if")) { + // Chained else if + if (tok.kind == Token::Kind::Id && tok.text == static_cast("if")) { get_next_token(); - // evaluate expression - if (!parse_expression(tmpl)) return false; + auto if_statement_node = std::make_shared(true, current_block, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(if_statement_node); + if_statement_stack.emplace(if_statement_node.get()); + current_block = &if_statement_node->true_statement; + current_expression_list = &if_statement_node->condition; - // update "previous jump" - if_data.prev_cond_jump = tmpl.bytecodes.size(); - - // conditional jump; destination will be filled in by else or endif - tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); + if (!parse_expression(tmpl, closing)) { + return false; + } } - } else if (m_tok.text == static_cast("for")) { + } else if (tok.text == static_cast("endif")) { + if (if_statement_stack.empty()) { + throw_parser_error("endif without matching if"); + } + + // Nested if statements + while (if_statement_stack.top()->is_nested) { + if_statement_stack.pop(); + } + + auto& if_statement_data = if_statement_stack.top(); + get_next_token(); + + current_block = if_statement_data->parent; + if_statement_stack.pop(); + } else if (tok.text == static_cast("block")) { + get_next_token(); + + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected block name, got '" + tok.describe() + "'"); + } + + const std::string block_name = static_cast(tok.text); + + auto block_statement_node = std::make_shared(current_block, block_name, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(block_statement_node); + block_statement_stack.emplace(block_statement_node.get()); + current_block = &block_statement_node->block; + auto success = tmpl.block_storage.emplace(block_name, block_statement_node); + if (!success.second) { + throw_parser_error("block with the name '" + block_name + "' does already exist"); + } + + get_next_token(); + } else if (tok.text == static_cast("endblock")) { + if (block_statement_stack.empty()) { + throw_parser_error("endblock without matching block"); + } + + auto& block_statement_data = block_statement_stack.top(); + get_next_token(); + + current_block = block_statement_data->parent; + block_statement_stack.pop(); + } else if (tok.text == static_cast("for")) { get_next_token(); // options: for a in arr; for a, b in obj - if (m_tok.kind != Token::Kind::Id) - inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); - Token value_token = m_tok; + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected id, got '" + tok.describe() + "'"); + } + + Token value_token = tok; get_next_token(); - Token key_token; - if (m_tok.kind == Token::Kind::Comma) { + // Object type + std::shared_ptr for_statement_node; + if (tok.kind == Token::Kind::Comma) { get_next_token(); - if (m_tok.kind != Token::Kind::Id) - inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); - key_token = std::move(value_token); - value_token = m_tok; + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected id, got '" + tok.describe() + "'"); + } + + Token key_token = std::move(value_token); + value_token = tok; get_next_token(); + + for_statement_node = std::make_shared(static_cast(key_token.text), static_cast(value_token.text), + current_block, tok.text.data() - tmpl.content.c_str()); + + // Array type + } else { + for_statement_node = + std::make_shared(static_cast(value_token.text), current_block, tok.text.data() - tmpl.content.c_str()); } - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("in")) - inja_throw("parser_error", - "expected 'in', got '" + m_tok.describe() + "'"); + current_block->nodes.emplace_back(for_statement_node); + for_statement_stack.emplace(for_statement_node.get()); + current_block = &for_statement_node->body; + current_expression_list = &for_statement_node->condition; + + if (tok.kind != Token::Kind::Id || tok.text != static_cast("in")) { + throw_parser_error("expected 'in', got '" + tok.describe() + "'"); + } get_next_token(); - if (!parse_expression(tmpl)) return false; - - m_loop_stack.push_back(tmpl.bytecodes.size()); - - tmpl.bytecodes.emplace_back(Bytecode::Op::StartLoop); - if (!key_token.text.empty()) { - tmpl.bytecodes.back().value = key_token.text; + if (!parse_expression(tmpl, closing)) { + return false; } - tmpl.bytecodes.back().str = static_cast(value_token.text); - } else if (m_tok.text == static_cast("endfor")) { - get_next_token(); - if (m_loop_stack.empty()) { - inja_throw("parser_error", "endfor without matching for"); + } else if (tok.text == static_cast("endfor")) { + if (for_statement_stack.empty()) { + throw_parser_error("endfor without matching for"); } - // update loop with EndLoop index (for empty case) - tmpl.bytecodes[m_loop_stack.back()].args = tmpl.bytecodes.size(); - - tmpl.bytecodes.emplace_back(Bytecode::Op::EndLoop); - tmpl.bytecodes.back().args = m_loop_stack.back() + 1; // loop body - m_loop_stack.pop_back(); - } else if (m_tok.text == static_cast("include")) { + auto& for_statement_data = for_statement_stack.top(); get_next_token(); - if (m_tok.kind != Token::Kind::String) { - inja_throw("parser_error", "expected string, got '" + m_tok.describe() + "'"); - } + current_block = for_statement_data->parent; + for_statement_stack.pop(); + } else if (tok.text == static_cast("include")) { + get_next_token(); - // build the relative path - json json_name = json::parse(m_tok.text); - std::string pathname = static_cast(path); - pathname += json_name.get_ref(); - if (pathname.compare(0, 2, "./") == 0) { - pathname.erase(0, 2); - } - // sys::path::remove_dots(pathname, true, sys::path::Style::posix); + std::string template_name = parse_filename(tok); + add_to_template_storage(path, template_name); - if (m_included_templates.find(pathname) == m_included_templates.end()) { - Template include_template = parse_template(pathname); - m_included_templates.emplace(pathname, include_template); - } - - // generate a reference bytecode - tmpl.bytecodes.emplace_back(Bytecode::Op::Include, json(pathname), Bytecode::Flag::ValueImmediate); + current_block->nodes.emplace_back(std::make_shared(template_name, tok.text.data() - tmpl.content.c_str())); get_next_token(); + } else if (tok.text == static_cast("extends")) { + get_next_token(); + + std::string template_name = parse_filename(tok); + add_to_template_storage(path, template_name); + + current_block->nodes.emplace_back(std::make_shared(template_name, tok.text.data() - tmpl.content.c_str())); + + get_next_token(); + } else if (tok.text == static_cast("set")) { + get_next_token(); + + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected variable name, got '" + tok.describe() + "'"); + } + + std::string key = static_cast(tok.text); + get_next_token(); + + auto set_statement_node = std::make_shared(key, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(set_statement_node); + current_expression_list = &set_statement_node->expression; + + if (tok.text != static_cast("=")) { + throw_parser_error("expected '=', got '" + tok.describe() + "'"); + } + get_next_token(); + + if (!parse_expression(tmpl, closing)) { + return false; + } } else { return false; } return true; } - void append_function(Template& tmpl, Bytecode::Op op, unsigned int num_args) { - // we can merge with back-to-back push - if (!tmpl.bytecodes.empty()) { - Bytecode& last = tmpl.bytecodes.back(); - if (last.op == Bytecode::Op::Push) { - last.op = op; - last.args = num_args; - return; - } - } - - // otherwise just add it to the end - tmpl.bytecodes.emplace_back(op, num_args); - } - - void append_callback(Template& tmpl, nonstd::string_view name, unsigned int num_args) { - // we can merge with back-to-back push value (not lookup) - if (!tmpl.bytecodes.empty()) { - Bytecode& last = tmpl.bytecodes.back(); - if (last.op == Bytecode::Op::Push && - (last.flags & Bytecode::Flag::ValueMask) == Bytecode::Flag::ValueImmediate) { - last.op = Bytecode::Op::Callback; - last.args = num_args; - last.str = static_cast(name); - return; - } - } - - // otherwise just add it to the end - tmpl.bytecodes.emplace_back(Bytecode::Op::Callback, num_args); - tmpl.bytecodes.back().str = static_cast(name); - } - - void parse_into(Template& tmpl, nonstd::string_view path) { - m_lexer.start(tmpl.content); + void parse_into(Template& tmpl, std::string_view path) { + lexer.start(tmpl.content); + current_block = &tmpl.root; for (;;) { get_next_token(); - switch (m_tok.kind) { - case Token::Kind::Eof: - if (!m_if_stack.empty()) inja_throw("parser_error", "unmatched if"); - if (!m_loop_stack.empty()) inja_throw("parser_error", "unmatched for"); - return; - case Token::Kind::Text: - tmpl.bytecodes.emplace_back(Bytecode::Op::PrintText, m_tok.text, 0u); - break; - case Token::Kind::StatementOpen: - get_next_token(); - if (!parse_statement(tmpl, path)) { - inja_throw("parser_error", "expected statement, got '" + m_tok.describe() + "'"); - } - if (m_tok.kind != Token::Kind::StatementClose) { - inja_throw("parser_error", "expected statement close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::LineStatementOpen: - get_next_token(); - parse_statement(tmpl, path); - if (m_tok.kind != Token::Kind::LineStatementClose && - m_tok.kind != Token::Kind::Eof) { - inja_throw("parser_error", "expected line statement close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::ExpressionOpen: - get_next_token(); - if (!parse_expression(tmpl)) { - inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); - } - append_function(tmpl, Bytecode::Op::PrintValue, 1); - if (m_tok.kind != Token::Kind::ExpressionClose) { - inja_throw("parser_error", "expected expression close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::CommentOpen: - get_next_token(); - if (m_tok.kind != Token::Kind::CommentClose) { - inja_throw("parser_error", "expected comment close, got '" + m_tok.describe() + "'"); - } - break; - default: - inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); - break; + switch (tok.kind) { + case Token::Kind::Eof: { + if (!if_statement_stack.empty()) { + throw_parser_error("unmatched if"); + } + if (!for_statement_stack.empty()) { + throw_parser_error("unmatched for"); + } + } + return; + case Token::Kind::Text: { + current_block->nodes.emplace_back(std::make_shared(tok.text.data() - tmpl.content.c_str(), tok.text.size())); + } break; + case Token::Kind::StatementOpen: { + get_next_token(); + if (!parse_statement(tmpl, Token::Kind::StatementClose, path)) { + throw_parser_error("expected statement, got '" + tok.describe() + "'"); + } + if (tok.kind != Token::Kind::StatementClose) { + throw_parser_error("expected statement close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::LineStatementOpen: { + get_next_token(); + if (!parse_statement(tmpl, Token::Kind::LineStatementClose, path)) { + throw_parser_error("expected statement, got '" + tok.describe() + "'"); + } + if (tok.kind != Token::Kind::LineStatementClose && tok.kind != Token::Kind::Eof) { + throw_parser_error("expected line statement close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::ExpressionOpen: { + get_next_token(); + + auto expression_list_node = std::make_shared(tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(expression_list_node); + current_expression_list = expression_list_node.get(); + + if (!parse_expression(tmpl, Token::Kind::ExpressionClose)) { + throw_parser_error("expected expression, got '" + tok.describe() + "'"); + } + + if (tok.kind != Token::Kind::ExpressionClose) { + throw_parser_error("expected expression close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::CommentOpen: { + get_next_token(); + if (tok.kind != Token::Kind::CommentClose) { + throw_parser_error("expected comment close, got '" + tok.describe() + "'"); + } + } break; + default: { + throw_parser_error("unexpected token '" + tok.describe() + "'"); + } break; } } } - Template parse(nonstd::string_view input, nonstd::string_view path) { - Template result; - result.content = static_cast(input); +public: + explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& template_storage, + const FunctionStorage& function_storage) + : config(parser_config), lexer(lexer_config), template_storage(template_storage), function_storage(function_storage) {} + + Template parse(std::string_view input, std::string_view path) { + auto result = Template(static_cast(input)); parse_into(result, path); return result; } - Template parse(nonstd::string_view input) { + Template parse(std::string_view input) { return parse(input, "./"); } - Template parse_template(nonstd::string_view filename) { - Template result; - result.content = load_file(filename); + void parse_into_template(Template& tmpl, std::string_view filename) { + std::string_view path = filename.substr(0, filename.find_last_of("/\\") + 1); - nonstd::string_view path = filename.substr(0, filename.find_last_of("/\\") + 1); - // StringRef path = sys::path::parent_path(filename); - Parser(m_config, m_lexer.get_config(), m_included_templates).parse_into(result, path); - return result; + // StringRef path = sys::path::parent_path(filename); + auto sub_parser = Parser(config, lexer.get_config(), template_storage, function_storage); + sub_parser.parse_into(tmpl, path); } - std::string load_file(nonstd::string_view filename) { - std::ifstream file = open_file_or_throw(static_cast(filename)); + std::string load_file(const std::string& filename) { + std::ifstream file; + file.open(filename); + if (file.fail()) { + INJA_THROW(FileError("failed accessing file at '" + filename + "'")); + } std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); return text; } - - private: - const ParserConfig& m_config; - Lexer m_lexer; - Token m_tok; - Token m_peek_tok; - bool m_have_peek_tok {false}; - TemplateStorage& m_included_templates; - const ParserStatic& m_static; - - struct IfData { - unsigned int prev_cond_jump; - std::vector uncond_jumps; - - explicit IfData(unsigned int condJump): prev_cond_jump(condJump) {} - }; - - std::vector m_if_stack; - std::vector m_loop_stack; - - void get_next_token() { - if (m_have_peek_tok) { - m_tok = m_peek_tok; - m_have_peek_tok = false; - } else { - m_tok = m_lexer.scan(); - } - } - - void get_peek_token() { - if (!m_have_peek_tok) { - m_peek_tok = m_lexer.scan(); - m_have_peek_tok = true; - } - } }; -} // namespace inja +} // namespace inja -#endif // PANTOR_INJA_PARSER_HPP - -// #include "polyfill.hpp" -#ifndef PANTOR_INJA_POLYFILL_HPP -#define PANTOR_INJA_POLYFILL_HPP - - -#if __cplusplus < 201402L - -#include -#include -#include -#include - - -namespace stdinja { - template struct _Unique_if { - typedef std::unique_ptr _Single_object; - }; - - template struct _Unique_if { - typedef std::unique_ptr _Unknown_bound; - }; - - template struct _Unique_if { - typedef void _Known_bound; - }; - - template - typename _Unique_if::_Single_object - make_unique(Args&&... args) { - return std::unique_ptr(new T(std::forward(args)...)); - } - - template - typename _Unique_if::_Unknown_bound - make_unique(size_t n) { - typedef typename std::remove_extent::type U; - return std::unique_ptr(new U[n]()); - } - - template - typename _Unique_if::_Known_bound - make_unique(Args&&...) = delete; -} - -#else - -namespace stdinja = std; - -#endif // memory */ - - -#endif // PANTOR_INJA_POLYFILL_HPP +#endif // INCLUDE_INJA_PARSER_HPP_ // #include "renderer.hpp" -#ifndef PANTOR_INJA_RENDERER_HPP -#define PANTOR_INJA_RENDERER_HPP +#ifndef INCLUDE_INJA_RENDERER_HPP_ +#define INCLUDE_INJA_RENDERER_HPP_ #include #include @@ -2756,677 +2082,735 @@ namespace stdinja = std; #include #include -#include +// #include "config.hpp" -// #include "bytecode.hpp" +// #include "exceptions.hpp" + +// #include "node.hpp" // #include "template.hpp" // #include "utils.hpp" - namespace inja { -inline nonstd::string_view convert_dot_to_json_pointer(nonstd::string_view dot, std::string& out) { - out.clear(); - do { - nonstd::string_view part; - std::tie(part, dot) = string_view::split(dot, '.'); - out.push_back('/'); - out.append(part.begin(), part.end()); - } while (!dot.empty()); - return nonstd::string_view(out.data(), out.size()); -} - /*! * \brief Class for rendering a Template with data. */ -class Renderer { - std::vector& get_args(const Bytecode& bc) { - m_tmp_args.clear(); +class Renderer : public NodeVisitor { + using Op = FunctionStorage::Operation; - bool has_imm = ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop); + const RenderConfig config; + const TemplateStorage& template_storage; + const FunctionStorage& function_storage; - // get args from stack - unsigned int pop_args = bc.args; - if (has_imm) { - pop_args -= 1; - } + const Template* current_template; + size_t current_level {0}; + std::vector template_stack; + std::vector block_statement_stack; - for (auto i = std::prev(m_stack.end(), pop_args); i != m_stack.end(); i++) { - m_tmp_args.push_back(&(*i)); - } + const json* data_input; + std::ostream* output_stream; - // get immediate arg - if (has_imm) { - m_tmp_args.push_back(get_imm(bc)); - } + json additional_data; + json* current_loop_data = &additional_data["loop"]; - return m_tmp_args; - } + std::vector> data_tmp_stack; + std::stack data_eval_stack; + std::stack not_found_stack; - void pop_args(const Bytecode& bc) { - unsigned int popArgs = bc.args; - if ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop) { - popArgs -= 1; - } - for (unsigned int i = 0; i < popArgs; ++i) { - m_stack.pop_back(); - } - } + bool break_rendering {false}; - const json* get_imm(const Bytecode& bc) { - std::string ptr_buffer; - nonstd::string_view ptr; - switch (bc.flags & Bytecode::Flag::ValueMask) { - case Bytecode::Flag::ValuePop: - return nullptr; - case Bytecode::Flag::ValueImmediate: - return &bc.value; - case Bytecode::Flag::ValueLookupDot: - ptr = convert_dot_to_json_pointer(bc.str, ptr_buffer); - break; - case Bytecode::Flag::ValueLookupPointer: - ptr_buffer += '/'; - ptr_buffer += bc.str; - ptr = ptr_buffer; - break; - } - try { - return &m_data->at(json::json_pointer(ptr.data())); - } catch (std::exception&) { - // try to evaluate as a no-argument callback - if (auto callback = m_callbacks.find_callback(bc.str, 0)) { - std::vector arguments {}; - m_tmp_val = callback(arguments); - return &m_tmp_val; - } - inja_throw("render_error", "variable '" + static_cast(bc.str) + "' not found"); - return nullptr; - } - } - - bool truthy(const json& var) const { - if (var.empty()) { + static bool truthy(const json* data) { + if (data->is_boolean()) { + return data->get(); + } else if (data->is_number()) { + return (*data != 0); + } else if (data->is_null()) { return false; - } else if (var.is_number()) { - return (var != 0); - } else if (var.is_string()) { - return !var.empty(); - } - - try { - return var.get(); - } catch (json::type_error& e) { - inja_throw("json_error", e.what()); - throw; } + return !data->empty(); } - void update_loop_data() { - LoopLevel& level = m_loop_stack.back(); - - if (level.loop_type == LoopLevel::Type::Array) { - level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; - auto& loopData = level.data["loop"]; - loopData["index"] = level.index; - loopData["index1"] = level.index + 1; - loopData["is_first"] = (level.index == 0); - loopData["is_last"] = (level.index == level.size - 1); + void print_data(const std::shared_ptr value) { + if (value->is_string()) { + *output_stream << value->get_ref(); + } else if (value->is_number_integer()) { + *output_stream << value->get(); + } else if (value->is_null()) { } else { - level.data[static_cast(level.key_name)] = level.map_it->first; - level.data[static_cast(level.value_name)] = *level.map_it->second; + *output_stream << value->dump(); } } - const TemplateStorage& m_included_templates; - const FunctionStorage& m_callbacks; + const std::shared_ptr eval_expression_list(const ExpressionListNode& expression_list) { + if (!expression_list.root) { + throw_renderer_error("empty expression", expression_list); + } - std::vector m_stack; + expression_list.root->accept(*this); + if (data_eval_stack.empty()) { + throw_renderer_error("empty expression", expression_list); + } else if (data_eval_stack.size() != 1) { + throw_renderer_error("malformed expression", expression_list); + } - struct LoopLevel { - enum class Type { Map, Array }; + const auto result = data_eval_stack.top(); + data_eval_stack.pop(); - Type loop_type; - nonstd::string_view key_name; // variable name for keys - nonstd::string_view value_name; // variable name for values - json data; // data with loop info added + if (!result) { + if (not_found_stack.empty()) { + throw_renderer_error("expression could not be evaluated", expression_list); + } - json values; // values to iterate over + auto node = not_found_stack.top(); + not_found_stack.pop(); - // loop over list - size_t index; // current list index - size_t size; // length of list - - // loop over map - using KeyValue = std::pair; - using MapValues = std::vector; - MapValues map_values; // values to iterate over - MapValues::iterator map_it; // iterator over values - - }; - - std::vector m_loop_stack; - const json* m_data; - - std::vector m_tmp_args; - json m_tmp_val; - - - public: - Renderer(const TemplateStorage& included_templates, const FunctionStorage& callbacks): m_included_templates(included_templates), m_callbacks(callbacks) { - m_stack.reserve(16); - m_tmp_args.reserve(4); - m_loop_stack.reserve(16); + throw_renderer_error("variable '" + static_cast(node->name) + "' not found", *node); + } + return std::make_shared(*result); } - void render_to(std::ostream& os, const Template& tmpl, const json& data) { - m_data = &data; + void throw_renderer_error(const std::string& message, const AstNode& node) { + SourceLocation loc = get_source_location(current_template->content, node.pos); + INJA_THROW(RenderError(message, loc)); + } - for (size_t i = 0; i < tmpl.bytecodes.size(); ++i) { - const auto& bc = tmpl.bytecodes[i]; + void make_result(const json&& result) { + auto result_ptr = std::make_shared(result); + data_tmp_stack.push_back(result_ptr); + data_eval_stack.push(result_ptr.get()); + } - switch (bc.op) { - case Bytecode::Op::Nop: { - break; - } - case Bytecode::Op::PrintText: { - os << bc.str; - break; - } - case Bytecode::Op::PrintValue: { - const json& val = *get_args(bc)[0]; - if (val.is_string()) { - os << val.get_ref(); - } else { - os << val.dump(); - } - pop_args(bc); - break; - } - case Bytecode::Op::Push: { - m_stack.emplace_back(*get_imm(bc)); - break; - } - case Bytecode::Op::Upper: { - auto result = get_args(bc)[0]->get(); - std::transform(result.begin(), result.end(), result.begin(), ::toupper); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Lower: { - auto result = get_args(bc)[0]->get(); - std::transform(result.begin(), result.end(), result.begin(), ::tolower); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Range: { - int number = get_args(bc)[0]->get(); - std::vector result(number); - std::iota(std::begin(result), std::end(result), 0); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Length: { - const json& val = *get_args(bc)[0]; + template std::array get_arguments(const FunctionNode& node) { + if (node.arguments.size() < N_start + N) { + throw_renderer_error("function needs " + std::to_string(N_start + N) + " variables, but has only found " + std::to_string(node.arguments.size()), node); + } - int result; - if (val.is_string()) { - result = val.get_ref().length(); - } else { - result = val.size(); - } + for (size_t i = N_start; i < N_start + N; i += 1) { + node.arguments[i]->accept(*this); + } - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Sort: { - auto result = get_args(bc)[0]->get>(); - std::sort(result.begin(), result.end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::At: { - auto args = get_args(bc); - auto result = args[0]->at(args[1]->get()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::First: { - auto result = get_args(bc)[0]->front(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Last: { - auto result = get_args(bc)[0]->back(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Round: { - auto args = get_args(bc); - double number = args[0]->get(); - int precision = args[1]->get(); - pop_args(bc); - m_stack.emplace_back(std::round(number * std::pow(10.0, precision)) / std::pow(10.0, precision)); - break; - } - case Bytecode::Op::DivisibleBy: { - auto args = get_args(bc); - int number = args[0]->get(); - int divisor = args[1]->get(); - pop_args(bc); - m_stack.emplace_back((divisor != 0) && (number % divisor == 0)); - break; - } - case Bytecode::Op::Odd: { - int number = get_args(bc)[0]->get(); - pop_args(bc); - m_stack.emplace_back(number % 2 != 0); - break; - } - case Bytecode::Op::Even: { - int number = get_args(bc)[0]->get(); - pop_args(bc); - m_stack.emplace_back(number % 2 == 0); - break; - } - case Bytecode::Op::Max: { - auto args = get_args(bc); - auto result = *std::max_element(args[0]->begin(), args[0]->end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Min: { - auto args = get_args(bc); - auto result = *std::min_element(args[0]->begin(), args[0]->end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Not: { - bool result = !truthy(*get_args(bc)[0]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::And: { - auto args = get_args(bc); - bool result = truthy(*args[0]) && truthy(*args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Or: { - auto args = get_args(bc); - bool result = truthy(*args[0]) || truthy(*args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::In: { - auto args = get_args(bc); - bool result = std::find(args[1]->begin(), args[1]->end(), *args[0]) != - args[1]->end(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Equal: { - auto args = get_args(bc); - bool result = (*args[0] == *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Greater: { - auto args = get_args(bc); - bool result = (*args[0] > *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Less: { - auto args = get_args(bc); - bool result = (*args[0] < *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::GreaterEqual: { - auto args = get_args(bc); - bool result = (*args[0] >= *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::LessEqual: { - auto args = get_args(bc); - bool result = (*args[0] <= *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Different: { - auto args = get_args(bc); - bool result = (*args[0] != *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Float: { - double result = - std::stod(get_args(bc)[0]->get_ref()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Int: { - int result = std::stoi(get_args(bc)[0]->get_ref()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Exists: { - auto&& name = get_args(bc)[0]->get_ref(); - bool result = (data.find(name) != data.end()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::ExistsInObject: { - auto args = get_args(bc); - auto&& name = args[1]->get_ref(); - bool result = (args[0]->find(name) != args[0]->end()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsBoolean: { - bool result = get_args(bc)[0]->is_boolean(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsNumber: { - bool result = get_args(bc)[0]->is_number(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsInteger: { - bool result = get_args(bc)[0]->is_number_integer(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsFloat: { - bool result = get_args(bc)[0]->is_number_float(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsObject: { - bool result = get_args(bc)[0]->is_object(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsArray: { - bool result = get_args(bc)[0]->is_array(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsString: { - bool result = get_args(bc)[0]->is_string(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Default: { - // default needs to be a bit "magic"; we can't evaluate the first - // argument during the push operation, so we swap the arguments during - // the parse phase so the second argument is pushed on the stack and - // the first argument is in the immediate - try { - const json* imm = get_imm(bc); - // if no exception was raised, replace the stack value with it - m_stack.back() = *imm; - } catch (std::exception&) { - // couldn't read immediate, just leave the stack as is - } - break; - } - case Bytecode::Op::Include: - Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, *m_data); - break; - case Bytecode::Op::Callback: { - auto callback = m_callbacks.find_callback(bc.str, bc.args); - if (!callback) { - inja_throw("render_error", "function '" + static_cast(bc.str) + "' (" + std::to_string(static_cast(bc.args)) + ") not found"); - } - json result = callback(get_args(bc)); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Jump: { - i = bc.args - 1; // -1 due to ++i in loop - break; - } - case Bytecode::Op::ConditionalJump: { - if (!truthy(m_stack.back())) { - i = bc.args - 1; // -1 due to ++i in loop - } - m_stack.pop_back(); - break; - } - case Bytecode::Op::StartLoop: { - // jump past loop body if empty - if (m_stack.back().empty()) { - m_stack.pop_back(); - i = bc.args; // ++i in loop will take it past EndLoop - break; - } + if (data_eval_stack.size() < N) { + throw_renderer_error("function needs " + std::to_string(N) + " variables, but has only found " + std::to_string(data_eval_stack.size()), node); + } - m_loop_stack.emplace_back(); - LoopLevel& level = m_loop_stack.back(); - level.value_name = bc.str; - level.values = std::move(m_stack.back()); - level.data = (*m_data); - m_stack.pop_back(); + std::array result; + for (size_t i = 0; i < N; i += 1) { + result[N - i - 1] = data_eval_stack.top(); + data_eval_stack.pop(); - if (bc.value.is_string()) { - // map iterator - if (!level.values.is_object()) { - m_loop_stack.pop_back(); - inja_throw("render_error", "for key, value requires object"); - } - level.loop_type = LoopLevel::Type::Map; - level.key_name = bc.value.get_ref(); + if (!result[N - i - 1]) { + const auto data_node = not_found_stack.top(); + not_found_stack.pop(); - // sort by key - for (auto it = level.values.begin(), end = level.values.end(); it != end; ++it) { - level.map_values.emplace_back(it.key(), &it.value()); - } - std::sort(level.map_values.begin(), level.map_values.end(), [](const LoopLevel::KeyValue& a, const LoopLevel::KeyValue& b) { return a.first < b.first; }); - level.map_it = level.map_values.begin(); - } else { - if (!level.values.is_array()) { - m_loop_stack.pop_back(); - inja_throw("render_error", "type must be array"); - } - - // list iterator - level.loop_type = LoopLevel::Type::Array; - level.index = 0; - level.size = level.values.size(); - } - - // provide parent access in nested loop - auto parent_loop_it = level.data.find("loop"); - if (parent_loop_it != level.data.end()) { - json loop_copy = *parent_loop_it; - (*parent_loop_it)["parent"] = std::move(loop_copy); - } - - // set "current" data to loop data - m_data = &level.data; - update_loop_data(); - break; - } - case Bytecode::Op::EndLoop: { - if (m_loop_stack.empty()) { - inja_throw("render_error", "unexpected state in renderer"); - } - LoopLevel& level = m_loop_stack.back(); - - bool done; - if (level.loop_type == LoopLevel::Type::Array) { - level.index += 1; - done = (level.index == level.values.size()); - } else { - level.map_it += 1; - done = (level.map_it == level.map_values.end()); - } - - if (done) { - m_loop_stack.pop_back(); - // set "current" data to outer loop data or main data as appropriate - if (!m_loop_stack.empty()) { - m_data = &m_loop_stack.back().data; - } else { - m_data = &data; - } - break; - } - - update_loop_data(); - - // jump back to start of loop - i = bc.args - 1; // -1 due to ++i in loop - break; - } - default: { - inja_throw("render_error", "unknown op in renderer: " + std::to_string(static_cast(bc.op))); + if (throw_not_found) { + throw_renderer_error("variable '" + static_cast(data_node->name) + "' not found", *data_node); } } } + return result; + } + + template Arguments get_argument_vector(const FunctionNode& node) { + const size_t N = node.arguments.size(); + for (auto a : node.arguments) { + a->accept(*this); + } + + if (data_eval_stack.size() < N) { + throw_renderer_error("function needs " + std::to_string(N) + " variables, but has only found " + std::to_string(data_eval_stack.size()), node); + } + + Arguments result {N}; + for (size_t i = 0; i < N; i += 1) { + result[N - i - 1] = data_eval_stack.top(); + data_eval_stack.pop(); + + if (!result[N - i - 1]) { + const auto data_node = not_found_stack.top(); + not_found_stack.pop(); + + if (throw_not_found) { + throw_renderer_error("variable '" + static_cast(data_node->name) + "' not found", *data_node); + } + } + } + return result; + } + + void visit(const BlockNode& node) { + for (auto& n : node.nodes) { + n->accept(*this); + + if (break_rendering) { + break; + } + } + } + + void visit(const TextNode& node) { + output_stream->write(current_template->content.c_str() + node.pos, node.length); + } + + void visit(const ExpressionNode&) {} + + void visit(const LiteralNode& node) { + data_eval_stack.push(&node.value); + } + + void visit(const DataNode& node) { + if (additional_data.contains(node.ptr)) { + data_eval_stack.push(&(additional_data[node.ptr])); + } else if (data_input->contains(node.ptr)) { + data_eval_stack.push(&(*data_input)[node.ptr]); + } else { + // Try to evaluate as a no-argument callback + const auto function_data = function_storage.find_function(node.name, 0); + if (function_data.operation == FunctionStorage::Operation::Callback) { + Arguments empty_args {}; + const auto value = std::make_shared(function_data.callback(empty_args)); + data_tmp_stack.push_back(value); + data_eval_stack.push(value.get()); + } else { + data_eval_stack.push(nullptr); + not_found_stack.emplace(&node); + } + } + } + + void visit(const FunctionNode& node) { + switch (node.operation) { + case Op::Not: { + const auto args = get_arguments<1>(node); + make_result(!truthy(args[0])); + } break; + case Op::And: { + make_result(truthy(get_arguments<1, 0>(node)[0]) && truthy(get_arguments<1, 1>(node)[0])); + } break; + case Op::Or: { + make_result(truthy(get_arguments<1, 0>(node)[0]) || truthy(get_arguments<1, 1>(node)[0])); + } break; + case Op::In: { + const auto args = get_arguments<2>(node); + make_result(std::find(args[1]->begin(), args[1]->end(), *args[0]) != args[1]->end()); + } break; + case Op::Equal: { + const auto args = get_arguments<2>(node); + make_result(*args[0] == *args[1]); + } break; + case Op::NotEqual: { + const auto args = get_arguments<2>(node); + make_result(*args[0] != *args[1]); + } break; + case Op::Greater: { + const auto args = get_arguments<2>(node); + make_result(*args[0] > *args[1]); + } break; + case Op::GreaterEqual: { + const auto args = get_arguments<2>(node); + make_result(*args[0] >= *args[1]); + } break; + case Op::Less: { + const auto args = get_arguments<2>(node); + make_result(*args[0] < *args[1]); + } break; + case Op::LessEqual: { + const auto args = get_arguments<2>(node); + make_result(*args[0] <= *args[1]); + } break; + case Op::Add: { + const auto args = get_arguments<2>(node); + if (args[0]->is_string() && args[1]->is_string()) { + make_result(args[0]->get_ref() + args[1]->get_ref()); + } else if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + make_result(args[0]->get() + args[1]->get()); + } else { + make_result(args[0]->get() + args[1]->get()); + } + } break; + case Op::Subtract: { + const auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + make_result(args[0]->get() - args[1]->get()); + } else { + make_result(args[0]->get() - args[1]->get()); + } + } break; + case Op::Multiplication: { + const auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + make_result(args[0]->get() * args[1]->get()); + } else { + make_result(args[0]->get() * args[1]->get()); + } + } break; + case Op::Division: { + const auto args = get_arguments<2>(node); + if (args[1]->get() == 0) { + throw_renderer_error("division by zero", node); + } + make_result(args[0]->get() / args[1]->get()); + } break; + case Op::Power: { + const auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->get() >= 0) { + int result = static_cast(std::pow(args[0]->get(), args[1]->get())); + make_result(result); + } else { + double result = std::pow(args[0]->get(), args[1]->get()); + make_result(result); + } + } break; + case Op::Modulo: { + const auto args = get_arguments<2>(node); + make_result(args[0]->get() % args[1]->get()); + } break; + case Op::AtId: { + const auto container = get_arguments<1, 0, false>(node)[0]; + node.arguments[1]->accept(*this); + if (not_found_stack.empty()) { + throw_renderer_error("could not find element with given name", node); + } + const auto id_node = not_found_stack.top(); + not_found_stack.pop(); + data_eval_stack.pop(); + data_eval_stack.push(&container->at(id_node->name)); + } break; + case Op::At: { + const auto args = get_arguments<2>(node); + if (args[0]->is_object()) { + data_eval_stack.push(&args[0]->at(args[1]->get())); + } else { + data_eval_stack.push(&args[0]->at(args[1]->get())); + } + } break; + case Op::Default: { + const auto test_arg = get_arguments<1, 0, false>(node)[0]; + data_eval_stack.push(test_arg ? test_arg : get_arguments<1, 1>(node)[0]); + } break; + case Op::DivisibleBy: { + const auto args = get_arguments<2>(node); + const int divisor = args[1]->get(); + make_result((divisor != 0) && (args[0]->get() % divisor == 0)); + } break; + case Op::Even: { + make_result(get_arguments<1>(node)[0]->get() % 2 == 0); + } break; + case Op::Exists: { + auto&& name = get_arguments<1>(node)[0]->get_ref(); + make_result(data_input->contains(json::json_pointer(DataNode::convert_dot_to_ptr(name)))); + } break; + case Op::ExistsInObject: { + const auto args = get_arguments<2>(node); + auto&& name = args[1]->get_ref(); + make_result(args[0]->find(name) != args[0]->end()); + } break; + case Op::First: { + const auto result = &get_arguments<1>(node)[0]->front(); + data_eval_stack.push(result); + } break; + case Op::Float: { + make_result(std::stod(get_arguments<1>(node)[0]->get_ref())); + } break; + case Op::Int: { + make_result(std::stoi(get_arguments<1>(node)[0]->get_ref())); + } break; + case Op::Last: { + const auto result = &get_arguments<1>(node)[0]->back(); + data_eval_stack.push(result); + } break; + case Op::Length: { + const auto val = get_arguments<1>(node)[0]; + if (val->is_string()) { + make_result(val->get_ref().length()); + } else { + make_result(val->size()); + } + } break; + case Op::Lower: { + std::string result = get_arguments<1>(node)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::tolower); + make_result(std::move(result)); + } break; + case Op::Max: { + const auto args = get_arguments<1>(node); + const auto result = std::max_element(args[0]->begin(), args[0]->end()); + data_eval_stack.push(&(*result)); + } break; + case Op::Min: { + const auto args = get_arguments<1>(node); + const auto result = std::min_element(args[0]->begin(), args[0]->end()); + data_eval_stack.push(&(*result)); + } break; + case Op::Odd: { + make_result(get_arguments<1>(node)[0]->get() % 2 != 0); + } break; + case Op::Range: { + std::vector result(get_arguments<1>(node)[0]->get()); + std::iota(result.begin(), result.end(), 0); + make_result(std::move(result)); + } break; + case Op::Round: { + const auto args = get_arguments<2>(node); + const int precision = args[1]->get(); + const double result = std::round(args[0]->get() * std::pow(10.0, precision)) / std::pow(10.0, precision); + if (precision == 0) { + make_result(int(result)); + } else { + make_result(result); + } + } break; + case Op::Sort: { + auto result_ptr = std::make_shared(get_arguments<1>(node)[0]->get>()); + std::sort(result_ptr->begin(), result_ptr->end()); + data_tmp_stack.push_back(result_ptr); + data_eval_stack.push(result_ptr.get()); + } break; + case Op::Upper: { + std::string result = get_arguments<1>(node)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::toupper); + make_result(std::move(result)); + } break; + case Op::IsBoolean: { + make_result(get_arguments<1>(node)[0]->is_boolean()); + } break; + case Op::IsNumber: { + make_result(get_arguments<1>(node)[0]->is_number()); + } break; + case Op::IsInteger: { + make_result(get_arguments<1>(node)[0]->is_number_integer()); + } break; + case Op::IsFloat: { + make_result(get_arguments<1>(node)[0]->is_number_float()); + } break; + case Op::IsObject: { + make_result(get_arguments<1>(node)[0]->is_object()); + } break; + case Op::IsArray: { + make_result(get_arguments<1>(node)[0]->is_array()); + } break; + case Op::IsString: { + make_result(get_arguments<1>(node)[0]->is_string()); + } break; + case Op::Callback: { + auto args = get_argument_vector(node); + make_result(node.callback(args)); + } break; + case Op::Super: { + const auto args = get_argument_vector(node); + const size_t old_level = current_level; + const size_t level_diff = (args.size() == 1) ? args[0]->get() : 1; + const size_t level = current_level + level_diff; + + if (block_statement_stack.empty()) { + throw_renderer_error("super() call is not within a block", node); + } + + if (level < 1 || level > template_stack.size() - 1) { + throw_renderer_error("level of super() call does not match parent templates (between 1 and " + std::to_string(template_stack.size() - 1) + ")", node); + } + + const auto current_block_statement = block_statement_stack.back(); + const Template* new_template = template_stack.at(level); + const Template* old_template = current_template; + const auto block_it = new_template->block_storage.find(current_block_statement->name); + if (block_it != new_template->block_storage.end()) { + current_template = new_template; + current_level = level; + block_it->second->block.accept(*this); + current_level = old_level; + current_template = old_template; + } else { + throw_renderer_error("could not find block with name '" + current_block_statement->name + "'", node); + } + make_result(nullptr); + } break; + case Op::Join: { + const auto args = get_arguments<2>(node); + const auto separator = args[1]->get(); + std::ostringstream os; + std::string sep; + for (const auto& value : *args[0]) { + os << sep; + if (value.is_string()) { + os << value.get(); // otherwise the value is surrounded with "" + } else { + os << value.dump(); + } + sep = separator; + } + make_result(os.str()); + } break; + case Op::ParenLeft: + case Op::ParenRight: + case Op::None: + break; + } + } + + void visit(const ExpressionListNode& node) { + print_data(eval_expression_list(node)); + } + + void visit(const StatementNode&) {} + + void visit(const ForStatementNode&) {} + + void visit(const ForArrayStatementNode& node) { + const auto result = eval_expression_list(node.condition); + if (!result->is_array()) { + throw_renderer_error("object must be an array", node); + } + + if (!current_loop_data->empty()) { + auto tmp = *current_loop_data; // Because of clang-3 + (*current_loop_data)["parent"] = std::move(tmp); + } + + size_t index = 0; + (*current_loop_data)["is_first"] = true; + (*current_loop_data)["is_last"] = (result->size() <= 1); + for (auto it = result->begin(); it != result->end(); ++it) { + additional_data[static_cast(node.value)] = *it; + + (*current_loop_data)["index"] = index; + (*current_loop_data)["index1"] = index + 1; + if (index == 1) { + (*current_loop_data)["is_first"] = false; + } + if (index == result->size() - 1) { + (*current_loop_data)["is_last"] = true; + } + + node.body.accept(*this); + ++index; + } + + additional_data[static_cast(node.value)].clear(); + if (!(*current_loop_data)["parent"].empty()) { + const auto tmp = (*current_loop_data)["parent"]; + *current_loop_data = std::move(tmp); + } else { + current_loop_data = &additional_data["loop"]; + } + } + + void visit(const ForObjectStatementNode& node) { + const auto result = eval_expression_list(node.condition); + if (!result->is_object()) { + throw_renderer_error("object must be an object", node); + } + + if (!current_loop_data->empty()) { + (*current_loop_data)["parent"] = std::move(*current_loop_data); + } + + size_t index = 0; + (*current_loop_data)["is_first"] = true; + (*current_loop_data)["is_last"] = (result->size() <= 1); + for (auto it = result->begin(); it != result->end(); ++it) { + additional_data[static_cast(node.key)] = it.key(); + additional_data[static_cast(node.value)] = it.value(); + + (*current_loop_data)["index"] = index; + (*current_loop_data)["index1"] = index + 1; + if (index == 1) { + (*current_loop_data)["is_first"] = false; + } + if (index == result->size() - 1) { + (*current_loop_data)["is_last"] = true; + } + + node.body.accept(*this); + ++index; + } + + additional_data[static_cast(node.key)].clear(); + additional_data[static_cast(node.value)].clear(); + if (!(*current_loop_data)["parent"].empty()) { + *current_loop_data = std::move((*current_loop_data)["parent"]); + } else { + current_loop_data = &additional_data["loop"]; + } + } + + void visit(const IfStatementNode& node) { + const auto result = eval_expression_list(node.condition); + if (truthy(result.get())) { + node.true_statement.accept(*this); + } else if (node.has_false_statement) { + node.false_statement.accept(*this); + } + } + + void visit(const IncludeStatementNode& node) { + auto sub_renderer = Renderer(config, template_storage, function_storage); + const auto included_template_it = template_storage.find(node.file); + if (included_template_it != template_storage.end()) { + sub_renderer.render_to(*output_stream, included_template_it->second, *data_input, &additional_data); + } else if (config.throw_at_missing_includes) { + throw_renderer_error("include '" + node.file + "' not found", node); + } + } + + void visit(const ExtendsStatementNode& node) { + const auto included_template_it = template_storage.find(node.file); + if (included_template_it != template_storage.end()) { + const Template* parent_template = &included_template_it->second; + render_to(*output_stream, *parent_template, *data_input, &additional_data); + break_rendering = true; + } else if (config.throw_at_missing_includes) { + throw_renderer_error("extends '" + node.file + "' not found", node); + } + } + + void visit(const BlockStatementNode& node) { + const size_t old_level = current_level; + current_level = 0; + current_template = template_stack.front(); + const auto block_it = current_template->block_storage.find(node.name); + if (block_it != current_template->block_storage.end()) { + block_statement_stack.emplace_back(&node); + block_it->second->block.accept(*this); + block_statement_stack.pop_back(); + } + current_level = old_level; + current_template = template_stack.back(); + } + + void visit(const SetStatementNode& node) { + std::string ptr = node.key; + replace_substring(ptr, ".", "/"); + ptr = "/" + ptr; + additional_data[json::json_pointer(ptr)] = *eval_expression_list(node.expression); + } + +public: + Renderer(const RenderConfig& config, const TemplateStorage& template_storage, const FunctionStorage& function_storage) + : config(config), template_storage(template_storage), function_storage(function_storage) {} + + void render_to(std::ostream& os, const Template& tmpl, const json& data, json* loop_data = nullptr) { + output_stream = &os; + current_template = &tmpl; + data_input = &data; + if (loop_data) { + additional_data = *loop_data; + current_loop_data = &additional_data["loop"]; + } + + template_stack.emplace_back(current_template); + current_template->root.accept(*this); + + data_tmp_stack.clear(); } }; -} // namespace inja +} // namespace inja -#endif // PANTOR_INJA_RENDERER_HPP - -// #include "string_view.hpp" +#endif // INCLUDE_INJA_RENDERER_HPP_ // #include "template.hpp" // #include "utils.hpp" - namespace inja { -using namespace nlohmann; - /*! * \brief Class for changing the configuration. */ class Environment { - class Impl { - public: - std::string input_path; - std::string output_path; + std::string input_path; + std::string output_path; - LexerConfig lexer_config; - ParserConfig parser_config; + LexerConfig lexer_config; + ParserConfig parser_config; + RenderConfig render_config; - FunctionStorage callbacks; - TemplateStorage included_templates; - }; + FunctionStorage function_storage; + TemplateStorage template_storage; - std::unique_ptr m_impl; +public: + Environment(): Environment("") {} - public: - Environment(): Environment("") { } + explicit Environment(const std::string& global_path): input_path(global_path), output_path(global_path) {} - explicit Environment(const std::string& global_path): m_impl(stdinja::make_unique()) { - m_impl->input_path = global_path; - m_impl->output_path = global_path; - } - - explicit Environment(const std::string& input_path, const std::string& output_path): m_impl(stdinja::make_unique()) { - m_impl->input_path = input_path; - m_impl->output_path = output_path; - } + Environment(const std::string& input_path, const std::string& output_path): input_path(input_path), output_path(output_path) {} /// Sets the opener and closer for template statements void set_statement(const std::string& open, const std::string& close) { - m_impl->lexer_config.statement_open = open; - m_impl->lexer_config.statement_close = close; - m_impl->lexer_config.update_open_chars(); + lexer_config.statement_open = open; + lexer_config.statement_open_no_lstrip = open + "+"; + lexer_config.statement_open_force_lstrip = open + "-"; + lexer_config.statement_close = close; + lexer_config.statement_close_force_rstrip = "-" + close; + lexer_config.update_open_chars(); } /// Sets the opener for template line statements void set_line_statement(const std::string& open) { - m_impl->lexer_config.line_statement = open; - m_impl->lexer_config.update_open_chars(); + lexer_config.line_statement = open; + lexer_config.update_open_chars(); } /// Sets the opener and closer for template expressions void set_expression(const std::string& open, const std::string& close) { - m_impl->lexer_config.expression_open = open; - m_impl->lexer_config.expression_close = close; - m_impl->lexer_config.update_open_chars(); + lexer_config.expression_open = open; + lexer_config.expression_open_force_lstrip = open + "-"; + lexer_config.expression_close = close; + lexer_config.expression_close_force_rstrip = "-" + close; + lexer_config.update_open_chars(); } /// Sets the opener and closer for template comments void set_comment(const std::string& open, const std::string& close) { - m_impl->lexer_config.comment_open = open; - m_impl->lexer_config.comment_close = close; - m_impl->lexer_config.update_open_chars(); + lexer_config.comment_open = open; + lexer_config.comment_open_force_lstrip = open + "-"; + lexer_config.comment_close = close; + lexer_config.comment_close_force_rstrip = "-" + close; + lexer_config.update_open_chars(); } /// Sets whether to remove the first newline after a block void set_trim_blocks(bool trim_blocks) { - m_impl->lexer_config.trim_blocks = trim_blocks; + lexer_config.trim_blocks = trim_blocks; } /// Sets whether to strip the spaces and tabs from the start of a line to a block void set_lstrip_blocks(bool lstrip_blocks) { - m_impl->lexer_config.lstrip_blocks = lstrip_blocks; + lexer_config.lstrip_blocks = lstrip_blocks; } /// Sets the element notation syntax - void set_element_notation(ElementNotation notation) { - m_impl->parser_config.notation = notation; + void set_search_included_templates_in_files(bool search_in_files) { + parser_config.search_included_templates_in_files = search_in_files; } + /// Sets whether a missing include will throw an error + void set_throw_at_missing_includes(bool will_throw) { + render_config.throw_at_missing_includes = will_throw; + } - Template parse(nonstd::string_view input) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + Template parse(std::string_view input) { + Parser parser(parser_config, lexer_config, template_storage, function_storage); return parser.parse(input); } Template parse_template(const std::string& filename) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.parse_template(m_impl->input_path + static_cast(filename)); - } + Parser parser(parser_config, lexer_config, template_storage, function_storage); + auto result = Template(parser.load_file(input_path + static_cast(filename))); + parser.parse_into_template(result, input_path + static_cast(filename)); + return result; + } - std::string render(nonstd::string_view input, const json& data) { + Template parse_file(const std::string& filename) { + return parse_template(filename); + } + + std::string render(std::string_view input, const json& data) { return render(parse(input), data); } @@ -3437,55 +2821,85 @@ class Environment { } std::string render_file(const std::string& filename, const json& data) { - return render(parse_template(filename), data); - } + return render(parse_template(filename), data); + } std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) { - const json data = load_json(filename_data); - return render_file(filename, data); - } + const json data = load_json(filename_data); + return render_file(filename, data); + } void write(const std::string& filename, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render_file(filename, data); - file.close(); - } + std::ofstream file(output_path + filename_out); + file << render_file(filename, data); + file.close(); + } void write(const Template& temp, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render(temp, data); - file.close(); - } + std::ofstream file(output_path + filename_out); + file << render(temp, data); + file.close(); + } - void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(filename, data, filename_out); - } + void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(filename, data, filename_out); + } - void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(temp, data, filename_out); - } + void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(temp, data, filename_out); + } std::ostream& render_to(std::ostream& os, const Template& tmpl, const json& data) { - Renderer(m_impl->included_templates, m_impl->callbacks).render_to(os, tmpl, data); + Renderer(render_config, template_storage, function_storage).render_to(os, tmpl, data); return os; } std::string load_file(const std::string& filename) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.load_file(m_impl->input_path + filename); - } + Parser parser(parser_config, lexer_config, template_storage, function_storage); + return parser.load_file(input_path + filename); + } json load_json(const std::string& filename) { - std::ifstream file = open_file_or_throw(m_impl->input_path + filename); - json j; - file >> j; - return j; + std::ifstream file; + file.open(input_path + filename); + if (file.fail()) { + INJA_THROW(FileError("failed accessing file at '" + input_path + filename + "'")); } - void add_callback(const std::string& name, unsigned int numArgs, const CallbackFunction& callback) { - m_impl->callbacks.add_callback(name, numArgs, callback); + return json::parse(std::istreambuf_iterator(file), std::istreambuf_iterator()); + } + + /*! + @brief Adds a variadic callback + */ + void add_callback(const std::string& name, const CallbackFunction& callback) { + add_callback(name, -1, callback); + } + + /*! + @brief Adds a variadic void callback + */ + void add_void_callback(const std::string& name, const VoidCallbackFunction& callback) { + add_void_callback(name, -1, callback); + } + + /*! + @brief Adds a callback with given number or arguments + */ + void add_callback(const std::string& name, int num_args, const CallbackFunction& callback) { + function_storage.add_callback(name, num_args, callback); + } + + /*! + @brief Adds a void callback with given number or arguments + */ + void add_void_callback(const std::string& name, int num_args, const VoidCallbackFunction& callback) { + function_storage.add_callback(name, num_args, [callback](Arguments& args) { + callback(args); + return json(); + }); } /** Includes a template with a given name into the environment. @@ -3493,37 +2907,43 @@ class Environment { * include "" syntax. */ void include_template(const std::string& name, const Template& tmpl) { - m_impl->included_templates[name] = tmpl; + template_storage[name] = tmpl; + } + + /*! + @brief Sets a function that is called when an included file is not found + */ + void set_include_callback(const std::function& callback) { + parser_config.include_callback = callback; } }; /*! @brief render with default settings to a string */ -inline std::string render(nonstd::string_view input, const json& data) { +inline std::string render(std::string_view input, const json& data) { return Environment().render(input, data); } /*! @brief render with default settings to the given output stream */ -inline void render_to(std::ostream& os, nonstd::string_view input, const json& data) { +inline void render_to(std::ostream& os, std::string_view input, const json& data) { Environment env; env.render_to(os, env.parse(input), data); } -} +} // namespace inja -#endif // PANTOR_INJA_ENVIRONMENT_HPP +#endif // INCLUDE_INJA_ENVIRONMENT_HPP_ -// #include "string_view.hpp" - -// #include "template.hpp" +// #include "exceptions.hpp" // #include "parser.hpp" // #include "renderer.hpp" +// #include "template.hpp" -#endif // PANTOR_INJA_HPP +#endif // INCLUDE_INJA_INJA_HPP_ diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index 2ba5fd082..23056a5ff 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -7,6 +7,9 @@ #include using std::string; using std::to_string; +#include +using std::replace_if; + #include using namespace inja; using json = nlohmann::json; @@ -33,6 +36,7 @@ int main(int argc, char *argv[]) string outputFilepath = argv[3]; Environment env; + env.set_trim_blocks(true); // Add custom command callbacks. env.add_callback("doNotModifyHeader", 0, [jsonfilepath, templateFilepath](Arguments& args) { @@ -96,6 +100,21 @@ int main(int argc, char *argv[]) return args.at(0)->empty(); }); + env.add_callback("isEmptyString", 1, [](Arguments& args) { + return args.at(0)->get().empty(); + }); + + env.add_callback("cleanString", 1, [](Arguments& args) { + string badChars = ".'{} \n\t-\u00e9"; + string str = args.at(0)->get(); + for (unsigned int i = 0; i < str.length(); i++) { + if (badChars.find(str[i]) != std::string::npos) { + str[i] = '_'; + } + } + return str; + }); + try { env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath); diff --git a/tools/jsonproc/nlohmann/json.hpp b/tools/jsonproc/nlohmann/json.hpp index 5003a4fa2..33a91164c 100755 --- a/tools/jsonproc/nlohmann/json.hpp +++ b/tools/jsonproc/nlohmann/json.hpp @@ -1,12 +1,12 @@ /* __ _____ _____ _____ __| | __| | | | JSON for Modern C++ -| | |__ | | | | | | version 3.6.1 +| | |__ | | | | | | version 3.10.5 |_____|_____|_____|_|___| https://github.com/nlohmann/json Licensed under the MIT License . SPDX-License-Identifier: MIT -Copyright (c) 2013-2019 Niels Lohmann . +Copyright (c) 2013-2022 Niels Lohmann . Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -27,20 +27,29 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/****************************************************************************\ + * Note on documentation: The source files contain links to the online * + * documentation of the public API at https://json.nlohmann.me. This URL * + * contains the most recent documentation and should also be applicable to * + * previous versions; documentation for deprecated functions is not * + * removed, but marked deprecated. See "Generate documentation" section in * + * file doc/README.md. * +\****************************************************************************/ + #ifndef INCLUDE_NLOHMANN_JSON_HPP_ #define INCLUDE_NLOHMANN_JSON_HPP_ #define NLOHMANN_JSON_VERSION_MAJOR 3 -#define NLOHMANN_JSON_VERSION_MINOR 6 -#define NLOHMANN_JSON_VERSION_PATCH 1 +#define NLOHMANN_JSON_VERSION_MINOR 10 +#define NLOHMANN_JSON_VERSION_PATCH 5 #include // all_of, find, for_each -#include // assert -#include // and, not, or #include // nullptr_t, ptrdiff_t, size_t #include // hash, less #include // initializer_list -#include // istream, ostream +#ifndef JSON_NO_IO + #include // istream, ostream +#endif // JSON_NO_IO #include // random_access_iterator_tag #include // unique_ptr #include // accumulate @@ -51,6 +60,7 @@ SOFTWARE. // #include +#include #include // #include @@ -58,7 +68,6 @@ SOFTWARE. #include // transform #include // array -#include // and, not #include // forward_list #include // inserter, front_inserter, end #include // map @@ -75,383 +84,2222 @@ SOFTWARE. #include // exception #include // runtime_error #include // to_string +#include // vector -// #include +// #include +#include // array #include // size_t +#include // uint8_t +#include // string namespace nlohmann { namespace detail { -/// struct to capture the start position of the current token -struct position_t -{ - /// the total number of characters read - std::size_t chars_read_total = 0; - /// the number of characters read in the current line - std::size_t chars_read_current_line = 0; - /// the number of lines read - std::size_t lines_read = 0; - - /// conversion to size_t to preserve SAX interface - constexpr operator size_t() const - { - return chars_read_total; - } -}; - -} // namespace detail -} // namespace nlohmann - - -namespace nlohmann -{ -namespace detail -{ -//////////////// -// exceptions // -//////////////// +/////////////////////////// +// JSON type enumeration // +/////////////////////////// /*! -@brief general exception of the @ref basic_json class +@brief the JSON type enumeration -This class is an extension of `std::exception` objects with a member @a id for -exception ids. It is used as the base class for all exceptions thrown by the -@ref basic_json class. This class can hence be used as "wildcard" to catch -exceptions. +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. -Subclasses: -- @ref parse_error for exceptions indicating a parse error -- @ref invalid_iterator for exceptions indicating errors with iterators -- @ref type_error for exceptions indicating executing a member function with - a wrong type -- @ref out_of_range for exceptions indicating access out of the defined range -- @ref other_error for exceptions indicating other library errors +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. -@internal -@note To have nothrow-copy-constructible exceptions, we internally use - `std::runtime_error` which can cope with arbitrary-length error messages. - Intermediate strings are built with static functions and then passed to - the actual constructor. -@endinternal +@sa see @ref basic_json::basic_json(const value_t value_type) -- create a JSON +value with the default value for a given type -@liveexample{The following code shows how arbitrary library exceptions can be -caught.,exception} - -@since version 3.0.0 +@since version 1.0.0 */ -class exception : public std::exception +enum class value_t : std::uint8_t { - public: - /// returns the explanatory string - const char* what() const noexcept override - { - return m.what(); - } - - /// the id of the exception - const int id; - - protected: - exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} - - static std::string name(const std::string& ename, int id_) - { - return "[json.exception." + ename + "." + std::to_string(id_) + "] "; - } - - private: - /// an exception object as storage for error messages - std::runtime_error m; + null, ///< null value + object, ///< object (unordered set of name/value pairs) + array, ///< array (ordered collection of values) + string, ///< string value + boolean, ///< boolean value + number_integer, ///< number value (signed integer) + number_unsigned, ///< number value (unsigned integer) + number_float, ///< number value (floating-point) + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function }; /*! -@brief exception indicating a parse error +@brief comparison operator for JSON types -This exception is thrown by the library when a parse error occurs. Parse errors -can occur during the deserialization of JSON text, CBOR, MessagePack, as well -as when using JSON Patch. +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string < binary +- furthermore, each type is not smaller than itself +- discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. -Member @a byte holds the byte index of the last read character in the input -file. - -Exceptions have ids 1xx. - -name / id | example message | description ------------------------------- | --------------- | ------------------------- -json.exception.parse_error.101 | parse error at 2: unexpected end of input; expected string literal | This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member @a byte indicates the error position. -json.exception.parse_error.102 | parse error at 14: missing or wrong low surrogate | JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. -json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. -json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. -json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. -json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. -json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. -json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences. -json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number. -json.exception.parse_error.110 | parse error at 1: cannot read 2 bytes from vector | When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. -json.exception.parse_error.112 | parse error at 1: error reading CBOR; last byte: 0xF8 | Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. -json.exception.parse_error.113 | parse error at 2: expected a CBOR string; last byte: 0x98 | While parsing a map key, a value that is not a string has been read. -json.exception.parse_error.114 | parse error: Unsupported BSON record type 0x0F | The parsing of the corresponding BSON record type is not implemented (yet). - -@note For an input with n bytes, 1 is the index of the first character and n+1 - is the index of the terminating null byte or the end of file. This also - holds true when reading a byte vector (CBOR or MessagePack). - -@liveexample{The following code shows how a `parse_error` exception can be -caught.,parse_error} - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref invalid_iterator for exceptions indicating errors with iterators -@sa - @ref type_error for exceptions indicating executing a member function with - a wrong type -@sa - @ref out_of_range for exceptions indicating access out of the defined range -@sa - @ref other_error for exceptions indicating other library errors - -@since version 3.0.0 +@since version 1.0.0 */ -class parse_error : public exception +inline bool operator<(const value_t lhs, const value_t rhs) noexcept { - public: - /*! - @brief create a parse error exception - @param[in] id_ the id of the exception - @param[in] pos the position where the error occurred (or with - chars_read_total=0 if the position cannot be - determined) - @param[in] what_arg the explanatory string - @return parse_error object - */ - static parse_error create(int id_, const position_t& pos, const std::string& what_arg) - { - std::string w = exception::name("parse_error", id_) + "parse error" + - position_string(pos) + ": " + what_arg; - return parse_error(id_, pos.chars_read_total, w.c_str()); - } + static constexpr std::array order = {{ + 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ + } + }; - static parse_error create(int id_, std::size_t byte_, const std::string& what_arg) - { - std::string w = exception::name("parse_error", id_) + "parse error" + - (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") + - ": " + what_arg; - return parse_error(id_, byte_, w.c_str()); - } - - /*! - @brief byte index of the parse error - - The byte index of the last read character in the input file. - - @note For an input with n bytes, 1 is the index of the first character and - n+1 is the index of the terminating null byte or the end of file. - This also holds true when reading a byte vector (CBOR or MessagePack). - */ - const std::size_t byte; - - private: - parse_error(int id_, std::size_t byte_, const char* what_arg) - : exception(id_, what_arg), byte(byte_) {} - - static std::string position_string(const position_t& pos) - { - return " at line " + std::to_string(pos.lines_read + 1) + - ", column " + std::to_string(pos.chars_read_current_line); - } -}; - -/*! -@brief exception indicating errors with iterators - -This exception is thrown if iterators passed to a library function do not match -the expected semantics. - -Exceptions have ids 2xx. - -name / id | example message | description ------------------------------------ | --------------- | ------------------------- -json.exception.invalid_iterator.201 | iterators are not compatible | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. -json.exception.invalid_iterator.202 | iterator does not fit current value | In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. -json.exception.invalid_iterator.203 | iterators do not fit current value | Either iterator passed to function @ref erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. -json.exception.invalid_iterator.204 | iterators out of range | When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (@ref begin(), @ref end()), because this is the only way the single stored value is expressed. All other ranges are invalid. -json.exception.invalid_iterator.205 | iterator out of range | When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the @ref begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. -json.exception.invalid_iterator.206 | cannot construct with iterators from null | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. -json.exception.invalid_iterator.207 | cannot use key() for non-object iterators | The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. -json.exception.invalid_iterator.208 | cannot use operator[] for object iterators | The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. -json.exception.invalid_iterator.209 | cannot use offsets with object iterators | The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. -json.exception.invalid_iterator.210 | iterators do not fit | The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. -json.exception.invalid_iterator.211 | passed iterators may not belong to container | The iterator range passed to the insert function must not be a subrange of the container to insert to. -json.exception.invalid_iterator.212 | cannot compare iterators of different containers | When two iterators are compared, they must belong to the same container. -json.exception.invalid_iterator.213 | cannot compare order of object iterators | The order of object iterators cannot be compared, because JSON objects are unordered. -json.exception.invalid_iterator.214 | cannot get value | Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to @ref begin(). - -@liveexample{The following code shows how an `invalid_iterator` exception can be -caught.,invalid_iterator} - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref parse_error for exceptions indicating a parse error -@sa - @ref type_error for exceptions indicating executing a member function with - a wrong type -@sa - @ref out_of_range for exceptions indicating access out of the defined range -@sa - @ref other_error for exceptions indicating other library errors - -@since version 3.0.0 -*/ -class invalid_iterator : public exception -{ - public: - static invalid_iterator create(int id_, const std::string& what_arg) - { - std::string w = exception::name("invalid_iterator", id_) + what_arg; - return invalid_iterator(id_, w.c_str()); - } - - private: - invalid_iterator(int id_, const char* what_arg) - : exception(id_, what_arg) {} -}; - -/*! -@brief exception indicating executing a member function with a wrong type - -This exception is thrown in case of a type error; that is, a library function is -executed on a JSON value whose type does not match the expected semantics. - -Exceptions have ids 3xx. - -name / id | example message | description ------------------------------ | --------------- | ------------------------- -json.exception.type_error.301 | cannot create object from initializer list | To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. -json.exception.type_error.302 | type must be object, but is array | During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. -json.exception.type_error.303 | incompatible ReferenceType for get_ref, actual type is object | To retrieve a reference to a value stored in a @ref basic_json object with @ref get_ref, the type of the reference must match the value type. For instance, for a JSON array, the @a ReferenceType must be @ref array_t &. -json.exception.type_error.304 | cannot use at() with string | The @ref at() member functions can only be executed for certain JSON types. -json.exception.type_error.305 | cannot use operator[] with string | The @ref operator[] member functions can only be executed for certain JSON types. -json.exception.type_error.306 | cannot use value() with string | The @ref value() member functions can only be executed for certain JSON types. -json.exception.type_error.307 | cannot use erase() with string | The @ref erase() member functions can only be executed for certain JSON types. -json.exception.type_error.308 | cannot use push_back() with string | The @ref push_back() and @ref operator+= member functions can only be executed for certain JSON types. -json.exception.type_error.309 | cannot use insert() with | The @ref insert() member functions can only be executed for certain JSON types. -json.exception.type_error.310 | cannot use swap() with number | The @ref swap() member functions can only be executed for certain JSON types. -json.exception.type_error.311 | cannot use emplace_back() with string | The @ref emplace_back() member function can only be executed for certain JSON types. -json.exception.type_error.312 | cannot use update() with string | The @ref update() member functions can only be executed for certain JSON types. -json.exception.type_error.313 | invalid value to unflatten | The @ref unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. -json.exception.type_error.314 | only objects can be unflattened | The @ref unflatten function only works for an object whose keys are JSON Pointers. -json.exception.type_error.315 | values in object must be primitive | The @ref unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. -json.exception.type_error.316 | invalid UTF-8 byte at index 10: 0x7E | The @ref dump function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. | -json.exception.type_error.317 | JSON value cannot be serialized to requested format | The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw `true` or `null` JSON object cannot be serialized to BSON) | - -@liveexample{The following code shows how a `type_error` exception can be -caught.,type_error} - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref parse_error for exceptions indicating a parse error -@sa - @ref invalid_iterator for exceptions indicating errors with iterators -@sa - @ref out_of_range for exceptions indicating access out of the defined range -@sa - @ref other_error for exceptions indicating other library errors - -@since version 3.0.0 -*/ -class type_error : public exception -{ - public: - static type_error create(int id_, const std::string& what_arg) - { - std::string w = exception::name("type_error", id_) + what_arg; - return type_error(id_, w.c_str()); - } - - private: - type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} -}; - -/*! -@brief exception indicating access out of the defined range - -This exception is thrown in case a library function is called on an input -parameter that exceeds the expected range, for instance in case of array -indices or nonexisting object keys. - -Exceptions have ids 4xx. - -name / id | example message | description -------------------------------- | --------------- | ------------------------- -json.exception.out_of_range.401 | array index 3 is out of range | The provided array index @a i is larger than @a size-1. -json.exception.out_of_range.402 | array index '-' (3) is out of range | The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. -json.exception.out_of_range.403 | key 'foo' not found | The provided key was not found in the JSON object. -json.exception.out_of_range.404 | unresolved reference token 'foo' | A reference token in a JSON Pointer could not be resolved. -json.exception.out_of_range.405 | JSON pointer has no parent | The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. -json.exception.out_of_range.406 | number overflow parsing '10E1000' | A parsed number could not be stored as without changing it to NaN or INF. -json.exception.out_of_range.407 | number overflow serializing '9223372036854775808' | UBJSON and BSON only support integer numbers up to 9223372036854775807. | -json.exception.out_of_range.408 | excessive array size: 8658170730974374167 | The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. | -json.exception.out_of_range.409 | BSON key cannot contain code point U+0000 (at byte 2) | Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string | - -@liveexample{The following code shows how an `out_of_range` exception can be -caught.,out_of_range} - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref parse_error for exceptions indicating a parse error -@sa - @ref invalid_iterator for exceptions indicating errors with iterators -@sa - @ref type_error for exceptions indicating executing a member function with - a wrong type -@sa - @ref other_error for exceptions indicating other library errors - -@since version 3.0.0 -*/ -class out_of_range : public exception -{ - public: - static out_of_range create(int id_, const std::string& what_arg) - { - std::string w = exception::name("out_of_range", id_) + what_arg; - return out_of_range(id_, w.c_str()); - } - - private: - out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} -}; - -/*! -@brief exception indicating other library errors - -This exception is thrown in case of errors that cannot be classified with the -other exception types. - -Exceptions have ids 5xx. - -name / id | example message | description ------------------------------- | --------------- | ------------------------- -json.exception.other_error.501 | unsuccessful: {"op":"test","path":"/baz", "value":"bar"} | A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref parse_error for exceptions indicating a parse error -@sa - @ref invalid_iterator for exceptions indicating errors with iterators -@sa - @ref type_error for exceptions indicating executing a member function with - a wrong type -@sa - @ref out_of_range for exceptions indicating access out of the defined range - -@liveexample{The following code shows how an `other_error` exception can be -caught.,other_error} - -@since version 3.0.0 -*/ -class other_error : public exception -{ - public: - static other_error create(int id_, const std::string& what_arg) - { - std::string w = exception::name("other_error", id_) + what_arg; - return other_error(id_, w.c_str()); - } - - private: - other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} -}; + const auto l_index = static_cast(lhs); + const auto r_index = static_cast(rhs); + return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; +} } // namespace detail } // namespace nlohmann +// #include + + +#include // #include -#include // pair +#include // declval, pair +// #include + + +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + * + * To the extent possible under law, the author(s) have dedicated all + * copyright and related and neighboring rights to this software to + * the public domain worldwide. This software is distributed without + * any warranty. + * + * For details, see . + * SPDX-License-Identifier: CC0-1.0 + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 15 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(JSON_HEDLEY_MSVC_VERSION) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #undef JSON_HEDLEY_INTEL_CL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL) + #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #undef JSON_HEDLEY_MCST_LCC_VERSION +#endif +#if defined(__LCC__) && defined(__LCC_MINOR__) + #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) + #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_CRAY_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) && \ + !defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if \ + defined(__has_attribute) && \ + ( \ + (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \ + ) +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunused-function") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif \ + (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#else + #define JSON_HEDLEY_FLAGS +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if \ + (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + +// #include + + +#include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; +} // namespace detail +} // namespace nlohmann + + +// https://en.cppreference.com/w/cpp/experimental/is_detected +namespace nlohmann +{ +namespace detail +{ +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template class Op, class... Args> +using is_detected = typename detector::value_t; + +template class Op, class... Args> +struct is_detected_lazy : is_detected { }; + +template class Op, class... Args> +using detected_t = typename detector::type; + +template class Op, class... Args> +using detected_or = detector; + +template class Op, class... Args> +using detected_or_t = typename detected_or::type; + +template class Op, class... Args> +using is_detected_exact = std::is_same>; + +template class Op, class... Args> +using is_detected_convertible = + std::is_convertible, To>; +} // namespace detail +} // namespace nlohmann + // This file contains all internal macro definitions // You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them @@ -469,41 +2317,100 @@ class other_error : public exception #endif #endif -// disable float-equal warnings on GCC/clang -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wfloat-equal" +// C++ language standard detection +// if the user manually specified the used c++ version this is skipped +#if !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11) + #if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 + #endif + // the cpp 11 flag is always specified because it is the minimal required version + #define JSON_HAS_CPP_11 +#endif + +#if !defined(JSON_HAS_FILESYSTEM) && !defined(JSON_HAS_EXPERIMENTAL_FILESYSTEM) + #ifdef JSON_HAS_CPP_17 + #if defined(__cpp_lib_filesystem) + #define JSON_HAS_FILESYSTEM 1 + #elif defined(__cpp_lib_experimental_filesystem) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif !defined(__has_include) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #endif + + // std::filesystem does not work on MinGW GCC 8: https://sourceforge.net/p/mingw-w64/bugs/737/ + #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ == 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before GCC 8: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before Clang 7: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__clang_major__) && __clang_major__ < 7 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before MSVC 19.14: https://en.cppreference.com/w/cpp/compiler_support + #if defined(_MSC_VER) && _MSC_VER < 1914 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before iOS 13 + #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before macOS Catalina + #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + #endif +#endif + +#ifndef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_FILESYSTEM + #define JSON_HAS_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_THREE_WAY_COMPARISON + #if defined(__cpp_lib_three_way_comparison) && __cpp_lib_three_way_comparison >= 201907L \ + && defined(__cpp_impl_three_way_comparison)&& __cpp_impl_three_way_comparison >= 201907L + #define JSON_HAS_THREE_WAY_COMPARISON 1 + #else + #define JSON_HAS_THREE_WAY_COMPARISON 0 + #endif #endif // disable documentation warnings on clang #if defined(__clang__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" #endif -// allow for portable deprecation warnings -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #define JSON_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) - #define JSON_DEPRECATED __declspec(deprecated) -#else - #define JSON_DEPRECATED -#endif - -// allow for portable nodiscard warnings -#if defined(__has_cpp_attribute) - #if __has_cpp_attribute(nodiscard) - #define JSON_NODISCARD [[nodiscard]] - #elif __has_cpp_attribute(gnu::warn_unused_result) - #define JSON_NODISCARD [[gnu::warn_unused_result]] - #else - #define JSON_NODISCARD - #endif -#else - #define JSON_NODISCARD -#endif - -// allow to disable exceptions +// allow disabling exceptions #if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) #define JSON_THROW(exception) throw exception #define JSON_TRY try @@ -537,21 +2444,17 @@ class other_error : public exception #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER #endif -// manual branch prediction -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #define JSON_LIKELY(x) __builtin_expect(x, 1) - #define JSON_UNLIKELY(x) __builtin_expect(x, 0) -#else - #define JSON_LIKELY(x) x - #define JSON_UNLIKELY(x) x +// allow overriding assert +#if !defined(JSON_ASSERT) + #include // assert + #define JSON_ASSERT(x) assert(x) #endif -// C++ language standard detection -#if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 - #define JSON_HAS_CPP_17 - #define JSON_HAS_CPP_14 -#elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) - #define JSON_HAS_CPP_14 +// allow to access some private functions (needed by the test suite) +#if defined(JSON_TESTS_PRIVATE) + #define JSON_PRIVATE_UNLESS_TESTED public +#else + #define JSON_PRIVATE_UNLESS_TESTED private #endif /*! @@ -559,30 +2462,30 @@ class other_error : public exception @def NLOHMANN_JSON_SERIALIZE_ENUM @since version 3.4.0 */ -#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ - template \ - inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ - { \ - static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ - static const std::pair m[] = __VA_ARGS__; \ - auto it = std::find_if(std::begin(m), std::end(m), \ - [e](const std::pair& ej_pair) -> bool \ - { \ - return ej_pair.first == e; \ - }); \ - j = ((it != std::end(m)) ? it : std::begin(m))->second; \ - } \ - template \ - inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ - { \ - static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ - static const std::pair m[] = __VA_ARGS__; \ - auto it = std::find_if(std::begin(m), std::end(m), \ - [j](const std::pair& ej_pair) -> bool \ - { \ - return ej_pair.second == j; \ - }); \ - e = ((it != std::end(m)) ? it : std::begin(m))->first; \ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ } // Ugly macros to avoid uglier copy-paste when specializing basic_json. They @@ -594,62 +2497,689 @@ class other_error : public exception class StringType, class BooleanType, class NumberIntegerType, \ class NumberUnsignedType, class NumberFloatType, \ template class AllocatorType, \ - template class JSONSerializer> + template class JSONSerializer, \ + class BinaryType> #define NLOHMANN_BASIC_JSON_TPL \ basic_json + AllocatorType, JSONSerializer, BinaryType> -// #include +// Macros to simplify conversion from/to types + +#define NLOHMANN_JSON_EXPAND( x ) x +#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME +#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ + NLOHMANN_JSON_PASTE64, \ + NLOHMANN_JSON_PASTE63, \ + NLOHMANN_JSON_PASTE62, \ + NLOHMANN_JSON_PASTE61, \ + NLOHMANN_JSON_PASTE60, \ + NLOHMANN_JSON_PASTE59, \ + NLOHMANN_JSON_PASTE58, \ + NLOHMANN_JSON_PASTE57, \ + NLOHMANN_JSON_PASTE56, \ + NLOHMANN_JSON_PASTE55, \ + NLOHMANN_JSON_PASTE54, \ + NLOHMANN_JSON_PASTE53, \ + NLOHMANN_JSON_PASTE52, \ + NLOHMANN_JSON_PASTE51, \ + NLOHMANN_JSON_PASTE50, \ + NLOHMANN_JSON_PASTE49, \ + NLOHMANN_JSON_PASTE48, \ + NLOHMANN_JSON_PASTE47, \ + NLOHMANN_JSON_PASTE46, \ + NLOHMANN_JSON_PASTE45, \ + NLOHMANN_JSON_PASTE44, \ + NLOHMANN_JSON_PASTE43, \ + NLOHMANN_JSON_PASTE42, \ + NLOHMANN_JSON_PASTE41, \ + NLOHMANN_JSON_PASTE40, \ + NLOHMANN_JSON_PASTE39, \ + NLOHMANN_JSON_PASTE38, \ + NLOHMANN_JSON_PASTE37, \ + NLOHMANN_JSON_PASTE36, \ + NLOHMANN_JSON_PASTE35, \ + NLOHMANN_JSON_PASTE34, \ + NLOHMANN_JSON_PASTE33, \ + NLOHMANN_JSON_PASTE32, \ + NLOHMANN_JSON_PASTE31, \ + NLOHMANN_JSON_PASTE30, \ + NLOHMANN_JSON_PASTE29, \ + NLOHMANN_JSON_PASTE28, \ + NLOHMANN_JSON_PASTE27, \ + NLOHMANN_JSON_PASTE26, \ + NLOHMANN_JSON_PASTE25, \ + NLOHMANN_JSON_PASTE24, \ + NLOHMANN_JSON_PASTE23, \ + NLOHMANN_JSON_PASTE22, \ + NLOHMANN_JSON_PASTE21, \ + NLOHMANN_JSON_PASTE20, \ + NLOHMANN_JSON_PASTE19, \ + NLOHMANN_JSON_PASTE18, \ + NLOHMANN_JSON_PASTE17, \ + NLOHMANN_JSON_PASTE16, \ + NLOHMANN_JSON_PASTE15, \ + NLOHMANN_JSON_PASTE14, \ + NLOHMANN_JSON_PASTE13, \ + NLOHMANN_JSON_PASTE12, \ + NLOHMANN_JSON_PASTE11, \ + NLOHMANN_JSON_PASTE10, \ + NLOHMANN_JSON_PASTE9, \ + NLOHMANN_JSON_PASTE8, \ + NLOHMANN_JSON_PASTE7, \ + NLOHMANN_JSON_PASTE6, \ + NLOHMANN_JSON_PASTE5, \ + NLOHMANN_JSON_PASTE4, \ + NLOHMANN_JSON_PASTE3, \ + NLOHMANN_JSON_PASTE2, \ + NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) +#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) +#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) +#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) +#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) +#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) +#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) +#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) +#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) +#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) +#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) +#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) +#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) +#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) +#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) +#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) +#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) +#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) +#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) +#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) +#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) +#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) +#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) +#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) +#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) +#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) +#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) +#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) +#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) +#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) +#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) +#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) +#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) +#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) +#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) +#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) +#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) +#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) +#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) +#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) +#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) +#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) +#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) +#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) +#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) +#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) +#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) +#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) +#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) +#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) +#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) +#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) +#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) +#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) +#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) +#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) +#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) +#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) +#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) +#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) +#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) +#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) +#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + +#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; +#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); +#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1) nlohmann_json_t.v1 = nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1); + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { Type nlohmann_json_default_obj; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { Type nlohmann_json_default_obj; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } -#include // not -#include // size_t -#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +// inspired from https://stackoverflow.com/a/26745591 +// allows to call any std function as if (e.g. with begin): +// using std::begin; begin(x); +// +// it allows using the detected idiom to retrieve the return type +// of such an expression +#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name) \ + namespace detail { \ + using std::std_name; \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + } \ + \ + namespace detail2 { \ + struct std_name##_tag \ + { \ + }; \ + \ + template \ + std_name##_tag std_name(T&&...); \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + \ + template \ + struct would_call_std_##std_name \ + { \ + static constexpr auto const value = ::nlohmann::detail:: \ + is_detected_exact::value; \ + }; \ + } /* namespace detail2 */ \ + \ + template \ + struct would_call_std_##std_name : detail2::would_call_std_##std_name \ + { \ + } + +#ifndef JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_USE_IMPLICIT_CONVERSIONS 1 +#endif + +#if JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_EXPLICIT +#else + #define JSON_EXPLICIT explicit +#endif + +#ifndef JSON_DIAGNOSTICS + #define JSON_DIAGNOSTICS 0 +#endif + + +namespace nlohmann +{ +namespace detail +{ + +/*! +@brief replace all occurrences of a substring by another string + +@param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t +@param[in] f the substring to replace with @a t +@param[in] t the string to replace @a f + +@pre The search string @a f must not be empty. **This precondition is +enforced with an assertion.** + +@since version 2.0.0 +*/ +inline void replace_substring(std::string& s, const std::string& f, + const std::string& t) +{ + JSON_ASSERT(!f.empty()); + for (auto pos = s.find(f); // find first occurrence of f + pos != std::string::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} +} + +/*! + * @brief string escaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to escape + * @return escaped string + * + * Note the order of escaping "~" to "~0" and "/" to "~1" is important. + */ +inline std::string escape(std::string s) +{ + replace_substring(s, "~", "~0"); + replace_substring(s, "/", "~1"); + return s; +} + +/*! + * @brief string unescaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to unescape + * @return unescaped string + * + * Note the order of escaping "~1" to "/" and "~0" to "~" is important. + */ +static void unescape(std::string& s) +{ + replace_substring(s, "~1", "/"); + replace_substring(s, "~0", "~"); +} + +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // size_t + +namespace nlohmann +{ +namespace detail +{ +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +//////////////// +// exceptions // +//////////////// + +/// @brief general exception of the @ref basic_json class +/// @sa https://json.nlohmann.me/api/basic_json/exception/ +class exception : public std::exception +{ + public: + /// returns the explanatory string + const char* what() const noexcept override + { + return m.what(); + } + + /// the id of the exception + const int id; // NOLINT(cppcoreguidelines-non-private-member-variables-in-classes) + + protected: + JSON_HEDLEY_NON_NULL(3) + exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} // NOLINT(bugprone-throw-keyword-missing) + + static std::string name(const std::string& ename, int id_) + { + return "[json.exception." + ename + "." + std::to_string(id_) + "] "; + } + + template + static std::string diagnostics(const BasicJsonType& leaf_element) + { +#if JSON_DIAGNOSTICS + std::vector tokens; + for (const auto* current = &leaf_element; current->m_parent != nullptr; current = current->m_parent) + { + switch (current->m_parent->type()) + { + case value_t::array: + { + for (std::size_t i = 0; i < current->m_parent->m_value.array->size(); ++i) + { + if (¤t->m_parent->m_value.array->operator[](i) == current) + { + tokens.emplace_back(std::to_string(i)); + break; + } + } + break; + } + + case value_t::object: + { + for (const auto& element : *current->m_parent->m_value.object) + { + if (&element.second == current) + { + tokens.emplace_back(element.first.c_str()); + break; + } + } + break; + } + + case value_t::null: // LCOV_EXCL_LINE + case value_t::string: // LCOV_EXCL_LINE + case value_t::boolean: // LCOV_EXCL_LINE + case value_t::number_integer: // LCOV_EXCL_LINE + case value_t::number_unsigned: // LCOV_EXCL_LINE + case value_t::number_float: // LCOV_EXCL_LINE + case value_t::binary: // LCOV_EXCL_LINE + case value_t::discarded: // LCOV_EXCL_LINE + default: // LCOV_EXCL_LINE + break; // LCOV_EXCL_LINE + } + } + + if (tokens.empty()) + { + return ""; + } + + return "(" + std::accumulate(tokens.rbegin(), tokens.rend(), std::string{}, + [](const std::string & a, const std::string & b) + { + return a + "/" + detail::escape(b); + }) + ") "; +#else + static_cast(leaf_element); + return ""; +#endif + } + + private: + /// an exception object as storage for error messages + std::runtime_error m; +}; + +/// @brief exception indicating a parse error +/// @sa https://json.nlohmann.me/api/basic_json/parse_error/ +class parse_error : public exception +{ + public: + /*! + @brief create a parse error exception + @param[in] id_ the id of the exception + @param[in] pos the position where the error occurred (or with + chars_read_total=0 if the position cannot be + determined) + @param[in] what_arg the explanatory string + @return parse_error object + */ + template + static parse_error create(int id_, const position_t& pos, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + position_string(pos) + ": " + exception::diagnostics(context) + what_arg; + return {id_, pos.chars_read_total, w.c_str()}; + } + + template + static parse_error create(int id_, std::size_t byte_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") + + ": " + exception::diagnostics(context) + what_arg; + return {id_, byte_, w.c_str()}; + } + + /*! + @brief byte index of the parse error + + The byte index of the last read character in the input file. + + @note For an input with n bytes, 1 is the index of the first character and + n+1 is the index of the terminating null byte or the end of file. + This also holds true when reading a byte vector (CBOR or MessagePack). + */ + const std::size_t byte; + + private: + parse_error(int id_, std::size_t byte_, const char* what_arg) + : exception(id_, what_arg), byte(byte_) {} + + static std::string position_string(const position_t& pos) + { + return " at line " + std::to_string(pos.lines_read + 1) + + ", column " + std::to_string(pos.chars_read_current_line); + } +}; + +/// @brief exception indicating errors with iterators +/// @sa https://json.nlohmann.me/api/basic_json/invalid_iterator/ +class invalid_iterator : public exception +{ + public: + template + static invalid_iterator create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("invalid_iterator", id_) + exception::diagnostics(context) + what_arg; + return {id_, w.c_str()}; + } + + private: + JSON_HEDLEY_NON_NULL(3) + invalid_iterator(int id_, const char* what_arg) + : exception(id_, what_arg) {} +}; + +/// @brief exception indicating executing a member function with a wrong type +/// @sa https://json.nlohmann.me/api/basic_json/type_error/ +class type_error : public exception +{ + public: + template + static type_error create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("type_error", id_) + exception::diagnostics(context) + what_arg; + return {id_, w.c_str()}; + } + + private: + JSON_HEDLEY_NON_NULL(3) + type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/// @brief exception indicating access out of the defined range +/// @sa https://json.nlohmann.me/api/basic_json/out_of_range/ +class out_of_range : public exception +{ + public: + template + static out_of_range create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("out_of_range", id_) + exception::diagnostics(context) + what_arg; + return {id_, w.c_str()}; + } + + private: + JSON_HEDLEY_NON_NULL(3) + out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/// @brief exception indicating other library errors +/// @sa https://json.nlohmann.me/api/basic_json/other_error/ +class other_error : public exception +{ + public: + template + static other_error create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("other_error", id_) + exception::diagnostics(context) + what_arg; + return {id_, w.c_str()}; + } + + private: + JSON_HEDLEY_NON_NULL(3) + other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +#include // index_sequence, make_index_sequence, index_sequence_for + +// #include + namespace nlohmann { namespace detail { -// alias templates to reduce boilerplate -template -using enable_if_t = typename std::enable_if::type; template using uncvref_t = typename std::remove_cv::type>::type; -// implementation of C++14 index_sequence and affiliates -// source: https://stackoverflow.com/a/32223343 -template -struct index_sequence +#ifdef JSON_HAS_CPP_14 + +// the following utilities are natively available in C++14 +using std::enable_if_t; +using std::index_sequence; +using std::make_index_sequence; +using std::index_sequence_for; + +#else + +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +// The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h +// which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0. + +//// START OF CODE FROM GOOGLE ABSEIL + +// integer_sequence +// +// Class template representing a compile-time integer sequence. An instantiation +// of `integer_sequence` has a sequence of integers encoded in its +// type through its template arguments (which is a common need when +// working with C++11 variadic templates). `absl::integer_sequence` is designed +// to be a drop-in replacement for C++14's `std::integer_sequence`. +// +// Example: +// +// template< class T, T... Ints > +// void user_function(integer_sequence); +// +// int main() +// { +// // user_function's `T` will be deduced to `int` and `Ints...` +// // will be deduced to `0, 1, 2, 3, 4`. +// user_function(make_integer_sequence()); +// } +template +struct integer_sequence { - using type = index_sequence; - using value_type = std::size_t; + using value_type = T; static constexpr std::size_t size() noexcept { return sizeof...(Ints); } }; -template -struct merge_and_renumber; +// index_sequence +// +// A helper template for an `integer_sequence` of `size_t`, +// `absl::index_sequence` is designed to be a drop-in replacement for C++14's +// `std::index_sequence`. +template +using index_sequence = integer_sequence; -template -struct merge_and_renumber, index_sequence> - : index_sequence < I1..., (sizeof...(I1) + I2)... > {}; +namespace utility_internal +{ -template -struct make_index_sequence - : merge_and_renumber < typename make_index_sequence < N / 2 >::type, - typename make_index_sequence < N - N / 2 >::type > {}; +template +struct Extend; -template<> struct make_index_sequence<0> : index_sequence<> {}; -template<> struct make_index_sequence<1> : index_sequence<0> {}; +// Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency. +template +struct Extend, SeqSize, 0> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >; +}; -template +template +struct Extend, SeqSize, 1> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >; +}; + +// Recursion helper for 'make_integer_sequence'. +// 'Gen::type' is an alias for 'integer_sequence'. +template +struct Gen +{ + using type = + typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type; +}; + +template +struct Gen +{ + using type = integer_sequence; +}; + +} // namespace utility_internal + +// Compile-time sequences of integers + +// make_integer_sequence +// +// This template alias is equivalent to +// `integer_sequence`, and is designed to be a drop-in +// replacement for C++14's `std::make_integer_sequence`. +template +using make_integer_sequence = typename utility_internal::Gen::type; + +// make_index_sequence +// +// This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`, +// and is designed to be a drop-in replacement for C++14's +// `std::make_index_sequence`. +template +using make_index_sequence = make_integer_sequence; + +// index_sequence_for +// +// Converts a typename pack into an index sequence of the same length, and +// is designed to be a drop-in replacement for C++14's +// `std::index_sequence_for()` +template using index_sequence_for = make_index_sequence; +//// END OF CODE FROM GOOGLE ABSEIL + +#endif + // dispatch utility (taken from ranges-v3) template struct priority_tag : priority_tag < N - 1 > {}; template<> struct priority_tag<0> {}; @@ -661,18 +3191,38 @@ struct static_const static constexpr T value{}; }; -template -constexpr T static_const::value; +#ifndef JSON_HAS_CPP_17 + + template + constexpr T static_const::value; // NOLINT(readability-redundant-declaration) + +#endif + +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +// dispatching helper struct +template struct identity_tag {}; } // namespace detail } // namespace nlohmann // #include -#include // not #include // numeric_limits #include // false_type, is_constructible, is_integral, is_same, true_type #include // declval +#include // tuple + +// #include + // #include @@ -681,19 +3231,6 @@ constexpr T static_const::value; // #include - -namespace nlohmann -{ -namespace detail -{ -template struct make_void -{ - using type = void; -}; -template using void_t = typename make_void::type; -} // namespace detail -} // namespace nlohmann - // #include @@ -701,10 +3238,10 @@ namespace nlohmann { namespace detail { -template +template struct iterator_types {}; -template +template struct iterator_types < It, void_t +template struct iterator_traits { }; -template +template struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> : iterator_types { }; -template +template struct iterator_traits::value>> { using iterator_category = std::random_access_iterator_tag; @@ -742,71 +3279,32 @@ struct iterator_traits::value>> } // namespace detail } // namespace nlohmann +// #include + + // #include + +namespace nlohmann +{ +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin); +} // namespace nlohmann + +// #include + + +// #include + + +namespace nlohmann +{ +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end); +} // namespace nlohmann + // #include // #include - -#include - -// #include - - -// http://en.cppreference.com/w/cpp/experimental/is_detected -namespace nlohmann -{ -namespace detail -{ -struct nonesuch -{ - nonesuch() = delete; - ~nonesuch() = delete; - nonesuch(nonesuch const&) = delete; - nonesuch(nonesuch const&&) = delete; - void operator=(nonesuch const&) = delete; - void operator=(nonesuch&&) = delete; -}; - -template class Op, - class... Args> -struct detector -{ - using value_t = std::false_type; - using type = Default; -}; - -template class Op, class... Args> -struct detector>, Op, Args...> -{ - using value_t = std::true_type; - using type = Op; -}; - -template