Merge branch 'master' of github.com:pret/pokefirered into trade

This commit is contained in:
PikalaxALT
2019-10-27 20:52:55 -04:00
1365 changed files with 99717 additions and 70397 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
#include "global.h"
#include "battle.h"
#include "battle_main.h"
#include "battle_anim.h"
#include "util.h"
#include "item.h"
#include "random.h"
+5 -5
View File
@@ -28,7 +28,7 @@ static u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3);
static void sub_8075658(struct Sprite *sprite);
static void sub_80757E8(struct Sprite *sprite);
static bool8 sub_80758DC(void);
static void sub_8075EF0(struct Sprite *sprite);
static void AnimThrowProjectile_Step(struct Sprite *sprite);
static void sub_80760D0(u8 taskId);
static void AnimTask_BlendMonInAndOutSetup(struct Task *task);
static void AnimTask_BlendMonInAndOutStep(u8 taskId);
@@ -1336,7 +1336,7 @@ static u8 GetBattlerAtPosition_(u8 position)
return GetBattlerAtPosition(position);
}
void sub_8075D9C(struct Sprite *sprite)
void AnimSpriteOnMonPos(struct Sprite *sprite)
{
bool8 var;
@@ -1390,7 +1390,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
void sub_8075E80(struct Sprite *sprite)
void AnimThrowProjectile(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker))
@@ -1400,10 +1400,10 @@ void sub_8075E80(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
InitAnimArcTranslation(sprite);
sprite->callback = sub_8075EF0;
sprite->callback = AnimThrowProjectile_Step;
}
static void sub_8075EF0(struct Sprite *sprite)
static void AnimThrowProjectile_Step(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite);
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -45,7 +45,7 @@ static void OpponentHandleTrainerSlideBack(void);
static void OpponentHandleFaintAnimation(void);
static void OpponentHandlePaletteFade(void);
static void OpponentHandleSuccessBallThrowAnim(void);
static void OpponentHandleBallThrow(void);
static void OpponentHandleBallThrowAnim(void);
static void OpponentHandlePause(void);
static void OpponentHandleMoveAnimation(void);
static void OpponentHandlePrintString(void);
@@ -116,7 +116,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
OpponentHandleFaintAnimation,
OpponentHandlePaletteFade,
OpponentHandleSuccessBallThrowAnim,
OpponentHandleBallThrow,
OpponentHandleBallThrowAnim,
OpponentHandlePause,
OpponentHandleMoveAnimation,
OpponentHandlePrintString,
@@ -1231,7 +1231,7 @@ static void OpponentHandleSuccessBallThrowAnim(void)
OpponentBufferExecCompleted();
}
static void OpponentHandleBallThrow(void)
static void OpponentHandleBallThrowAnim(void)
{
OpponentBufferExecCompleted();
}
+1 -2
View File
@@ -839,7 +839,7 @@ void sub_802F6A8(void)
else
{
m4aSongNumStop(SE_HINSI);
gMain.inBattle = 0;
gMain.inBattle = FALSE;
gMain.callback1 = gPreBattleCallback1;
SetMainCallback2(gMain.savedCallback);
}
@@ -1318,7 +1318,6 @@ static void WaitForMonSelection(void)
BtlController_EmitChosenMonReturnValue(1, gUnknown_203B0C1, gUnknown_203B0DC);
else
BtlController_EmitChosenMonReturnValue(1, 6, NULL);
if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1)
PrintLinkStandbyMsg();
PlayerBufferExecCompleted();
+9 -9
View File
@@ -85,9 +85,9 @@ static void InitSinglePlayerBtlControllers(void)
gBattleMainFunc = BeginBattleIntro;
if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
{
gBattlerControllerFuncs[0] = SetControllerToPokedude;
gBattlerControllerFuncs[0] = SetControllerToPokeDude;
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
gBattlerControllerFuncs[1] = SetControllerToPokedude;
gBattlerControllerFuncs[1] = SetControllerToPokeDude;
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattlersCount = 2;
}
@@ -95,8 +95,8 @@ static void InitSinglePlayerBtlControllers(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
gBattlerControllerFuncs[0] = SetControllerToSafari;
else if (gBattleTypeFlags & (BATTLE_TYPE_OLDMAN_TUTORIAL | BATTLE_TYPE_FIRST_BATTLE))
gBattlerControllerFuncs[0] = SetControllerToOakOrOldman;
else if (gBattleTypeFlags & (BATTLE_TYPE_OLD_MAN_TUTORIAL | BATTLE_TYPE_FIRST_BATTLE))
gBattlerControllerFuncs[0] = SetControllerToOakOrOldMan;
else
gBattlerControllerFuncs[0] = SetControllerToPlayer;
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
@@ -110,13 +110,13 @@ static void InitSinglePlayerBtlControllers(void)
gBattleMainFunc = BeginBattleIntro;
if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
{
gBattlerControllerFuncs[0] = SetControllerToPokedude;
gBattlerControllerFuncs[0] = SetControllerToPokeDude;
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
gBattlerControllerFuncs[1] = SetControllerToPokedude;
gBattlerControllerFuncs[1] = SetControllerToPokeDude;
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattlerControllerFuncs[2] = SetControllerToPokedude;
gBattlerControllerFuncs[2] = SetControllerToPokeDude;
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
gBattlerControllerFuncs[3] = SetControllerToPokedude;
gBattlerControllerFuncs[3] = SetControllerToPokeDude;
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
gBattlersCount = MAX_BATTLERS_COUNT;
}
@@ -774,7 +774,7 @@ void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID)
sBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY;
sBattleBuffersTransferData[2] = stringID;
sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8;
stringInfo = (struct BattleMsgData*)(&sBattleBuffersTransferData[4]);
stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]);
stringInfo->currentMove = gCurrentMove;
stringInfo->originallyUsedMove = gChosenMove;
stringInfo->lastItem = gLastUsedItem;
+4412
View File
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -48,6 +48,7 @@
#include "constants/abilities.h"
#include "constants/pokemon.h"
#include "constants/trainers.h"
#include "constants/map_types.h"
#define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED))
@@ -1222,7 +1223,7 @@ static void atk04_critcalc(void)
critChance = NELEMS(sCriticalHitChance) - 1;
if ((gBattleMons[gBattlerTarget].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBattlerTarget].ability != ABILITY_SHELL_ARMOR)
&& !(gStatuses3[gBattlerAttacker] & STATUS3_CANT_SCORE_A_CRIT)
&& !(gBattleTypeFlags & BATTLE_TYPE_OLDMAN_TUTORIAL)
&& !(gBattleTypeFlags & BATTLE_TYPE_OLD_MAN_TUTORIAL)
&& !(Random() % sCriticalHitChance[critChance])
&& (!(gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) || sub_80EB2E0(1))
&& !(gBattleTypeFlags & BATTLE_TYPE_POKEDUDE))
@@ -4414,7 +4415,7 @@ static void atk4E_switchinanim(void)
&& !(gBattleTypeFlags &
(BATTLE_TYPE_LINK
| BATTLE_TYPE_LEGENDARY
| BATTLE_TYPE_OLDMAN_TUTORIAL
| BATTLE_TYPE_OLD_MAN_TUTORIAL
| BATTLE_TYPE_POKEDUDE
| BATTLE_TYPE_EREADER_TRAINER
| BATTLE_TYPE_GHOST)))
@@ -5229,7 +5230,7 @@ static void atk5D_getmoneyreward(void)
}
else
{
moneyReward = sub_8054C04();
moneyReward = ComputeWhiteOutMoneyLoss();
}
PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward);
if (moneyReward)
@@ -5411,7 +5412,7 @@ static void atk5D_getmoneyreward(void)
bl AddMoney\n\
b _08025A00\n\
_080259FA:\n\
bl sub_8054C04\n\
bl ComputeWhiteOutMoneyLoss\n\
adds r4, r0, 0\n\
_08025A00:\n\
ldr r1, _08025A40 @ =gBattleTextBuff1\n\
@@ -9436,7 +9437,7 @@ static void atkEF_handleballthrow(void)
MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr = BattleScript_TrainerBallBlock;
}
else if (gBattleTypeFlags & (BATTLE_TYPE_POKEDUDE | BATTLE_TYPE_OLDMAN_TUTORIAL))
else if (gBattleTypeFlags & (BATTLE_TYPE_POKEDUDE | BATTLE_TYPE_OLD_MAN_TUTORIAL))
{
BtlController_EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS);
MarkBattlerForControllerExec(gActiveBattler);
@@ -9451,7 +9452,6 @@ static void atkEF_handleballthrow(void)
catchRate = gBattleStruct->safariCatchFactor * 1275 / 100;
else
catchRate = gBaseStats[gBattleMons[gBattlerTarget].species].catchRate;
if (gLastUsedItem > ITEM_SAFARI_BALL)
{
switch (gLastUsedItem)
@@ -9515,7 +9515,7 @@ static void atkEF_handleballthrow(void)
else
{
if (gBattleResults.catchAttempts[gLastUsedItem - ITEM_ULTRA_BALL] < 0xFF)
gBattleResults.catchAttempts[gLastUsedItem - ITEM_ULTRA_BALL]++;
++gBattleResults.catchAttempts[gLastUsedItem - ITEM_ULTRA_BALL];
}
}
if (odds > 254) // mon caught
+1060
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -27,7 +27,7 @@ struct TransitionData
u16 winOut;
u16 win0H;
u16 win0V;
u16 unused_A;
u16 win1H; // not used
u16 win1V;
u16 bldCnt;
u16 bldAlpha;
@@ -3175,7 +3175,7 @@ static bool8 BT_Phase2WhiteFadeInStripes_Stop(struct Task *task)
DmaStop(0);
SetVBlankCallback(NULL);
SetHBlankCallback(NULL);
sTransitionStructPtr->win0H = 240;
sTransitionStructPtr->win0H = WIN_RANGE(0, 240);
sTransitionStructPtr->bldY = 0;
sTransitionStructPtr->bldCnt = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN;
sTransitionStructPtr->winIn = WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WININ_WIN0_CLR;
+4 -4
View File
@@ -3116,14 +3116,14 @@ u8 IsMonDisobedient(void)
return 0;
if (HasObedientBitSet(gBattlerAttacker)) // only if species is Mew or Deoxys
{
if (!IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName) || FlagGet(FLAG_0x827))
if (!IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName) || FlagGet(FLAG_BADGE08_GET))
return 0;
obedienceLevel = 10;
if (FlagGet(FLAG_0x821))
if (FlagGet(FLAG_BADGE02_GET))
obedienceLevel = 30;
if (FlagGet(FLAG_0x823))
if (FlagGet(FLAG_BADGE04_GET))
obedienceLevel = 50;
if (FlagGet(FLAG_0x825))
if (FlagGet(FLAG_BADGE06_GET))
obedienceLevel = 70;
}
if (gBattleMons[gBattlerAttacker].level <= obedienceLevel)
+1
View File
@@ -1,6 +1,7 @@
#include "global.h"
#include "bg.h"
#include "battle.h"
#include "battle_anim.h"
#include "pokemon.h"
#include "malloc.h"
#include "trainer_tower.h"
+2 -2
View File
@@ -134,7 +134,7 @@ bool32 IsEnigmaBerryValid(void)
return TRUE;
}
const struct Berry * sub_809C8A0(u8 berryIdx)
const struct Berry * GetBerryInfo(u8 berryIdx)
{
if (berryIdx == ITEM_TO_BERRY(ITEM_ENIGMA_BERRY) && IsEnigmaBerryValid())
return (struct Berry *)&gSaveBlock1Ptr->enigmaBerry.berry;
@@ -163,7 +163,7 @@ u16 BerryTypeToItemId(u16 berryType)
void GetBerryNameByBerryType(u8 berryType, u8 * dest)
{
const struct Berry * berry = sub_809C8A0(berryType);
const struct Berry * berry = GetBerryInfo(berryType);
memcpy(dest, berry->name, 6);
dest[6] = EOS;
}
+1 -1
View File
@@ -111,7 +111,7 @@ void sub_815F094(void)
{
struct WindowTemplate template;
if (sub_81119D4(sub_809D6D4) != TRUE)
if (QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) != TRUE)
{
template = SetWindowTemplateFields(0, 1, 1, 8, 3, 15, 32);
gUnknown_203F464 = AddWindow(&template);
+13 -13
View File
@@ -9,18 +9,18 @@ u8 sub_815D654(void)
return (gSaveBlock1Ptr->unkArray[0].unk9 + 1) % 256;
}
static bool32 ValidateTrainerTowerTrainer(struct TrainerTowerTrainer * trainer)
static bool32 ValidateTrainerTowerTrainer(struct TrainerTowerFloor * floor)
{
if (trainer->unk_001 < 1 || trainer->unk_001 > 8)
if (floor->floorIdx < 1 || floor->floorIdx > 8)
return FALSE;
if (trainer->unk_002 > 2)
if (floor->challengeType > 2)
return FALSE;
if (CalcByteArraySum((const u8 *)trainer, offsetof(typeof(*trainer), checksum)) != trainer->checksum)
if (CalcByteArraySum((const u8 *)floor, offsetof(typeof(*floor), checksum)) != floor->checksum)
return FALSE;
return TRUE;
}
bool32 ValidateTrainerTowerData(struct TrainerTowerData * ttdata)
bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * ttdata)
{
u32 count = ttdata->count;
s32 i;
@@ -28,18 +28,18 @@ bool32 ValidateTrainerTowerData(struct TrainerTowerData * ttdata)
return FALSE;
for (i = 0; i < count; i++)
{
if (!ValidateTrainerTowerTrainer(&ttdata->trainers[i]))
if (!ValidateTrainerTowerTrainer(&ttdata->floors[i]))
return FALSE;
}
if (CalcByteArraySum((const u8 *)ttdata->trainers, count * sizeof(ttdata->trainers[0])) != ttdata->checksum)
if (CalcByteArraySum((const u8 *)ttdata->floors, count * sizeof(ttdata->floors[0])) != ttdata->checksum)
return FALSE;
return TRUE;
}
#define SEC30_SIZE (offsetof(struct TrainerTowerData, trainers[4]))
#define SEC31_SIZE (sizeof(struct TrainerTowerData) - SEC30_SIZE)
#define SEC30_SIZE (offsetof(struct EReaderTrainerHillSet, floors[4]))
#define SEC31_SIZE (sizeof(struct EReaderTrainerHillSet) - SEC30_SIZE)
static bool32 CEReaderTool_SaveTrainerTower_r(struct TrainerTowerData * ttdata, u8 * buffer)
static bool32 CEReaderTool_SaveTrainerTower_r(struct EReaderTrainerHillSet * ttdata, u8 * buffer)
{
AGB_ASSERT_EX(ttdata->dummy == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 198);
AGB_ASSERT_EX(ttdata->id == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 199)
@@ -56,7 +56,7 @@ static bool32 CEReaderTool_SaveTrainerTower_r(struct TrainerTowerData * ttdata,
return TRUE;
}
bool32 CEReaderTool_SaveTrainerTower(struct TrainerTowerData * ttdata)
bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * ttdata)
{
u8 * buffer = AllocZeroed(0x1000);
bool32 result = CEReaderTool_SaveTrainerTower_r(ttdata, buffer);
@@ -64,7 +64,7 @@ bool32 CEReaderTool_SaveTrainerTower(struct TrainerTowerData * ttdata)
return result;
}
static bool32 CEReaderTool_LoadTrainerTower_r(struct TrainerTowerData * ttdata, void * buffer)
static bool32 CEReaderTool_LoadTrainerTower_r(struct EReaderTrainerHillSet * ttdata, void * buffer)
{
if (TryCopySpecialSaveSection(30, buffer) != 1)
return FALSE;
@@ -79,7 +79,7 @@ static bool32 CEReaderTool_LoadTrainerTower_r(struct TrainerTowerData * ttdata,
return TRUE;
}
bool32 CEReaderTool_LoadTrainerTower(struct TrainerTowerData * ttdata)
bool32 CEReaderTool_LoadTrainerTower(struct EReaderTrainerHillSet * ttdata)
{
void * buffer = AllocZeroed(0x1000);
bool32 success = CEReaderTool_LoadTrainerTower_r(ttdata, buffer);
+2 -4
View File
@@ -5,8 +5,6 @@
#include "text_window.h"
#include "strings.h"
extern const u8 gUnknown_8417C2D[];
EWRAM_DATA static u8 sCoinsWindowId = 0;
#define MAX_COINS 9999
@@ -62,7 +60,7 @@ void PrintCoinsString_Parameterized(u8 windowId, u32 coinAmount, u8 x, u8 y, u8
void sub_80D0674(u8 windowId, u16 tileStart, u8 palette, u32 coinAmount)
{
DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, tileStart, palette);
AddTextPrinterParameterized(windowId, 2, gUnknown_8417C2D, 0, 0, 0xFF, 0);
AddTextPrinterParameterized(windowId, 2, gText_Coins_2, 0, 0, 0xFF, 0);
PrintCoinsString_Parameterized(windowId, coinAmount, 0x10, 0xC, 0);
}
@@ -88,7 +86,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y)
PutWindowTilemap(sCoinsWindowId);
TextWindow_SetStdFrame0_WithPal(sCoinsWindowId, 0x21D, 0xD0);
DrawStdFrameWithCustomTileAndPalette(sCoinsWindowId, FALSE, 0x21D, 0xD);
AddTextPrinterParameterized(sCoinsWindowId, 2, gUnknown_8417C2D, 0, 0, 0xFF, 0);
AddTextPrinterParameterized(sCoinsWindowId, 2, gText_Coins_2, 0, 0, 0xFF, 0);
PrintCoinsString(coinAmount);
}
+2 -2
View File
@@ -750,7 +750,7 @@ static void CB2_Credits(void)
sCreditsMgr->unk_1D++;
break;
case 2:
FlagClear(0x4000);
FlagClear(FLAG_SPECIAL_FLAG_0x4000);
gDisableMapMusicChangeOnMapLoad = MUSIC_DISABLE_OFF;
Free(sCreditsMgr);
SoftReset(RESET_ALL);
@@ -797,7 +797,7 @@ static bool32 DoOverworldMapScrollScene(UNUSED u8 unused)
switch (sCreditsMgr->subseqno)
{
case 0:
FlagSet(0x4000);
FlagSet(FLAG_SPECIAL_FLAG_0x4000);
gDisableMapMusicChangeOnMapLoad = MUSIC_DISABLE_KEEP;
sCreditsMgr->ovwldseqno = 0;
sCreditsMgr->subseqno++;
+1 -1
View File
@@ -613,7 +613,7 @@ static void sub_80B82C0(u8 taskId)
{
case 0:
task->data[5] += 8;
if (task->data[5] >= task->data[7])
if (task->data[5] >= task->data[7])
task->data[5] = task->data[7];
sub_80B843C(task);
if (task->data[5] == task->data[7])
+300
View File
@@ -0,0 +1,300 @@
#include "global.h"
#include "malloc.h"
#include "battle.h"
#include "data.h"
#include "graphics.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/trainers.h"
#include "constants/battle_ai.h"
#include "constants/trainer_classes.h"
const struct SpriteFrameImage gUnknown_8234698[] =
{
gHeap + 0x8000, 0x800,
gHeap + 0x8800, 0x800,
gHeap + 0x9000, 0x800,
gHeap + 0x9800, 0x800,
};
const struct SpriteFrameImage gUnknown_82346B8[] =
{
gHeap + 0xA000, 0x800,
gHeap + 0xA800, 0x800,
gHeap + 0xB000, 0x800,
gHeap + 0xB800, 0x800,
};
const struct SpriteFrameImage gUnknown_82346D8[] =
{
gHeap + 0xC000, 0x800,
gHeap + 0xC800, 0x800,
gHeap + 0xD000, 0x800,
gHeap + 0xD800, 0x800,
};
const struct SpriteFrameImage gUnknown_82346F8[] =
{
gHeap + 0xE000, 0x800,
gHeap + 0xE800, 0x800,
gHeap + 0xF000, 0x800,
gHeap + 0xF800, 0x800,
};
const struct SpriteFrameImage gTrainerBackPicTable_Red[] =
{
gTrainerBackPic_Red, 0x0800,
gTrainerBackPic_Red + 0x0800, 0x0800,
gTrainerBackPic_Red + 0x1000, 0x0800,
gTrainerBackPic_Red + 0x1800, 0x0800,
gTrainerBackPic_Red + 0x2000, 0x0800,
};
const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] =
{
gTrainerBackPic_Leaf, 0x0800,
gTrainerBackPic_Leaf + 0x0800, 0x0800,
gTrainerBackPic_Leaf + 0x1000, 0x0800,
gTrainerBackPic_Leaf + 0x1800, 0x0800,
gTrainerBackPic_Leaf + 0x2000, 0x0800,
};
const struct SpriteFrameImage gTrainerBackPicTable_PokeDude[] =
{
gTrainerBackPic_PokeDude, 0x0800,
gTrainerBackPic_PokeDude + 0x0800, 0x0800,
gTrainerBackPic_PokeDude + 0x1000, 0x0800,
gTrainerBackPic_PokeDude + 0x1800, 0x0800,
};
const struct SpriteFrameImage gTrainerBackPicTable_OldMan[] =
{
gTrainerBackPic_OldMan, 0x0800,
gTrainerBackPic_OldMan + 0x0800, 0x0800,
gTrainerBackPic_OldMan + 0x1000, 0x0800,
gTrainerBackPic_OldMan + 0x1800, 0x0800,
};
const struct SpriteFrameImage gTrainerBackPicTable_RSBrendan[] =
{
gTrainerBackPic_RSBrendan, 0x0800,
gTrainerBackPic_RSBrendan + 0x0800, 0x0800,
gTrainerBackPic_RSBrendan + 0x1000, 0x0800,
gTrainerBackPic_RSBrendan + 0x1800, 0x0800,
};
const struct SpriteFrameImage gTrainerBackPicTable_RSMay[] =
{
gTrainerBackPic_RSMay, 0x0800,
gTrainerBackPic_RSMay + 0x0800, 0x0800,
gTrainerBackPic_RSMay + 0x1000, 0x0800,
gTrainerBackPic_RSMay + 0x1800, 0x0800,
};
static const union AnimCmd sAnim_GeneralFrame0[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END,
};
static const union AnimCmd sAnim_GeneralFrame3[] =
{
ANIMCMD_FRAME(3, 0),
ANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_82347F8[] =
{
AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8234808[] =
{
AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8234818[] =
{
AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00),
AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8234830[] =
{
AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12),
AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8234848[] =
{
AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00),
AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08),
AFFINEANIMCMD_FRAME(0xfffc, 0x0000, 0x00, 0x08),
AFFINEANIMCMD_JUMP(1),
};
static const union AffineAnimCmd gSpriteAffineAnim_8234868[] =
{
AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8234878[] =
{
AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8234888[] =
{
AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000),
AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_82348A0[] =
{
AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_82348B0[] =
{
AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05),
AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gSpriteAffineAnimTable_82348C8[] =
{
gSpriteAffineAnim_82347F8,
gSpriteAffineAnim_8234818,
gSpriteAffineAnim_8234830,
gSpriteAffineAnim_8234848,
gSpriteAffineAnim_8234868,
gSpriteAffineAnim_8234878,
gSpriteAffineAnim_82348A0,
gSpriteAffineAnim_82348B0,
gSpriteAffineAnim_8234888,
};
static const union AffineAnimCmd gSpriteAffineAnim_82348EC[] =
{
AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_82348FC[] =
{
AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05),
AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8234914[] =
{
AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14),
AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14),
AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x05, 0x14),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8234934[] =
{
AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gSpriteAffineAnimTable_8234944[] =
{
gSpriteAffineAnim_82347F8,
gSpriteAffineAnim_8234818,
gSpriteAffineAnim_8234830,
gSpriteAffineAnim_8234848,
gSpriteAffineAnim_8234868,
gSpriteAffineAnim_8234878,
gSpriteAffineAnim_82348EC,
gSpriteAffineAnim_82348FC,
gSpriteAffineAnim_8234914,
gSpriteAffineAnim_8234888,
gSpriteAffineAnim_8234934,
};
const union AffineAnimCmd *const gSpriteAffineAnimTable_82349470[] =
{
gSpriteAffineAnim_8234808,
gSpriteAffineAnim_8234818,
gSpriteAffineAnim_8234830,
gSpriteAffineAnim_8234848,
gSpriteAffineAnim_8234868,
gSpriteAffineAnim_8234878,
gSpriteAffineAnim_82348EC,
gSpriteAffineAnim_82348FC,
gSpriteAffineAnim_8234914,
gSpriteAffineAnim_8234888,
gSpriteAffineAnim_8234934,
};
static const union AnimCmd gSpriteAnim_823499C[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END,
};
static const union AnimCmd gSpriteAnim_82349A4[] =
{
ANIMCMD_FRAME(1, 0),
ANIMCMD_END,
};
static const union AnimCmd gSpriteAnim_82349AC[] =
{
ANIMCMD_FRAME(2, 0),
ANIMCMD_END,
};
static const union AnimCmd gSpriteAnim_82349B4[] =
{
ANIMCMD_FRAME(3, 0),
ANIMCMD_END,
};
const union AnimCmd *const gSpriteAnimTable_82349BC[] =
{
gSpriteAnim_823499C,
gSpriteAnim_82349A4,
gSpriteAnim_82349AC,
gSpriteAnim_82349B4,
};
#define SPECIES_SPRITE(species, sprite) [SPECIES_##species] = {sprite, 0x800, SPECIES_##species}
#define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species}
#define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG}
#define TRAINER_SPRITE(trainerPic, sprite, size) [TRAINER_PIC_##trainerPic] = {sprite, size, TRAINER_PIC_##trainerPic}
#define TRAINER_PAL(trainerPic, pal) [TRAINER_PIC_##trainerPic] = {pal, TRAINER_PIC_##trainerPic}
#include "data/pokemon_graphics/front_pic_coordinates.h"
#include "data/pokemon_graphics/front_pic_table.h"
#include "data/pokemon_graphics/back_pic_coordinates.h"
#include "data/pokemon_graphics/back_pic_table.h"
#include "data/pokemon_graphics/palette_table.h"
#include "data/pokemon_graphics/shiny_palette_table.h"
#include "data/trainer_graphics/front_pic_anims.h"
#include "data/trainer_graphics/front_pic_tables.h"
#include "data/trainer_graphics/back_pic_anims.h"
#include "data/trainer_graphics/back_pic_tables.h"
#include "data/pokemon_graphics/enemy_mon_elevation.h"
#include "data/trainer_parties.h"
#include "data/text/trainer_class_names.h"
#include "data/trainers.h"
#include "data/text/species_names.h"
#include "data/text/move_names.h"
File diff suppressed because it is too large Load Diff
+443
View File
@@ -0,0 +1,443 @@
const struct CompressedSpriteSheet gMonBackPicTable[] =
{
SPECIES_SPRITE(NONE, gMonBackPic_CircledQuestionMark),
SPECIES_SPRITE(BULBASAUR, gMonBackPic_Bulbasaur),
SPECIES_SPRITE(IVYSAUR, gMonBackPic_Ivysaur),
SPECIES_SPRITE(VENUSAUR, gMonBackPic_Venusaur),
SPECIES_SPRITE(CHARMANDER, gMonBackPic_Charmander),
SPECIES_SPRITE(CHARMELEON, gMonBackPic_Charmeleon),
SPECIES_SPRITE(CHARIZARD, gMonBackPic_Charizard),
SPECIES_SPRITE(SQUIRTLE, gMonBackPic_Squirtle),
SPECIES_SPRITE(WARTORTLE, gMonBackPic_Wartortle),
SPECIES_SPRITE(BLASTOISE, gMonBackPic_Blastoise),
SPECIES_SPRITE(CATERPIE, gMonBackPic_Caterpie),
SPECIES_SPRITE(METAPOD, gMonBackPic_Metapod),
SPECIES_SPRITE(BUTTERFREE, gMonBackPic_Butterfree),
SPECIES_SPRITE(WEEDLE, gMonBackPic_Weedle),
SPECIES_SPRITE(KAKUNA, gMonBackPic_Kakuna),
SPECIES_SPRITE(BEEDRILL, gMonBackPic_Beedrill),
SPECIES_SPRITE(PIDGEY, gMonBackPic_Pidgey),
SPECIES_SPRITE(PIDGEOTTO, gMonBackPic_Pidgeotto),
SPECIES_SPRITE(PIDGEOT, gMonBackPic_Pidgeot),
SPECIES_SPRITE(RATTATA, gMonBackPic_Rattata),
SPECIES_SPRITE(RATICATE, gMonBackPic_Raticate),
SPECIES_SPRITE(SPEAROW, gMonBackPic_Spearow),
SPECIES_SPRITE(FEAROW, gMonBackPic_Fearow),
SPECIES_SPRITE(EKANS, gMonBackPic_Ekans),
SPECIES_SPRITE(ARBOK, gMonBackPic_Arbok),
SPECIES_SPRITE(PIKACHU, gMonBackPic_Pikachu),
SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu),
SPECIES_SPRITE(SANDSHREW, gMonBackPic_Sandshrew),
SPECIES_SPRITE(SANDSLASH, gMonBackPic_Sandslash),
SPECIES_SPRITE(NIDORAN_F, gMonBackPic_NidoranF),
SPECIES_SPRITE(NIDORINA, gMonBackPic_Nidorina),
SPECIES_SPRITE(NIDOQUEEN, gMonBackPic_Nidoqueen),
SPECIES_SPRITE(NIDORAN_M, gMonBackPic_NidoranM),
SPECIES_SPRITE(NIDORINO, gMonBackPic_Nidorino),
SPECIES_SPRITE(NIDOKING, gMonBackPic_Nidoking),
SPECIES_SPRITE(CLEFAIRY, gMonBackPic_Clefairy),
SPECIES_SPRITE(CLEFABLE, gMonBackPic_Clefable),
SPECIES_SPRITE(VULPIX, gMonBackPic_Vulpix),
SPECIES_SPRITE(NINETALES, gMonBackPic_Ninetales),
SPECIES_SPRITE(JIGGLYPUFF, gMonBackPic_Jigglypuff),
SPECIES_SPRITE(WIGGLYTUFF, gMonBackPic_Wigglytuff),
SPECIES_SPRITE(ZUBAT, gMonBackPic_Zubat),
SPECIES_SPRITE(GOLBAT, gMonBackPic_Golbat),
SPECIES_SPRITE(ODDISH, gMonBackPic_Oddish),
SPECIES_SPRITE(GLOOM, gMonBackPic_Gloom),
SPECIES_SPRITE(VILEPLUME, gMonBackPic_Vileplume),
SPECIES_SPRITE(PARAS, gMonBackPic_Paras),
SPECIES_SPRITE(PARASECT, gMonBackPic_Parasect),
SPECIES_SPRITE(VENONAT, gMonBackPic_Venonat),
SPECIES_SPRITE(VENOMOTH, gMonBackPic_Venomoth),
SPECIES_SPRITE(DIGLETT, gMonBackPic_Diglett),
SPECIES_SPRITE(DUGTRIO, gMonBackPic_Dugtrio),
SPECIES_SPRITE(MEOWTH, gMonBackPic_Meowth),
SPECIES_SPRITE(PERSIAN, gMonBackPic_Persian),
SPECIES_SPRITE(PSYDUCK, gMonBackPic_Psyduck),
SPECIES_SPRITE(GOLDUCK, gMonBackPic_Golduck),
SPECIES_SPRITE(MANKEY, gMonBackPic_Mankey),
SPECIES_SPRITE(PRIMEAPE, gMonBackPic_Primeape),
SPECIES_SPRITE(GROWLITHE, gMonBackPic_Growlithe),
SPECIES_SPRITE(ARCANINE, gMonBackPic_Arcanine),
SPECIES_SPRITE(POLIWAG, gMonBackPic_Poliwag),
SPECIES_SPRITE(POLIWHIRL, gMonBackPic_Poliwhirl),
SPECIES_SPRITE(POLIWRATH, gMonBackPic_Poliwrath),
SPECIES_SPRITE(ABRA, gMonBackPic_Abra),
SPECIES_SPRITE(KADABRA, gMonBackPic_Kadabra),
SPECIES_SPRITE(ALAKAZAM, gMonBackPic_Alakazam),
SPECIES_SPRITE(MACHOP, gMonBackPic_Machop),
SPECIES_SPRITE(MACHOKE, gMonBackPic_Machoke),
SPECIES_SPRITE(MACHAMP, gMonBackPic_Machamp),
SPECIES_SPRITE(BELLSPROUT, gMonBackPic_Bellsprout),
SPECIES_SPRITE(WEEPINBELL, gMonBackPic_Weepinbell),
SPECIES_SPRITE(VICTREEBEL, gMonBackPic_Victreebel),
SPECIES_SPRITE(TENTACOOL, gMonBackPic_Tentacool),
SPECIES_SPRITE(TENTACRUEL, gMonBackPic_Tentacruel),
SPECIES_SPRITE(GEODUDE, gMonBackPic_Geodude),
SPECIES_SPRITE(GRAVELER, gMonBackPic_Graveler),
SPECIES_SPRITE(GOLEM, gMonBackPic_Golem),
SPECIES_SPRITE(PONYTA, gMonBackPic_Ponyta),
SPECIES_SPRITE(RAPIDASH, gMonBackPic_Rapidash),
SPECIES_SPRITE(SLOWPOKE, gMonBackPic_Slowpoke),
SPECIES_SPRITE(SLOWBRO, gMonBackPic_Slowbro),
SPECIES_SPRITE(MAGNEMITE, gMonBackPic_Magnemite),
SPECIES_SPRITE(MAGNETON, gMonBackPic_Magneton),
SPECIES_SPRITE(FARFETCHD, gMonBackPic_Farfetchd),
SPECIES_SPRITE(DODUO, gMonBackPic_Doduo),
SPECIES_SPRITE(DODRIO, gMonBackPic_Dodrio),
SPECIES_SPRITE(SEEL, gMonBackPic_Seel),
SPECIES_SPRITE(DEWGONG, gMonBackPic_Dewgong),
SPECIES_SPRITE(GRIMER, gMonBackPic_Grimer),
SPECIES_SPRITE(MUK, gMonBackPic_Muk),
SPECIES_SPRITE(SHELLDER, gMonBackPic_Shellder),
SPECIES_SPRITE(CLOYSTER, gMonBackPic_Cloyster),
SPECIES_SPRITE(GASTLY, gMonBackPic_Gastly),
SPECIES_SPRITE(HAUNTER, gMonBackPic_Haunter),
SPECIES_SPRITE(GENGAR, gMonBackPic_Gengar),
SPECIES_SPRITE(ONIX, gMonBackPic_Onix),
SPECIES_SPRITE(DROWZEE, gMonBackPic_Drowzee),
SPECIES_SPRITE(HYPNO, gMonBackPic_Hypno),
SPECIES_SPRITE(KRABBY, gMonBackPic_Krabby),
SPECIES_SPRITE(KINGLER, gMonBackPic_Kingler),
SPECIES_SPRITE(VOLTORB, gMonBackPic_Voltorb),
SPECIES_SPRITE(ELECTRODE, gMonBackPic_Electrode),
SPECIES_SPRITE(EXEGGCUTE, gMonBackPic_Exeggcute),
SPECIES_SPRITE(EXEGGUTOR, gMonBackPic_Exeggutor),
SPECIES_SPRITE(CUBONE, gMonBackPic_Cubone),
SPECIES_SPRITE(MAROWAK, gMonBackPic_Marowak),
SPECIES_SPRITE(HITMONLEE, gMonBackPic_Hitmonlee),
SPECIES_SPRITE(HITMONCHAN, gMonBackPic_Hitmonchan),
SPECIES_SPRITE(LICKITUNG, gMonBackPic_Lickitung),
SPECIES_SPRITE(KOFFING, gMonBackPic_Koffing),
SPECIES_SPRITE(WEEZING, gMonBackPic_Weezing),
SPECIES_SPRITE(RHYHORN, gMonBackPic_Rhyhorn),
SPECIES_SPRITE(RHYDON, gMonBackPic_Rhydon),
SPECIES_SPRITE(CHANSEY, gMonBackPic_Chansey),
SPECIES_SPRITE(TANGELA, gMonBackPic_Tangela),
SPECIES_SPRITE(KANGASKHAN, gMonBackPic_Kangaskhan),
SPECIES_SPRITE(HORSEA, gMonBackPic_Horsea),
SPECIES_SPRITE(SEADRA, gMonBackPic_Seadra),
SPECIES_SPRITE(GOLDEEN, gMonBackPic_Goldeen),
SPECIES_SPRITE(SEAKING, gMonBackPic_Seaking),
SPECIES_SPRITE(STARYU, gMonBackPic_Staryu),
SPECIES_SPRITE(STARMIE, gMonBackPic_Starmie),
SPECIES_SPRITE(MR_MIME, gMonBackPic_Mrmime),
SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther),
SPECIES_SPRITE(JYNX, gMonBackPic_Jynx),
SPECIES_SPRITE(ELECTABUZZ, gMonBackPic_Electabuzz),
SPECIES_SPRITE(MAGMAR, gMonBackPic_Magmar),
SPECIES_SPRITE(PINSIR, gMonBackPic_Pinsir),
SPECIES_SPRITE(TAUROS, gMonBackPic_Tauros),
SPECIES_SPRITE(MAGIKARP, gMonBackPic_Magikarp),
SPECIES_SPRITE(GYARADOS, gMonBackPic_Gyarados),
SPECIES_SPRITE(LAPRAS, gMonBackPic_Lapras),
SPECIES_SPRITE(DITTO, gMonBackPic_Ditto),
SPECIES_SPRITE(EEVEE, gMonBackPic_Eevee),
SPECIES_SPRITE(VAPOREON, gMonBackPic_Vaporeon),
SPECIES_SPRITE(JOLTEON, gMonBackPic_Jolteon),
SPECIES_SPRITE(FLAREON, gMonBackPic_Flareon),
SPECIES_SPRITE(PORYGON, gMonBackPic_Porygon),
SPECIES_SPRITE(OMANYTE, gMonBackPic_Omanyte),
SPECIES_SPRITE(OMASTAR, gMonBackPic_Omastar),
SPECIES_SPRITE(KABUTO, gMonBackPic_Kabuto),
SPECIES_SPRITE(KABUTOPS, gMonBackPic_Kabutops),
SPECIES_SPRITE(AERODACTYL, gMonBackPic_Aerodactyl),
SPECIES_SPRITE(SNORLAX, gMonBackPic_Snorlax),
SPECIES_SPRITE(ARTICUNO, gMonBackPic_Articuno),
SPECIES_SPRITE(ZAPDOS, gMonBackPic_Zapdos),
SPECIES_SPRITE(MOLTRES, gMonBackPic_Moltres),
SPECIES_SPRITE(DRATINI, gMonBackPic_Dratini),
SPECIES_SPRITE(DRAGONAIR, gMonBackPic_Dragonair),
SPECIES_SPRITE(DRAGONITE, gMonBackPic_Dragonite),
SPECIES_SPRITE(MEWTWO, gMonBackPic_Mewtwo),
SPECIES_SPRITE(MEW, gMonBackPic_Mew),
SPECIES_SPRITE(CHIKORITA, gMonBackPic_Chikorita),
SPECIES_SPRITE(BAYLEEF, gMonBackPic_Bayleef),
SPECIES_SPRITE(MEGANIUM, gMonBackPic_Meganium),
SPECIES_SPRITE(CYNDAQUIL, gMonBackPic_Cyndaquil),
SPECIES_SPRITE(QUILAVA, gMonBackPic_Quilava),
SPECIES_SPRITE(TYPHLOSION, gMonBackPic_Typhlosion),
SPECIES_SPRITE(TOTODILE, gMonBackPic_Totodile),
SPECIES_SPRITE(CROCONAW, gMonBackPic_Croconaw),
SPECIES_SPRITE(FERALIGATR, gMonBackPic_Feraligatr),
SPECIES_SPRITE(SENTRET, gMonBackPic_Sentret),
SPECIES_SPRITE(FURRET, gMonBackPic_Furret),
SPECIES_SPRITE(HOOTHOOT, gMonBackPic_Hoothoot),
SPECIES_SPRITE(NOCTOWL, gMonBackPic_Noctowl),
SPECIES_SPRITE(LEDYBA, gMonBackPic_Ledyba),
SPECIES_SPRITE(LEDIAN, gMonBackPic_Ledian),
SPECIES_SPRITE(SPINARAK, gMonBackPic_Spinarak),
SPECIES_SPRITE(ARIADOS, gMonBackPic_Ariados),
SPECIES_SPRITE(CROBAT, gMonBackPic_Crobat),
SPECIES_SPRITE(CHINCHOU, gMonBackPic_Chinchou),
SPECIES_SPRITE(LANTURN, gMonBackPic_Lanturn),
SPECIES_SPRITE(PICHU, gMonBackPic_Pichu),
SPECIES_SPRITE(CLEFFA, gMonBackPic_Cleffa),
SPECIES_SPRITE(IGGLYBUFF, gMonBackPic_Igglybuff),
SPECIES_SPRITE(TOGEPI, gMonBackPic_Togepi),
SPECIES_SPRITE(TOGETIC, gMonBackPic_Togetic),
SPECIES_SPRITE(NATU, gMonBackPic_Natu),
SPECIES_SPRITE(XATU, gMonBackPic_Xatu),
SPECIES_SPRITE(MAREEP, gMonBackPic_Mareep),
SPECIES_SPRITE(FLAAFFY, gMonBackPic_Flaaffy),
SPECIES_SPRITE(AMPHAROS, gMonBackPic_Ampharos),
SPECIES_SPRITE(BELLOSSOM, gMonBackPic_Bellossom),
SPECIES_SPRITE(MARILL, gMonBackPic_Marill),
SPECIES_SPRITE(AZUMARILL, gMonBackPic_Azumarill),
SPECIES_SPRITE(SUDOWOODO, gMonBackPic_Sudowoodo),
SPECIES_SPRITE(POLITOED, gMonBackPic_Politoed),
SPECIES_SPRITE(HOPPIP, gMonBackPic_Hoppip),
SPECIES_SPRITE(SKIPLOOM, gMonBackPic_Skiploom),
SPECIES_SPRITE(JUMPLUFF, gMonBackPic_Jumpluff),
SPECIES_SPRITE(AIPOM, gMonBackPic_Aipom),
SPECIES_SPRITE(SUNKERN, gMonBackPic_Sunkern),
SPECIES_SPRITE(SUNFLORA, gMonBackPic_Sunflora),
SPECIES_SPRITE(YANMA, gMonBackPic_Yanma),
SPECIES_SPRITE(WOOPER, gMonBackPic_Wooper),
SPECIES_SPRITE(QUAGSIRE, gMonBackPic_Quagsire),
SPECIES_SPRITE(ESPEON, gMonBackPic_Espeon),
SPECIES_SPRITE(UMBREON, gMonBackPic_Umbreon),
SPECIES_SPRITE(MURKROW, gMonBackPic_Murkrow),
SPECIES_SPRITE(SLOWKING, gMonBackPic_Slowking),
SPECIES_SPRITE(MISDREAVUS, gMonBackPic_Misdreavus),
SPECIES_SPRITE(UNOWN, gMonBackPic_UnownA),
SPECIES_SPRITE(WOBBUFFET, gMonBackPic_Wobbuffet),
SPECIES_SPRITE(GIRAFARIG, gMonBackPic_Girafarig),
SPECIES_SPRITE(PINECO, gMonBackPic_Pineco),
SPECIES_SPRITE(FORRETRESS, gMonBackPic_Forretress),
SPECIES_SPRITE(DUNSPARCE, gMonBackPic_Dunsparce),
SPECIES_SPRITE(GLIGAR, gMonBackPic_Gligar),
SPECIES_SPRITE(STEELIX, gMonBackPic_Steelix),
SPECIES_SPRITE(SNUBBULL, gMonBackPic_Snubbull),
SPECIES_SPRITE(GRANBULL, gMonBackPic_Granbull),
SPECIES_SPRITE(QWILFISH, gMonBackPic_Qwilfish),
SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor),
SPECIES_SPRITE(SHUCKLE, gMonBackPic_Shuckle),
SPECIES_SPRITE(HERACROSS, gMonBackPic_Heracross),
SPECIES_SPRITE(SNEASEL, gMonBackPic_Sneasel),
SPECIES_SPRITE(TEDDIURSA, gMonBackPic_Teddiursa),
SPECIES_SPRITE(URSARING, gMonBackPic_Ursaring),
SPECIES_SPRITE(SLUGMA, gMonBackPic_Slugma),
SPECIES_SPRITE(MAGCARGO, gMonBackPic_Magcargo),
SPECIES_SPRITE(SWINUB, gMonBackPic_Swinub),
SPECIES_SPRITE(PILOSWINE, gMonBackPic_Piloswine),
SPECIES_SPRITE(CORSOLA, gMonBackPic_Corsola),
SPECIES_SPRITE(REMORAID, gMonBackPic_Remoraid),
SPECIES_SPRITE(OCTILLERY, gMonBackPic_Octillery),
SPECIES_SPRITE(DELIBIRD, gMonBackPic_Delibird),
SPECIES_SPRITE(MANTINE, gMonBackPic_Mantine),
SPECIES_SPRITE(SKARMORY, gMonBackPic_Skarmory),
SPECIES_SPRITE(HOUNDOUR, gMonBackPic_Houndour),
SPECIES_SPRITE(HOUNDOOM, gMonBackPic_Houndoom),
SPECIES_SPRITE(KINGDRA, gMonBackPic_Kingdra),
SPECIES_SPRITE(PHANPY, gMonBackPic_Phanpy),
SPECIES_SPRITE(DONPHAN, gMonBackPic_Donphan),
SPECIES_SPRITE(PORYGON2, gMonBackPic_Porygon2),
SPECIES_SPRITE(STANTLER, gMonBackPic_Stantler),
SPECIES_SPRITE(SMEARGLE, gMonBackPic_Smeargle),
SPECIES_SPRITE(TYROGUE, gMonBackPic_Tyrogue),
SPECIES_SPRITE(HITMONTOP, gMonBackPic_Hitmontop),
SPECIES_SPRITE(SMOOCHUM, gMonBackPic_Smoochum),
SPECIES_SPRITE(ELEKID, gMonBackPic_Elekid),
SPECIES_SPRITE(MAGBY, gMonBackPic_Magby),
SPECIES_SPRITE(MILTANK, gMonBackPic_Miltank),
SPECIES_SPRITE(BLISSEY, gMonBackPic_Blissey),
SPECIES_SPRITE(RAIKOU, gMonBackPic_Raikou),
SPECIES_SPRITE(ENTEI, gMonBackPic_Entei),
SPECIES_SPRITE(SUICUNE, gMonBackPic_Suicune),
SPECIES_SPRITE(LARVITAR, gMonBackPic_Larvitar),
SPECIES_SPRITE(PUPITAR, gMonBackPic_Pupitar),
SPECIES_SPRITE(TYRANITAR, gMonBackPic_Tyranitar),
SPECIES_SPRITE(LUGIA, gMonBackPic_Lugia),
SPECIES_SPRITE(HO_OH, gMonBackPic_HoOh),
SPECIES_SPRITE(CELEBI, gMonBackPic_Celebi),
SPECIES_SPRITE(OLD_UNOWN_B, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_C, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_D, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_E, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_F, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_G, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_H, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_I, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_J, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_K, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_L, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_M, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_N, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_O, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_P, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_Q, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_R, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_S, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_T, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_U, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_V, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_W, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_X, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_Y, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_Z, gMonBackPic_DoubleQuestionMark),
SPECIES_SPRITE(TREECKO, gMonBackPic_Treecko),
SPECIES_SPRITE(GROVYLE, gMonBackPic_Grovyle),
SPECIES_SPRITE(SCEPTILE, gMonBackPic_Sceptile),
SPECIES_SPRITE(TORCHIC, gMonBackPic_Torchic),
SPECIES_SPRITE(COMBUSKEN, gMonBackPic_Combusken),
SPECIES_SPRITE(BLAZIKEN, gMonBackPic_Blaziken),
SPECIES_SPRITE(MUDKIP, gMonBackPic_Mudkip),
SPECIES_SPRITE(MARSHTOMP, gMonBackPic_Marshtomp),
SPECIES_SPRITE(SWAMPERT, gMonBackPic_Swampert),
SPECIES_SPRITE(POOCHYENA, gMonBackPic_Poochyena),
SPECIES_SPRITE(MIGHTYENA, gMonBackPic_Mightyena),
SPECIES_SPRITE(ZIGZAGOON, gMonBackPic_Zigzagoon),
SPECIES_SPRITE(LINOONE, gMonBackPic_Linoone),
SPECIES_SPRITE(WURMPLE, gMonBackPic_Wurmple),
SPECIES_SPRITE(SILCOON, gMonBackPic_Silcoon),
SPECIES_SPRITE(BEAUTIFLY, gMonBackPic_Beautifly),
SPECIES_SPRITE(CASCOON, gMonBackPic_Cascoon),
SPECIES_SPRITE(DUSTOX, gMonBackPic_Dustox),
SPECIES_SPRITE(LOTAD, gMonBackPic_Lotad),
SPECIES_SPRITE(LOMBRE, gMonBackPic_Lombre),
SPECIES_SPRITE(LUDICOLO, gMonBackPic_Ludicolo),
SPECIES_SPRITE(SEEDOT, gMonBackPic_Seedot),
SPECIES_SPRITE(NUZLEAF, gMonBackPic_Nuzleaf),
SPECIES_SPRITE(SHIFTRY, gMonBackPic_Shiftry),
SPECIES_SPRITE(NINCADA, gMonBackPic_Nincada),
SPECIES_SPRITE(NINJASK, gMonBackPic_Ninjask),
SPECIES_SPRITE(SHEDINJA, gMonBackPic_Shedinja),
SPECIES_SPRITE(TAILLOW, gMonBackPic_Taillow),
SPECIES_SPRITE(SWELLOW, gMonBackPic_Swellow),
SPECIES_SPRITE(SHROOMISH, gMonBackPic_Shroomish),
SPECIES_SPRITE(BRELOOM, gMonBackPic_Breloom),
SPECIES_SPRITE(SPINDA, gMonBackPic_Spinda),
SPECIES_SPRITE(WINGULL, gMonBackPic_Wingull),
SPECIES_SPRITE(PELIPPER, gMonBackPic_Pelipper),
SPECIES_SPRITE(SURSKIT, gMonBackPic_Surskit),
SPECIES_SPRITE(MASQUERAIN, gMonBackPic_Masquerain),
SPECIES_SPRITE(WAILMER, gMonBackPic_Wailmer),
SPECIES_SPRITE(WAILORD, gMonBackPic_Wailord),
SPECIES_SPRITE(SKITTY, gMonBackPic_Skitty),
SPECIES_SPRITE(DELCATTY, gMonBackPic_Delcatty),
SPECIES_SPRITE(KECLEON, gMonBackPic_Kecleon),
SPECIES_SPRITE(BALTOY, gMonBackPic_Baltoy),
SPECIES_SPRITE(CLAYDOL, gMonBackPic_Claydol),
SPECIES_SPRITE(NOSEPASS, gMonBackPic_Nosepass),
SPECIES_SPRITE(TORKOAL, gMonBackPic_Torkoal),
SPECIES_SPRITE(SABLEYE, gMonBackPic_Sableye),
SPECIES_SPRITE(BARBOACH, gMonBackPic_Barboach),
SPECIES_SPRITE(WHISCASH, gMonBackPic_Whiscash),
SPECIES_SPRITE(LUVDISC, gMonBackPic_Luvdisc),
SPECIES_SPRITE(CORPHISH, gMonBackPic_Corphish),
SPECIES_SPRITE(CRAWDAUNT, gMonBackPic_Crawdaunt),
SPECIES_SPRITE(FEEBAS, gMonBackPic_Feebas),
SPECIES_SPRITE(MILOTIC, gMonBackPic_Milotic),
SPECIES_SPRITE(CARVANHA, gMonBackPic_Carvanha),
SPECIES_SPRITE(SHARPEDO, gMonBackPic_Sharpedo),
SPECIES_SPRITE(TRAPINCH, gMonBackPic_Trapinch),
SPECIES_SPRITE(VIBRAVA, gMonBackPic_Vibrava),
SPECIES_SPRITE(FLYGON, gMonBackPic_Flygon),
SPECIES_SPRITE(MAKUHITA, gMonBackPic_Makuhita),
SPECIES_SPRITE(HARIYAMA, gMonBackPic_Hariyama),
SPECIES_SPRITE(ELECTRIKE, gMonBackPic_Electrike),
SPECIES_SPRITE(MANECTRIC, gMonBackPic_Manectric),
SPECIES_SPRITE(NUMEL, gMonBackPic_Numel),
SPECIES_SPRITE(CAMERUPT, gMonBackPic_Camerupt),
SPECIES_SPRITE(SPHEAL, gMonBackPic_Spheal),
SPECIES_SPRITE(SEALEO, gMonBackPic_Sealeo),
SPECIES_SPRITE(WALREIN, gMonBackPic_Walrein),
SPECIES_SPRITE(CACNEA, gMonBackPic_Cacnea),
SPECIES_SPRITE(CACTURNE, gMonBackPic_Cacturne),
SPECIES_SPRITE(SNORUNT, gMonBackPic_Snorunt),
SPECIES_SPRITE(GLALIE, gMonBackPic_Glalie),
SPECIES_SPRITE(LUNATONE, gMonBackPic_Lunatone),
SPECIES_SPRITE(SOLROCK, gMonBackPic_Solrock),
SPECIES_SPRITE(AZURILL, gMonBackPic_Azurill),
SPECIES_SPRITE(SPOINK, gMonBackPic_Spoink),
SPECIES_SPRITE(GRUMPIG, gMonBackPic_Grumpig),
SPECIES_SPRITE(PLUSLE, gMonBackPic_Plusle),
SPECIES_SPRITE(MINUN, gMonBackPic_Minun),
SPECIES_SPRITE(MAWILE, gMonBackPic_Mawile),
SPECIES_SPRITE(MEDITITE, gMonBackPic_Meditite),
SPECIES_SPRITE(MEDICHAM, gMonBackPic_Medicham),
SPECIES_SPRITE(SWABLU, gMonBackPic_Swablu),
SPECIES_SPRITE(ALTARIA, gMonBackPic_Altaria),
SPECIES_SPRITE(WYNAUT, gMonBackPic_Wynaut),
SPECIES_SPRITE(DUSKULL, gMonBackPic_Duskull),
SPECIES_SPRITE(DUSCLOPS, gMonBackPic_Dusclops),
SPECIES_SPRITE(ROSELIA, gMonBackPic_Roselia),
SPECIES_SPRITE(SLAKOTH, gMonBackPic_Slakoth),
SPECIES_SPRITE(VIGOROTH, gMonBackPic_Vigoroth),
SPECIES_SPRITE(SLAKING, gMonBackPic_Slaking),
SPECIES_SPRITE(GULPIN, gMonBackPic_Gulpin),
SPECIES_SPRITE(SWALOT, gMonBackPic_Swalot),
SPECIES_SPRITE(TROPIUS, gMonBackPic_Tropius),
SPECIES_SPRITE(WHISMUR, gMonBackPic_Whismur),
SPECIES_SPRITE(LOUDRED, gMonBackPic_Loudred),
SPECIES_SPRITE(EXPLOUD, gMonBackPic_Exploud),
SPECIES_SPRITE(CLAMPERL, gMonBackPic_Clamperl),
SPECIES_SPRITE(HUNTAIL, gMonBackPic_Huntail),
SPECIES_SPRITE(GOREBYSS, gMonBackPic_Gorebyss),
SPECIES_SPRITE(ABSOL, gMonBackPic_Absol),
SPECIES_SPRITE(SHUPPET, gMonBackPic_Shuppet),
SPECIES_SPRITE(BANETTE, gMonBackPic_Banette),
SPECIES_SPRITE(SEVIPER, gMonBackPic_Seviper),
SPECIES_SPRITE(ZANGOOSE, gMonBackPic_Zangoose),
SPECIES_SPRITE(RELICANTH, gMonBackPic_Relicanth),
SPECIES_SPRITE(ARON, gMonBackPic_Aron),
SPECIES_SPRITE(LAIRON, gMonBackPic_Lairon),
SPECIES_SPRITE(AGGRON, gMonBackPic_Aggron),
SPECIES_SPRITE(CASTFORM, gMonBackPic_Castform),
SPECIES_SPRITE(VOLBEAT, gMonBackPic_Volbeat),
SPECIES_SPRITE(ILLUMISE, gMonBackPic_Illumise),
SPECIES_SPRITE(LILEEP, gMonBackPic_Lileep),
SPECIES_SPRITE(CRADILY, gMonBackPic_Cradily),
SPECIES_SPRITE(ANORITH, gMonBackPic_Anorith),
SPECIES_SPRITE(ARMALDO, gMonBackPic_Armaldo),
SPECIES_SPRITE(RALTS, gMonBackPic_Ralts),
SPECIES_SPRITE(KIRLIA, gMonBackPic_Kirlia),
SPECIES_SPRITE(GARDEVOIR, gMonBackPic_Gardevoir),
SPECIES_SPRITE(BAGON, gMonBackPic_Bagon),
SPECIES_SPRITE(SHELGON, gMonBackPic_Shelgon),
SPECIES_SPRITE(SALAMENCE, gMonBackPic_Salamence),
SPECIES_SPRITE(BELDUM, gMonBackPic_Beldum),
SPECIES_SPRITE(METANG, gMonBackPic_Metang),
SPECIES_SPRITE(METAGROSS, gMonBackPic_Metagross),
SPECIES_SPRITE(REGIROCK, gMonBackPic_Regirock),
SPECIES_SPRITE(REGICE, gMonBackPic_Regice),
SPECIES_SPRITE(REGISTEEL, gMonBackPic_Registeel),
SPECIES_SPRITE(KYOGRE, gMonBackPic_Kyogre),
SPECIES_SPRITE(GROUDON, gMonBackPic_Groudon),
SPECIES_SPRITE(RAYQUAZA, gMonBackPic_Rayquaza),
SPECIES_SPRITE(LATIAS, gMonBackPic_Latias),
SPECIES_SPRITE(LATIOS, gMonBackPic_Latios),
SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi),
SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys),
SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho),
SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB),
SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC),
SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD),
SPECIES_SPRITE(UNOWN_E, gMonBackPic_UnownE),
SPECIES_SPRITE(UNOWN_F, gMonBackPic_UnownF),
SPECIES_SPRITE(UNOWN_G, gMonBackPic_UnownG),
SPECIES_SPRITE(UNOWN_H, gMonBackPic_UnownH),
SPECIES_SPRITE(UNOWN_I, gMonBackPic_UnownI),
SPECIES_SPRITE(UNOWN_J, gMonBackPic_UnownJ),
SPECIES_SPRITE(UNOWN_K, gMonBackPic_UnownK),
SPECIES_SPRITE(UNOWN_L, gMonBackPic_UnownL),
SPECIES_SPRITE(UNOWN_M, gMonBackPic_UnownM),
SPECIES_SPRITE(UNOWN_N, gMonBackPic_UnownN),
SPECIES_SPRITE(UNOWN_O, gMonBackPic_UnownO),
SPECIES_SPRITE(UNOWN_P, gMonBackPic_UnownP),
SPECIES_SPRITE(UNOWN_Q, gMonBackPic_UnownQ),
SPECIES_SPRITE(UNOWN_R, gMonBackPic_UnownR),
SPECIES_SPRITE(UNOWN_S, gMonBackPic_UnownS),
SPECIES_SPRITE(UNOWN_T, gMonBackPic_UnownT),
SPECIES_SPRITE(UNOWN_U, gMonBackPic_UnownU),
SPECIES_SPRITE(UNOWN_V, gMonBackPic_UnownV),
SPECIES_SPRITE(UNOWN_W, gMonBackPic_UnownW),
SPECIES_SPRITE(UNOWN_X, gMonBackPic_UnownX),
SPECIES_SPRITE(UNOWN_Y, gMonBackPic_UnownY),
SPECIES_SPRITE(UNOWN_Z, gMonBackPic_UnownZ),
SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark),
SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark),
};
@@ -0,0 +1,65 @@
// This determines how much higher above the usual position the enemy Pokémon
// is during battle. Species that float or fly have nonzero values.
const u8 gEnemyMonElevation[NUM_SPECIES] =
{
[SPECIES_BUTTERFREE] = 8,
[SPECIES_BEEDRILL] = 8,
[SPECIES_PIDGEOT] = 4,
[SPECIES_FEAROW] = 6,
[SPECIES_ZUBAT] = 8,
[SPECIES_GOLBAT] = 8,
[SPECIES_VENOMOTH] = 8,
[SPECIES_GEODUDE] = 16,
[SPECIES_MAGNEMITE] = 16,
[SPECIES_MAGNETON] = 8,
[SPECIES_GASTLY] = 4,
[SPECIES_HAUNTER] = 4,
[SPECIES_VOLTORB] = 10,
[SPECIES_ELECTRODE] = 12,
[SPECIES_KOFFING] = 8,
[SPECIES_WEEZING] = 6,
[SPECIES_AERODACTYL] = 7,
[SPECIES_ARTICUNO] = 6,
[SPECIES_ZAPDOS] = 8,
[SPECIES_MOLTRES] = 5,
[SPECIES_DRAGONITE] = 6,
[SPECIES_MEW] = 8,
[SPECIES_LEDIAN] = 8,
[SPECIES_CROBAT] = 6,
[SPECIES_HOPPIP] = 11,
[SPECIES_SKIPLOOM] = 12,
[SPECIES_JUMPLUFF] = 9,
[SPECIES_YANMA] = 8,
[SPECIES_MISDREAVUS] = 8,
[SPECIES_UNOWN] = 8,
[SPECIES_GLIGAR] = 6,
[SPECIES_LUGIA] = 6,
[SPECIES_HO_OH] = 6,
[SPECIES_CELEBI] = 15,
[SPECIES_BEAUTIFLY] = 8,
[SPECIES_DUSTOX] = 10,
[SPECIES_NINJASK] = 10,
[SPECIES_SHEDINJA] = 8,
[SPECIES_WINGULL] = 16,
[SPECIES_PELIPPER] = 8,
[SPECIES_MASQUERAIN] = 10,
[SPECIES_BALTOY] = 4,
[SPECIES_CLAYDOL] = 10,
[SPECIES_FLYGON] = 7,
[SPECIES_GLALIE] = 12,
[SPECIES_LUNATONE] = 13,
[SPECIES_SOLROCK] = 4,
[SPECIES_SWABLU] = 12,
[SPECIES_ALTARIA] = 8,
[SPECIES_DUSKULL] = 9,
[SPECIES_SHUPPET] = 12,
[SPECIES_BANETTE] = 8,
[SPECIES_CASTFORM] = 16,
[SPECIES_BELDUM] = 8,
[SPECIES_RAYQUAZA] = 6,
[SPECIES_LATIAS] = 6,
[SPECIES_LATIOS] = 6,
[SPECIES_JIRACHI] = 12,
[SPECIES_DEOXYS] = 8,
[SPECIES_CHIMECHO] = 12,
};
File diff suppressed because it is too large Load Diff
+443
View File
@@ -0,0 +1,443 @@
const struct CompressedSpriteSheet gMonFrontPicTable[] =
{
SPECIES_SPRITE(NONE, gMonFrontPic_CircledQuestionMark),
SPECIES_SPRITE(BULBASAUR, gMonFrontPic_Bulbasaur),
SPECIES_SPRITE(IVYSAUR, gMonFrontPic_Ivysaur),
SPECIES_SPRITE(VENUSAUR, gMonFrontPic_Venusaur),
SPECIES_SPRITE(CHARMANDER, gMonFrontPic_Charmander),
SPECIES_SPRITE(CHARMELEON, gMonFrontPic_Charmeleon),
SPECIES_SPRITE(CHARIZARD, gMonFrontPic_Charizard),
SPECIES_SPRITE(SQUIRTLE, gMonFrontPic_Squirtle),
SPECIES_SPRITE(WARTORTLE, gMonFrontPic_Wartortle),
SPECIES_SPRITE(BLASTOISE, gMonFrontPic_Blastoise),
SPECIES_SPRITE(CATERPIE, gMonFrontPic_Caterpie),
SPECIES_SPRITE(METAPOD, gMonFrontPic_Metapod),
SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_Butterfree),
SPECIES_SPRITE(WEEDLE, gMonFrontPic_Weedle),
SPECIES_SPRITE(KAKUNA, gMonFrontPic_Kakuna),
SPECIES_SPRITE(BEEDRILL, gMonFrontPic_Beedrill),
SPECIES_SPRITE(PIDGEY, gMonFrontPic_Pidgey),
SPECIES_SPRITE(PIDGEOTTO, gMonFrontPic_Pidgeotto),
SPECIES_SPRITE(PIDGEOT, gMonFrontPic_Pidgeot),
SPECIES_SPRITE(RATTATA, gMonFrontPic_Rattata),
SPECIES_SPRITE(RATICATE, gMonFrontPic_Raticate),
SPECIES_SPRITE(SPEAROW, gMonFrontPic_Spearow),
SPECIES_SPRITE(FEAROW, gMonFrontPic_Fearow),
SPECIES_SPRITE(EKANS, gMonFrontPic_Ekans),
SPECIES_SPRITE(ARBOK, gMonFrontPic_Arbok),
SPECIES_SPRITE(PIKACHU, gMonFrontPic_Pikachu),
SPECIES_SPRITE(RAICHU, gMonFrontPic_Raichu),
SPECIES_SPRITE(SANDSHREW, gMonFrontPic_Sandshrew),
SPECIES_SPRITE(SANDSLASH, gMonFrontPic_Sandslash),
SPECIES_SPRITE(NIDORAN_F, gMonFrontPic_NidoranF),
SPECIES_SPRITE(NIDORINA, gMonFrontPic_Nidorina),
SPECIES_SPRITE(NIDOQUEEN, gMonFrontPic_Nidoqueen),
SPECIES_SPRITE(NIDORAN_M, gMonFrontPic_NidoranM),
SPECIES_SPRITE(NIDORINO, gMonFrontPic_Nidorino),
SPECIES_SPRITE(NIDOKING, gMonFrontPic_Nidoking),
SPECIES_SPRITE(CLEFAIRY, gMonFrontPic_Clefairy),
SPECIES_SPRITE(CLEFABLE, gMonFrontPic_Clefable),
SPECIES_SPRITE(VULPIX, gMonFrontPic_Vulpix),
SPECIES_SPRITE(NINETALES, gMonFrontPic_Ninetales),
SPECIES_SPRITE(JIGGLYPUFF, gMonFrontPic_Jigglypuff),
SPECIES_SPRITE(WIGGLYTUFF, gMonFrontPic_Wigglytuff),
SPECIES_SPRITE(ZUBAT, gMonFrontPic_Zubat),
SPECIES_SPRITE(GOLBAT, gMonFrontPic_Golbat),
SPECIES_SPRITE(ODDISH, gMonFrontPic_Oddish),
SPECIES_SPRITE(GLOOM, gMonFrontPic_Gloom),
SPECIES_SPRITE(VILEPLUME, gMonFrontPic_Vileplume),
SPECIES_SPRITE(PARAS, gMonFrontPic_Paras),
SPECIES_SPRITE(PARASECT, gMonFrontPic_Parasect),
SPECIES_SPRITE(VENONAT, gMonFrontPic_Venonat),
SPECIES_SPRITE(VENOMOTH, gMonFrontPic_Venomoth),
SPECIES_SPRITE(DIGLETT, gMonFrontPic_Diglett),
SPECIES_SPRITE(DUGTRIO, gMonFrontPic_Dugtrio),
SPECIES_SPRITE(MEOWTH, gMonFrontPic_Meowth),
SPECIES_SPRITE(PERSIAN, gMonFrontPic_Persian),
SPECIES_SPRITE(PSYDUCK, gMonFrontPic_Psyduck),
SPECIES_SPRITE(GOLDUCK, gMonFrontPic_Golduck),
SPECIES_SPRITE(MANKEY, gMonFrontPic_Mankey),
SPECIES_SPRITE(PRIMEAPE, gMonFrontPic_Primeape),
SPECIES_SPRITE(GROWLITHE, gMonFrontPic_Growlithe),
SPECIES_SPRITE(ARCANINE, gMonFrontPic_Arcanine),
SPECIES_SPRITE(POLIWAG, gMonFrontPic_Poliwag),
SPECIES_SPRITE(POLIWHIRL, gMonFrontPic_Poliwhirl),
SPECIES_SPRITE(POLIWRATH, gMonFrontPic_Poliwrath),
SPECIES_SPRITE(ABRA, gMonFrontPic_Abra),
SPECIES_SPRITE(KADABRA, gMonFrontPic_Kadabra),
SPECIES_SPRITE(ALAKAZAM, gMonFrontPic_Alakazam),
SPECIES_SPRITE(MACHOP, gMonFrontPic_Machop),
SPECIES_SPRITE(MACHOKE, gMonFrontPic_Machoke),
SPECIES_SPRITE(MACHAMP, gMonFrontPic_Machamp),
SPECIES_SPRITE(BELLSPROUT, gMonFrontPic_Bellsprout),
SPECIES_SPRITE(WEEPINBELL, gMonFrontPic_Weepinbell),
SPECIES_SPRITE(VICTREEBEL, gMonFrontPic_Victreebel),
SPECIES_SPRITE(TENTACOOL, gMonFrontPic_Tentacool),
SPECIES_SPRITE(TENTACRUEL, gMonFrontPic_Tentacruel),
SPECIES_SPRITE(GEODUDE, gMonFrontPic_Geodude),
SPECIES_SPRITE(GRAVELER, gMonFrontPic_Graveler),
SPECIES_SPRITE(GOLEM, gMonFrontPic_Golem),
SPECIES_SPRITE(PONYTA, gMonFrontPic_Ponyta),
SPECIES_SPRITE(RAPIDASH, gMonFrontPic_Rapidash),
SPECIES_SPRITE(SLOWPOKE, gMonFrontPic_Slowpoke),
SPECIES_SPRITE(SLOWBRO, gMonFrontPic_Slowbro),
SPECIES_SPRITE(MAGNEMITE, gMonFrontPic_Magnemite),
SPECIES_SPRITE(MAGNETON, gMonFrontPic_Magneton),
SPECIES_SPRITE(FARFETCHD, gMonFrontPic_Farfetchd),
SPECIES_SPRITE(DODUO, gMonFrontPic_Doduo),
SPECIES_SPRITE(DODRIO, gMonFrontPic_Dodrio),
SPECIES_SPRITE(SEEL, gMonFrontPic_Seel),
SPECIES_SPRITE(DEWGONG, gMonFrontPic_Dewgong),
SPECIES_SPRITE(GRIMER, gMonFrontPic_Grimer),
SPECIES_SPRITE(MUK, gMonFrontPic_Muk),
SPECIES_SPRITE(SHELLDER, gMonFrontPic_Shellder),
SPECIES_SPRITE(CLOYSTER, gMonFrontPic_Cloyster),
SPECIES_SPRITE(GASTLY, gMonFrontPic_Gastly),
SPECIES_SPRITE(HAUNTER, gMonFrontPic_Haunter),
SPECIES_SPRITE(GENGAR, gMonFrontPic_Gengar),
SPECIES_SPRITE(ONIX, gMonFrontPic_Onix),
SPECIES_SPRITE(DROWZEE, gMonFrontPic_Drowzee),
SPECIES_SPRITE(HYPNO, gMonFrontPic_Hypno),
SPECIES_SPRITE(KRABBY, gMonFrontPic_Krabby),
SPECIES_SPRITE(KINGLER, gMonFrontPic_Kingler),
SPECIES_SPRITE(VOLTORB, gMonFrontPic_Voltorb),
SPECIES_SPRITE(ELECTRODE, gMonFrontPic_Electrode),
SPECIES_SPRITE(EXEGGCUTE, gMonFrontPic_Exeggcute),
SPECIES_SPRITE(EXEGGUTOR, gMonFrontPic_Exeggutor),
SPECIES_SPRITE(CUBONE, gMonFrontPic_Cubone),
SPECIES_SPRITE(MAROWAK, gMonFrontPic_Marowak),
SPECIES_SPRITE(HITMONLEE, gMonFrontPic_Hitmonlee),
SPECIES_SPRITE(HITMONCHAN, gMonFrontPic_Hitmonchan),
SPECIES_SPRITE(LICKITUNG, gMonFrontPic_Lickitung),
SPECIES_SPRITE(KOFFING, gMonFrontPic_Koffing),
SPECIES_SPRITE(WEEZING, gMonFrontPic_Weezing),
SPECIES_SPRITE(RHYHORN, gMonFrontPic_Rhyhorn),
SPECIES_SPRITE(RHYDON, gMonFrontPic_Rhydon),
SPECIES_SPRITE(CHANSEY, gMonFrontPic_Chansey),
SPECIES_SPRITE(TANGELA, gMonFrontPic_Tangela),
SPECIES_SPRITE(KANGASKHAN, gMonFrontPic_Kangaskhan),
SPECIES_SPRITE(HORSEA, gMonFrontPic_Horsea),
SPECIES_SPRITE(SEADRA, gMonFrontPic_Seadra),
SPECIES_SPRITE(GOLDEEN, gMonFrontPic_Goldeen),
SPECIES_SPRITE(SEAKING, gMonFrontPic_Seaking),
SPECIES_SPRITE(STARYU, gMonFrontPic_Staryu),
SPECIES_SPRITE(STARMIE, gMonFrontPic_Starmie),
SPECIES_SPRITE(MR_MIME, gMonFrontPic_Mrmime),
SPECIES_SPRITE(SCYTHER, gMonFrontPic_Scyther),
SPECIES_SPRITE(JYNX, gMonFrontPic_Jynx),
SPECIES_SPRITE(ELECTABUZZ, gMonFrontPic_Electabuzz),
SPECIES_SPRITE(MAGMAR, gMonFrontPic_Magmar),
SPECIES_SPRITE(PINSIR, gMonFrontPic_Pinsir),
SPECIES_SPRITE(TAUROS, gMonFrontPic_Tauros),
SPECIES_SPRITE(MAGIKARP, gMonFrontPic_Magikarp),
SPECIES_SPRITE(GYARADOS, gMonFrontPic_Gyarados),
SPECIES_SPRITE(LAPRAS, gMonFrontPic_Lapras),
SPECIES_SPRITE(DITTO, gMonFrontPic_Ditto),
SPECIES_SPRITE(EEVEE, gMonFrontPic_Eevee),
SPECIES_SPRITE(VAPOREON, gMonFrontPic_Vaporeon),
SPECIES_SPRITE(JOLTEON, gMonFrontPic_Jolteon),
SPECIES_SPRITE(FLAREON, gMonFrontPic_Flareon),
SPECIES_SPRITE(PORYGON, gMonFrontPic_Porygon),
SPECIES_SPRITE(OMANYTE, gMonFrontPic_Omanyte),
SPECIES_SPRITE(OMASTAR, gMonFrontPic_Omastar),
SPECIES_SPRITE(KABUTO, gMonFrontPic_Kabuto),
SPECIES_SPRITE(KABUTOPS, gMonFrontPic_Kabutops),
SPECIES_SPRITE(AERODACTYL, gMonFrontPic_Aerodactyl),
SPECIES_SPRITE(SNORLAX, gMonFrontPic_Snorlax),
SPECIES_SPRITE(ARTICUNO, gMonFrontPic_Articuno),
SPECIES_SPRITE(ZAPDOS, gMonFrontPic_Zapdos),
SPECIES_SPRITE(MOLTRES, gMonFrontPic_Moltres),
SPECIES_SPRITE(DRATINI, gMonFrontPic_Dratini),
SPECIES_SPRITE(DRAGONAIR, gMonFrontPic_Dragonair),
SPECIES_SPRITE(DRAGONITE, gMonFrontPic_Dragonite),
SPECIES_SPRITE(MEWTWO, gMonFrontPic_Mewtwo),
SPECIES_SPRITE(MEW, gMonFrontPic_Mew),
SPECIES_SPRITE(CHIKORITA, gMonFrontPic_Chikorita),
SPECIES_SPRITE(BAYLEEF, gMonFrontPic_Bayleef),
SPECIES_SPRITE(MEGANIUM, gMonFrontPic_Meganium),
SPECIES_SPRITE(CYNDAQUIL, gMonFrontPic_Cyndaquil),
SPECIES_SPRITE(QUILAVA, gMonFrontPic_Quilava),
SPECIES_SPRITE(TYPHLOSION, gMonFrontPic_Typhlosion),
SPECIES_SPRITE(TOTODILE, gMonFrontPic_Totodile),
SPECIES_SPRITE(CROCONAW, gMonFrontPic_Croconaw),
SPECIES_SPRITE(FERALIGATR, gMonFrontPic_Feraligatr),
SPECIES_SPRITE(SENTRET, gMonFrontPic_Sentret),
SPECIES_SPRITE(FURRET, gMonFrontPic_Furret),
SPECIES_SPRITE(HOOTHOOT, gMonFrontPic_Hoothoot),
SPECIES_SPRITE(NOCTOWL, gMonFrontPic_Noctowl),
SPECIES_SPRITE(LEDYBA, gMonFrontPic_Ledyba),
SPECIES_SPRITE(LEDIAN, gMonFrontPic_Ledian),
SPECIES_SPRITE(SPINARAK, gMonFrontPic_Spinarak),
SPECIES_SPRITE(ARIADOS, gMonFrontPic_Ariados),
SPECIES_SPRITE(CROBAT, gMonFrontPic_Crobat),
SPECIES_SPRITE(CHINCHOU, gMonFrontPic_Chinchou),
SPECIES_SPRITE(LANTURN, gMonFrontPic_Lanturn),
SPECIES_SPRITE(PICHU, gMonFrontPic_Pichu),
SPECIES_SPRITE(CLEFFA, gMonFrontPic_Cleffa),
SPECIES_SPRITE(IGGLYBUFF, gMonFrontPic_Igglybuff),
SPECIES_SPRITE(TOGEPI, gMonFrontPic_Togepi),
SPECIES_SPRITE(TOGETIC, gMonFrontPic_Togetic),
SPECIES_SPRITE(NATU, gMonFrontPic_Natu),
SPECIES_SPRITE(XATU, gMonFrontPic_Xatu),
SPECIES_SPRITE(MAREEP, gMonFrontPic_Mareep),
SPECIES_SPRITE(FLAAFFY, gMonFrontPic_Flaaffy),
SPECIES_SPRITE(AMPHAROS, gMonFrontPic_Ampharos),
SPECIES_SPRITE(BELLOSSOM, gMonFrontPic_Bellossom),
SPECIES_SPRITE(MARILL, gMonFrontPic_Marill),
SPECIES_SPRITE(AZUMARILL, gMonFrontPic_Azumarill),
SPECIES_SPRITE(SUDOWOODO, gMonFrontPic_Sudowoodo),
SPECIES_SPRITE(POLITOED, gMonFrontPic_Politoed),
SPECIES_SPRITE(HOPPIP, gMonFrontPic_Hoppip),
SPECIES_SPRITE(SKIPLOOM, gMonFrontPic_Skiploom),
SPECIES_SPRITE(JUMPLUFF, gMonFrontPic_Jumpluff),
SPECIES_SPRITE(AIPOM, gMonFrontPic_Aipom),
SPECIES_SPRITE(SUNKERN, gMonFrontPic_Sunkern),
SPECIES_SPRITE(SUNFLORA, gMonFrontPic_Sunflora),
SPECIES_SPRITE(YANMA, gMonFrontPic_Yanma),
SPECIES_SPRITE(WOOPER, gMonFrontPic_Wooper),
SPECIES_SPRITE(QUAGSIRE, gMonFrontPic_Quagsire),
SPECIES_SPRITE(ESPEON, gMonFrontPic_Espeon),
SPECIES_SPRITE(UMBREON, gMonFrontPic_Umbreon),
SPECIES_SPRITE(MURKROW, gMonFrontPic_Murkrow),
SPECIES_SPRITE(SLOWKING, gMonFrontPic_Slowking),
SPECIES_SPRITE(MISDREAVUS, gMonFrontPic_Misdreavus),
SPECIES_SPRITE(UNOWN, gMonFrontPic_UnownA),
SPECIES_SPRITE(WOBBUFFET, gMonFrontPic_Wobbuffet),
SPECIES_SPRITE(GIRAFARIG, gMonFrontPic_Girafarig),
SPECIES_SPRITE(PINECO, gMonFrontPic_Pineco),
SPECIES_SPRITE(FORRETRESS, gMonFrontPic_Forretress),
SPECIES_SPRITE(DUNSPARCE, gMonFrontPic_Dunsparce),
SPECIES_SPRITE(GLIGAR, gMonFrontPic_Gligar),
SPECIES_SPRITE(STEELIX, gMonFrontPic_Steelix),
SPECIES_SPRITE(SNUBBULL, gMonFrontPic_Snubbull),
SPECIES_SPRITE(GRANBULL, gMonFrontPic_Granbull),
SPECIES_SPRITE(QWILFISH, gMonFrontPic_Qwilfish),
SPECIES_SPRITE(SCIZOR, gMonFrontPic_Scizor),
SPECIES_SPRITE(SHUCKLE, gMonFrontPic_Shuckle),
SPECIES_SPRITE(HERACROSS, gMonFrontPic_Heracross),
SPECIES_SPRITE(SNEASEL, gMonFrontPic_Sneasel),
SPECIES_SPRITE(TEDDIURSA, gMonFrontPic_Teddiursa),
SPECIES_SPRITE(URSARING, gMonFrontPic_Ursaring),
SPECIES_SPRITE(SLUGMA, gMonFrontPic_Slugma),
SPECIES_SPRITE(MAGCARGO, gMonFrontPic_Magcargo),
SPECIES_SPRITE(SWINUB, gMonFrontPic_Swinub),
SPECIES_SPRITE(PILOSWINE, gMonFrontPic_Piloswine),
SPECIES_SPRITE(CORSOLA, gMonFrontPic_Corsola),
SPECIES_SPRITE(REMORAID, gMonFrontPic_Remoraid),
SPECIES_SPRITE(OCTILLERY, gMonFrontPic_Octillery),
SPECIES_SPRITE(DELIBIRD, gMonFrontPic_Delibird),
SPECIES_SPRITE(MANTINE, gMonFrontPic_Mantine),
SPECIES_SPRITE(SKARMORY, gMonFrontPic_Skarmory),
SPECIES_SPRITE(HOUNDOUR, gMonFrontPic_Houndour),
SPECIES_SPRITE(HOUNDOOM, gMonFrontPic_Houndoom),
SPECIES_SPRITE(KINGDRA, gMonFrontPic_Kingdra),
SPECIES_SPRITE(PHANPY, gMonFrontPic_Phanpy),
SPECIES_SPRITE(DONPHAN, gMonFrontPic_Donphan),
SPECIES_SPRITE(PORYGON2, gMonFrontPic_Porygon2),
SPECIES_SPRITE(STANTLER, gMonFrontPic_Stantler),
SPECIES_SPRITE(SMEARGLE, gMonFrontPic_Smeargle),
SPECIES_SPRITE(TYROGUE, gMonFrontPic_Tyrogue),
SPECIES_SPRITE(HITMONTOP, gMonFrontPic_Hitmontop),
SPECIES_SPRITE(SMOOCHUM, gMonFrontPic_Smoochum),
SPECIES_SPRITE(ELEKID, gMonFrontPic_Elekid),
SPECIES_SPRITE(MAGBY, gMonFrontPic_Magby),
SPECIES_SPRITE(MILTANK, gMonFrontPic_Miltank),
SPECIES_SPRITE(BLISSEY, gMonFrontPic_Blissey),
SPECIES_SPRITE(RAIKOU, gMonFrontPic_Raikou),
SPECIES_SPRITE(ENTEI, gMonFrontPic_Entei),
SPECIES_SPRITE(SUICUNE, gMonFrontPic_Suicune),
SPECIES_SPRITE(LARVITAR, gMonFrontPic_Larvitar),
SPECIES_SPRITE(PUPITAR, gMonFrontPic_Pupitar),
SPECIES_SPRITE(TYRANITAR, gMonFrontPic_Tyranitar),
SPECIES_SPRITE(LUGIA, gMonFrontPic_Lugia),
SPECIES_SPRITE(HO_OH, gMonFrontPic_HoOh),
SPECIES_SPRITE(CELEBI, gMonFrontPic_Celebi),
SPECIES_SPRITE(OLD_UNOWN_B, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_C, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_D, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_E, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_F, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_G, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_H, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_I, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_J, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_K, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_L, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_M, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_N, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_O, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_P, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_Q, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_R, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_S, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_T, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_U, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_V, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_W, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_X, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_Y, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(OLD_UNOWN_Z, gMonFrontPic_DoubleQuestionMark),
SPECIES_SPRITE(TREECKO, gMonFrontPic_Treecko),
SPECIES_SPRITE(GROVYLE, gMonFrontPic_Grovyle),
SPECIES_SPRITE(SCEPTILE, gMonFrontPic_Sceptile),
SPECIES_SPRITE(TORCHIC, gMonFrontPic_Torchic),
SPECIES_SPRITE(COMBUSKEN, gMonFrontPic_Combusken),
SPECIES_SPRITE(BLAZIKEN, gMonFrontPic_Blaziken),
SPECIES_SPRITE(MUDKIP, gMonFrontPic_Mudkip),
SPECIES_SPRITE(MARSHTOMP, gMonFrontPic_Marshtomp),
SPECIES_SPRITE(SWAMPERT, gMonFrontPic_Swampert),
SPECIES_SPRITE(POOCHYENA, gMonFrontPic_Poochyena),
SPECIES_SPRITE(MIGHTYENA, gMonFrontPic_Mightyena),
SPECIES_SPRITE(ZIGZAGOON, gMonFrontPic_Zigzagoon),
SPECIES_SPRITE(LINOONE, gMonFrontPic_Linoone),
SPECIES_SPRITE(WURMPLE, gMonFrontPic_Wurmple),
SPECIES_SPRITE(SILCOON, gMonFrontPic_Silcoon),
SPECIES_SPRITE(BEAUTIFLY, gMonFrontPic_Beautifly),
SPECIES_SPRITE(CASCOON, gMonFrontPic_Cascoon),
SPECIES_SPRITE(DUSTOX, gMonFrontPic_Dustox),
SPECIES_SPRITE(LOTAD, gMonFrontPic_Lotad),
SPECIES_SPRITE(LOMBRE, gMonFrontPic_Lombre),
SPECIES_SPRITE(LUDICOLO, gMonFrontPic_Ludicolo),
SPECIES_SPRITE(SEEDOT, gMonFrontPic_Seedot),
SPECIES_SPRITE(NUZLEAF, gMonFrontPic_Nuzleaf),
SPECIES_SPRITE(SHIFTRY, gMonFrontPic_Shiftry),
SPECIES_SPRITE(NINCADA, gMonFrontPic_Nincada),
SPECIES_SPRITE(NINJASK, gMonFrontPic_Ninjask),
SPECIES_SPRITE(SHEDINJA, gMonFrontPic_Shedinja),
SPECIES_SPRITE(TAILLOW, gMonFrontPic_Taillow),
SPECIES_SPRITE(SWELLOW, gMonFrontPic_Swellow),
SPECIES_SPRITE(SHROOMISH, gMonFrontPic_Shroomish),
SPECIES_SPRITE(BRELOOM, gMonFrontPic_Breloom),
SPECIES_SPRITE(SPINDA, gMonFrontPic_Spinda),
SPECIES_SPRITE(WINGULL, gMonFrontPic_Wingull),
SPECIES_SPRITE(PELIPPER, gMonFrontPic_Pelipper),
SPECIES_SPRITE(SURSKIT, gMonFrontPic_Surskit),
SPECIES_SPRITE(MASQUERAIN, gMonFrontPic_Masquerain),
SPECIES_SPRITE(WAILMER, gMonFrontPic_Wailmer),
SPECIES_SPRITE(WAILORD, gMonFrontPic_Wailord),
SPECIES_SPRITE(SKITTY, gMonFrontPic_Skitty),
SPECIES_SPRITE(DELCATTY, gMonFrontPic_Delcatty),
SPECIES_SPRITE(KECLEON, gMonFrontPic_Kecleon),
SPECIES_SPRITE(BALTOY, gMonFrontPic_Baltoy),
SPECIES_SPRITE(CLAYDOL, gMonFrontPic_Claydol),
SPECIES_SPRITE(NOSEPASS, gMonFrontPic_Nosepass),
SPECIES_SPRITE(TORKOAL, gMonFrontPic_Torkoal),
SPECIES_SPRITE(SABLEYE, gMonFrontPic_Sableye),
SPECIES_SPRITE(BARBOACH, gMonFrontPic_Barboach),
SPECIES_SPRITE(WHISCASH, gMonFrontPic_Whiscash),
SPECIES_SPRITE(LUVDISC, gMonFrontPic_Luvdisc),
SPECIES_SPRITE(CORPHISH, gMonFrontPic_Corphish),
SPECIES_SPRITE(CRAWDAUNT, gMonFrontPic_Crawdaunt),
SPECIES_SPRITE(FEEBAS, gMonFrontPic_Feebas),
SPECIES_SPRITE(MILOTIC, gMonFrontPic_Milotic),
SPECIES_SPRITE(CARVANHA, gMonFrontPic_Carvanha),
SPECIES_SPRITE(SHARPEDO, gMonFrontPic_Sharpedo),
SPECIES_SPRITE(TRAPINCH, gMonFrontPic_Trapinch),
SPECIES_SPRITE(VIBRAVA, gMonFrontPic_Vibrava),
SPECIES_SPRITE(FLYGON, gMonFrontPic_Flygon),
SPECIES_SPRITE(MAKUHITA, gMonFrontPic_Makuhita),
SPECIES_SPRITE(HARIYAMA, gMonFrontPic_Hariyama),
SPECIES_SPRITE(ELECTRIKE, gMonFrontPic_Electrike),
SPECIES_SPRITE(MANECTRIC, gMonFrontPic_Manectric),
SPECIES_SPRITE(NUMEL, gMonFrontPic_Numel),
SPECIES_SPRITE(CAMERUPT, gMonFrontPic_Camerupt),
SPECIES_SPRITE(SPHEAL, gMonFrontPic_Spheal),
SPECIES_SPRITE(SEALEO, gMonFrontPic_Sealeo),
SPECIES_SPRITE(WALREIN, gMonFrontPic_Walrein),
SPECIES_SPRITE(CACNEA, gMonFrontPic_Cacnea),
SPECIES_SPRITE(CACTURNE, gMonFrontPic_Cacturne),
SPECIES_SPRITE(SNORUNT, gMonFrontPic_Snorunt),
SPECIES_SPRITE(GLALIE, gMonFrontPic_Glalie),
SPECIES_SPRITE(LUNATONE, gMonFrontPic_Lunatone),
SPECIES_SPRITE(SOLROCK, gMonFrontPic_Solrock),
SPECIES_SPRITE(AZURILL, gMonFrontPic_Azurill),
SPECIES_SPRITE(SPOINK, gMonFrontPic_Spoink),
SPECIES_SPRITE(GRUMPIG, gMonFrontPic_Grumpig),
SPECIES_SPRITE(PLUSLE, gMonFrontPic_Plusle),
SPECIES_SPRITE(MINUN, gMonFrontPic_Minun),
SPECIES_SPRITE(MAWILE, gMonFrontPic_Mawile),
SPECIES_SPRITE(MEDITITE, gMonFrontPic_Meditite),
SPECIES_SPRITE(MEDICHAM, gMonFrontPic_Medicham),
SPECIES_SPRITE(SWABLU, gMonFrontPic_Swablu),
SPECIES_SPRITE(ALTARIA, gMonFrontPic_Altaria),
SPECIES_SPRITE(WYNAUT, gMonFrontPic_Wynaut),
SPECIES_SPRITE(DUSKULL, gMonFrontPic_Duskull),
SPECIES_SPRITE(DUSCLOPS, gMonFrontPic_Dusclops),
SPECIES_SPRITE(ROSELIA, gMonFrontPic_Roselia),
SPECIES_SPRITE(SLAKOTH, gMonFrontPic_Slakoth),
SPECIES_SPRITE(VIGOROTH, gMonFrontPic_Vigoroth),
SPECIES_SPRITE(SLAKING, gMonFrontPic_Slaking),
SPECIES_SPRITE(GULPIN, gMonFrontPic_Gulpin),
SPECIES_SPRITE(SWALOT, gMonFrontPic_Swalot),
SPECIES_SPRITE(TROPIUS, gMonFrontPic_Tropius),
SPECIES_SPRITE(WHISMUR, gMonFrontPic_Whismur),
SPECIES_SPRITE(LOUDRED, gMonFrontPic_Loudred),
SPECIES_SPRITE(EXPLOUD, gMonFrontPic_Exploud),
SPECIES_SPRITE(CLAMPERL, gMonFrontPic_Clamperl),
SPECIES_SPRITE(HUNTAIL, gMonFrontPic_Huntail),
SPECIES_SPRITE(GOREBYSS, gMonFrontPic_Gorebyss),
SPECIES_SPRITE(ABSOL, gMonFrontPic_Absol),
SPECIES_SPRITE(SHUPPET, gMonFrontPic_Shuppet),
SPECIES_SPRITE(BANETTE, gMonFrontPic_Banette),
SPECIES_SPRITE(SEVIPER, gMonFrontPic_Seviper),
SPECIES_SPRITE(ZANGOOSE, gMonFrontPic_Zangoose),
SPECIES_SPRITE(RELICANTH, gMonFrontPic_Relicanth),
SPECIES_SPRITE(ARON, gMonFrontPic_Aron),
SPECIES_SPRITE(LAIRON, gMonFrontPic_Lairon),
SPECIES_SPRITE(AGGRON, gMonFrontPic_Aggron),
SPECIES_SPRITE(CASTFORM, gMonFrontPic_Castform),
SPECIES_SPRITE(VOLBEAT, gMonFrontPic_Volbeat),
SPECIES_SPRITE(ILLUMISE, gMonFrontPic_Illumise),
SPECIES_SPRITE(LILEEP, gMonFrontPic_Lileep),
SPECIES_SPRITE(CRADILY, gMonFrontPic_Cradily),
SPECIES_SPRITE(ANORITH, gMonFrontPic_Anorith),
SPECIES_SPRITE(ARMALDO, gMonFrontPic_Armaldo),
SPECIES_SPRITE(RALTS, gMonFrontPic_Ralts),
SPECIES_SPRITE(KIRLIA, gMonFrontPic_Kirlia),
SPECIES_SPRITE(GARDEVOIR, gMonFrontPic_Gardevoir),
SPECIES_SPRITE(BAGON, gMonFrontPic_Bagon),
SPECIES_SPRITE(SHELGON, gMonFrontPic_Shelgon),
SPECIES_SPRITE(SALAMENCE, gMonFrontPic_Salamence),
SPECIES_SPRITE(BELDUM, gMonFrontPic_Beldum),
SPECIES_SPRITE(METANG, gMonFrontPic_Metang),
SPECIES_SPRITE(METAGROSS, gMonFrontPic_Metagross),
SPECIES_SPRITE(REGIROCK, gMonFrontPic_Regirock),
SPECIES_SPRITE(REGICE, gMonFrontPic_Regice),
SPECIES_SPRITE(REGISTEEL, gMonFrontPic_Registeel),
SPECIES_SPRITE(KYOGRE, gMonFrontPic_Kyogre),
SPECIES_SPRITE(GROUDON, gMonFrontPic_Groudon),
SPECIES_SPRITE(RAYQUAZA, gMonFrontPic_Rayquaza),
SPECIES_SPRITE(LATIAS, gMonFrontPic_Latias),
SPECIES_SPRITE(LATIOS, gMonFrontPic_Latios),
SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi),
SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys),
SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho),
SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB),
SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC),
SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD),
SPECIES_SPRITE(UNOWN_E, gMonFrontPic_UnownE),
SPECIES_SPRITE(UNOWN_F, gMonFrontPic_UnownF),
SPECIES_SPRITE(UNOWN_G, gMonFrontPic_UnownG),
SPECIES_SPRITE(UNOWN_H, gMonFrontPic_UnownH),
SPECIES_SPRITE(UNOWN_I, gMonFrontPic_UnownI),
SPECIES_SPRITE(UNOWN_J, gMonFrontPic_UnownJ),
SPECIES_SPRITE(UNOWN_K, gMonFrontPic_UnownK),
SPECIES_SPRITE(UNOWN_L, gMonFrontPic_UnownL),
SPECIES_SPRITE(UNOWN_M, gMonFrontPic_UnownM),
SPECIES_SPRITE(UNOWN_N, gMonFrontPic_UnownN),
SPECIES_SPRITE(UNOWN_O, gMonFrontPic_UnownO),
SPECIES_SPRITE(UNOWN_P, gMonFrontPic_UnownP),
SPECIES_SPRITE(UNOWN_Q, gMonFrontPic_UnownQ),
SPECIES_SPRITE(UNOWN_R, gMonFrontPic_UnownR),
SPECIES_SPRITE(UNOWN_S, gMonFrontPic_UnownS),
SPECIES_SPRITE(UNOWN_T, gMonFrontPic_UnownT),
SPECIES_SPRITE(UNOWN_U, gMonFrontPic_UnownU),
SPECIES_SPRITE(UNOWN_V, gMonFrontPic_UnownV),
SPECIES_SPRITE(UNOWN_W, gMonFrontPic_UnownW),
SPECIES_SPRITE(UNOWN_X, gMonFrontPic_UnownX),
SPECIES_SPRITE(UNOWN_Y, gMonFrontPic_UnownY),
SPECIES_SPRITE(UNOWN_Z, gMonFrontPic_UnownZ),
SPECIES_SPRITE(UNOWN_EMARK, gMonFrontPic_UnownExclamationMark),
SPECIES_SPRITE(UNOWN_QMARK, gMonFrontPic_UnownQuestionMark),
};
+443
View File
@@ -0,0 +1,443 @@
const struct CompressedSpritePalette gMonPaletteTable[] =
{
SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark),
SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur),
SPECIES_PAL(IVYSAUR, gMonPalette_Ivysaur),
SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur),
SPECIES_PAL(CHARMANDER, gMonPalette_Charmander),
SPECIES_PAL(CHARMELEON, gMonPalette_Charmeleon),
SPECIES_PAL(CHARIZARD, gMonPalette_Charizard),
SPECIES_PAL(SQUIRTLE, gMonPalette_Squirtle),
SPECIES_PAL(WARTORTLE, gMonPalette_Wartortle),
SPECIES_PAL(BLASTOISE, gMonPalette_Blastoise),
SPECIES_PAL(CATERPIE, gMonPalette_Caterpie),
SPECIES_PAL(METAPOD, gMonPalette_Metapod),
SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree),
SPECIES_PAL(WEEDLE, gMonPalette_Weedle),
SPECIES_PAL(KAKUNA, gMonPalette_Kakuna),
SPECIES_PAL(BEEDRILL, gMonPalette_Beedrill),
SPECIES_PAL(PIDGEY, gMonPalette_Pidgey),
SPECIES_PAL(PIDGEOTTO, gMonPalette_Pidgeotto),
SPECIES_PAL(PIDGEOT, gMonPalette_Pidgeot),
SPECIES_PAL(RATTATA, gMonPalette_Rattata),
SPECIES_PAL(RATICATE, gMonPalette_Raticate),
SPECIES_PAL(SPEAROW, gMonPalette_Spearow),
SPECIES_PAL(FEAROW, gMonPalette_Fearow),
SPECIES_PAL(EKANS, gMonPalette_Ekans),
SPECIES_PAL(ARBOK, gMonPalette_Arbok),
SPECIES_PAL(PIKACHU, gMonPalette_Pikachu),
SPECIES_PAL(RAICHU, gMonPalette_Raichu),
SPECIES_PAL(SANDSHREW, gMonPalette_Sandshrew),
SPECIES_PAL(SANDSLASH, gMonPalette_Sandslash),
SPECIES_PAL(NIDORAN_F, gMonPalette_NidoranF),
SPECIES_PAL(NIDORINA, gMonPalette_Nidorina),
SPECIES_PAL(NIDOQUEEN, gMonPalette_Nidoqueen),
SPECIES_PAL(NIDORAN_M, gMonPalette_NidoranM),
SPECIES_PAL(NIDORINO, gMonPalette_Nidorino),
SPECIES_PAL(NIDOKING, gMonPalette_Nidoking),
SPECIES_PAL(CLEFAIRY, gMonPalette_Clefairy),
SPECIES_PAL(CLEFABLE, gMonPalette_Clefable),
SPECIES_PAL(VULPIX, gMonPalette_Vulpix),
SPECIES_PAL(NINETALES, gMonPalette_Ninetales),
SPECIES_PAL(JIGGLYPUFF, gMonPalette_Jigglypuff),
SPECIES_PAL(WIGGLYTUFF, gMonPalette_Wigglytuff),
SPECIES_PAL(ZUBAT, gMonPalette_Zubat),
SPECIES_PAL(GOLBAT, gMonPalette_Golbat),
SPECIES_PAL(ODDISH, gMonPalette_Oddish),
SPECIES_PAL(GLOOM, gMonPalette_Gloom),
SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume),
SPECIES_PAL(PARAS, gMonPalette_Paras),
SPECIES_PAL(PARASECT, gMonPalette_Parasect),
SPECIES_PAL(VENONAT, gMonPalette_Venonat),
SPECIES_PAL(VENOMOTH, gMonPalette_Venomoth),
SPECIES_PAL(DIGLETT, gMonPalette_Diglett),
SPECIES_PAL(DUGTRIO, gMonPalette_Dugtrio),
SPECIES_PAL(MEOWTH, gMonPalette_Meowth),
SPECIES_PAL(PERSIAN, gMonPalette_Persian),
SPECIES_PAL(PSYDUCK, gMonPalette_Psyduck),
SPECIES_PAL(GOLDUCK, gMonPalette_Golduck),
SPECIES_PAL(MANKEY, gMonPalette_Mankey),
SPECIES_PAL(PRIMEAPE, gMonPalette_Primeape),
SPECIES_PAL(GROWLITHE, gMonPalette_Growlithe),
SPECIES_PAL(ARCANINE, gMonPalette_Arcanine),
SPECIES_PAL(POLIWAG, gMonPalette_Poliwag),
SPECIES_PAL(POLIWHIRL, gMonPalette_Poliwhirl),
SPECIES_PAL(POLIWRATH, gMonPalette_Poliwrath),
SPECIES_PAL(ABRA, gMonPalette_Abra),
SPECIES_PAL(KADABRA, gMonPalette_Kadabra),
SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam),
SPECIES_PAL(MACHOP, gMonPalette_Machop),
SPECIES_PAL(MACHOKE, gMonPalette_Machoke),
SPECIES_PAL(MACHAMP, gMonPalette_Machamp),
SPECIES_PAL(BELLSPROUT, gMonPalette_Bellsprout),
SPECIES_PAL(WEEPINBELL, gMonPalette_Weepinbell),
SPECIES_PAL(VICTREEBEL, gMonPalette_Victreebel),
SPECIES_PAL(TENTACOOL, gMonPalette_Tentacool),
SPECIES_PAL(TENTACRUEL, gMonPalette_Tentacruel),
SPECIES_PAL(GEODUDE, gMonPalette_Geodude),
SPECIES_PAL(GRAVELER, gMonPalette_Graveler),
SPECIES_PAL(GOLEM, gMonPalette_Golem),
SPECIES_PAL(PONYTA, gMonPalette_Ponyta),
SPECIES_PAL(RAPIDASH, gMonPalette_Rapidash),
SPECIES_PAL(SLOWPOKE, gMonPalette_Slowpoke),
SPECIES_PAL(SLOWBRO, gMonPalette_Slowbro),
SPECIES_PAL(MAGNEMITE, gMonPalette_Magnemite),
SPECIES_PAL(MAGNETON, gMonPalette_Magneton),
SPECIES_PAL(FARFETCHD, gMonPalette_Farfetchd),
SPECIES_PAL(DODUO, gMonPalette_Doduo),
SPECIES_PAL(DODRIO, gMonPalette_Dodrio),
SPECIES_PAL(SEEL, gMonPalette_Seel),
SPECIES_PAL(DEWGONG, gMonPalette_Dewgong),
SPECIES_PAL(GRIMER, gMonPalette_Grimer),
SPECIES_PAL(MUK, gMonPalette_Muk),
SPECIES_PAL(SHELLDER, gMonPalette_Shellder),
SPECIES_PAL(CLOYSTER, gMonPalette_Cloyster),
SPECIES_PAL(GASTLY, gMonPalette_Gastly),
SPECIES_PAL(HAUNTER, gMonPalette_Haunter),
SPECIES_PAL(GENGAR, gMonPalette_Gengar),
SPECIES_PAL(ONIX, gMonPalette_Onix),
SPECIES_PAL(DROWZEE, gMonPalette_Drowzee),
SPECIES_PAL(HYPNO, gMonPalette_Hypno),
SPECIES_PAL(KRABBY, gMonPalette_Krabby),
SPECIES_PAL(KINGLER, gMonPalette_Kingler),
SPECIES_PAL(VOLTORB, gMonPalette_Voltorb),
SPECIES_PAL(ELECTRODE, gMonPalette_Electrode),
SPECIES_PAL(EXEGGCUTE, gMonPalette_Exeggcute),
SPECIES_PAL(EXEGGUTOR, gMonPalette_Exeggutor),
SPECIES_PAL(CUBONE, gMonPalette_Cubone),
SPECIES_PAL(MAROWAK, gMonPalette_Marowak),
SPECIES_PAL(HITMONLEE, gMonPalette_Hitmonlee),
SPECIES_PAL(HITMONCHAN, gMonPalette_Hitmonchan),
SPECIES_PAL(LICKITUNG, gMonPalette_Lickitung),
SPECIES_PAL(KOFFING, gMonPalette_Koffing),
SPECIES_PAL(WEEZING, gMonPalette_Weezing),
SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn),
SPECIES_PAL(RHYDON, gMonPalette_Rhydon),
SPECIES_PAL(CHANSEY, gMonPalette_Chansey),
SPECIES_PAL(TANGELA, gMonPalette_Tangela),
SPECIES_PAL(KANGASKHAN, gMonPalette_Kangaskhan),
SPECIES_PAL(HORSEA, gMonPalette_Horsea),
SPECIES_PAL(SEADRA, gMonPalette_Seadra),
SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen),
SPECIES_PAL(SEAKING, gMonPalette_Seaking),
SPECIES_PAL(STARYU, gMonPalette_Staryu),
SPECIES_PAL(STARMIE, gMonPalette_Starmie),
SPECIES_PAL(MR_MIME, gMonPalette_Mrmime),
SPECIES_PAL(SCYTHER, gMonPalette_Scyther),
SPECIES_PAL(JYNX, gMonPalette_Jynx),
SPECIES_PAL(ELECTABUZZ, gMonPalette_Electabuzz),
SPECIES_PAL(MAGMAR, gMonPalette_Magmar),
SPECIES_PAL(PINSIR, gMonPalette_Pinsir),
SPECIES_PAL(TAUROS, gMonPalette_Tauros),
SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp),
SPECIES_PAL(GYARADOS, gMonPalette_Gyarados),
SPECIES_PAL(LAPRAS, gMonPalette_Lapras),
SPECIES_PAL(DITTO, gMonPalette_Ditto),
SPECIES_PAL(EEVEE, gMonPalette_Eevee),
SPECIES_PAL(VAPOREON, gMonPalette_Vaporeon),
SPECIES_PAL(JOLTEON, gMonPalette_Jolteon),
SPECIES_PAL(FLAREON, gMonPalette_Flareon),
SPECIES_PAL(PORYGON, gMonPalette_Porygon),
SPECIES_PAL(OMANYTE, gMonPalette_Omanyte),
SPECIES_PAL(OMASTAR, gMonPalette_Omastar),
SPECIES_PAL(KABUTO, gMonPalette_Kabuto),
SPECIES_PAL(KABUTOPS, gMonPalette_Kabutops),
SPECIES_PAL(AERODACTYL, gMonPalette_Aerodactyl),
SPECIES_PAL(SNORLAX, gMonPalette_Snorlax),
SPECIES_PAL(ARTICUNO, gMonPalette_Articuno),
SPECIES_PAL(ZAPDOS, gMonPalette_Zapdos),
SPECIES_PAL(MOLTRES, gMonPalette_Moltres),
SPECIES_PAL(DRATINI, gMonPalette_Dratini),
SPECIES_PAL(DRAGONAIR, gMonPalette_Dragonair),
SPECIES_PAL(DRAGONITE, gMonPalette_Dragonite),
SPECIES_PAL(MEWTWO, gMonPalette_Mewtwo),
SPECIES_PAL(MEW, gMonPalette_Mew),
SPECIES_PAL(CHIKORITA, gMonPalette_Chikorita),
SPECIES_PAL(BAYLEEF, gMonPalette_Bayleef),
SPECIES_PAL(MEGANIUM, gMonPalette_Meganium),
SPECIES_PAL(CYNDAQUIL, gMonPalette_Cyndaquil),
SPECIES_PAL(QUILAVA, gMonPalette_Quilava),
SPECIES_PAL(TYPHLOSION, gMonPalette_Typhlosion),
SPECIES_PAL(TOTODILE, gMonPalette_Totodile),
SPECIES_PAL(CROCONAW, gMonPalette_Croconaw),
SPECIES_PAL(FERALIGATR, gMonPalette_Feraligatr),
SPECIES_PAL(SENTRET, gMonPalette_Sentret),
SPECIES_PAL(FURRET, gMonPalette_Furret),
SPECIES_PAL(HOOTHOOT, gMonPalette_Hoothoot),
SPECIES_PAL(NOCTOWL, gMonPalette_Noctowl),
SPECIES_PAL(LEDYBA, gMonPalette_Ledyba),
SPECIES_PAL(LEDIAN, gMonPalette_Ledian),
SPECIES_PAL(SPINARAK, gMonPalette_Spinarak),
SPECIES_PAL(ARIADOS, gMonPalette_Ariados),
SPECIES_PAL(CROBAT, gMonPalette_Crobat),
SPECIES_PAL(CHINCHOU, gMonPalette_Chinchou),
SPECIES_PAL(LANTURN, gMonPalette_Lanturn),
SPECIES_PAL(PICHU, gMonPalette_Pichu),
SPECIES_PAL(CLEFFA, gMonPalette_Cleffa),
SPECIES_PAL(IGGLYBUFF, gMonPalette_Igglybuff),
SPECIES_PAL(TOGEPI, gMonPalette_Togepi),
SPECIES_PAL(TOGETIC, gMonPalette_Togetic),
SPECIES_PAL(NATU, gMonPalette_Natu),
SPECIES_PAL(XATU, gMonPalette_Xatu),
SPECIES_PAL(MAREEP, gMonPalette_Mareep),
SPECIES_PAL(FLAAFFY, gMonPalette_Flaaffy),
SPECIES_PAL(AMPHAROS, gMonPalette_Ampharos),
SPECIES_PAL(BELLOSSOM, gMonPalette_Bellossom),
SPECIES_PAL(MARILL, gMonPalette_Marill),
SPECIES_PAL(AZUMARILL, gMonPalette_Azumarill),
SPECIES_PAL(SUDOWOODO, gMonPalette_Sudowoodo),
SPECIES_PAL(POLITOED, gMonPalette_Politoed),
SPECIES_PAL(HOPPIP, gMonPalette_Hoppip),
SPECIES_PAL(SKIPLOOM, gMonPalette_Skiploom),
SPECIES_PAL(JUMPLUFF, gMonPalette_Jumpluff),
SPECIES_PAL(AIPOM, gMonPalette_Aipom),
SPECIES_PAL(SUNKERN, gMonPalette_Sunkern),
SPECIES_PAL(SUNFLORA, gMonPalette_Sunflora),
SPECIES_PAL(YANMA, gMonPalette_Yanma),
SPECIES_PAL(WOOPER, gMonPalette_Wooper),
SPECIES_PAL(QUAGSIRE, gMonPalette_Quagsire),
SPECIES_PAL(ESPEON, gMonPalette_Espeon),
SPECIES_PAL(UMBREON, gMonPalette_Umbreon),
SPECIES_PAL(MURKROW, gMonPalette_Murkrow),
SPECIES_PAL(SLOWKING, gMonPalette_Slowking),
SPECIES_PAL(MISDREAVUS, gMonPalette_Misdreavus),
SPECIES_PAL(UNOWN, gMonPalette_Unown),
SPECIES_PAL(WOBBUFFET, gMonPalette_Wobbuffet),
SPECIES_PAL(GIRAFARIG, gMonPalette_Girafarig),
SPECIES_PAL(PINECO, gMonPalette_Pineco),
SPECIES_PAL(FORRETRESS, gMonPalette_Forretress),
SPECIES_PAL(DUNSPARCE, gMonPalette_Dunsparce),
SPECIES_PAL(GLIGAR, gMonPalette_Gligar),
SPECIES_PAL(STEELIX, gMonPalette_Steelix),
SPECIES_PAL(SNUBBULL, gMonPalette_Snubbull),
SPECIES_PAL(GRANBULL, gMonPalette_Granbull),
SPECIES_PAL(QWILFISH, gMonPalette_Qwilfish),
SPECIES_PAL(SCIZOR, gMonPalette_Scizor),
SPECIES_PAL(SHUCKLE, gMonPalette_Shuckle),
SPECIES_PAL(HERACROSS, gMonPalette_Heracross),
SPECIES_PAL(SNEASEL, gMonPalette_Sneasel),
SPECIES_PAL(TEDDIURSA, gMonPalette_Teddiursa),
SPECIES_PAL(URSARING, gMonPalette_Ursaring),
SPECIES_PAL(SLUGMA, gMonPalette_Slugma),
SPECIES_PAL(MAGCARGO, gMonPalette_Magcargo),
SPECIES_PAL(SWINUB, gMonPalette_Swinub),
SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine),
SPECIES_PAL(CORSOLA, gMonPalette_Corsola),
SPECIES_PAL(REMORAID, gMonPalette_Remoraid),
SPECIES_PAL(OCTILLERY, gMonPalette_Octillery),
SPECIES_PAL(DELIBIRD, gMonPalette_Delibird),
SPECIES_PAL(MANTINE, gMonPalette_Mantine),
SPECIES_PAL(SKARMORY, gMonPalette_Skarmory),
SPECIES_PAL(HOUNDOUR, gMonPalette_Houndour),
SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom),
SPECIES_PAL(KINGDRA, gMonPalette_Kingdra),
SPECIES_PAL(PHANPY, gMonPalette_Phanpy),
SPECIES_PAL(DONPHAN, gMonPalette_Donphan),
SPECIES_PAL(PORYGON2, gMonPalette_Porygon2),
SPECIES_PAL(STANTLER, gMonPalette_Stantler),
SPECIES_PAL(SMEARGLE, gMonPalette_Smeargle),
SPECIES_PAL(TYROGUE, gMonPalette_Tyrogue),
SPECIES_PAL(HITMONTOP, gMonPalette_Hitmontop),
SPECIES_PAL(SMOOCHUM, gMonPalette_Smoochum),
SPECIES_PAL(ELEKID, gMonPalette_Elekid),
SPECIES_PAL(MAGBY, gMonPalette_Magby),
SPECIES_PAL(MILTANK, gMonPalette_Miltank),
SPECIES_PAL(BLISSEY, gMonPalette_Blissey),
SPECIES_PAL(RAIKOU, gMonPalette_Raikou),
SPECIES_PAL(ENTEI, gMonPalette_Entei),
SPECIES_PAL(SUICUNE, gMonPalette_Suicune),
SPECIES_PAL(LARVITAR, gMonPalette_Larvitar),
SPECIES_PAL(PUPITAR, gMonPalette_Pupitar),
SPECIES_PAL(TYRANITAR, gMonPalette_Tyranitar),
SPECIES_PAL(LUGIA, gMonPalette_Lugia),
SPECIES_PAL(HO_OH, gMonPalette_HoOh),
SPECIES_PAL(CELEBI, gMonPalette_Celebi),
SPECIES_PAL(OLD_UNOWN_B, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_C, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_D, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_E, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_F, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_G, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_H, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_I, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_J, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_K, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_L, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_M, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_N, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_O, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_P, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_Q, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_R, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_S, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_T, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_U, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_V, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_W, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_X, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_Y, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(OLD_UNOWN_Z, gMonPalette_DoubleQuestionMark),
SPECIES_PAL(TREECKO, gMonPalette_Treecko),
SPECIES_PAL(GROVYLE, gMonPalette_Grovyle),
SPECIES_PAL(SCEPTILE, gMonPalette_Sceptile),
SPECIES_PAL(TORCHIC, gMonPalette_Torchic),
SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken),
SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken),
SPECIES_PAL(MUDKIP, gMonPalette_Mudkip),
SPECIES_PAL(MARSHTOMP, gMonPalette_Marshtomp),
SPECIES_PAL(SWAMPERT, gMonPalette_Swampert),
SPECIES_PAL(POOCHYENA, gMonPalette_Poochyena),
SPECIES_PAL(MIGHTYENA, gMonPalette_Mightyena),
SPECIES_PAL(ZIGZAGOON, gMonPalette_Zigzagoon),
SPECIES_PAL(LINOONE, gMonPalette_Linoone),
SPECIES_PAL(WURMPLE, gMonPalette_Wurmple),
SPECIES_PAL(SILCOON, gMonPalette_Silcoon),
SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly),
SPECIES_PAL(CASCOON, gMonPalette_Cascoon),
SPECIES_PAL(DUSTOX, gMonPalette_Dustox),
SPECIES_PAL(LOTAD, gMonPalette_Lotad),
SPECIES_PAL(LOMBRE, gMonPalette_Lombre),
SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo),
SPECIES_PAL(SEEDOT, gMonPalette_Seedot),
SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf),
SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry),
SPECIES_PAL(NINCADA, gMonPalette_Nincada),
SPECIES_PAL(NINJASK, gMonPalette_Ninjask),
SPECIES_PAL(SHEDINJA, gMonPalette_Shedinja),
SPECIES_PAL(TAILLOW, gMonPalette_Taillow),
SPECIES_PAL(SWELLOW, gMonPalette_Swellow),
SPECIES_PAL(SHROOMISH, gMonPalette_Shroomish),
SPECIES_PAL(BRELOOM, gMonPalette_Breloom),
SPECIES_PAL(SPINDA, gMonPalette_Spinda),
SPECIES_PAL(WINGULL, gMonPalette_Wingull),
SPECIES_PAL(PELIPPER, gMonPalette_Pelipper),
SPECIES_PAL(SURSKIT, gMonPalette_Surskit),
SPECIES_PAL(MASQUERAIN, gMonPalette_Masquerain),
SPECIES_PAL(WAILMER, gMonPalette_Wailmer),
SPECIES_PAL(WAILORD, gMonPalette_Wailord),
SPECIES_PAL(SKITTY, gMonPalette_Skitty),
SPECIES_PAL(DELCATTY, gMonPalette_Delcatty),
SPECIES_PAL(KECLEON, gMonPalette_Kecleon),
SPECIES_PAL(BALTOY, gMonPalette_Baltoy),
SPECIES_PAL(CLAYDOL, gMonPalette_Claydol),
SPECIES_PAL(NOSEPASS, gMonPalette_Nosepass),
SPECIES_PAL(TORKOAL, gMonPalette_Torkoal),
SPECIES_PAL(SABLEYE, gMonPalette_Sableye),
SPECIES_PAL(BARBOACH, gMonPalette_Barboach),
SPECIES_PAL(WHISCASH, gMonPalette_Whiscash),
SPECIES_PAL(LUVDISC, gMonPalette_Luvdisc),
SPECIES_PAL(CORPHISH, gMonPalette_Corphish),
SPECIES_PAL(CRAWDAUNT, gMonPalette_Crawdaunt),
SPECIES_PAL(FEEBAS, gMonPalette_Feebas),
SPECIES_PAL(MILOTIC, gMonPalette_Milotic),
SPECIES_PAL(CARVANHA, gMonPalette_Carvanha),
SPECIES_PAL(SHARPEDO, gMonPalette_Sharpedo),
SPECIES_PAL(TRAPINCH, gMonPalette_Trapinch),
SPECIES_PAL(VIBRAVA, gMonPalette_Vibrava),
SPECIES_PAL(FLYGON, gMonPalette_Flygon),
SPECIES_PAL(MAKUHITA, gMonPalette_Makuhita),
SPECIES_PAL(HARIYAMA, gMonPalette_Hariyama),
SPECIES_PAL(ELECTRIKE, gMonPalette_Electrike),
SPECIES_PAL(MANECTRIC, gMonPalette_Manectric),
SPECIES_PAL(NUMEL, gMonPalette_Numel),
SPECIES_PAL(CAMERUPT, gMonPalette_Camerupt),
SPECIES_PAL(SPHEAL, gMonPalette_Spheal),
SPECIES_PAL(SEALEO, gMonPalette_Sealeo),
SPECIES_PAL(WALREIN, gMonPalette_Walrein),
SPECIES_PAL(CACNEA, gMonPalette_Cacnea),
SPECIES_PAL(CACTURNE, gMonPalette_Cacturne),
SPECIES_PAL(SNORUNT, gMonPalette_Snorunt),
SPECIES_PAL(GLALIE, gMonPalette_Glalie),
SPECIES_PAL(LUNATONE, gMonPalette_Lunatone),
SPECIES_PAL(SOLROCK, gMonPalette_Solrock),
SPECIES_PAL(AZURILL, gMonPalette_Azurill),
SPECIES_PAL(SPOINK, gMonPalette_Spoink),
SPECIES_PAL(GRUMPIG, gMonPalette_Grumpig),
SPECIES_PAL(PLUSLE, gMonPalette_Plusle),
SPECIES_PAL(MINUN, gMonPalette_Minun),
SPECIES_PAL(MAWILE, gMonPalette_Mawile),
SPECIES_PAL(MEDITITE, gMonPalette_Meditite),
SPECIES_PAL(MEDICHAM, gMonPalette_Medicham),
SPECIES_PAL(SWABLU, gMonPalette_Swablu),
SPECIES_PAL(ALTARIA, gMonPalette_Altaria),
SPECIES_PAL(WYNAUT, gMonPalette_Wynaut),
SPECIES_PAL(DUSKULL, gMonPalette_Duskull),
SPECIES_PAL(DUSCLOPS, gMonPalette_Dusclops),
SPECIES_PAL(ROSELIA, gMonPalette_Roselia),
SPECIES_PAL(SLAKOTH, gMonPalette_Slakoth),
SPECIES_PAL(VIGOROTH, gMonPalette_Vigoroth),
SPECIES_PAL(SLAKING, gMonPalette_Slaking),
SPECIES_PAL(GULPIN, gMonPalette_Gulpin),
SPECIES_PAL(SWALOT, gMonPalette_Swalot),
SPECIES_PAL(TROPIUS, gMonPalette_Tropius),
SPECIES_PAL(WHISMUR, gMonPalette_Whismur),
SPECIES_PAL(LOUDRED, gMonPalette_Loudred),
SPECIES_PAL(EXPLOUD, gMonPalette_Exploud),
SPECIES_PAL(CLAMPERL, gMonPalette_Clamperl),
SPECIES_PAL(HUNTAIL, gMonPalette_Huntail),
SPECIES_PAL(GOREBYSS, gMonPalette_Gorebyss),
SPECIES_PAL(ABSOL, gMonPalette_Absol),
SPECIES_PAL(SHUPPET, gMonPalette_Shuppet),
SPECIES_PAL(BANETTE, gMonPalette_Banette),
SPECIES_PAL(SEVIPER, gMonPalette_Seviper),
SPECIES_PAL(ZANGOOSE, gMonPalette_Zangoose),
SPECIES_PAL(RELICANTH, gMonPalette_Relicanth),
SPECIES_PAL(ARON, gMonPalette_Aron),
SPECIES_PAL(LAIRON, gMonPalette_Lairon),
SPECIES_PAL(AGGRON, gMonPalette_Aggron),
SPECIES_PAL(CASTFORM, gMonPalette_Castform),
SPECIES_PAL(VOLBEAT, gMonPalette_Volbeat),
SPECIES_PAL(ILLUMISE, gMonPalette_Illumise),
SPECIES_PAL(LILEEP, gMonPalette_Lileep),
SPECIES_PAL(CRADILY, gMonPalette_Cradily),
SPECIES_PAL(ANORITH, gMonPalette_Anorith),
SPECIES_PAL(ARMALDO, gMonPalette_Armaldo),
SPECIES_PAL(RALTS, gMonPalette_Ralts),
SPECIES_PAL(KIRLIA, gMonPalette_Kirlia),
SPECIES_PAL(GARDEVOIR, gMonPalette_Gardevoir),
SPECIES_PAL(BAGON, gMonPalette_Bagon),
SPECIES_PAL(SHELGON, gMonPalette_Shelgon),
SPECIES_PAL(SALAMENCE, gMonPalette_Salamence),
SPECIES_PAL(BELDUM, gMonPalette_Beldum),
SPECIES_PAL(METANG, gMonPalette_Metang),
SPECIES_PAL(METAGROSS, gMonPalette_Metagross),
SPECIES_PAL(REGIROCK, gMonPalette_Regirock),
SPECIES_PAL(REGICE, gMonPalette_Regice),
SPECIES_PAL(REGISTEEL, gMonPalette_Registeel),
SPECIES_PAL(KYOGRE, gMonPalette_Kyogre),
SPECIES_PAL(GROUDON, gMonPalette_Groudon),
SPECIES_PAL(RAYQUAZA, gMonPalette_Rayquaza),
SPECIES_PAL(LATIAS, gMonPalette_Latias),
SPECIES_PAL(LATIOS, gMonPalette_Latios),
SPECIES_PAL(JIRACHI, gMonPalette_Jirachi),
SPECIES_PAL(DEOXYS, gMonPalette_Deoxys),
SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho),
SPECIES_PAL(EGG, gMonPalette_Egg),
SPECIES_PAL(UNOWN_B, gMonPalette_Unown),
SPECIES_PAL(UNOWN_C, gMonPalette_Unown),
SPECIES_PAL(UNOWN_D, gMonPalette_Unown),
SPECIES_PAL(UNOWN_E, gMonPalette_Unown),
SPECIES_PAL(UNOWN_F, gMonPalette_Unown),
SPECIES_PAL(UNOWN_G, gMonPalette_Unown),
SPECIES_PAL(UNOWN_H, gMonPalette_Unown),
SPECIES_PAL(UNOWN_I, gMonPalette_Unown),
SPECIES_PAL(UNOWN_J, gMonPalette_Unown),
SPECIES_PAL(UNOWN_K, gMonPalette_Unown),
SPECIES_PAL(UNOWN_L, gMonPalette_Unown),
SPECIES_PAL(UNOWN_M, gMonPalette_Unown),
SPECIES_PAL(UNOWN_N, gMonPalette_Unown),
SPECIES_PAL(UNOWN_O, gMonPalette_Unown),
SPECIES_PAL(UNOWN_P, gMonPalette_Unown),
SPECIES_PAL(UNOWN_Q, gMonPalette_Unown),
SPECIES_PAL(UNOWN_R, gMonPalette_Unown),
SPECIES_PAL(UNOWN_S, gMonPalette_Unown),
SPECIES_PAL(UNOWN_T, gMonPalette_Unown),
SPECIES_PAL(UNOWN_U, gMonPalette_Unown),
SPECIES_PAL(UNOWN_V, gMonPalette_Unown),
SPECIES_PAL(UNOWN_W, gMonPalette_Unown),
SPECIES_PAL(UNOWN_X, gMonPalette_Unown),
SPECIES_PAL(UNOWN_Y, gMonPalette_Unown),
SPECIES_PAL(UNOWN_Z, gMonPalette_Unown),
SPECIES_PAL(UNOWN_EMARK, gMonPalette_Unown),
SPECIES_PAL(UNOWN_QMARK, gMonPalette_Unown),
};
@@ -0,0 +1,443 @@
const struct CompressedSpritePalette gMonShinyPaletteTable[] =
{
SPECIES_SHINY_PAL(NONE, gMonShinyPalette_CircledQuestionMark),
SPECIES_SHINY_PAL(BULBASAUR, gMonShinyPalette_Bulbasaur),
SPECIES_SHINY_PAL(IVYSAUR, gMonShinyPalette_Ivysaur),
SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur),
SPECIES_SHINY_PAL(CHARMANDER, gMonShinyPalette_Charmander),
SPECIES_SHINY_PAL(CHARMELEON, gMonShinyPalette_Charmeleon),
SPECIES_SHINY_PAL(CHARIZARD, gMonShinyPalette_Charizard),
SPECIES_SHINY_PAL(SQUIRTLE, gMonShinyPalette_Squirtle),
SPECIES_SHINY_PAL(WARTORTLE, gMonShinyPalette_Wartortle),
SPECIES_SHINY_PAL(BLASTOISE, gMonShinyPalette_Blastoise),
SPECIES_SHINY_PAL(CATERPIE, gMonShinyPalette_Caterpie),
SPECIES_SHINY_PAL(METAPOD, gMonShinyPalette_Metapod),
SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree),
SPECIES_SHINY_PAL(WEEDLE, gMonShinyPalette_Weedle),
SPECIES_SHINY_PAL(KAKUNA, gMonShinyPalette_Kakuna),
SPECIES_SHINY_PAL(BEEDRILL, gMonShinyPalette_Beedrill),
SPECIES_SHINY_PAL(PIDGEY, gMonShinyPalette_Pidgey),
SPECIES_SHINY_PAL(PIDGEOTTO, gMonShinyPalette_Pidgeotto),
SPECIES_SHINY_PAL(PIDGEOT, gMonShinyPalette_Pidgeot),
SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata),
SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate),
SPECIES_SHINY_PAL(SPEAROW, gMonShinyPalette_Spearow),
SPECIES_SHINY_PAL(FEAROW, gMonShinyPalette_Fearow),
SPECIES_SHINY_PAL(EKANS, gMonShinyPalette_Ekans),
SPECIES_SHINY_PAL(ARBOK, gMonShinyPalette_Arbok),
SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu),
SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu),
SPECIES_SHINY_PAL(SANDSHREW, gMonShinyPalette_Sandshrew),
SPECIES_SHINY_PAL(SANDSLASH, gMonShinyPalette_Sandslash),
SPECIES_SHINY_PAL(NIDORAN_F, gMonShinyPalette_NidoranF),
SPECIES_SHINY_PAL(NIDORINA, gMonShinyPalette_Nidorina),
SPECIES_SHINY_PAL(NIDOQUEEN, gMonShinyPalette_Nidoqueen),
SPECIES_SHINY_PAL(NIDORAN_M, gMonShinyPalette_NidoranM),
SPECIES_SHINY_PAL(NIDORINO, gMonShinyPalette_Nidorino),
SPECIES_SHINY_PAL(NIDOKING, gMonShinyPalette_Nidoking),
SPECIES_SHINY_PAL(CLEFAIRY, gMonShinyPalette_Clefairy),
SPECIES_SHINY_PAL(CLEFABLE, gMonShinyPalette_Clefable),
SPECIES_SHINY_PAL(VULPIX, gMonShinyPalette_Vulpix),
SPECIES_SHINY_PAL(NINETALES, gMonShinyPalette_Ninetales),
SPECIES_SHINY_PAL(JIGGLYPUFF, gMonShinyPalette_Jigglypuff),
SPECIES_SHINY_PAL(WIGGLYTUFF, gMonShinyPalette_Wigglytuff),
SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat),
SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat),
SPECIES_SHINY_PAL(ODDISH, gMonShinyPalette_Oddish),
SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom),
SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume),
SPECIES_SHINY_PAL(PARAS, gMonShinyPalette_Paras),
SPECIES_SHINY_PAL(PARASECT, gMonShinyPalette_Parasect),
SPECIES_SHINY_PAL(VENONAT, gMonShinyPalette_Venonat),
SPECIES_SHINY_PAL(VENOMOTH, gMonShinyPalette_Venomoth),
SPECIES_SHINY_PAL(DIGLETT, gMonShinyPalette_Diglett),
SPECIES_SHINY_PAL(DUGTRIO, gMonShinyPalette_Dugtrio),
SPECIES_SHINY_PAL(MEOWTH, gMonShinyPalette_Meowth),
SPECIES_SHINY_PAL(PERSIAN, gMonShinyPalette_Persian),
SPECIES_SHINY_PAL(PSYDUCK, gMonShinyPalette_Psyduck),
SPECIES_SHINY_PAL(GOLDUCK, gMonShinyPalette_Golduck),
SPECIES_SHINY_PAL(MANKEY, gMonShinyPalette_Mankey),
SPECIES_SHINY_PAL(PRIMEAPE, gMonShinyPalette_Primeape),
SPECIES_SHINY_PAL(GROWLITHE, gMonShinyPalette_Growlithe),
SPECIES_SHINY_PAL(ARCANINE, gMonShinyPalette_Arcanine),
SPECIES_SHINY_PAL(POLIWAG, gMonShinyPalette_Poliwag),
SPECIES_SHINY_PAL(POLIWHIRL, gMonShinyPalette_Poliwhirl),
SPECIES_SHINY_PAL(POLIWRATH, gMonShinyPalette_Poliwrath),
SPECIES_SHINY_PAL(ABRA, gMonShinyPalette_Abra),
SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra),
SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam),
SPECIES_SHINY_PAL(MACHOP, gMonShinyPalette_Machop),
SPECIES_SHINY_PAL(MACHOKE, gMonShinyPalette_Machoke),
SPECIES_SHINY_PAL(MACHAMP, gMonShinyPalette_Machamp),
SPECIES_SHINY_PAL(BELLSPROUT, gMonShinyPalette_Bellsprout),
SPECIES_SHINY_PAL(WEEPINBELL, gMonShinyPalette_Weepinbell),
SPECIES_SHINY_PAL(VICTREEBEL, gMonShinyPalette_Victreebel),
SPECIES_SHINY_PAL(TENTACOOL, gMonShinyPalette_Tentacool),
SPECIES_SHINY_PAL(TENTACRUEL, gMonShinyPalette_Tentacruel),
SPECIES_SHINY_PAL(GEODUDE, gMonShinyPalette_Geodude),
SPECIES_SHINY_PAL(GRAVELER, gMonShinyPalette_Graveler),
SPECIES_SHINY_PAL(GOLEM, gMonShinyPalette_Golem),
SPECIES_SHINY_PAL(PONYTA, gMonShinyPalette_Ponyta),
SPECIES_SHINY_PAL(RAPIDASH, gMonShinyPalette_Rapidash),
SPECIES_SHINY_PAL(SLOWPOKE, gMonShinyPalette_Slowpoke),
SPECIES_SHINY_PAL(SLOWBRO, gMonShinyPalette_Slowbro),
SPECIES_SHINY_PAL(MAGNEMITE, gMonShinyPalette_Magnemite),
SPECIES_SHINY_PAL(MAGNETON, gMonShinyPalette_Magneton),
SPECIES_SHINY_PAL(FARFETCHD, gMonShinyPalette_Farfetchd),
SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo),
SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio),
SPECIES_SHINY_PAL(SEEL, gMonShinyPalette_Seel),
SPECIES_SHINY_PAL(DEWGONG, gMonShinyPalette_Dewgong),
SPECIES_SHINY_PAL(GRIMER, gMonShinyPalette_Grimer),
SPECIES_SHINY_PAL(MUK, gMonShinyPalette_Muk),
SPECIES_SHINY_PAL(SHELLDER, gMonShinyPalette_Shellder),
SPECIES_SHINY_PAL(CLOYSTER, gMonShinyPalette_Cloyster),
SPECIES_SHINY_PAL(GASTLY, gMonShinyPalette_Gastly),
SPECIES_SHINY_PAL(HAUNTER, gMonShinyPalette_Haunter),
SPECIES_SHINY_PAL(GENGAR, gMonShinyPalette_Gengar),
SPECIES_SHINY_PAL(ONIX, gMonShinyPalette_Onix),
SPECIES_SHINY_PAL(DROWZEE, gMonShinyPalette_Drowzee),
SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno),
SPECIES_SHINY_PAL(KRABBY, gMonShinyPalette_Krabby),
SPECIES_SHINY_PAL(KINGLER, gMonShinyPalette_Kingler),
SPECIES_SHINY_PAL(VOLTORB, gMonShinyPalette_Voltorb),
SPECIES_SHINY_PAL(ELECTRODE, gMonShinyPalette_Electrode),
SPECIES_SHINY_PAL(EXEGGCUTE, gMonShinyPalette_Exeggcute),
SPECIES_SHINY_PAL(EXEGGUTOR, gMonShinyPalette_Exeggutor),
SPECIES_SHINY_PAL(CUBONE, gMonShinyPalette_Cubone),
SPECIES_SHINY_PAL(MAROWAK, gMonShinyPalette_Marowak),
SPECIES_SHINY_PAL(HITMONLEE, gMonShinyPalette_Hitmonlee),
SPECIES_SHINY_PAL(HITMONCHAN, gMonShinyPalette_Hitmonchan),
SPECIES_SHINY_PAL(LICKITUNG, gMonShinyPalette_Lickitung),
SPECIES_SHINY_PAL(KOFFING, gMonShinyPalette_Koffing),
SPECIES_SHINY_PAL(WEEZING, gMonShinyPalette_Weezing),
SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn),
SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon),
SPECIES_SHINY_PAL(CHANSEY, gMonShinyPalette_Chansey),
SPECIES_SHINY_PAL(TANGELA, gMonShinyPalette_Tangela),
SPECIES_SHINY_PAL(KANGASKHAN, gMonShinyPalette_Kangaskhan),
SPECIES_SHINY_PAL(HORSEA, gMonShinyPalette_Horsea),
SPECIES_SHINY_PAL(SEADRA, gMonShinyPalette_Seadra),
SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen),
SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking),
SPECIES_SHINY_PAL(STARYU, gMonShinyPalette_Staryu),
SPECIES_SHINY_PAL(STARMIE, gMonShinyPalette_Starmie),
SPECIES_SHINY_PAL(MR_MIME, gMonShinyPalette_Mrmime),
SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther),
SPECIES_SHINY_PAL(JYNX, gMonShinyPalette_Jynx),
SPECIES_SHINY_PAL(ELECTABUZZ, gMonShinyPalette_Electabuzz),
SPECIES_SHINY_PAL(MAGMAR, gMonShinyPalette_Magmar),
SPECIES_SHINY_PAL(PINSIR, gMonShinyPalette_Pinsir),
SPECIES_SHINY_PAL(TAUROS, gMonShinyPalette_Tauros),
SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp),
SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados),
SPECIES_SHINY_PAL(LAPRAS, gMonShinyPalette_Lapras),
SPECIES_SHINY_PAL(DITTO, gMonShinyPalette_Ditto),
SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee),
SPECIES_SHINY_PAL(VAPOREON, gMonShinyPalette_Vaporeon),
SPECIES_SHINY_PAL(JOLTEON, gMonShinyPalette_Jolteon),
SPECIES_SHINY_PAL(FLAREON, gMonShinyPalette_Flareon),
SPECIES_SHINY_PAL(PORYGON, gMonShinyPalette_Porygon),
SPECIES_SHINY_PAL(OMANYTE, gMonShinyPalette_Omanyte),
SPECIES_SHINY_PAL(OMASTAR, gMonShinyPalette_Omastar),
SPECIES_SHINY_PAL(KABUTO, gMonShinyPalette_Kabuto),
SPECIES_SHINY_PAL(KABUTOPS, gMonShinyPalette_Kabutops),
SPECIES_SHINY_PAL(AERODACTYL, gMonShinyPalette_Aerodactyl),
SPECIES_SHINY_PAL(SNORLAX, gMonShinyPalette_Snorlax),
SPECIES_SHINY_PAL(ARTICUNO, gMonShinyPalette_Articuno),
SPECIES_SHINY_PAL(ZAPDOS, gMonShinyPalette_Zapdos),
SPECIES_SHINY_PAL(MOLTRES, gMonShinyPalette_Moltres),
SPECIES_SHINY_PAL(DRATINI, gMonShinyPalette_Dratini),
SPECIES_SHINY_PAL(DRAGONAIR, gMonShinyPalette_Dragonair),
SPECIES_SHINY_PAL(DRAGONITE, gMonShinyPalette_Dragonite),
SPECIES_SHINY_PAL(MEWTWO, gMonShinyPalette_Mewtwo),
SPECIES_SHINY_PAL(MEW, gMonShinyPalette_Mew),
SPECIES_SHINY_PAL(CHIKORITA, gMonShinyPalette_Chikorita),
SPECIES_SHINY_PAL(BAYLEEF, gMonShinyPalette_Bayleef),
SPECIES_SHINY_PAL(MEGANIUM, gMonShinyPalette_Meganium),
SPECIES_SHINY_PAL(CYNDAQUIL, gMonShinyPalette_Cyndaquil),
SPECIES_SHINY_PAL(QUILAVA, gMonShinyPalette_Quilava),
SPECIES_SHINY_PAL(TYPHLOSION, gMonShinyPalette_Typhlosion),
SPECIES_SHINY_PAL(TOTODILE, gMonShinyPalette_Totodile),
SPECIES_SHINY_PAL(CROCONAW, gMonShinyPalette_Croconaw),
SPECIES_SHINY_PAL(FERALIGATR, gMonShinyPalette_Feraligatr),
SPECIES_SHINY_PAL(SENTRET, gMonShinyPalette_Sentret),
SPECIES_SHINY_PAL(FURRET, gMonShinyPalette_Furret),
SPECIES_SHINY_PAL(HOOTHOOT, gMonShinyPalette_Hoothoot),
SPECIES_SHINY_PAL(NOCTOWL, gMonShinyPalette_Noctowl),
SPECIES_SHINY_PAL(LEDYBA, gMonShinyPalette_Ledyba),
SPECIES_SHINY_PAL(LEDIAN, gMonShinyPalette_Ledian),
SPECIES_SHINY_PAL(SPINARAK, gMonShinyPalette_Spinarak),
SPECIES_SHINY_PAL(ARIADOS, gMonShinyPalette_Ariados),
SPECIES_SHINY_PAL(CROBAT, gMonShinyPalette_Crobat),
SPECIES_SHINY_PAL(CHINCHOU, gMonShinyPalette_Chinchou),
SPECIES_SHINY_PAL(LANTURN, gMonShinyPalette_Lanturn),
SPECIES_SHINY_PAL(PICHU, gMonShinyPalette_Pichu),
SPECIES_SHINY_PAL(CLEFFA, gMonShinyPalette_Cleffa),
SPECIES_SHINY_PAL(IGGLYBUFF, gMonShinyPalette_Igglybuff),
SPECIES_SHINY_PAL(TOGEPI, gMonShinyPalette_Togepi),
SPECIES_SHINY_PAL(TOGETIC, gMonShinyPalette_Togetic),
SPECIES_SHINY_PAL(NATU, gMonShinyPalette_Natu),
SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu),
SPECIES_SHINY_PAL(MAREEP, gMonShinyPalette_Mareep),
SPECIES_SHINY_PAL(FLAAFFY, gMonShinyPalette_Flaaffy),
SPECIES_SHINY_PAL(AMPHAROS, gMonShinyPalette_Ampharos),
SPECIES_SHINY_PAL(BELLOSSOM, gMonShinyPalette_Bellossom),
SPECIES_SHINY_PAL(MARILL, gMonShinyPalette_Marill),
SPECIES_SHINY_PAL(AZUMARILL, gMonShinyPalette_Azumarill),
SPECIES_SHINY_PAL(SUDOWOODO, gMonShinyPalette_Sudowoodo),
SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed),
SPECIES_SHINY_PAL(HOPPIP, gMonShinyPalette_Hoppip),
SPECIES_SHINY_PAL(SKIPLOOM, gMonShinyPalette_Skiploom),
SPECIES_SHINY_PAL(JUMPLUFF, gMonShinyPalette_Jumpluff),
SPECIES_SHINY_PAL(AIPOM, gMonShinyPalette_Aipom),
SPECIES_SHINY_PAL(SUNKERN, gMonShinyPalette_Sunkern),
SPECIES_SHINY_PAL(SUNFLORA, gMonShinyPalette_Sunflora),
SPECIES_SHINY_PAL(YANMA, gMonShinyPalette_Yanma),
SPECIES_SHINY_PAL(WOOPER, gMonShinyPalette_Wooper),
SPECIES_SHINY_PAL(QUAGSIRE, gMonShinyPalette_Quagsire),
SPECIES_SHINY_PAL(ESPEON, gMonShinyPalette_Espeon),
SPECIES_SHINY_PAL(UMBREON, gMonShinyPalette_Umbreon),
SPECIES_SHINY_PAL(MURKROW, gMonShinyPalette_Murkrow),
SPECIES_SHINY_PAL(SLOWKING, gMonShinyPalette_Slowking),
SPECIES_SHINY_PAL(MISDREAVUS, gMonShinyPalette_Misdreavus),
SPECIES_SHINY_PAL(UNOWN, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(WOBBUFFET, gMonShinyPalette_Wobbuffet),
SPECIES_SHINY_PAL(GIRAFARIG, gMonShinyPalette_Girafarig),
SPECIES_SHINY_PAL(PINECO, gMonShinyPalette_Pineco),
SPECIES_SHINY_PAL(FORRETRESS, gMonShinyPalette_Forretress),
SPECIES_SHINY_PAL(DUNSPARCE, gMonShinyPalette_Dunsparce),
SPECIES_SHINY_PAL(GLIGAR, gMonShinyPalette_Gligar),
SPECIES_SHINY_PAL(STEELIX, gMonShinyPalette_Steelix),
SPECIES_SHINY_PAL(SNUBBULL, gMonShinyPalette_Snubbull),
SPECIES_SHINY_PAL(GRANBULL, gMonShinyPalette_Granbull),
SPECIES_SHINY_PAL(QWILFISH, gMonShinyPalette_Qwilfish),
SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor),
SPECIES_SHINY_PAL(SHUCKLE, gMonShinyPalette_Shuckle),
SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross),
SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel),
SPECIES_SHINY_PAL(TEDDIURSA, gMonShinyPalette_Teddiursa),
SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring),
SPECIES_SHINY_PAL(SLUGMA, gMonShinyPalette_Slugma),
SPECIES_SHINY_PAL(MAGCARGO, gMonShinyPalette_Magcargo),
SPECIES_SHINY_PAL(SWINUB, gMonShinyPalette_Swinub),
SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine),
SPECIES_SHINY_PAL(CORSOLA, gMonShinyPalette_Corsola),
SPECIES_SHINY_PAL(REMORAID, gMonShinyPalette_Remoraid),
SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery),
SPECIES_SHINY_PAL(DELIBIRD, gMonShinyPalette_Delibird),
SPECIES_SHINY_PAL(MANTINE, gMonShinyPalette_Mantine),
SPECIES_SHINY_PAL(SKARMORY, gMonShinyPalette_Skarmory),
SPECIES_SHINY_PAL(HOUNDOUR, gMonShinyPalette_Houndour),
SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom),
SPECIES_SHINY_PAL(KINGDRA, gMonShinyPalette_Kingdra),
SPECIES_SHINY_PAL(PHANPY, gMonShinyPalette_Phanpy),
SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan),
SPECIES_SHINY_PAL(PORYGON2, gMonShinyPalette_Porygon2),
SPECIES_SHINY_PAL(STANTLER, gMonShinyPalette_Stantler),
SPECIES_SHINY_PAL(SMEARGLE, gMonShinyPalette_Smeargle),
SPECIES_SHINY_PAL(TYROGUE, gMonShinyPalette_Tyrogue),
SPECIES_SHINY_PAL(HITMONTOP, gMonShinyPalette_Hitmontop),
SPECIES_SHINY_PAL(SMOOCHUM, gMonShinyPalette_Smoochum),
SPECIES_SHINY_PAL(ELEKID, gMonShinyPalette_Elekid),
SPECIES_SHINY_PAL(MAGBY, gMonShinyPalette_Magby),
SPECIES_SHINY_PAL(MILTANK, gMonShinyPalette_Miltank),
SPECIES_SHINY_PAL(BLISSEY, gMonShinyPalette_Blissey),
SPECIES_SHINY_PAL(RAIKOU, gMonShinyPalette_Raikou),
SPECIES_SHINY_PAL(ENTEI, gMonShinyPalette_Entei),
SPECIES_SHINY_PAL(SUICUNE, gMonShinyPalette_Suicune),
SPECIES_SHINY_PAL(LARVITAR, gMonShinyPalette_Larvitar),
SPECIES_SHINY_PAL(PUPITAR, gMonShinyPalette_Pupitar),
SPECIES_SHINY_PAL(TYRANITAR, gMonShinyPalette_Tyranitar),
SPECIES_SHINY_PAL(LUGIA, gMonShinyPalette_Lugia),
SPECIES_SHINY_PAL(HO_OH, gMonShinyPalette_HoOh),
SPECIES_SHINY_PAL(CELEBI, gMonShinyPalette_Celebi),
SPECIES_SHINY_PAL(OLD_UNOWN_B, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_C, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_D, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_E, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_F, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_G, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_H, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_I, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_J, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_K, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_L, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_M, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_N, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_O, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_P, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_Q, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_R, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_S, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_T, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_U, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_V, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_W, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_X, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_Y, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(OLD_UNOWN_Z, gMonShinyPalette_DoubleQuestionMark),
SPECIES_SHINY_PAL(TREECKO, gMonShinyPalette_Treecko),
SPECIES_SHINY_PAL(GROVYLE, gMonShinyPalette_Grovyle),
SPECIES_SHINY_PAL(SCEPTILE, gMonShinyPalette_Sceptile),
SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic),
SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken),
SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken),
SPECIES_SHINY_PAL(MUDKIP, gMonShinyPalette_Mudkip),
SPECIES_SHINY_PAL(MARSHTOMP, gMonShinyPalette_Marshtomp),
SPECIES_SHINY_PAL(SWAMPERT, gMonShinyPalette_Swampert),
SPECIES_SHINY_PAL(POOCHYENA, gMonShinyPalette_Poochyena),
SPECIES_SHINY_PAL(MIGHTYENA, gMonShinyPalette_Mightyena),
SPECIES_SHINY_PAL(ZIGZAGOON, gMonShinyPalette_Zigzagoon),
SPECIES_SHINY_PAL(LINOONE, gMonShinyPalette_Linoone),
SPECIES_SHINY_PAL(WURMPLE, gMonShinyPalette_Wurmple),
SPECIES_SHINY_PAL(SILCOON, gMonShinyPalette_Silcoon),
SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly),
SPECIES_SHINY_PAL(CASCOON, gMonShinyPalette_Cascoon),
SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox),
SPECIES_SHINY_PAL(LOTAD, gMonShinyPalette_Lotad),
SPECIES_SHINY_PAL(LOMBRE, gMonShinyPalette_Lombre),
SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo),
SPECIES_SHINY_PAL(SEEDOT, gMonShinyPalette_Seedot),
SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf),
SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry),
SPECIES_SHINY_PAL(NINCADA, gMonShinyPalette_Nincada),
SPECIES_SHINY_PAL(NINJASK, gMonShinyPalette_Ninjask),
SPECIES_SHINY_PAL(SHEDINJA, gMonShinyPalette_Shedinja),
SPECIES_SHINY_PAL(TAILLOW, gMonShinyPalette_Taillow),
SPECIES_SHINY_PAL(SWELLOW, gMonShinyPalette_Swellow),
SPECIES_SHINY_PAL(SHROOMISH, gMonShinyPalette_Shroomish),
SPECIES_SHINY_PAL(BRELOOM, gMonShinyPalette_Breloom),
SPECIES_SHINY_PAL(SPINDA, gMonShinyPalette_Spinda),
SPECIES_SHINY_PAL(WINGULL, gMonShinyPalette_Wingull),
SPECIES_SHINY_PAL(PELIPPER, gMonShinyPalette_Pelipper),
SPECIES_SHINY_PAL(SURSKIT, gMonShinyPalette_Surskit),
SPECIES_SHINY_PAL(MASQUERAIN, gMonShinyPalette_Masquerain),
SPECIES_SHINY_PAL(WAILMER, gMonShinyPalette_Wailmer),
SPECIES_SHINY_PAL(WAILORD, gMonShinyPalette_Wailord),
SPECIES_SHINY_PAL(SKITTY, gMonShinyPalette_Skitty),
SPECIES_SHINY_PAL(DELCATTY, gMonShinyPalette_Delcatty),
SPECIES_SHINY_PAL(KECLEON, gMonShinyPalette_Kecleon),
SPECIES_SHINY_PAL(BALTOY, gMonShinyPalette_Baltoy),
SPECIES_SHINY_PAL(CLAYDOL, gMonShinyPalette_Claydol),
SPECIES_SHINY_PAL(NOSEPASS, gMonShinyPalette_Nosepass),
SPECIES_SHINY_PAL(TORKOAL, gMonShinyPalette_Torkoal),
SPECIES_SHINY_PAL(SABLEYE, gMonShinyPalette_Sableye),
SPECIES_SHINY_PAL(BARBOACH, gMonShinyPalette_Barboach),
SPECIES_SHINY_PAL(WHISCASH, gMonShinyPalette_Whiscash),
SPECIES_SHINY_PAL(LUVDISC, gMonShinyPalette_Luvdisc),
SPECIES_SHINY_PAL(CORPHISH, gMonShinyPalette_Corphish),
SPECIES_SHINY_PAL(CRAWDAUNT, gMonShinyPalette_Crawdaunt),
SPECIES_SHINY_PAL(FEEBAS, gMonShinyPalette_Feebas),
SPECIES_SHINY_PAL(MILOTIC, gMonShinyPalette_Milotic),
SPECIES_SHINY_PAL(CARVANHA, gMonShinyPalette_Carvanha),
SPECIES_SHINY_PAL(SHARPEDO, gMonShinyPalette_Sharpedo),
SPECIES_SHINY_PAL(TRAPINCH, gMonShinyPalette_Trapinch),
SPECIES_SHINY_PAL(VIBRAVA, gMonShinyPalette_Vibrava),
SPECIES_SHINY_PAL(FLYGON, gMonShinyPalette_Flygon),
SPECIES_SHINY_PAL(MAKUHITA, gMonShinyPalette_Makuhita),
SPECIES_SHINY_PAL(HARIYAMA, gMonShinyPalette_Hariyama),
SPECIES_SHINY_PAL(ELECTRIKE, gMonShinyPalette_Electrike),
SPECIES_SHINY_PAL(MANECTRIC, gMonShinyPalette_Manectric),
SPECIES_SHINY_PAL(NUMEL, gMonShinyPalette_Numel),
SPECIES_SHINY_PAL(CAMERUPT, gMonShinyPalette_Camerupt),
SPECIES_SHINY_PAL(SPHEAL, gMonShinyPalette_Spheal),
SPECIES_SHINY_PAL(SEALEO, gMonShinyPalette_Sealeo),
SPECIES_SHINY_PAL(WALREIN, gMonShinyPalette_Walrein),
SPECIES_SHINY_PAL(CACNEA, gMonShinyPalette_Cacnea),
SPECIES_SHINY_PAL(CACTURNE, gMonShinyPalette_Cacturne),
SPECIES_SHINY_PAL(SNORUNT, gMonShinyPalette_Snorunt),
SPECIES_SHINY_PAL(GLALIE, gMonShinyPalette_Glalie),
SPECIES_SHINY_PAL(LUNATONE, gMonShinyPalette_Lunatone),
SPECIES_SHINY_PAL(SOLROCK, gMonShinyPalette_Solrock),
SPECIES_SHINY_PAL(AZURILL, gMonShinyPalette_Azurill),
SPECIES_SHINY_PAL(SPOINK, gMonShinyPalette_Spoink),
SPECIES_SHINY_PAL(GRUMPIG, gMonShinyPalette_Grumpig),
SPECIES_SHINY_PAL(PLUSLE, gMonShinyPalette_Plusle),
SPECIES_SHINY_PAL(MINUN, gMonShinyPalette_Minun),
SPECIES_SHINY_PAL(MAWILE, gMonShinyPalette_Mawile),
SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite),
SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham),
SPECIES_SHINY_PAL(SWABLU, gMonShinyPalette_Swablu),
SPECIES_SHINY_PAL(ALTARIA, gMonShinyPalette_Altaria),
SPECIES_SHINY_PAL(WYNAUT, gMonShinyPalette_Wynaut),
SPECIES_SHINY_PAL(DUSKULL, gMonShinyPalette_Duskull),
SPECIES_SHINY_PAL(DUSCLOPS, gMonShinyPalette_Dusclops),
SPECIES_SHINY_PAL(ROSELIA, gMonShinyPalette_Roselia),
SPECIES_SHINY_PAL(SLAKOTH, gMonShinyPalette_Slakoth),
SPECIES_SHINY_PAL(VIGOROTH, gMonShinyPalette_Vigoroth),
SPECIES_SHINY_PAL(SLAKING, gMonShinyPalette_Slaking),
SPECIES_SHINY_PAL(GULPIN, gMonShinyPalette_Gulpin),
SPECIES_SHINY_PAL(SWALOT, gMonShinyPalette_Swalot),
SPECIES_SHINY_PAL(TROPIUS, gMonShinyPalette_Tropius),
SPECIES_SHINY_PAL(WHISMUR, gMonShinyPalette_Whismur),
SPECIES_SHINY_PAL(LOUDRED, gMonShinyPalette_Loudred),
SPECIES_SHINY_PAL(EXPLOUD, gMonShinyPalette_Exploud),
SPECIES_SHINY_PAL(CLAMPERL, gMonShinyPalette_Clamperl),
SPECIES_SHINY_PAL(HUNTAIL, gMonShinyPalette_Huntail),
SPECIES_SHINY_PAL(GOREBYSS, gMonShinyPalette_Gorebyss),
SPECIES_SHINY_PAL(ABSOL, gMonShinyPalette_Absol),
SPECIES_SHINY_PAL(SHUPPET, gMonShinyPalette_Shuppet),
SPECIES_SHINY_PAL(BANETTE, gMonShinyPalette_Banette),
SPECIES_SHINY_PAL(SEVIPER, gMonShinyPalette_Seviper),
SPECIES_SHINY_PAL(ZANGOOSE, gMonShinyPalette_Zangoose),
SPECIES_SHINY_PAL(RELICANTH, gMonShinyPalette_Relicanth),
SPECIES_SHINY_PAL(ARON, gMonShinyPalette_Aron),
SPECIES_SHINY_PAL(LAIRON, gMonShinyPalette_Lairon),
SPECIES_SHINY_PAL(AGGRON, gMonShinyPalette_Aggron),
SPECIES_SHINY_PAL(CASTFORM, gMonShinyPalette_Castform),
SPECIES_SHINY_PAL(VOLBEAT, gMonShinyPalette_Volbeat),
SPECIES_SHINY_PAL(ILLUMISE, gMonShinyPalette_Illumise),
SPECIES_SHINY_PAL(LILEEP, gMonShinyPalette_Lileep),
SPECIES_SHINY_PAL(CRADILY, gMonShinyPalette_Cradily),
SPECIES_SHINY_PAL(ANORITH, gMonShinyPalette_Anorith),
SPECIES_SHINY_PAL(ARMALDO, gMonShinyPalette_Armaldo),
SPECIES_SHINY_PAL(RALTS, gMonShinyPalette_Ralts),
SPECIES_SHINY_PAL(KIRLIA, gMonShinyPalette_Kirlia),
SPECIES_SHINY_PAL(GARDEVOIR, gMonShinyPalette_Gardevoir),
SPECIES_SHINY_PAL(BAGON, gMonShinyPalette_Bagon),
SPECIES_SHINY_PAL(SHELGON, gMonShinyPalette_Shelgon),
SPECIES_SHINY_PAL(SALAMENCE, gMonShinyPalette_Salamence),
SPECIES_SHINY_PAL(BELDUM, gMonShinyPalette_Beldum),
SPECIES_SHINY_PAL(METANG, gMonShinyPalette_Metang),
SPECIES_SHINY_PAL(METAGROSS, gMonShinyPalette_Metagross),
SPECIES_SHINY_PAL(REGIROCK, gMonShinyPalette_Regirock),
SPECIES_SHINY_PAL(REGICE, gMonShinyPalette_Regice),
SPECIES_SHINY_PAL(REGISTEEL, gMonShinyPalette_Registeel),
SPECIES_SHINY_PAL(KYOGRE, gMonShinyPalette_Kyogre),
SPECIES_SHINY_PAL(GROUDON, gMonShinyPalette_Groudon),
SPECIES_SHINY_PAL(RAYQUAZA, gMonShinyPalette_Rayquaza),
SPECIES_SHINY_PAL(LATIAS, gMonShinyPalette_Latias),
SPECIES_SHINY_PAL(LATIOS, gMonShinyPalette_Latios),
SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi),
SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys),
SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho),
SPECIES_SHINY_PAL(EGG, gMonPalette_Egg),
SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_E, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_F, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_G, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_H, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_I, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_J, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_K, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_L, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_M, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_N, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_O, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_P, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_Q, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_R, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_S, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_T, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_U, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_V, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_W, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_X, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_Y, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_Z, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_EMARK, gMonShinyPalette_Unown),
SPECIES_SHINY_PAL(UNOWN_QMARK, gMonShinyPalette_Unown),
};
+242
View File
@@ -0,0 +1,242 @@
static const u8 sNoneDescription[] = _("No special ability.");
static const u8 sStenchDescription[] = _("Helps repel wild POKéMON.");
static const u8 sDrizzleDescription[] = _("Summons rain in battle.");
static const u8 sSpeedBoostDescription[] = _("Gradually boosts SPEED.");
static const u8 sBattleArmorDescription[] = _("Blocks critical hits.");
static const u8 sSturdyDescription[] = _("Negates 1-hit KO attacks.");
static const u8 sDampDescription[] = _("Prevents self-destruction.");
static const u8 sLimberDescription[] = _("Prevents paralysis.");
static const u8 sSandVeilDescription[] = _("Ups evasion in a sandstorm.");
static const u8 sStaticDescription[] = _("Paralyzes on contact.");
static const u8 sVoltAbsorbDescription[] = _("Turns electricity into HP.");
static const u8 sWaterAbsorbDescription[] = _("Changes water into HP.");
static const u8 sObliviousDescription[] = _("Prevents attraction.");
static const u8 sCloudNineDescription[] = _("Negates weather effects.");
static const u8 sCompoundEyesDescription[] = _("Raises accuracy.");
static const u8 sInsomniaDescription[] = _("Prevents sleep.");
static const u8 sColorChangeDescription[] = _("Changes type to foe's move.");
static const u8 sImmunityDescription[] = _("Prevents poisoning.");
static const u8 sFlashFireDescription[] = _("Powers up if hit by fire.");
static const u8 sShieldDustDescription[] = _("Prevents added effects.");
static const u8 sOwnTempoDescription[] = _("Prevents confusion.");
static const u8 sSuctionCupsDescription[] = _("Firmly anchors the body.");
static const u8 sIntimidateDescription[] = _("Lowers the foe's ATTACK.");
static const u8 sShadowTagDescription[] = _("Prevents the foe's escape.");
static const u8 sRoughSkinDescription[] = _("Hurts to touch.");
static const u8 sWonderGuardDescription[] = _("“Super effective” hits.");
static const u8 sLevitateDescription[] = _("Not hit by GROUND attacks.");
static const u8 sEffectSporeDescription[] = _("Leaves spores on contact.");
static const u8 sSynchronizeDescription[] = _("Passes on status problems.");
static const u8 sClearBodyDescription[] = _("Prevents ability reduction.");
static const u8 sNaturalCureDescription[] = _("Heals upon switching out.");
static const u8 sLightningRodDescription[] = _("Draws electrical moves.");
static const u8 sSereneGraceDescription[] = _("Promotes added effects.");
static const u8 sSwiftSwimDescription[] = _("Raises SPEED in rain.");
static const u8 sChlorophyllDescription[] = _("Raises SPEED in sunshine.");
static const u8 sIlluminateDescription[] = _("Encounter rate increases.");
static const u8 sTraceDescription[] = _("Copies special ability.");
static const u8 sHugePowerDescription[] = _("Raises ATTACK.");
static const u8 sPoisonPointDescription[] = _("Poisons foe on contact.");
static const u8 sInnerFocusDescription[] = _("Prevents flinching.");
static const u8 sMagmaArmorDescription[] = _("Prevents freezing.");
static const u8 sWaterVeilDescription[] = _("Prevents burns.");
static const u8 sMagnetPullDescription[] = _("Traps STEEL-type POKéMON.");
static const u8 sSoundproofDescription[] = _("Avoids sound-based moves.");
static const u8 sRainDishDescription[] = _("Slight HP recovery in rain.");
static const u8 sSandStreamDescription[] = _("Summons a sandstorm.");
static const u8 sPressureDescription[] = _("Raises foe's PP usage.");
static const u8 sThickFatDescription[] = _("Heat-and-cold protection.");
static const u8 sEarlyBirdDescription[] = _("Awakens quickly from sleep.");
static const u8 sFlameBodyDescription[] = _("Burns the foe on contact.");
static const u8 sRunAwayDescription[] = _("Makes escaping easier.");
static const u8 sKeenEyeDescription[] = _("Prevents loss of accuracy.");
static const u8 sHyperCutterDescription[] = _("Prevents ATTACK reduction.");
static const u8 sPickupDescription[] = _("May pick up items.");
static const u8 sTruantDescription[] = _("Moves only every two turns.");
static const u8 sHustleDescription[] = _("Trades accuracy for power.");
static const u8 sCuteCharmDescription[] = _("Infatuates on contact.");
static const u8 sPlusDescription[] = _("Powers up with MINUS.");
static const u8 sMinusDescription[] = _("Powers up with PLUS.");
static const u8 sForecastDescription[] = _("Changes with the weather.");
static const u8 sStickyHoldDescription[] = _("Prevents item theft.");
static const u8 sShedSkinDescription[] = _("Heals the body by shedding.");
static const u8 sGutsDescription[] = _("Ups ATTACK if suffering.");
static const u8 sMarvelScaleDescription[] = _("Ups DEFENSE if suffering.");
static const u8 sLiquidOozeDescription[] = _("Draining causes injury.");
static const u8 sOvergrowDescription[] = _("Ups GRASS moves in a pinch.");
static const u8 sBlazeDescription[] = _("Ups FIRE moves in a pinch.");
static const u8 sTorrentDescription[] = _("Ups WATER moves in a pinch.");
static const u8 sSwarmDescription[] = _("Ups BUG moves in a pinch.");
static const u8 sRockHeadDescription[] = _("Prevents recoil damage.");
static const u8 sDroughtDescription[] = _("Summons sunlight in battle.");
static const u8 sArenaTrapDescription[] = _("Prevents fleeing.");
static const u8 sVitalSpiritDescription[] = _("Prevents sleep.");
static const u8 sWhiteSmokeDescription[] = _("Prevents ability reduction.");
static const u8 sPurePowerDescription[] = _("Raises ATTACK.");
static const u8 sShellArmorDescription[] = _("Blocks critical hits.");
static const u8 sCacophonyDescription[] = _("Avoids sound-based moves.");
static const u8 sAirLockDescription[] = _("Negates weather effects.");
const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] =
{
[ABILITY_NONE] = sNoneDescription,
[ABILITY_STENCH] = sStenchDescription,
[ABILITY_DRIZZLE] = sDrizzleDescription,
[ABILITY_SPEED_BOOST] = sSpeedBoostDescription,
[ABILITY_BATTLE_ARMOR] = sBattleArmorDescription,
[ABILITY_STURDY] = sSturdyDescription,
[ABILITY_DAMP] = sDampDescription,
[ABILITY_LIMBER] = sLimberDescription,
[ABILITY_SAND_VEIL] = sSandVeilDescription,
[ABILITY_STATIC] = sStaticDescription,
[ABILITY_VOLT_ABSORB] = sVoltAbsorbDescription,
[ABILITY_WATER_ABSORB] = sWaterAbsorbDescription,
[ABILITY_OBLIVIOUS] = sObliviousDescription,
[ABILITY_CLOUD_NINE] = sCloudNineDescription,
[ABILITY_COMPOUND_EYES] = sCompoundEyesDescription,
[ABILITY_INSOMNIA] = sInsomniaDescription,
[ABILITY_COLOR_CHANGE] = sColorChangeDescription,
[ABILITY_IMMUNITY] = sImmunityDescription,
[ABILITY_FLASH_FIRE] = sFlashFireDescription,
[ABILITY_SHIELD_DUST] = sShieldDustDescription,
[ABILITY_OWN_TEMPO] = sOwnTempoDescription,
[ABILITY_SUCTION_CUPS] = sSuctionCupsDescription,
[ABILITY_INTIMIDATE] = sIntimidateDescription,
[ABILITY_SHADOW_TAG] = sShadowTagDescription,
[ABILITY_ROUGH_SKIN] = sRoughSkinDescription,
[ABILITY_WONDER_GUARD] = sWonderGuardDescription,
[ABILITY_LEVITATE] = sLevitateDescription,
[ABILITY_EFFECT_SPORE] = sEffectSporeDescription,
[ABILITY_SYNCHRONIZE] = sSynchronizeDescription,
[ABILITY_CLEAR_BODY] = sClearBodyDescription,
[ABILITY_NATURAL_CURE] = sNaturalCureDescription,
[ABILITY_LIGHTNING_ROD] = sLightningRodDescription,
[ABILITY_SERENE_GRACE] = sSereneGraceDescription,
[ABILITY_SWIFT_SWIM] = sSwiftSwimDescription,
[ABILITY_CHLOROPHYLL] = sChlorophyllDescription,
[ABILITY_ILLUMINATE] = sIlluminateDescription,
[ABILITY_TRACE] = sTraceDescription,
[ABILITY_HUGE_POWER] = sHugePowerDescription,
[ABILITY_POISON_POINT] = sPoisonPointDescription,
[ABILITY_INNER_FOCUS] = sInnerFocusDescription,
[ABILITY_MAGMA_ARMOR] = sMagmaArmorDescription,
[ABILITY_WATER_VEIL] = sWaterVeilDescription,
[ABILITY_MAGNET_PULL] = sMagnetPullDescription,
[ABILITY_SOUNDPROOF] = sSoundproofDescription,
[ABILITY_RAIN_DISH] = sRainDishDescription,
[ABILITY_SAND_STREAM] = sSandStreamDescription,
[ABILITY_PRESSURE] = sPressureDescription,
[ABILITY_THICK_FAT] = sThickFatDescription,
[ABILITY_EARLY_BIRD] = sEarlyBirdDescription,
[ABILITY_FLAME_BODY] = sFlameBodyDescription,
[ABILITY_RUN_AWAY] = sRunAwayDescription,
[ABILITY_KEEN_EYE] = sKeenEyeDescription,
[ABILITY_HYPER_CUTTER] = sHyperCutterDescription,
[ABILITY_PICKUP] = sPickupDescription,
[ABILITY_TRUANT] = sTruantDescription,
[ABILITY_HUSTLE] = sHustleDescription,
[ABILITY_CUTE_CHARM] = sCuteCharmDescription,
[ABILITY_PLUS] = sPlusDescription,
[ABILITY_MINUS] = sMinusDescription,
[ABILITY_FORECAST] = sForecastDescription,
[ABILITY_STICKY_HOLD] = sStickyHoldDescription,
[ABILITY_SHED_SKIN] = sShedSkinDescription,
[ABILITY_GUTS] = sGutsDescription,
[ABILITY_MARVEL_SCALE] = sMarvelScaleDescription,
[ABILITY_LIQUID_OOZE] = sLiquidOozeDescription,
[ABILITY_OVERGROW] = sOvergrowDescription,
[ABILITY_BLAZE] = sBlazeDescription,
[ABILITY_TORRENT] = sTorrentDescription,
[ABILITY_SWARM] = sSwarmDescription,
[ABILITY_ROCK_HEAD] = sRockHeadDescription,
[ABILITY_DROUGHT] = sDroughtDescription,
[ABILITY_ARENA_TRAP] = sArenaTrapDescription,
[ABILITY_VITAL_SPIRIT] = sVitalSpiritDescription,
[ABILITY_WHITE_SMOKE] = sWhiteSmokeDescription,
[ABILITY_PURE_POWER] = sPurePowerDescription,
[ABILITY_SHELL_ARMOR] = sShellArmorDescription,
[ABILITY_CACOPHONY] = sCacophonyDescription,
[ABILITY_AIR_LOCK] = sAirLockDescription,
};
const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] =
{
[ABILITY_NONE] = _("-------"),
[ABILITY_STENCH] = _("STENCH"),
[ABILITY_DRIZZLE] = _("DRIZZLE"),
[ABILITY_SPEED_BOOST] = _("SPEED BOOST"),
[ABILITY_BATTLE_ARMOR] = _("BATTLE ARMOR"),
[ABILITY_STURDY] = _("STURDY"),
[ABILITY_DAMP] = _("DAMP"),
[ABILITY_LIMBER] = _("LIMBER"),
[ABILITY_SAND_VEIL] = _("SAND VEIL"),
[ABILITY_STATIC] = _("STATIC"),
[ABILITY_VOLT_ABSORB] = _("VOLT ABSORB"),
[ABILITY_WATER_ABSORB] = _("WATER ABSORB"),
[ABILITY_OBLIVIOUS] = _("OBLIVIOUS"),
[ABILITY_CLOUD_NINE] = _("CLOUD NINE"),
[ABILITY_COMPOUND_EYES] = _("COMPOUNDEYES"),
[ABILITY_INSOMNIA] = _("INSOMNIA"),
[ABILITY_COLOR_CHANGE] = _("COLOR CHANGE"),
[ABILITY_IMMUNITY] = _("IMMUNITY"),
[ABILITY_FLASH_FIRE] = _("FLASH FIRE"),
[ABILITY_SHIELD_DUST] = _("SHIELD DUST"),
[ABILITY_OWN_TEMPO] = _("OWN TEMPO"),
[ABILITY_SUCTION_CUPS] = _("SUCTION CUPS"),
[ABILITY_INTIMIDATE] = _("INTIMIDATE"),
[ABILITY_SHADOW_TAG] = _("SHADOW TAG"),
[ABILITY_ROUGH_SKIN] = _("ROUGH SKIN"),
[ABILITY_WONDER_GUARD] = _("WONDER GUARD"),
[ABILITY_LEVITATE] = _("LEVITATE"),
[ABILITY_EFFECT_SPORE] = _("EFFECT SPORE"),
[ABILITY_SYNCHRONIZE] = _("SYNCHRONIZE"),
[ABILITY_CLEAR_BODY] = _("CLEAR BODY"),
[ABILITY_NATURAL_CURE] = _("NATURAL CURE"),
[ABILITY_LIGHTNING_ROD] = _("LIGHTNINGROD"),
[ABILITY_SERENE_GRACE] = _("SERENE GRACE"),
[ABILITY_SWIFT_SWIM] = _("SWIFT SWIM"),
[ABILITY_CHLOROPHYLL] = _("CHLOROPHYLL"),
[ABILITY_ILLUMINATE] = _("ILLUMINATE"),
[ABILITY_TRACE] = _("TRACE"),
[ABILITY_HUGE_POWER] = _("HUGE POWER"),
[ABILITY_POISON_POINT] = _("POISON POINT"),
[ABILITY_INNER_FOCUS] = _("INNER FOCUS"),
[ABILITY_MAGMA_ARMOR] = _("MAGMA ARMOR"),
[ABILITY_WATER_VEIL] = _("WATER VEIL"),
[ABILITY_MAGNET_PULL] = _("MAGNET PULL"),
[ABILITY_SOUNDPROOF] = _("SOUNDPROOF"),
[ABILITY_RAIN_DISH] = _("RAIN DISH"),
[ABILITY_SAND_STREAM] = _("SAND STREAM"),
[ABILITY_PRESSURE] = _("PRESSURE"),
[ABILITY_THICK_FAT] = _("THICK FAT"),
[ABILITY_EARLY_BIRD] = _("EARLY BIRD"),
[ABILITY_FLAME_BODY] = _("FLAME BODY"),
[ABILITY_RUN_AWAY] = _("RUN AWAY"),
[ABILITY_KEEN_EYE] = _("KEEN EYE"),
[ABILITY_HYPER_CUTTER] = _("HYPER CUTTER"),
[ABILITY_PICKUP] = _("PICKUP"),
[ABILITY_TRUANT] = _("TRUANT"),
[ABILITY_HUSTLE] = _("HUSTLE"),
[ABILITY_CUTE_CHARM] = _("CUTE CHARM"),
[ABILITY_PLUS] = _("PLUS"),
[ABILITY_MINUS] = _("MINUS"),
[ABILITY_FORECAST] = _("FORECAST"),
[ABILITY_STICKY_HOLD] = _("STICKY HOLD"),
[ABILITY_SHED_SKIN] = _("SHED SKIN"),
[ABILITY_GUTS] = _("GUTS"),
[ABILITY_MARVEL_SCALE] = _("MARVEL SCALE"),
[ABILITY_LIQUID_OOZE] = _("LIQUID OOZE"),
[ABILITY_OVERGROW] = _("OVERGROW"),
[ABILITY_BLAZE] = _("BLAZE"),
[ABILITY_TORRENT] = _("TORRENT"),
[ABILITY_SWARM] = _("SWARM"),
[ABILITY_ROCK_HEAD] = _("ROCK HEAD"),
[ABILITY_DROUGHT] = _("DROUGHT"),
[ABILITY_ARENA_TRAP] = _("ARENA TRAP"),
[ABILITY_VITAL_SPIRIT] = _("VITAL SPIRIT"),
[ABILITY_WHITE_SMOKE] = _("WHITE SMOKE"),
[ABILITY_PURE_POWER] = _("PURE POWER"),
[ABILITY_SHELL_ARMOR] = _("SHELL ARMOR"),
[ABILITY_CACOPHONY] = _("CACOPHONY"),
[ABILITY_AIR_LOCK] = _("AIR LOCK"),
};
+357
View File
@@ -0,0 +1,357 @@
const u8 gMoveNames[][13] = {
_("-$$$$$$"),
_("POUND"),
_("KARATE CHOP"),
_("DOUBLESLAP"),
_("COMET PUNCH"),
_("MEGA PUNCH"),
_("PAY DAY"),
_("FIRE PUNCH"),
_("ICE PUNCH"),
_("THUNDERPUNCH"),
_("SCRATCH"),
_("VICEGRIP"),
_("GUILLOTINE"),
_("RAZOR WIND"),
_("SWORDS DANCE"),
_("CUT"),
_("GUST"),
_("WING ATTACK"),
_("WHIRLWIND"),
_("FLY"),
_("BIND"),
_("SLAM"),
_("VINE WHIP"),
_("STOMP"),
_("DOUBLE KICK"),
_("MEGA KICK"),
_("JUMP KICK"),
_("ROLLING KICK"),
_("SAND-ATTACK"),
_("HEADBUTT"),
_("HORN ATTACK"),
_("FURY ATTACK"),
_("HORN DRILL"),
_("TACKLE"),
_("BODY SLAM"),
_("WRAP"),
_("TAKE DOWN"),
_("THRASH"),
_("DOUBLE-EDGE"),
_("TAIL WHIP"),
_("POISON STING"),
_("TWINEEDLE"),
_("PIN MISSILE"),
_("LEER"),
_("BITE"),
_("GROWL"),
_("ROAR"),
_("SING"),
_("SUPERSONIC"),
_("SONICBOOM"),
_("DISABLE"),
_("ACID"),
_("EMBER"),
_("FLAMETHROWER"),
_("MIST"),
_("WATER GUN"),
_("HYDRO PUMP"),
_("SURF"),
_("ICE BEAM"),
_("BLIZZARD"),
_("PSYBEAM"),
_("BUBBLEBEAM"),
_("AURORA BEAM"),
_("HYPER BEAM"),
_("PECK"),
_("DRILL PECK"),
_("SUBMISSION"),
_("LOW KICK"),
_("COUNTER"),
_("SEISMIC TOSS"),
_("STRENGTH"),
_("ABSORB"),
_("MEGA DRAIN"),
_("LEECH SEED"),
_("GROWTH"),
_("RAZOR LEAF"),
_("SOLARBEAM"),
_("POISONPOWDER"),
_("STUN SPORE"),
_("SLEEP POWDER"),
_("PETAL DANCE"),
_("STRING SHOT"),
_("DRAGON RAGE"),
_("FIRE SPIN"),
_("THUNDERSHOCK"),
_("THUNDERBOLT"),
_("THUNDER WAVE"),
_("THUNDER"),
_("ROCK THROW"),
_("EARTHQUAKE"),
_("FISSURE"),
_("DIG"),
_("TOXIC"),
_("CONFUSION"),
_("PSYCHIC"),
_("HYPNOSIS"),
_("MEDITATE"),
_("AGILITY"),
_("QUICK ATTACK"),
_("RAGE"),
_("TELEPORT"),
_("NIGHT SHADE"),
_("MIMIC"),
_("SCREECH"),
_("DOUBLE TEAM"),
_("RECOVER"),
_("HARDEN"),
_("MINIMIZE"),
_("SMOKESCREEN"),
_("CONFUSE RAY"),
_("WITHDRAW"),
_("DEFENSE CURL"),
_("BARRIER"),
_("LIGHT SCREEN"),
_("HAZE"),
_("REFLECT"),
_("FOCUS ENERGY"),
_("BIDE"),
_("METRONOME"),
_("MIRROR MOVE"),
_("SELFDESTRUCT"),
_("EGG BOMB"),
_("LICK"),
_("SMOG"),
_("SLUDGE"),
_("BONE CLUB"),
_("FIRE BLAST"),
_("WATERFALL"),
_("CLAMP"),
_("SWIFT"),
_("SKULL BASH"),
_("SPIKE CANNON"),
_("CONSTRICT"),
_("AMNESIA"),
_("KINESIS"),
_("SOFTBOILED"),
_("HI JUMP KICK"),
_("GLARE"),
_("DREAM EATER"),
_("POISON GAS"),
_("BARRAGE"),
_("LEECH LIFE"),
_("LOVELY KISS"),
_("SKY ATTACK"),
_("TRANSFORM"),
_("BUBBLE"),
_("DIZZY PUNCH"),
_("SPORE"),
_("FLASH"),
_("PSYWAVE"),
_("SPLASH"),
_("ACID ARMOR"),
_("CRABHAMMER"),
_("EXPLOSION"),
_("FURY SWIPES"),
_("BONEMERANG"),
_("REST"),
_("ROCK SLIDE"),
_("HYPER FANG"),
_("SHARPEN"),
_("CONVERSION"),
_("TRI ATTACK"),
_("SUPER FANG"),
_("SLASH"),
_("SUBSTITUTE"),
_("STRUGGLE"),
_("SKETCH"),
_("TRIPLE KICK"),
_("THIEF"),
_("SPIDER WEB"),
_("MIND READER"),
_("NIGHTMARE"),
_("FLAME WHEEL"),
_("SNORE"),
_("CURSE"),
_("FLAIL"),
_("CONVERSION 2"),
_("AEROBLAST"),
_("COTTON SPORE"),
_("REVERSAL"),
_("SPITE"),
_("POWDER SNOW"),
_("PROTECT"),
_("MACH PUNCH"),
_("SCARY FACE"),
_("FAINT ATTACK"),
_("SWEET KISS"),
_("BELLY DRUM"),
_("SLUDGE BOMB"),
_("MUD-SLAP"),
_("OCTAZOOKA"),
_("SPIKES"),
_("ZAP CANNON"),
_("FORESIGHT"),
_("DESTINY BOND"),
_("PERISH SONG"),
_("ICY WIND"),
_("DETECT"),
_("BONE RUSH"),
_("LOCK-ON"),
_("OUTRAGE"),
_("SANDSTORM"),
_("GIGA DRAIN"),
_("ENDURE"),
_("CHARM"),
_("ROLLOUT"),
_("FALSE SWIPE"),
_("SWAGGER"),
_("MILK DRINK"),
_("SPARK"),
_("FURY CUTTER"),
_("STEEL WING"),
_("MEAN LOOK"),
_("ATTRACT"),
_("SLEEP TALK"),
_("HEAL BELL"),
_("RETURN"),
_("PRESENT"),
_("FRUSTRATION"),
_("SAFEGUARD"),
_("PAIN SPLIT"),
_("SACRED FIRE"),
_("MAGNITUDE"),
_("DYNAMICPUNCH"),
_("MEGAHORN"),
_("DRAGONBREATH"),
_("BATON PASS"),
_("ENCORE"),
_("PURSUIT"),
_("RAPID SPIN"),
_("SWEET SCENT"),
_("IRON TAIL"),
_("METAL CLAW"),
_("VITAL THROW"),
_("MORNING SUN"),
_("SYNTHESIS"),
_("MOONLIGHT"),
_("HIDDEN POWER"),
_("CROSS CHOP"),
_("TWISTER"),
_("RAIN DANCE"),
_("SUNNY DAY"),
_("CRUNCH"),
_("MIRROR COAT"),
_("PSYCH UP"),
_("EXTREMESPEED"),
_("ANCIENTPOWER"),
_("SHADOW BALL"),
_("FUTURE SIGHT"),
_("ROCK SMASH"),
_("WHIRLPOOL"),
_("BEAT UP"),
_("FAKE OUT"),
_("UPROAR"),
_("STOCKPILE"),
_("SPIT UP"),
_("SWALLOW"),
_("HEAT WAVE"),
_("HAIL"),
_("TORMENT"),
_("FLATTER"),
_("WILL-O-WISP"),
_("MEMENTO"),
_("FACADE"),
_("FOCUS PUNCH"),
_("SMELLINGSALT"),
_("FOLLOW ME"),
_("NATURE POWER"),
_("CHARGE"),
_("TAUNT"),
_("HELPING HAND"),
_("TRICK"),
_("ROLE PLAY"),
_("WISH"),
_("ASSIST"),
_("INGRAIN"),
_("SUPERPOWER"),
_("MAGIC COAT"),
_("RECYCLE"),
_("REVENGE"),
_("BRICK BREAK"),
_("YAWN"),
_("KNOCK OFF"),
_("ENDEAVOR"),
_("ERUPTION"),
_("SKILL SWAP"),
_("IMPRISON"),
_("REFRESH"),
_("GRUDGE"),
_("SNATCH"),
_("SECRET POWER"),
_("DIVE"),
_("ARM THRUST"),
_("CAMOUFLAGE"),
_("TAIL GLOW"),
_("LUSTER PURGE"),
_("MIST BALL"),
_("FEATHERDANCE"),
_("TEETER DANCE"),
_("BLAZE KICK"),
_("MUD SPORT"),
_("ICE BALL"),
_("NEEDLE ARM"),
_("SLACK OFF"),
_("HYPER VOICE"),
_("POISON FANG"),
_("CRUSH CLAW"),
_("BLAST BURN"),
_("HYDRO CANNON"),
_("METEOR MASH"),
_("ASTONISH"),
_("WEATHER BALL"),
_("AROMATHERAPY"),
_("FAKE TEARS"),
_("AIR CUTTER"),
_("OVERHEAT"),
_("ODOR SLEUTH"),
_("ROCK TOMB"),
_("SILVER WIND"),
_("METAL SOUND"),
_("GRASSWHISTLE"),
_("TICKLE"),
_("COSMIC POWER"),
_("WATER SPOUT"),
_("SIGNAL BEAM"),
_("SHADOW PUNCH"),
_("EXTRASENSORY"),
_("SKY UPPERCUT"),
_("SAND TOMB"),
_("SHEER COLD"),
_("MUDDY WATER"),
_("BULLET SEED"),
_("AERIAL ACE"),
_("ICICLE SPEAR"),
_("IRON DEFENSE"),
_("BLOCK"),
_("HOWL"),
_("DRAGON CLAW"),
_("FRENZY PLANT"),
_("BULK UP"),
_("BOUNCE"),
_("MUD SHOT"),
_("POISON TAIL"),
_("COVET"),
_("VOLT TACKLE"),
_("MAGICAL LEAF"),
_("WATER SPORT"),
_("CALM MIND"),
_("LEAF BLADE"),
_("DRAGON DANCE"),
_("ROCK BLAST"),
_("SHOCK WAVE"),
_("WATER PULSE"),
_("DOOM DESIRE"),
_("PSYCHO BOOST")
};
+414
View File
@@ -0,0 +1,414 @@
const u8 gSpeciesNames[][11] = {
_("??????????"),
_("BULBASAUR"),
_("IVYSAUR"),
_("VENUSAUR"),
_("CHARMANDER"),
_("CHARMELEON"),
_("CHARIZARD"),
_("SQUIRTLE"),
_("WARTORTLE"),
_("BLASTOISE"),
_("CATERPIE"),
_("METAPOD"),
_("BUTTERFREE"),
_("WEEDLE"),
_("KAKUNA"),
_("BEEDRILL"),
_("PIDGEY"),
_("PIDGEOTTO"),
_("PIDGEOT"),
_("RATTATA"),
_("RATICATE"),
_("SPEAROW"),
_("FEAROW"),
_("EKANS"),
_("ARBOK"),
_("PIKACHU"),
_("RAICHU"),
_("SANDSHREW"),
_("SANDSLASH"),
_("NIDORAN♀"),
_("NIDORINA"),
_("NIDOQUEEN"),
_("NIDORAN♂"),
_("NIDORINO"),
_("NIDOKING"),
_("CLEFAIRY"),
_("CLEFABLE"),
_("VULPIX"),
_("NINETALES"),
_("JIGGLYPUFF"),
_("WIGGLYTUFF"),
_("ZUBAT"),
_("GOLBAT"),
_("ODDISH"),
_("GLOOM"),
_("VILEPLUME"),
_("PARAS"),
_("PARASECT"),
_("VENONAT"),
_("VENOMOTH"),
_("DIGLETT"),
_("DUGTRIO"),
_("MEOWTH"),
_("PERSIAN"),
_("PSYDUCK"),
_("GOLDUCK"),
_("MANKEY"),
_("PRIMEAPE"),
_("GROWLITHE"),
_("ARCANINE"),
_("POLIWAG"),
_("POLIWHIRL"),
_("POLIWRATH"),
_("ABRA"),
_("KADABRA"),
_("ALAKAZAM"),
_("MACHOP"),
_("MACHOKE"),
_("MACHAMP"),
_("BELLSPROUT"),
_("WEEPINBELL"),
_("VICTREEBEL"),
_("TENTACOOL"),
_("TENTACRUEL"),
_("GEODUDE"),
_("GRAVELER"),
_("GOLEM"),
_("PONYTA"),
_("RAPIDASH"),
_("SLOWPOKE"),
_("SLOWBRO"),
_("MAGNEMITE"),
_("MAGNETON"),
_("FARFETCH'D"),
_("DODUO"),
_("DODRIO"),
_("SEEL"),
_("DEWGONG"),
_("GRIMER"),
_("MUK"),
_("SHELLDER"),
_("CLOYSTER"),
_("GASTLY"),
_("HAUNTER"),
_("GENGAR"),
_("ONIX"),
_("DROWZEE"),
_("HYPNO"),
_("KRABBY"),
_("KINGLER"),
_("VOLTORB"),
_("ELECTRODE"),
_("EXEGGCUTE"),
_("EXEGGUTOR"),
_("CUBONE"),
_("MAROWAK"),
_("HITMONLEE"),
_("HITMONCHAN"),
_("LICKITUNG"),
_("KOFFING"),
_("WEEZING"),
_("RHYHORN"),
_("RHYDON"),
_("CHANSEY"),
_("TANGELA"),
_("KANGASKHAN"),
_("HORSEA"),
_("SEADRA"),
_("GOLDEEN"),
_("SEAKING"),
_("STARYU"),
_("STARMIE"),
_("MR. MIME"),
_("SCYTHER"),
_("JYNX"),
_("ELECTABUZZ"),
_("MAGMAR"),
_("PINSIR"),
_("TAUROS"),
_("MAGIKARP"),
_("GYARADOS"),
_("LAPRAS"),
_("DITTO"),
_("EEVEE"),
_("VAPOREON"),
_("JOLTEON"),
_("FLAREON"),
_("PORYGON"),
_("OMANYTE"),
_("OMASTAR"),
_("KABUTO"),
_("KABUTOPS"),
_("AERODACTYL"),
_("SNORLAX"),
_("ARTICUNO"),
_("ZAPDOS"),
_("MOLTRES"),
_("DRATINI"),
_("DRAGONAIR"),
_("DRAGONITE"),
_("MEWTWO"),
_("MEW"),
_("CHIKORITA"),
_("BAYLEEF"),
_("MEGANIUM"),
_("CYNDAQUIL"),
_("QUILAVA"),
_("TYPHLOSION"),
_("TOTODILE"),
_("CROCONAW"),
_("FERALIGATR"),
_("SENTRET"),
_("FURRET"),
_("HOOTHOOT"),
_("NOCTOWL"),
_("LEDYBA"),
_("LEDIAN"),
_("SPINARAK"),
_("ARIADOS"),
_("CROBAT"),
_("CHINCHOU"),
_("LANTURN"),
_("PICHU"),
_("CLEFFA"),
_("IGGLYBUFF"),
_("TOGEPI"),
_("TOGETIC"),
_("NATU"),
_("XATU"),
_("MAREEP"),
_("FLAAFFY"),
_("AMPHAROS"),
_("BELLOSSOM"),
_("MARILL"),
_("AZUMARILL"),
_("SUDOWOODO"),
_("POLITOED"),
_("HOPPIP"),
_("SKIPLOOM"),
_("JUMPLUFF"),
_("AIPOM"),
_("SUNKERN"),
_("SUNFLORA"),
_("YANMA"),
_("WOOPER"),
_("QUAGSIRE"),
_("ESPEON"),
_("UMBREON"),
_("MURKROW"),
_("SLOWKING"),
_("MISDREAVUS"),
_("UNOWN"),
_("WOBBUFFET"),
_("GIRAFARIG"),
_("PINECO"),
_("FORRETRESS"),
_("DUNSPARCE"),
_("GLIGAR"),
_("STEELIX"),
_("SNUBBULL"),
_("GRANBULL"),
_("QWILFISH"),
_("SCIZOR"),
_("SHUCKLE"),
_("HERACROSS"),
_("SNEASEL"),
_("TEDDIURSA"),
_("URSARING"),
_("SLUGMA"),
_("MAGCARGO"),
_("SWINUB"),
_("PILOSWINE"),
_("CORSOLA"),
_("REMORAID"),
_("OCTILLERY"),
_("DELIBIRD"),
_("MANTINE"),
_("SKARMORY"),
_("HOUNDOUR"),
_("HOUNDOOM"),
_("KINGDRA"),
_("PHANPY"),
_("DONPHAN"),
_("PORYGON2"),
_("STANTLER"),
_("SMEARGLE"),
_("TYROGUE"),
_("HITMONTOP"),
_("SMOOCHUM"),
_("ELEKID"),
_("MAGBY"),
_("MILTANK"),
_("BLISSEY"),
_("RAIKOU"),
_("ENTEI"),
_("SUICUNE"),
_("LARVITAR"),
_("PUPITAR"),
_("TYRANITAR"),
_("LUGIA"),
_("HO-OH"),
_("CELEBI"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("?"),
_("TREECKO"),
_("GROVYLE"),
_("SCEPTILE"),
_("TORCHIC"),
_("COMBUSKEN"),
_("BLAZIKEN"),
_("MUDKIP"),
_("MARSHTOMP"),
_("SWAMPERT"),
_("POOCHYENA"),
_("MIGHTYENA"),
_("ZIGZAGOON"),
_("LINOONE"),
_("WURMPLE"),
_("SILCOON"),
_("BEAUTIFLY"),
_("CASCOON"),
_("DUSTOX"),
_("LOTAD"),
_("LOMBRE"),
_("LUDICOLO"),
_("SEEDOT"),
_("NUZLEAF"),
_("SHIFTRY"),
_("NINCADA"),
_("NINJASK"),
_("SHEDINJA"),
_("TAILLOW"),
_("SWELLOW"),
_("SHROOMISH"),
_("BRELOOM"),
_("SPINDA"),
_("WINGULL"),
_("PELIPPER"),
_("SURSKIT"),
_("MASQUERAIN"),
_("WAILMER"),
_("WAILORD"),
_("SKITTY"),
_("DELCATTY"),
_("KECLEON"),
_("BALTOY"),
_("CLAYDOL"),
_("NOSEPASS"),
_("TORKOAL"),
_("SABLEYE"),
_("BARBOACH"),
_("WHISCASH"),
_("LUVDISC"),
_("CORPHISH"),
_("CRAWDAUNT"),
_("FEEBAS"),
_("MILOTIC"),
_("CARVANHA"),
_("SHARPEDO"),
_("TRAPINCH"),
_("VIBRAVA"),
_("FLYGON"),
_("MAKUHITA"),
_("HARIYAMA"),
_("ELECTRIKE"),
_("MANECTRIC"),
_("NUMEL"),
_("CAMERUPT"),
_("SPHEAL"),
_("SEALEO"),
_("WALREIN"),
_("CACNEA"),
_("CACTURNE"),
_("SNORUNT"),
_("GLALIE"),
_("LUNATONE"),
_("SOLROCK"),
_("AZURILL"),
_("SPOINK"),
_("GRUMPIG"),
_("PLUSLE"),
_("MINUN"),
_("MAWILE"),
_("MEDITITE"),
_("MEDICHAM"),
_("SWABLU"),
_("ALTARIA"),
_("WYNAUT"),
_("DUSKULL"),
_("DUSCLOPS"),
_("ROSELIA"),
_("SLAKOTH"),
_("VIGOROTH"),
_("SLAKING"),
_("GULPIN"),
_("SWALOT"),
_("TROPIUS"),
_("WHISMUR"),
_("LOUDRED"),
_("EXPLOUD"),
_("CLAMPERL"),
_("HUNTAIL"),
_("GOREBYSS"),
_("ABSOL"),
_("SHUPPET"),
_("BANETTE"),
_("SEVIPER"),
_("ZANGOOSE"),
_("RELICANTH"),
_("ARON"),
_("LAIRON"),
_("AGGRON"),
_("CASTFORM"),
_("VOLBEAT"),
_("ILLUMISE"),
_("LILEEP"),
_("CRADILY"),
_("ANORITH"),
_("ARMALDO"),
_("RALTS"),
_("KIRLIA"),
_("GARDEVOIR"),
_("BAGON"),
_("SHELGON"),
_("SALAMENCE"),
_("BELDUM"),
_("METANG"),
_("METAGROSS"),
_("REGIROCK"),
_("REGICE"),
_("REGISTEEL"),
_("KYOGRE"),
_("GROUDON"),
_("RAYQUAZA"),
_("LATIAS"),
_("LATIOS"),
_("JIRACHI"),
_("DEOXYS"),
_("CHIMECHO")
};
+109
View File
@@ -0,0 +1,109 @@
const u8 gTrainerClassNames[][13] = {
_("{PKMN} TRAINER"),
_("{PKMN} TRAINER"),
_("AQUA LEADER"),
_("TEAM AQUA"),
_("AROMA LADY"),
_("RUIN MANIAC"),
_("INTERVIEWER"),
_("TUBER"),
_("TUBER"),
_("COOLTRAINER"),
_("HEX MANIAC"),
_("LADY"),
_("BEAUTY"),
_("RICH BOY"),
_("POKéMANIAC"),
_("SWIMMER♂"),
_("BLACK BELT"),
_("GUITARIST"),
_("KINDLER"),
_("CAMPER"),
_("BUG MANIAC"),
_("PSYCHIC"),
_("GENTLEMAN"),
_("ELITE FOUR"),
_("LEADER"),
_("SCHOOL KID"),
_("SR. AND JR."),
_("POKéFAN"),
_("EXPERT"),
_("YOUNGSTER"),
_("CHAMPION"),
_("FISHERMAN"),
_("TRIATHLETE"),
_("DRAGON TAMER"),
_("BIRD KEEPER"),
_("NINJA BOY"),
_("BATTLE GIRL"),
_("PARASOL LADY"),
_("SWIMMER♀"),
_("PICNICKER"),
_("TWINS"),
_("SAILOR"),
_("BOARDER"),
_("COLLECTOR"),
_("{PKMN} TRAINER"),
_("{PKMN} BREEDER"),
_("{PKMN} RANGER"),
_("MAGMA LEADER"),
_("TEAM MAGMA"),
_("LASS"),
_("BUG CATCHER"),
_("HIKER"),
_("YOUNG COUPLE"),
_("OLD COUPLE"),
_("SIS AND BRO"),
_("AQUA ADMIN"),
_("MAGMA ADMIN"),
_("YOUNGSTER"),
_("BUG CATCHER"),
_("LASS"),
_("SAILOR"),
_("CAMPER"),
_("PICNICKER"),
_("POKéMANIAC"),
_("SUPER NERD"),
_("HIKER"),
_("BIKER"),
_("BURGLAR"),
_("ENGINEER"),
_("FISHERMAN"),
_("SWIMMER♂"),
_("CUE BALL"),
_("GAMER"),
_("BEAUTY"),
_("SWIMMER♀"),
_("PSYCHIC"),
_("ROCKER"),
_("JUGGLER"),
_("TAMER"),
_("BIRD KEEPER"),
_("BLACK BELT"),
_("RIVAL"),
_("SCIENTIST"),
_("BOSS"),
_("LEADER"),
_("TEAM ROCKET"),
_("COOLTRAINER"),
_("ELITE FOUR"),
_("GENTLEMAN"),
_("RIVAL"),
_("CHAMPION"),
_("CHANNELER"),
_("TWINS"),
_("COOL COUPLE"),
_("YOUNG COUPLE"),
_("CRUSH KIN"),
_("SIS AND BRO"),
_("{PKMN} PROF."),
_("PLAYER"),
_("CRUSH GIRL"),
_("TUBER"),
_("{PKMN} BREEDER"),
_("{PKMN} RANGER"),
_("AROMA LADY"),
_("RUIN MANIAC"),
_("LADY"),
_("PAINTER"),
};
@@ -0,0 +1,90 @@
static const union AnimCmd sAnimCmd_Red_1[] = {
ANIMCMD_FRAME(1, 20),
ANIMCMD_FRAME(2, 6),
ANIMCMD_FRAME(3, 6),
ANIMCMD_FRAME(4, 24),
ANIMCMD_FRAME(0, 1),
ANIMCMD_END
};
static const union AnimCmd sAnimCmd_Leaf_1[] = {
ANIMCMD_FRAME(1, 20),
ANIMCMD_FRAME(2, 6),
ANIMCMD_FRAME(3, 6),
ANIMCMD_FRAME(4, 24),
ANIMCMD_FRAME(0, 1),
ANIMCMD_END
};
static const union AnimCmd sAnimCmd_PokeDude_1[] = {
ANIMCMD_FRAME(1, 24),
ANIMCMD_FRAME(2, 9),
ANIMCMD_FRAME(3, 24),
ANIMCMD_FRAME(0, 9),
ANIMCMD_END
};
static const union AnimCmd sAnimCmd_OldMan_1[] = {
ANIMCMD_FRAME(1, 24),
ANIMCMD_FRAME(2, 9),
ANIMCMD_FRAME(3, 24),
ANIMCMD_FRAME(0, 9),
ANIMCMD_END
};
static const union AnimCmd sAnimCmd_RSBrendan_1[] = {
ANIMCMD_FRAME(0, 24),
ANIMCMD_FRAME(1, 9),
ANIMCMD_FRAME(2, 24),
ANIMCMD_FRAME(0, 9),
ANIMCMD_FRAME(3, 50),
ANIMCMD_END
};
static const union AnimCmd sAnimCmd_RSMay_1[] = {
ANIMCMD_FRAME(0, 24),
ANIMCMD_FRAME(1, 9),
ANIMCMD_FRAME(2, 24),
ANIMCMD_FRAME(0, 9),
ANIMCMD_FRAME(3, 50),
ANIMCMD_END
};
const union AnimCmd *const sBackAnims_Red[] = {
sAnim_GeneralFrame0,
sAnimCmd_Red_1
};
const union AnimCmd *const sBackAnims_Leaf[] = {
sAnim_GeneralFrame0,
sAnimCmd_Leaf_1
};
const union AnimCmd *const sBackAnims_PokeDude[] = {
sAnim_GeneralFrame0,
sAnimCmd_PokeDude_1
};
const union AnimCmd *const sBackAnims_OldMan[] = {
sAnim_GeneralFrame0,
sAnimCmd_OldMan_1
};
const union AnimCmd *const sBackAnims_RSBrendan[] = {
sAnim_GeneralFrame3,
sAnimCmd_RSBrendan_1
};
const union AnimCmd *const sBackAnims_RSMay[] = {
sAnim_GeneralFrame3,
sAnimCmd_RSMay_1
};
const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = {
sBackAnims_Red,
sBackAnims_Leaf,
sBackAnims_RSBrendan,
sBackAnims_RSMay,
sBackAnims_PokeDude,
sBackAnims_OldMan
};
@@ -0,0 +1,26 @@
const struct MonCoords gTrainerBackPicCoords[] = {
{.size = 8, .y_offset = 5},
{.size = 8, .y_offset = 5},
{.size = 8, .y_offset = 4},
{.size = 8, .y_offset = 4},
{.size = 8, .y_offset = 4},
{.size = 8, .y_offset = 4}
};
const struct CompressedSpriteSheet gTrainerBackPicTable[] = {
{ (const u32 *)gTrainerBackPic_Red, 0x2800, 0 },
{ (const u32 *)gTrainerBackPic_Leaf, 0x2800, 1 },
{ (const u32 *)gTrainerBackPic_RSBrendan, 0x2000, 2 },
{ (const u32 *)gTrainerBackPic_RSMay, 0x2000, 3 },
{ (const u32 *)gTrainerBackPic_PokeDude, 0x2000, 4 },
{ (const u32 *)gTrainerBackPic_OldMan, 0x2000, 5 }
};
const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = {
{ gTrainerPalette_RedBackPic, 0 },
{ gTrainerPalette_LeafBackPic, 1 },
{ gTrainerPalette_RSBrendan1, 2 },
{ gTrainerPalette_RSMay1, 3 },
{ gTrainerPalette_PokeDudeBackPic, 4 },
{ gTrainerPalette_OldManBackPic, 5 }
};
+891
View File
@@ -0,0 +1,891 @@
static const union AnimCmd *const sAnims_8238E8C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238E90[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238E94[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238E98[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238E9C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EA0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EA4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EA8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EAC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EB0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EB4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EB8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EBC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EC0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EC4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EC8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238ECC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238ED0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238ED4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238ED8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EDC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EE0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EE4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EE8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EEC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EF0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EF4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EF8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238EFC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F00[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F04[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F08[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F0C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F10[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F14[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F18[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F1C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F20[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F24[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F28[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F2C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F30[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F34[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F38[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F3C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F40[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F44[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F48[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F4C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F50[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F54[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F58[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F5C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F60[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F64[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F68[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F6C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F70[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F74[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F78[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F7C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F80[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F84[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F88[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F8C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F90[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F94[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F98[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238F9C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FA0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FA4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FA8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FAC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FB0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FB4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FB8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FBC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FC0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FC4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FC8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FCC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FD0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FD4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FD8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FDC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FE0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FE4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FE8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FEC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FF0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FF4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FF8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8238FFC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239000[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239004[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239008[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823900C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239010[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239014[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239018[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823901C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239020[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239024[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239028[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823902C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239030[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239034[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239038[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823903C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239040[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239044[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239048[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823904C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239050[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239054[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239058[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823905C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239060[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239064[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239068[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823906C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239070[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239074[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239078[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823907C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239080[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239084[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239088[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823908C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239090[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239094[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_8239098[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_823909C[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390A0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390A4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390A8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390AC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390B0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390B4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390B8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390BC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390C0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390C4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390C8[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390CC[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390D0[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390D4[] =
{
sAnim_GeneralFrame0,
};
static const union AnimCmd *const sAnims_82390D8[] =
{
sAnim_GeneralFrame0,
};
const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] =
{
sAnims_8238E8C,
sAnims_8238E90,
sAnims_8238E94,
sAnims_8238E98,
sAnims_8238E9C,
sAnims_8238EA0,
sAnims_8238EA4,
sAnims_8238EA8,
sAnims_8238EAC,
sAnims_8238EB0,
sAnims_8238EB4,
sAnims_8238EB8,
sAnims_8238EBC,
sAnims_8238EC0,
sAnims_8238EC4,
sAnims_8238EC8,
sAnims_8238ECC,
sAnims_8238ED0,
sAnims_8238ED4,
sAnims_8238ED8,
sAnims_8238EDC,
sAnims_8238EE0,
sAnims_8238EE4,
sAnims_8238EE8,
sAnims_8238EEC,
sAnims_8238EF0,
sAnims_8238EF4,
sAnims_8238EF8,
sAnims_8238EFC,
sAnims_8238F00,
sAnims_8238F04,
sAnims_8238F08,
sAnims_8238F0C,
sAnims_8238F10,
sAnims_8238F14,
sAnims_8238F18,
sAnims_8238F1C,
sAnims_8238F20,
sAnims_8238F24,
sAnims_8238F28,
sAnims_8238F2C,
sAnims_8238F30,
sAnims_8238F34,
sAnims_8238F38,
sAnims_8238F3C,
sAnims_8238F40,
sAnims_8238F44,
sAnims_8238F48,
sAnims_8238F4C,
sAnims_8238F50,
sAnims_8238F54,
sAnims_8238F58,
sAnims_8238F5C,
sAnims_8238F60,
sAnims_8238F64,
sAnims_8238F68,
sAnims_8238F6C,
sAnims_8238F70,
sAnims_8238F74,
sAnims_8238F78,
sAnims_8238F7C,
sAnims_8238F80,
sAnims_8238F84,
sAnims_8238F88,
sAnims_8238F8C,
sAnims_8238F90,
sAnims_8238F94,
sAnims_8238F98,
sAnims_8238F9C,
sAnims_8238FA0,
sAnims_8238FA4,
sAnims_8238FA8,
sAnims_8238FAC,
sAnims_8238FB0,
sAnims_8238FB4,
sAnims_8238FB8,
sAnims_8238FBC,
sAnims_8238FC0,
sAnims_8238FC4,
sAnims_8238FC8,
sAnims_8238FCC,
sAnims_8238FD0,
sAnims_8238FD4,
sAnims_8238FD8,
sAnims_8238FDC,
sAnims_8238FE0,
sAnims_8238FE4,
sAnims_8238FE8,
sAnims_8238FEC,
sAnims_8238FF0,
sAnims_8238FF4,
sAnims_8238FF8,
sAnims_8238FFC,
sAnims_8239000,
sAnims_8239004,
sAnims_8239008,
sAnims_823900C,
sAnims_8239010,
sAnims_8239014,
sAnims_8239018,
sAnims_823901C,
sAnims_8239020,
sAnims_8239024,
sAnims_8239028,
sAnims_823902C,
sAnims_8239030,
sAnims_8239034,
sAnims_8239038,
sAnims_823903C,
sAnims_8239040,
sAnims_8239044,
sAnims_8239048,
sAnims_823904C,
sAnims_8239050,
sAnims_8239054,
sAnims_8239058,
sAnims_823905C,
sAnims_8239060,
sAnims_8239064,
sAnims_8239068,
sAnims_823906C,
sAnims_8239070,
sAnims_8239074,
sAnims_8239078,
sAnims_823907C,
sAnims_8239080,
sAnims_8239084,
sAnims_8239088,
sAnims_823908C,
sAnims_8239090,
sAnims_8239094,
sAnims_8239098,
sAnims_823909C,
sAnims_82390A0,
sAnims_82390A4,
sAnims_82390A8,
sAnims_82390AC,
sAnims_82390B0,
sAnims_82390B4,
sAnims_82390B8,
sAnims_82390BC,
sAnims_82390C0,
sAnims_82390C4,
sAnims_82390C8,
sAnims_82390CC,
sAnims_82390D0,
sAnims_82390D4,
sAnims_82390D8,
};
@@ -0,0 +1,455 @@
const struct MonCoords gTrainerFrontPicCoords[] =
{
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 2},
{.size = 8, .y_offset = 2},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 2},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 2},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
{.size = 8, .y_offset = 1},
};
const struct CompressedSpriteSheet gTrainerFrontPicTable[] =
{
TRAINER_SPRITE(AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, 0x800),
TRAINER_SPRITE(AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, 0x800),
TRAINER_SPRITE(AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, 0x800),
TRAINER_SPRITE(RS_AROMA_LADY, gTrainerFrontPic_RSAromaLady, 0x800),
TRAINER_SPRITE(RS_RUIN_MANIAC, gTrainerFrontPic_RSRuinManiac, 0x800),
TRAINER_SPRITE(INTERVIEWER, gTrainerFrontPic_Interviewer, 0x800),
TRAINER_SPRITE(RS_TUBER_F, gTrainerFrontPic_RSTuberF, 0x800),
TRAINER_SPRITE(TUBER_M, gTrainerFrontPic_TuberM, 0x800),
TRAINER_SPRITE(RS_COOLTRAINER_M, gTrainerFrontPic_RSCooltrainerM, 0x800),
TRAINER_SPRITE(RS_COOLTRAINER_F, gTrainerFrontPic_RSCooltrainerF, 0x800),
TRAINER_SPRITE(HEX_MANIAC, gTrainerFrontPic_HexManiac, 0x800),
TRAINER_SPRITE(RS_LADY, gTrainerFrontPic_RSLady, 0x800),
TRAINER_SPRITE(RS_BEAUTY, gTrainerFrontPic_RSBeauty, 0x800),
TRAINER_SPRITE(RICH_BOY, gTrainerFrontPic_RichBoy, 0x800),
TRAINER_SPRITE(RS_POKEMANIAC, gTrainerFrontPic_RSPokeManiac, 0x800),
TRAINER_SPRITE(RS_SWIMMER_M, gTrainerFrontPic_RSSwimmerM, 0x800),
TRAINER_SPRITE(RS_BLACK_BELT, gTrainerFrontPic_RSBlackBelt, 0x800),
TRAINER_SPRITE(GUITARIST, gTrainerFrontPic_Guitarist, 0x800),
TRAINER_SPRITE(KINDLER, gTrainerFrontPic_Kindler, 0x800),
TRAINER_SPRITE(RS_CAMPER, gTrainerFrontPic_RSCamper, 0x800),
TRAINER_SPRITE(BUG_MANIAC, gTrainerFrontPic_BugManiac, 0x800),
TRAINER_SPRITE(RS_PSYCHIC_M, gTrainerFrontPic_RSPsychicM, 0x800),
TRAINER_SPRITE(RS_PSYCHIC_F, gTrainerFrontPic_RSPsychicF, 0x800),
TRAINER_SPRITE(RS_GENTLEMAN, gTrainerFrontPic_RSGentleman, 0x800),
TRAINER_SPRITE(ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, 0x800),
TRAINER_SPRITE(ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, 0x800),
TRAINER_SPRITE(LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, 0x800),
TRAINER_SPRITE(LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, 0x800),
TRAINER_SPRITE(LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, 0x800),
TRAINER_SPRITE(SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, 0x800),
TRAINER_SPRITE(SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, 0x800),
TRAINER_SPRITE(SR_AND_JR, gTrainerFrontPic_SrAndJr, 0x1000),
TRAINER_SPRITE(POKEFAN_M, gTrainerFrontPic_PokefanM, 0x1000),
TRAINER_SPRITE(POKEFAN_F, gTrainerFrontPic_PokefanF, 0x800),
TRAINER_SPRITE(EXPERT_M, gTrainerFrontPic_ExpertM, 0x800),
TRAINER_SPRITE(EXPERT_F, gTrainerFrontPic_ExpertF, 0x800),
TRAINER_SPRITE(RS_YOUNGSTER, gTrainerFrontPic_RSYoungster, 0x800),
TRAINER_SPRITE(CHAMPION_STEVEN, gTrainerFrontPic_ChampionSteven, 0x800),
TRAINER_SPRITE(RS_FISHERMAN, gTrainerFrontPic_RSFisherman, 0x800),
TRAINER_SPRITE(CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, 0x1000),
TRAINER_SPRITE(CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, 0x800),
TRAINER_SPRITE(RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, 0x800),
TRAINER_SPRITE(RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, 0x800),
TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, 0x800),
TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, 0x800),
TRAINER_SPRITE(DRAGON_TAMER, gTrainerFrontPic_DragonTamer, 0x800),
TRAINER_SPRITE(RS_BIRD_KEEPER, gTrainerFrontPic_RSBirdKeeper, 0x800),
TRAINER_SPRITE(NINJA_BOY, gTrainerFrontPic_NinjaBoy, 0x800),
TRAINER_SPRITE(BATTLE_GIRL, gTrainerFrontPic_BattleGirl, 0x1000),
TRAINER_SPRITE(PARASOL_LADY, gTrainerFrontPic_ParasolLady, 0x800),
TRAINER_SPRITE(RS_SWIMMER_F, gTrainerFrontPic_RSSwimmerF, 0x800),
TRAINER_SPRITE(RS_PICNICKER, gTrainerFrontPic_RSPicnicker, 0x800),
TRAINER_SPRITE(RS_TWINS, gTrainerFrontPic_RSTwins, 0x800),
TRAINER_SPRITE(RS_SAILOR, gTrainerFrontPic_RSSailor, 0x800),
TRAINER_SPRITE(COLLECTOR, gTrainerFrontPic_Collector, 0x800),
TRAINER_SPRITE(WALLY, gTrainerFrontPic_Wally, 0x800),
TRAINER_SPRITE(RS_BRENDAN_1, gTrainerFrontPic_RSBrendan1, 0x800),
TRAINER_SPRITE(RS_MAY_1, gTrainerFrontPic_RSMay1, 0x800),
TRAINER_SPRITE(POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, 0x800),
TRAINER_SPRITE(RS_POKEMON_BREEDER_F, gTrainerFrontPic_RSPokemonBreederF, 0x800),
TRAINER_SPRITE(RS_POKEMON_RANGER_M, gTrainerFrontPic_RSPokemonRangerM, 0x800),
TRAINER_SPRITE(RS_POKEMON_RANGER_F, gTrainerFrontPic_RSPokemonRangerF, 0x800),
TRAINER_SPRITE(MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, 0x800),
TRAINER_SPRITE(MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, 0x800),
TRAINER_SPRITE(MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, 0x800),
TRAINER_SPRITE(RS_LASS, gTrainerFrontPic_RSLass, 0x800),
TRAINER_SPRITE(RS_BUG_CATCHER, gTrainerFrontPic_RSBugCatcher, 0x800),
TRAINER_SPRITE(RS_HIKER, gTrainerFrontPic_RSHiker, 0x800),
TRAINER_SPRITE(RS_YOUNG_COUPLE, gTrainerFrontPic_RSYoungCouple, 0x800),
TRAINER_SPRITE(OLD_COUPLE, gTrainerFrontPic_OldCouple, 0x800),
TRAINER_SPRITE(RS_SIS_AND_BRO, gTrainerFrontPic_RSSisAndBro, 0x800),
TRAINER_SPRITE(AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, 0x800),
TRAINER_SPRITE(AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, 0x800),
TRAINER_SPRITE(MAGMA_ADMIN_M, gTrainerFrontPic_MagmaAdminM, 0x800),
TRAINER_SPRITE(MAGMA_ADMIN_F, gTrainerFrontPic_MagmaAdminF, 0x800),
TRAINER_SPRITE(LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, 0x800),
TRAINER_SPRITE(LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, 0x800),
TRAINER_SPRITE(LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, 0x800),
TRAINER_SPRITE(LEADER_WINONA, gTrainerFrontPic_LeaderWinona, 0x800),
TRAINER_SPRITE(LEADER_WALLACE, gTrainerFrontPic_LeaderWallace, 0x800),
TRAINER_SPRITE(ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, 0x800),
TRAINER_SPRITE(ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, 0x800),
TRAINER_SPRITE(YOUNGSTER, gTrainerFrontPic_Youngster, 0x800),
TRAINER_SPRITE(BUG_CATCHER, gTrainerFrontPic_BugCatcher, 0x800),
TRAINER_SPRITE(LASS, gTrainerFrontPic_Lass, 0x800),
TRAINER_SPRITE(SAILOR, gTrainerFrontPic_Sailor, 0x800),
TRAINER_SPRITE(CAMPER, gTrainerFrontPic_Camper, 0x800),
TRAINER_SPRITE(PICNICKER, gTrainerFrontPic_Picnicker, 0x800),
TRAINER_SPRITE(POKEMANIAC, gTrainerFrontPic_PokeManiac, 0x800),
TRAINER_SPRITE(SUPER_NERD, gTrainerFrontPic_SuperNerd, 0x800),
TRAINER_SPRITE(HIKER, gTrainerFrontPic_Hiker, 0x800),
TRAINER_SPRITE(BIKER, gTrainerFrontPic_Biker, 0x800),
TRAINER_SPRITE(BURGLAR, gTrainerFrontPic_Burglar, 0x800),
TRAINER_SPRITE(ENGINEER, gTrainerFrontPic_Engineer, 0x800),
TRAINER_SPRITE(FISHERMAN, gTrainerFrontPic_Fisherman, 0x800),
TRAINER_SPRITE(SWIMMER_M, gTrainerFrontPic_SwimmerM, 0x800),
TRAINER_SPRITE(CUE_BALL, gTrainerFrontPic_CueBall, 0x800),
TRAINER_SPRITE(GAMER, gTrainerFrontPic_Gamer, 0x800),
TRAINER_SPRITE(BEAUTY, gTrainerFrontPic_Beauty, 0x800),
TRAINER_SPRITE(SWIMMER_F, gTrainerFrontPic_SwimmerF, 0x800),
TRAINER_SPRITE(PSYCHIC_M, gTrainerFrontPic_PsychicM, 0x800),
TRAINER_SPRITE(ROCKER, gTrainerFrontPic_Rocker, 0x800),
TRAINER_SPRITE(JUGGLER, gTrainerFrontPic_Juggler, 0x800),
TRAINER_SPRITE(TAMER, gTrainerFrontPic_Tamer, 0x800),
TRAINER_SPRITE(BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, 0x800),
TRAINER_SPRITE(BLACK_BELT, gTrainerFrontPic_BlackBelt, 0x800),
TRAINER_SPRITE(RIVAL_1, gTrainerFrontPic_Rival1, 0x800),
TRAINER_SPRITE(SCIENTIST, gTrainerFrontPic_Scientist, 0x800),
TRAINER_SPRITE(LEADER_GIOVANNI, gTrainerFrontPic_LeaderGiovanni, 0x800),
TRAINER_SPRITE(ROCKET_GRUNT_M, gTrainerFrontPic_RocketGruntM, 0x800),
TRAINER_SPRITE(COOLTRAINER_M, gTrainerFrontPic_CooltrainerM, 0x800),
TRAINER_SPRITE(COOLTRAINER_F, gTrainerFrontPic_CooltrainerF, 0x800),
TRAINER_SPRITE(ELITE_FOUR_LORELEI, gTrainerFrontPic_EliteFourLorelei, 0x800),
TRAINER_SPRITE(ELITE_FOUR_BRUNO, gTrainerFrontPic_EliteFourBruno, 0x800),
TRAINER_SPRITE(ELITE_FOUR_AGATHA, gTrainerFrontPic_EliteFourAgatha, 0x800),
TRAINER_SPRITE(ELITE_FOUR_LANCE, gTrainerFrontPic_EliteFourLance, 0x800),
TRAINER_SPRITE(LEADER_BROCK, gTrainerFrontPic_LeaderBrock, 0x800),
TRAINER_SPRITE(LEADER_MISTY, gTrainerFrontPic_LeaderMisty, 0x800),
TRAINER_SPRITE(LEADER_LT_SURGE, gTrainerFrontPic_LeaderLtSurge, 0x800),
TRAINER_SPRITE(LEADER_ERIKA, gTrainerFrontPic_LeaderErika, 0x800),
TRAINER_SPRITE(LEADER_KOGA, gTrainerFrontPic_LeaderKoga, 0x800),
TRAINER_SPRITE(LEADER_BLAINE, gTrainerFrontPic_LeaderBlaine, 0x800),
TRAINER_SPRITE(LEADER_SABRINA, gTrainerFrontPic_LeaderSabrina, 0x800),
TRAINER_SPRITE(GENTLEMAN, gTrainerFrontPic_Gentleman, 0x800),
TRAINER_SPRITE(RIVAL_2, gTrainerFrontPic_Rival2, 0x800),
TRAINER_SPRITE(CHAMPION_RIVAL, gTrainerFrontPic_ChampionRival, 0x800),
TRAINER_SPRITE(CHANNELER, gTrainerFrontPic_Channeler, 0x800),
TRAINER_SPRITE(TWINS, gTrainerFrontPic_Twins, 0x800),
TRAINER_SPRITE(COOL_COUPLE, gTrainerFrontPic_CoolCouple, 0x800),
TRAINER_SPRITE(YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, 0x800),
TRAINER_SPRITE(CRUSH_KIN, gTrainerFrontPic_CrushKin, 0x800),
TRAINER_SPRITE(SIS_AND_BRO, gTrainerFrontPic_SisAndBro, 0x800),
TRAINER_SPRITE(PROFESSOR_OAK, gTrainerFrontPic_ProfessorOak, 0x800),
TRAINER_SPRITE(RS_BRENDAN_2, gTrainerFrontPic_RSBrendan2, 0x800),
TRAINER_SPRITE(RS_MAY_2, gTrainerFrontPic_RSMay2, 0x800),
TRAINER_SPRITE(RED, gTrainerFrontPic_Red, 0x800),
TRAINER_SPRITE(LEAF, gTrainerFrontPic_Leaf, 0x800),
TRAINER_SPRITE(ROCKET_GRUNT_F, gTrainerFrontPic_RocketGruntF, 0x800),
TRAINER_SPRITE(PSYCHIC_F, gTrainerFrontPic_PsychicF, 0x800),
TRAINER_SPRITE(CRUSH_GIRL, gTrainerFrontPic_CrushGirl, 0x800),
TRAINER_SPRITE(TUBER_F, gTrainerFrontPic_TuberF, 0x800),
TRAINER_SPRITE(POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, 0x800),
TRAINER_SPRITE(POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, 0x800),
TRAINER_SPRITE(POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, 0x800),
TRAINER_SPRITE(AROMA_LADY, gTrainerFrontPic_AromaLady, 0x800),
TRAINER_SPRITE(RUIN_MANIAC, gTrainerFrontPic_RuinManiac, 0x800),
TRAINER_SPRITE(LADY, gTrainerFrontPic_Lady, 0x800),
TRAINER_SPRITE(PAINTER, gTrainerFrontPic_Painter, 0x800),
};
const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] =
{
TRAINER_PAL(AQUA_LEADER_ARCHIE, gTrainerPalette_AquaLeaderArchie),
TRAINER_PAL(AQUA_GRUNT_M, gTrainerPalette_AquaGruntM),
TRAINER_PAL(AQUA_GRUNT_F, gTrainerPalette_AquaGruntF),
TRAINER_PAL(RS_AROMA_LADY, gTrainerPalette_RSAromaLady),
TRAINER_PAL(RS_RUIN_MANIAC, gTrainerPalette_RSRuinManiac),
TRAINER_PAL(INTERVIEWER, gTrainerPalette_Interviewer),
TRAINER_PAL(RS_TUBER_F, gTrainerPalette_RSTuberF),
TRAINER_PAL(TUBER_M, gTrainerPalette_TuberM),
TRAINER_PAL(RS_COOLTRAINER_M, gTrainerPalette_RSCooltrainerM),
TRAINER_PAL(RS_COOLTRAINER_F, gTrainerPalette_RSCooltrainerF),
TRAINER_PAL(HEX_MANIAC, gTrainerPalette_HexManiac),
TRAINER_PAL(RS_LADY, gTrainerPalette_RSLady),
TRAINER_PAL(RS_BEAUTY, gTrainerPalette_RSBeauty),
TRAINER_PAL(RICH_BOY, gTrainerPalette_RichBoy),
TRAINER_PAL(RS_POKEMANIAC, gTrainerPalette_RSPokeManiac),
TRAINER_PAL(RS_SWIMMER_M, gTrainerPalette_RSSwimmerM),
TRAINER_PAL(RS_BLACK_BELT, gTrainerPalette_RSBlackBelt),
TRAINER_PAL(GUITARIST, gTrainerPalette_Guitarist),
TRAINER_PAL(KINDLER, gTrainerPalette_Kindler),
TRAINER_PAL(RS_CAMPER, gTrainerPalette_RSCamper),
TRAINER_PAL(BUG_MANIAC, gTrainerPalette_BugManiac),
TRAINER_PAL(RS_PSYCHIC_M, gTrainerPalette_RSPsychicM),
TRAINER_PAL(RS_PSYCHIC_F, gTrainerPalette_RSPsychicF),
TRAINER_PAL(RS_GENTLEMAN, gTrainerPalette_RSGentleman),
TRAINER_PAL(ELITE_FOUR_SIDNEY, gTrainerPalette_EliteFourSidney),
TRAINER_PAL(ELITE_FOUR_PHOEBE, gTrainerPalette_EliteFourPhoebe),
TRAINER_PAL(LEADER_ROXANNE, gTrainerPalette_LeaderRoxanne),
TRAINER_PAL(LEADER_BRAWLY, gTrainerPalette_LeaderBrawly),
TRAINER_PAL(LEADER_TATE_AND_LIZA, gTrainerPalette_LeaderTateAndLiza),
TRAINER_PAL(SCHOOL_KID_M, gTrainerPalette_SchoolKidM),
TRAINER_PAL(SCHOOL_KID_F, gTrainerPalette_SchoolKidF),
TRAINER_PAL(SR_AND_JR, gTrainerPalette_SrAndJr),
TRAINER_PAL(POKEFAN_M, gTrainerPalette_PokefanM),
TRAINER_PAL(POKEFAN_F, gTrainerPalette_PokefanF),
TRAINER_PAL(EXPERT_M, gTrainerPalette_ExpertM),
TRAINER_PAL(EXPERT_F, gTrainerPalette_ExpertF),
TRAINER_PAL(RS_YOUNGSTER, gTrainerPalette_RSYoungster),
TRAINER_PAL(CHAMPION_STEVEN, gTrainerPalette_ChampionSteven),
TRAINER_PAL(RS_FISHERMAN, gTrainerPalette_RSFisherman),
TRAINER_PAL(CYCLING_TRIATHLETE_M, gTrainerPalette_CyclingTriathleteM),
TRAINER_PAL(CYCLING_TRIATHLETE_F, gTrainerPalette_CyclingTriathleteF),
TRAINER_PAL(RUNNING_TRIATHLETE_M, gTrainerPalette_RunningTriathleteM),
TRAINER_PAL(RUNNING_TRIATHLETE_F, gTrainerPalette_RunningTriathleteF),
TRAINER_PAL(SWIMMING_TRIATHLETE_M, gTrainerPalette_SwimmingTriathleteM),
TRAINER_PAL(SWIMMING_TRIATHLETE_F, gTrainerPalette_SwimmingTriathleteF),
TRAINER_PAL(DRAGON_TAMER, gTrainerPalette_DragonTamer),
TRAINER_PAL(RS_BIRD_KEEPER, gTrainerPalette_RSBirdKeeper),
TRAINER_PAL(NINJA_BOY, gTrainerPalette_NinjaBoy),
TRAINER_PAL(BATTLE_GIRL, gTrainerPalette_BattleGirl),
TRAINER_PAL(PARASOL_LADY, gTrainerPalette_ParasolLady),
TRAINER_PAL(RS_SWIMMER_F, gTrainerPalette_RSSwimmerF),
TRAINER_PAL(RS_PICNICKER, gTrainerPalette_RSPicnicker),
TRAINER_PAL(RS_TWINS, gTrainerPalette_RSTwins),
TRAINER_PAL(RS_SAILOR, gTrainerPalette_RSSailor),
TRAINER_PAL(COLLECTOR, gTrainerPalette_Collector),
TRAINER_PAL(WALLY, gTrainerPalette_Wally),
TRAINER_PAL(RS_BRENDAN_1, gTrainerPalette_RSBrendan1),
TRAINER_PAL(RS_MAY_1, gTrainerPalette_RSMay1),
TRAINER_PAL(POKEMON_BREEDER_M, gTrainerPalette_PokemonBreederM),
TRAINER_PAL(RS_POKEMON_BREEDER_F, gTrainerPalette_RSPokemonBreederF),
TRAINER_PAL(RS_POKEMON_RANGER_M, gTrainerPalette_RSPokemonRangerM),
TRAINER_PAL(RS_POKEMON_RANGER_F, gTrainerPalette_RSPokemonRangerF),
TRAINER_PAL(MAGMA_LEADER_MAXIE, gTrainerPalette_MagmaLeaderMaxie),
TRAINER_PAL(MAGMA_GRUNT_M, gTrainerPalette_MagmaGruntM),
TRAINER_PAL(MAGMA_GRUNT_F, gTrainerPalette_MagmaGruntF),
TRAINER_PAL(RS_LASS, gTrainerPalette_RSLass),
TRAINER_PAL(RS_BUG_CATCHER, gTrainerPalette_RSBugCatcher),
TRAINER_PAL(RS_HIKER, gTrainerPalette_RSHiker),
TRAINER_PAL(RS_YOUNG_COUPLE, gTrainerPalette_RSYoungCouple),
TRAINER_PAL(OLD_COUPLE, gTrainerPalette_OldCouple),
TRAINER_PAL(RS_SIS_AND_BRO, gTrainerPalette_RSSisAndBro),
TRAINER_PAL(AQUA_ADMIN_M, gTrainerPalette_AquaAdminM),
TRAINER_PAL(AQUA_ADMIN_F, gTrainerPalette_AquaAdminF),
TRAINER_PAL(MAGMA_ADMIN_M, gTrainerPalette_MagmaAdminM),
TRAINER_PAL(MAGMA_ADMIN_F, gTrainerPalette_MagmaAdminF),
TRAINER_PAL(LEADER_WATTSON, gTrainerPalette_LeaderWattson),
TRAINER_PAL(LEADER_FLANNERY, gTrainerPalette_LeaderFlannery),
TRAINER_PAL(LEADER_NORMAN, gTrainerPalette_LeaderNorman),
TRAINER_PAL(LEADER_WINONA, gTrainerPalette_LeaderWinona),
TRAINER_PAL(LEADER_WALLACE, gTrainerPalette_LeaderWallace),
TRAINER_PAL(ELITE_FOUR_GLACIA, gTrainerPalette_EliteFourGlacia),
TRAINER_PAL(ELITE_FOUR_DRAKE, gTrainerPalette_EliteFourDrake),
TRAINER_PAL(YOUNGSTER, gTrainerPalette_Youngster),
TRAINER_PAL(BUG_CATCHER, gTrainerPalette_BugCatcher),
TRAINER_PAL(LASS, gTrainerPalette_Lass),
TRAINER_PAL(SAILOR, gTrainerPalette_Sailor),
TRAINER_PAL(CAMPER, gTrainerPalette_Camper),
TRAINER_PAL(PICNICKER, gTrainerPalette_Picnicker),
TRAINER_PAL(POKEMANIAC, gTrainerPalette_PokeManiac),
TRAINER_PAL(SUPER_NERD, gTrainerPalette_SuperNerd),
TRAINER_PAL(HIKER, gTrainerPalette_Hiker),
TRAINER_PAL(BIKER, gTrainerPalette_Biker),
TRAINER_PAL(BURGLAR, gTrainerPalette_Burglar),
TRAINER_PAL(ENGINEER, gTrainerPalette_Engineer),
TRAINER_PAL(FISHERMAN, gTrainerPalette_Fisherman),
TRAINER_PAL(SWIMMER_M, gTrainerPalette_SwimmerM),
TRAINER_PAL(CUE_BALL, gTrainerPalette_CueBall),
TRAINER_PAL(GAMER, gTrainerPalette_Gamer),
TRAINER_PAL(BEAUTY, gTrainerPalette_Beauty),
TRAINER_PAL(SWIMMER_F, gTrainerPalette_SwimmerF),
TRAINER_PAL(PSYCHIC_M, gTrainerPalette_PsychicM),
TRAINER_PAL(ROCKER, gTrainerPalette_Rocker),
TRAINER_PAL(JUGGLER, gTrainerPalette_Juggler),
TRAINER_PAL(TAMER, gTrainerPalette_Tamer),
TRAINER_PAL(BIRD_KEEPER, gTrainerPalette_BirdKeeper),
TRAINER_PAL(BLACK_BELT, gTrainerPalette_BlackBelt),
TRAINER_PAL(RIVAL_1, gTrainerPalette_Rival1),
TRAINER_PAL(SCIENTIST, gTrainerPalette_Scientist),
TRAINER_PAL(LEADER_GIOVANNI, gTrainerPalette_LeaderGiovanni),
TRAINER_PAL(ROCKET_GRUNT_M, gTrainerPalette_RocketGruntM),
TRAINER_PAL(COOLTRAINER_M, gTrainerPalette_CooltrainerM),
TRAINER_PAL(COOLTRAINER_F, gTrainerPalette_CooltrainerF),
TRAINER_PAL(ELITE_FOUR_LORELEI, gTrainerPalette_EliteFourLorelei),
TRAINER_PAL(ELITE_FOUR_BRUNO, gTrainerPalette_EliteFourBruno),
TRAINER_PAL(ELITE_FOUR_AGATHA, gTrainerPalette_EliteFourAgatha),
TRAINER_PAL(ELITE_FOUR_LANCE, gTrainerPalette_EliteFourLance),
TRAINER_PAL(LEADER_BROCK, gTrainerPalette_LeaderBrock),
TRAINER_PAL(LEADER_MISTY, gTrainerPalette_LeaderMisty),
TRAINER_PAL(LEADER_LT_SURGE, gTrainerPalette_LeaderLtSurge),
TRAINER_PAL(LEADER_ERIKA, gTrainerPalette_LeaderErika),
TRAINER_PAL(LEADER_KOGA, gTrainerPalette_LeaderKoga),
TRAINER_PAL(LEADER_BLAINE, gTrainerPalette_LeaderBlaine),
TRAINER_PAL(LEADER_SABRINA, gTrainerPalette_LeaderSabrina),
TRAINER_PAL(GENTLEMAN, gTrainerPalette_Gentleman),
TRAINER_PAL(RIVAL_2, gTrainerPalette_Rival2),
TRAINER_PAL(CHAMPION_RIVAL, gTrainerPalette_ChampionRival),
TRAINER_PAL(CHANNELER, gTrainerPalette_Channeler),
TRAINER_PAL(TWINS, gTrainerPalette_Twins),
TRAINER_PAL(COOL_COUPLE, gTrainerPalette_CoolCouple),
TRAINER_PAL(YOUNG_COUPLE, gTrainerPalette_YoungCouple),
TRAINER_PAL(CRUSH_KIN, gTrainerPalette_CrushKin),
TRAINER_PAL(SIS_AND_BRO, gTrainerPalette_SisAndBro),
TRAINER_PAL(PROFESSOR_OAK, gTrainerPalette_ProfessorOak),
TRAINER_PAL(RS_BRENDAN_2, gTrainerPalette_RSBrendan2),
TRAINER_PAL(RS_MAY_2, gTrainerPalette_RSMay2),
TRAINER_PAL(RED, gTrainerPalette_Red),
TRAINER_PAL(LEAF, gTrainerPalette_Leaf),
TRAINER_PAL(ROCKET_GRUNT_F, gTrainerPalette_RocketGruntF),
TRAINER_PAL(PSYCHIC_F, gTrainerPalette_PsychicF),
TRAINER_PAL(CRUSH_GIRL, gTrainerPalette_CrushGirl),
TRAINER_PAL(TUBER_F, gTrainerPalette_TuberF),
TRAINER_PAL(POKEMON_BREEDER_F, gTrainerPalette_PokemonBreederF),
TRAINER_PAL(POKEMON_RANGER_M, gTrainerPalette_PokemonRangerM),
TRAINER_PAL(POKEMON_RANGER_F, gTrainerPalette_PokemonRangerF),
TRAINER_PAL(AROMA_LADY, gTrainerPalette_AromaLady),
TRAINER_PAL(RUIN_MANIAC, gTrainerPalette_RuinManiac),
TRAINER_PAL(LADY, gTrainerPalette_Lady),
TRAINER_PAL(PAINTER, gTrainerPalette_Painter),
};
File diff suppressed because it is too large Load Diff
+8918
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -76,7 +76,7 @@ extern const u8 gDaycareText_DontLikeOther[];
extern const u8 gDaycareText_PlayOther[];
extern const u8 gExpandedPlaceholder_Empty[];
extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
extern const u32 gUnknown_826601C[]; // tilemap gameboy circle
extern const u8 gText_HatchedFromEgg[];
extern const u8 gText_NickHatchPrompt[];
@@ -1739,7 +1739,7 @@ static bool8 sub_8046E34(struct DayCare *daycare, u8 daycareId)
return FALSE;
}
bool8 sub_8046EAC(void)
bool8 DaycareMonReceivedMail(void)
{
return sub_8046E34(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004);
}
@@ -1880,7 +1880,7 @@ static void CB2_EggHatch_0(void)
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
LoadPalette(gTradeGba2_Pal, 0x10, 0xA0);
LoadBgTiles(1, gTradeGba_Gfx, 0x1420, 0);
CopyToBgTilemapBuffer(1, gUnknown_08331F60, 0x1000, 0);
CopyToBgTilemapBuffer(1, gUnknown_826601C, 0x1000, 0);
CopyBgTilemapBufferToVram(1);
gMain.state++;
break;
+325
View File
@@ -0,0 +1,325 @@
#include "global.h"
#include "event_data.h"
#include "item_menu.h"
#include "quest_log.h"
static bool8 IsFlagOrVarStoredInQuestLog(u16 idx, u8 a1);
EWRAM_DATA u16 gSpecialVar_0x8000 = 0;
EWRAM_DATA u16 gSpecialVar_0x8001 = 0;
EWRAM_DATA u16 gSpecialVar_0x8002 = 0;
EWRAM_DATA u16 gSpecialVar_0x8003 = 0;
EWRAM_DATA u16 gSpecialVar_0x8004 = 0;
EWRAM_DATA u16 gSpecialVar_0x8005 = 0;
EWRAM_DATA u16 gSpecialVar_0x8006 = 0;
EWRAM_DATA u16 gSpecialVar_0x8007 = 0;
EWRAM_DATA u16 gSpecialVar_0x8008 = 0;
EWRAM_DATA u16 gSpecialVar_0x8009 = 0;
EWRAM_DATA u16 gSpecialVar_0x800A = 0;
EWRAM_DATA u16 gSpecialVar_0x800B = 0;
EWRAM_DATA u16 gSpecialVar_Result = 0;
EWRAM_DATA u16 gSpecialVar_LastTalked = 0;
EWRAM_DATA u16 gSpecialVar_Facing = 0;
EWRAM_DATA u16 gSpecialVar_MonBoxId = 0;
EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0;
EWRAM_DATA u16 gSpecialVar_TextColor = 0;
EWRAM_DATA u16 gSpecialVar_PrevTextColor = 0;
EWRAM_DATA u16 gUnknown_20370DE = 0;
EWRAM_DATA u8 sSpecialFlags[SPECIAL_FLAGS_COUNT] = {};
u16 gLastQuestLogStoredFlagOrVarIdx;
extern u16 *const gSpecialVars[];
void InitEventData(void)
{
memset(gSaveBlock1Ptr->flags, 0, FLAGS_COUNT);
memset(gSaveBlock1Ptr->vars, 0, VARS_COUNT * 2);
memset(sSpecialFlags, 0, SPECIAL_FLAGS_COUNT);
}
void sub_806E110(void)
{
memset(gSaveBlock1Ptr->flags, 0, 4);
memset(gSaveBlock1Ptr->vars, 0, 16 * 2);
FlagClear(FLAG_SYS_WHITE_FLUTE_ACTIVE);
FlagClear(FLAG_SYS_BLACK_FLUTE_ACTIVE);
FlagClear(FLAG_SYS_STRENGTH_ACTIVE);
FlagClear(FLAG_SYS_SPECIAL_WILD_BATTLE);
FlagClear(FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER);
}
void sub_806E168(void)
{
u16 *ptr = GetVarPointer(VAR_0x403C);
gSaveBlock2Ptr->pokedex.nationalMagic = 0;
*ptr = 0;
FlagClear(FLAG_0x838);
}
void sub_806E190(void)
{
u16 *ptr = GetVarPointer(VAR_0x403C);
gSaveBlock2Ptr->pokedex.nationalMagic = 0xDA;
*ptr = 0x0302;
FlagSet(FLAG_0x838);
}
bool32 sub_806E1C0(void)
{
if (gSaveBlock2Ptr->pokedex.nationalMagic != 0xDA)
return FALSE;
if (VarGet(VAR_0x403C) != 0x0302)
return FALSE;
if (!FlagGet(FLAG_0x838))
return FALSE;
return TRUE;
}
void sub_806E204(void)
{
u16 *ptr = GetVarPointer(VAR_0x404E);
gSaveBlock2Ptr->pokedex.unknown2 = 0;
*ptr = 0;
FlagClear(FLAG_SYS_NATIONAL_DEX);
}
void EnableNationalPokedex(void)
{
u16 *ptr = GetVarPointer(VAR_0x404E);
gSaveBlock2Ptr->pokedex.unknown2 = 0xB9;
*ptr = 0x6258;
FlagSet(FLAG_SYS_NATIONAL_DEX);
}
bool32 IsNationalPokedexEnabled(void)
{
if (gSaveBlock2Ptr->pokedex.unknown2 != 0xB9)
return FALSE;
if (VarGet(VAR_0x404E) != 0x6258)
return FALSE;
if (!FlagGet(FLAG_SYS_NATIONAL_DEX))
return FALSE;
return TRUE;
}
void DisableMysteryGift(void)
{
FlagClear(FLAG_SYS_MYSTERY_GIFT_ENABLED);
}
void EnableMysteryGift(void)
{
FlagSet(FLAG_SYS_MYSTERY_GIFT_ENABLED);
}
bool32 IsMysteryGiftEnabled(void)
{
return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLED);
}
void sub_806E2D0(void)
{
FlagClear(FLAG_MYSTERY_EVENT_DONE);
FlagClear(FLAG_0x3D9);
FlagClear(FLAG_0x3DA);
FlagClear(FLAG_0x3DB);
FlagClear(FLAG_0x3DC);
FlagClear(FLAG_0x3DD);
FlagClear(FLAG_0x3DE);
FlagClear(FLAG_0x3DF);
FlagClear(FLAG_0x3E0);
FlagClear(FLAG_0x3E1);
FlagClear(FLAG_0x3E2);
FlagClear(FLAG_0x3E3);
FlagClear(FLAG_0x3E4);
FlagClear(FLAG_0x3E5);
FlagClear(FLAG_0x3E6);
FlagClear(FLAG_0x3E7);
}
void sub_806E370(void)
{
VarSet(VAR_EVENT_PICHU_SLOT, 0);
VarSet(VAR_0x40B6, 0);
VarSet(VAR_0x40B7, 0);
VarSet(VAR_0x40B8, 0);
VarSet(VAR_0x40B9, 0);
VarSet(VAR_0x40BA, 0);
VarSet(VAR_0x40BB, 0);
VarSet(VAR_0x40BC, 0);
VarSet(VAR_ALTERING_CAVE_WILD_SET, 0);
}
void DisableResetRTC(void)
{
VarSet(VAR_0x4032, 0);
FlagClear(FLAG_0x837);
}
void EnableResetRTC(void)
{
VarSet(VAR_0x4032, 0x0920);
FlagSet(FLAG_0x837);
}
bool32 CanResetRTC(void)
{
if (!FlagGet(FLAG_0x837))
return FALSE;
if (VarGet(VAR_0x4032) != 0x0920)
return FALSE;
return TRUE;
}
u16 *GetVarPointer(u16 idx)
{
u16 *ptr;
if (idx < VARS_START)
return NULL;
if (idx < SPECIAL_VARS_START)
{
switch (gUnknown_3005E88)
{
case 0:
default:
break;
case 1:
ptr = QuestLogGetFlagOrVarPtr(FALSE, idx);
if (ptr != NULL)
gSaveBlock1Ptr->vars[idx - VARS_START] = *ptr;
break;
case 2:
if (IsFlagOrVarStoredInQuestLog(idx - VARS_START, TRUE) == TRUE)
{
gLastQuestLogStoredFlagOrVarIdx = idx - VARS_START;
QuestLogSetFlagOrVar(FALSE, idx, gSaveBlock1Ptr->vars[idx - VARS_START]);
}
break;
}
return &gSaveBlock1Ptr->vars[idx - VARS_START];
}
return gSpecialVars[idx - SPECIAL_VARS_START];
}
static bool8 IsFlagOrVarStoredInQuestLog(u16 idx, bool8 isVar)
{
if (!isVar)
{
if (idx < STORY_FLAGS_START)
return FALSE;
if (idx >= SYS_FLAGS && idx < PERMA_SYS_FLAGS_START)
return FALSE;
}
else
{
if (idx < VAR_0x4030 - VARS_START)
return FALSE;
if (idx >= VAR_MAP_SCENE_PALLET_TOWN_OAK - VARS_START && idx < VAR_PORTHOLE - VARS_START)
return FALSE;
}
return TRUE;
}
u16 VarGet(u16 idx)
{
u16 *ptr = GetVarPointer(idx);
if (ptr == NULL)
return idx;
return *ptr;
}
bool8 VarSet(u16 idx, u16 val)
{
u16 *ptr = GetVarPointer(idx);
if (ptr == NULL)
return FALSE;
*ptr = val;
return TRUE;
}
u8 VarGetFieldObjectGraphicsId(u8 idx)
{
return VarGet(VAR_OBJ_GFX_ID_0 + idx);
}
u8 *GetFlagAddr(u16 idx)
{
u8 *ptr;
if (idx == 0)
return NULL;
if (idx < SPECIAL_FLAGS_START)
{
switch (gUnknown_3005E88)
{
case 0:
default:
break;
case 1:
ptr = QuestLogGetFlagOrVarPtr(TRUE, idx);
if (ptr != NULL)
gSaveBlock1Ptr->flags[idx >> 3] = *ptr;
break;
case 2:
if (IsFlagOrVarStoredInQuestLog(idx, FALSE) == TRUE)
{
gLastQuestLogStoredFlagOrVarIdx = idx;
QuestLogSetFlagOrVar(TRUE, idx, gSaveBlock1Ptr->flags[idx / 8]);
}
break;
}
return &gSaveBlock1Ptr->flags[idx / 8];
}
return &sSpecialFlags[(idx - SPECIAL_FLAGS_START) / 8];
}
bool8 FlagSet(u16 idx)
{
u8 *ptr = GetFlagAddr(idx);
if (ptr != NULL)
*ptr |= 1 << (idx & 7);
return FALSE;
}
bool8 FlagClear(u16 idx)
{
u8 *ptr = GetFlagAddr(idx);
if (ptr != NULL)
*ptr &= ~(1 << (idx & 7));
return FALSE;
}
bool8 FlagGet(u16 idx)
{
u8 *ptr = GetFlagAddr(idx);
if (ptr == NULL)
return FALSE;
if (!(*ptr & 1 << (idx & 7)))
return FALSE;
return TRUE;
}
void ResetSpecialVars(void)
{
gSpecialVar_0x8000 = 0;
gSpecialVar_0x8001 = 0;
gSpecialVar_0x8002 = 0;
gSpecialVar_0x8003 = 0;
gSpecialVar_0x8004 = 0;
gSpecialVar_0x8005 = 0;
gSpecialVar_0x8006 = 0;
gSpecialVar_0x8007 = 0;
gSpecialVar_0x8008 = 0;
gSpecialVar_0x8009 = 0;
gSpecialVar_0x800A = 0;
gSpecialVar_0x800B = 0;
gSpecialVar_Facing = 0;
gSpecialVar_Result = 0;
gSpecialVar_ItemId = 0;
gSpecialVar_LastTalked = 0;
gSpecialVar_MonBoxId = 0;
gSpecialVar_MonBoxPos = 0;
gSpecialVar_TextColor = 0;
gSpecialVar_PrevTextColor = 0;
gUnknown_20370DE = 0;
}
+3 -13
View File
@@ -26,6 +26,8 @@
#include "menu_indicators.h"
#include "text_window.h"
#include "fame_checker.h"
#include "strings.h"
#include "constants/trainers.h"
#define SPRITETAG_SELECTOR_CURSOR 1000
#define SPRITETAG_QUESTION_MARK 1001
@@ -123,18 +125,6 @@ static void Task_FCOpenOrCloseInfoBox(u8 taskId);
static void UpdateInfoBoxTilemap(u8 bg, s16 state);
static void PlaceListMenuCursor(bool8 isActive);
extern const u8 gFameCheckerText_Cancel[];
extern const u8 gFameCheckerText_ListMenuCursor[];
extern const u8 gFameCheckerText_FameCheckerWillBeClosed[];
extern const u8 gFameCheckerText_ClearTextbox[];
extern const u8 gFameCheckerText_MainScreenUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$"
extern const u8 gFameCheckerText_PickScreenUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$"
extern const u8 gFameCheckerText_FlavorTextUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$"
extern const u8 gFameCheckerOakName[]; // "OAK$"
extern const u8 gFameCheckerDaisyName[]; // "DAISY$"
extern const u8 gFameCheckerBillName[]; // "BILL$"
extern const u8 gFameCheckerMrFujiName[]; // "FUJI$"
static const u16 sFameCheckerTilemap[] = INCBIN_U16("data/fame_checker/tilemap_845c600.bin");
static const u8 sQuestionMarkSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845ce00.4bpp");
static const u8 sSpinningPokeballSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845cf00.4bpp");
@@ -878,7 +868,7 @@ static void FC_DestroyWindow(u8 windowId)
static u8 AdjustGiovanniIndexIfBeatenInGym(u8 a0)
{
if (HasTrainerAlreadyBeenFought(0x15e) == TRUE)
if (HasTrainerBeenFought(TRAINER_LEADER_GIOVANNI) == TRUE)
{
if (a0 == 9)
return FAMECHECKER_GIOVANNI;
+10 -10
View File
@@ -323,14 +323,14 @@ static void sub_807DFBC(u8 taskId)
{
case 0: // Never reached
sub_807DCB0(0);
player_bitmagic();
FreezeEventObjects();
PlayerGetDestCoords(x, y);
FieldSetDoorOpened(*x, *y);
task->data[0] = 1;
break;
case 5:
sub_807DCB0(0);
player_bitmagic();
FreezeEventObjects();
sub_807F114();
sub_807DBAC();
task->data[0] = 6;
@@ -408,7 +408,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
{
case 0:
sub_807DCB0(0);
player_bitmagic();
FreezeEventObjects();
PlayerGetDestCoords(x, y);
task->data[0] = 1;
break;
@@ -439,7 +439,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 0:
player_bitmagic();
FreezeEventObjects();
ScriptContext2_Enable();
gTasks[taskId].data[0]++;
break;
@@ -459,7 +459,7 @@ static void sub_807E31C(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 0:
player_bitmagic();
FreezeEventObjects();
ScriptContext2_Enable();
sub_805DC04();
gTasks[taskId].data[0]++;
@@ -639,7 +639,7 @@ static void sub_807E5EC(u8 taskId)
}
}
void sub_807E654(void)
void DoCableClubWarp(void)
{
ScriptContext2_Enable();
sub_8055F88();
@@ -689,7 +689,7 @@ static void sub_807E718(u8 taskId)
switch (task->data[0])
{
case 0:
player_bitmagic();
FreezeEventObjects();
ScriptContext2_Enable();
task->data[0]++;
break;
@@ -711,7 +711,7 @@ static void sub_807E784(u8 taskId)
switch (task->data[0])
{
case 0:
player_bitmagic();
FreezeEventObjects();
ScriptContext2_Enable();
PlaySE(SE_TK_WARPIN);
sub_805DAB0();
@@ -744,7 +744,7 @@ static void sub_807E80C(u8 taskId)
switch (task->data[0])
{
case 0:
player_bitmagic();
FreezeEventObjects();
PlayerGetDestCoords(xp, yp);
PlaySE(GetDoorSoundEffect(*xp, *yp - 1));
task->data[1] = FieldAnimateDoorOpen(*xp, *yp - 1);
@@ -798,7 +798,7 @@ static void sub_807E980(u8 taskId)
{
case 0:
ScriptContext2_Enable();
player_bitmagic();
FreezeEventObjects();
CameraObjectReset2();
data[0]++;
break;
+2506
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -16,6 +16,7 @@
#include "field_map_obj.h"
#include "constants/songs.h"
#include "constants/map_objects.h"
#include "constants/map_types.h"
static void task08_080C9820(u8 taskId);
static void sub_80C98FC(u8 taskId);
+1 -2
View File
@@ -416,8 +416,7 @@ static void sub_80B91B0(u8 taskId)
task->data[12] = gBattle_BG1_X;
else
task->data[12] = gBattle_BG2_X;
var0 = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
var0 = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
task->data[14] = var0 - 32;
task->data[15] = var0 + 32;
++task->data[0];
+3 -3
View File
@@ -122,10 +122,10 @@ void SetBlackoutRespawnWarpAndHealerNpc(struct WarpData * warp)
{
u32 healLocationIdx;
if (VarGet(VAR_0x4082) == 1)
if (VarGet(VAR_MAP_SCENE_TRAINER_TOWER) == 1)
{
if (!gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2)
VarSet(VAR_0x4082, 0);
VarSet(VAR_MAP_SCENE_TRAINER_TOWER, 0);
gSpecialVar_LastTalked = 1;
warp->x = 4;
warp->y = 11;
@@ -159,7 +159,7 @@ void SetBlackoutRespawnWarpAndHealerNpc(struct WarpData * warp)
{
warp->x = 4;
warp->y = 11;
VarSet(VAR_0x4082, 0);
VarSet(VAR_MAP_SCENE_TRAINER_TOWER, 0);
}
else
{
+26 -26
View File
@@ -950,7 +950,7 @@ static bool8 IsInDungeonMap(void)
if (
sDungeonMaps[i][0] == gSaveBlock1Ptr->location.mapGroup
&& sDungeonMaps[i][1] + j == gSaveBlock1Ptr->location.mapNum
&& (i != 15 /* TANOBY */ || FlagGet(FLAG_0x849) == TRUE)
&& (i != 15 /* TANOBY */ || FlagGet(FLAG_SYS_UNLOCKED_TANOBY_RUINS) == TRUE)
)
return TRUE;
}
@@ -990,10 +990,10 @@ bool8 sub_812B40C(void)
if (gUnknown_203B0EE == 1)
return FALSE;
if (gSaveFileStatus != SAVE_STATUS_EMPTY && gSaveFileStatus != SAVE_STATUS_INVALID && FlagGet(FLAG_0x83C))
if (gSaveFileStatus != SAVE_STATUS_EMPTY && gSaveFileStatus != SAVE_STATUS_INVALID && FlagGet(FLAG_SYS_SAW_HELP_SYSTEM_INTRO))
return FALSE;
FlagSet(FLAG_0x83C);
FlagSet(FLAG_SYS_SAW_HELP_SYSTEM_INTRO);
gUnknown_203B0EE = 1;
return TRUE;
}
@@ -1125,7 +1125,7 @@ static void sub_812B614(struct HelpSystemListMenu * a0, struct ListMenuItem * a1
static bool8 sub_812B754(void)
{
if (FlagGet(FLAG_0x4B0) == TRUE && gUnknown_3005E9C[1] == 2)
if (FlagGet(FLAG_DEFEATED_BROCK) == TRUE && gUnknown_3005E9C[1] == 2)
return TRUE;
return FALSE;
}
@@ -1150,7 +1150,7 @@ static bool8 sub_812B780(u8 id)
case 43:
return TRUE;
case 4:
return FlagGet(FLAG_0x2CF);
return FlagGet(FLAG_VISITED_OAKS_LAB);
case 6:
case 10:
case 16:
@@ -1163,7 +1163,7 @@ static bool8 sub_812B780(u8 id)
return FlagGet(FLAG_WORLD_MAP_VERMILION_CITY);
case 11:
case 24:
return FlagGet(FLAG_0x8A4);
return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_FOREST);
case 9:
case 13:
case 14:
@@ -1175,22 +1175,22 @@ static bool8 sub_812B780(u8 id)
case 29:
case 31:
case 37:
return FlagGet(FLAG_0x828);
return FlagGet(FLAG_SYS_POKEMON_GET);
case 21:
case 23:
return FlagGet(FLAG_0x829);
return FlagGet(FLAG_SYS_POKEDEX_GET);
case 12:
case 25:
case 27:
case 30:
case 32:
case 33:
return FlagGet(FLAG_UNK820);
return FlagGet(FLAG_BADGE01_GET);
case 28:
case 40:
return sub_812BB10();
case 39:
return FlagGet(FLAG_0x29B);
return FlagGet(FLAG_GOT_FAME_CHECKER);
case 44:
return FlagGet(FLAG_WORLD_MAP_PEWTER_CITY);
}
@@ -1229,7 +1229,7 @@ static bool8 sub_812B780(u8 id)
case 1:
case 30:
case 37:
return FlagGet(FLAG_0x829);
return FlagGet(FLAG_SYS_POKEDEX_GET);
case 14:
return CheckBagHasItem(ITEM_TOWN_MAP, 1);
case 2:
@@ -1244,21 +1244,21 @@ static bool8 sub_812B780(u8 id)
case 35:
case 43:
case 44:
return FlagGet(FLAG_0x828);
return FlagGet(FLAG_SYS_POKEMON_GET);
case 4:
case 34:
if (GetKantoPokedexCount(1) > 1)
return TRUE;
return FALSE;
case 15:
return FlagGet(FLAG_UNK820);
return FlagGet(FLAG_BADGE01_GET);
case 16:
case 17:
return sub_812BB10();
case 18:
return FlagGet(FLAG_0x271);
return FlagGet(FLAG_GOT_BICYCLE);
case 48:
return FlagGet(FLAG_0x82C);
return FlagGet(FLAG_SYS_GAME_CLEAR);
}
return FALSE;
}
@@ -1308,7 +1308,7 @@ static bool8 sub_812B780(u8 id)
case 19:
case 20:
case 21:
return FlagGet(FLAG_0x828);
return FlagGet(FLAG_SYS_POKEMON_GET);
case 36:
case 37:
return sub_812BB10();
@@ -1316,7 +1316,7 @@ static bool8 sub_812B780(u8 id)
case 15:
case 18:
case 39:
return FlagGet(FLAG_0x8A4);
return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_FOREST);
}
return TRUE;
}
@@ -1325,9 +1325,9 @@ static bool8 sub_812B780(u8 id)
switch (id)
{
case 5:
return FlagGet(FLAG_UNK820);
return FlagGet(FLAG_BADGE01_GET);
case 6:
return FlagGet(FLAG_0x821);
return FlagGet(FLAG_BADGE02_GET);
}
return TRUE;
}
@@ -1341,19 +1341,19 @@ static bool8 sub_812B780(u8 id)
static bool8 sub_812BB10(void)
{
if (FlagGet(FLAG_0x237) == TRUE)
if (FlagGet(FLAG_GOT_HM01) == TRUE)
return TRUE;
if (FlagGet(FLAG_0x238) == TRUE)
if (FlagGet(FLAG_GOT_HM02) == TRUE)
return TRUE;
if (FlagGet(FLAG_0x239) == TRUE)
if (FlagGet(FLAG_GOT_HM03) == TRUE)
return TRUE;
if (FlagGet(FLAG_0x23A) == TRUE)
if (FlagGet(FLAG_GOT_HM04) == TRUE)
return TRUE;
if (FlagGet(FLAG_0x23B) == TRUE)
if (FlagGet(FLAG_GOT_HM05) == TRUE)
return TRUE;
if (FlagGet(FLAG_0x2EF) == TRUE)
if (FlagGet(FLAG_GOT_HM06) == TRUE)
return TRUE;
if (FlagGet(FLAG_0x1F1) == TRUE)
if (FlagGet(FLAG_HIDE_FOUR_ISLAND_ICEFALL_CAVE_1F_HM07) == TRUE)
return TRUE;
return FALSE;
}
+3 -3
View File
@@ -73,7 +73,7 @@ void CopyItemName(u16 itemId, u8 * dest)
{
if (itemId == ITEM_ENIGMA_BERRY)
{
StringCopy(dest, sub_809C8A0(43)->name);
StringCopy(dest, GetBerryInfo(ITEM_TO_BERRY(ITEM_ENIGMA_BERRY))->name);
StringAppend(dest, gUnknown_84162BD);
}
else
@@ -245,11 +245,11 @@ bool8 AddBagItem(u16 itemId, u16 count)
return FALSE;
gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots[idx].itemId = ITEM_BERRY_POUCH;
SetBagItemQuantity(&gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots[idx].quantity, 1);
FlagSet(FLAG_0x847);
FlagSet(FLAG_SYS_GOT_BERRY_POUCH);
}
if (itemId == ITEM_BERRY_POUCH)
FlagSet(FLAG_0x847);
FlagSet(FLAG_SYS_GOT_BERRY_POUCH);
idx = BagPocketGetFirstEmptySlot(pocket);
if (idx == -1)
+14 -13
View File
@@ -42,6 +42,7 @@
#include "constants/maps.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/map_types.h"
EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
@@ -162,7 +163,7 @@ void sub_80A1184(void)
bool8 sub_80A1194(void)
{
player_bitmagic();
FreezeEventObjects();
ScriptContext2_Enable();
sub_807DC00();
CreateTask(sub_80A11C0, 10);
@@ -191,7 +192,7 @@ void sub_80A1208(void)
struct MailStruct mail;
mail.itemId = gSpecialVar_ItemId;
sub_80BEBEC(&mail, CB2_BagMenuFromStartMenu, 0);
ReadMail(&mail, CB2_BagMenuFromStartMenu, 0);
}
void FieldUseFunc_MachBike(u8 taskId)
@@ -202,7 +203,7 @@ void FieldUseFunc_MachBike(u8 taskId)
PlayerGetDestCoords(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
if (FlagGet(FLAG_0x830) == TRUE
if (FlagGet(FLAG_SYS_ON_CYCLING_ROAD) == TRUE
|| MetatileBehavior_ReturnFalse_17(behavior) == TRUE
|| MetatileBehavior_ReturnFalse_18(behavior) == TRUE
|| MetatileBehavior_ReturnFalse_15(behavior) == TRUE
@@ -259,7 +260,7 @@ bool8 ItemUseCheckFunc_Rod(void)
{
if (MetatileBehavior_IsSurfable(behavior) && !MapGridIsImpassableAt(x, y))
return TRUE;
if (MetatileBehavior_ReturnFalse_6(behavior) == TRUE)
if (MetatileBehavior_IsBridge(behavior) == TRUE)
return TRUE;
}
return FALSE;
@@ -396,7 +397,7 @@ void FieldUseFunc_TmCase(u8 taskId)
}
else
{
sub_80CCB68();
StopPokemonLeagueLightingEffectTask();
fade_screen(1, 0);
gTasks[taskId].func = Task_InitTMCaseFromField;
}
@@ -427,7 +428,7 @@ void FieldUseFunc_BerryPouch(u8 taskId)
}
else
{
sub_80CCB68();
StopPokemonLeagueLightingEffectTask();
fade_screen(1, 0);
gTasks[taskId].func = Task_InitBerryPouchFromField;
}
@@ -470,7 +471,7 @@ void FieldUseFunc_TeachyTv(u8 taskId)
}
else
{
sub_80CCB68();
StopPokemonLeagueLightingEffectTask();
fade_screen(1, 0);
gTasks[taskId].func = Task_InitTeachyTvFromField;
}
@@ -529,8 +530,8 @@ void FieldUseFunc_BlackFlute(u8 taskId)
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF);
if (gSpecialVar_ItemId == ITEM_WHITE_FLUTE)
{
FlagSet(FLAG_WHITE_FLUTE_ACTIVE);
FlagClear(FLAG_BLACK_FLUTE_ACTIVE);
FlagSet(FLAG_SYS_WHITE_FLUTE_ACTIVE);
FlagClear(FLAG_SYS_BLACK_FLUTE_ACTIVE);
CopyItemName(gSpecialVar_ItemId, gStringVar2);
StringExpandPlaceholders(gStringVar4, gUnknown_84165D2);
gTasks[taskId].func = sub_80A1B48;
@@ -538,8 +539,8 @@ void FieldUseFunc_BlackFlute(u8 taskId)
}
else if (gSpecialVar_ItemId == ITEM_BLACK_FLUTE)
{
FlagSet(FLAG_BLACK_FLUTE_ACTIVE);
FlagClear(FLAG_WHITE_FLUTE_ACTIVE);
FlagSet(FLAG_SYS_BLACK_FLUTE_ACTIVE);
FlagClear(FLAG_SYS_WHITE_FLUTE_ACTIVE);
CopyItemName(gSpecialVar_ItemId, gStringVar2);
StringExpandPlaceholders(gStringVar4, gUnknown_8416600);
gTasks[taskId].func = sub_80A1B48;
@@ -600,7 +601,7 @@ void FieldUseFunc_TownMap(u8 taskId)
}
else
{
sub_80CCB68();
StopPokemonLeagueLightingEffectTask();
fade_screen(1, 0);
gTasks[taskId].func = sub_80A1CC0;
}
@@ -632,7 +633,7 @@ void FieldUseFunc_FameChecker(u8 taskId)
}
else
{
sub_80CCB68();
StopPokemonLeagueLightingEffectTask();
fade_screen(1, 0);
gTasks[taskId].func = sub_80A1D68;
}
+2 -2
View File
@@ -17,7 +17,7 @@ static void Task_NoResponse_CleanUp(u8 taskId);
static void Task_ItemfinderResponseSoundsAndAnims(u8 taskId);
static void Task_ItemfinderUnderfootSoundsAndAnims(u8 taskId);
static bool8 HiddenItemIsWithinRangeOfPlayer(struct MapEvents * events, u8 taskId);
static void SetUnderfootHiddenItem(u8 taskId, struct HiddenItemStruct hiddenItem);
static void SetUnderfootHiddenItem(u8 taskId, u32 hiddenItem);
static void SetNormalHiddenItem(u8 taskId);
static void FindHiddenItemsInConnectedMaps(u8 taskId);
static void RegisterHiddenItemRelativeCoordsIfCloser(u8 taskId, s16 dx, s16 dy);
@@ -239,7 +239,7 @@ static bool8 HiddenItemIsWithinRangeOfPlayer(struct MapEvents * events, u8 taskI
return FALSE;
}
static void SetUnderfootHiddenItem(u8 taskId, struct HiddenItemStruct hiddenItem)
static void SetUnderfootHiddenItem(u8 taskId, u32 hiddenItem)
{
s16 *data = gTasks[taskId].data;
gSpecialVar_0x8004 = GetHiddenItemAttr(hiddenItem, HIDDEN_ITEM_FLAG);
+2 -2
View File
@@ -329,7 +329,7 @@ static void InitLocalLinkPlayer(void)
gLocalLinkPlayer.version = gGameVersion + 0x4000;
gLocalLinkPlayer.lp_field_2 = 0x8000;
gLocalLinkPlayer.name[8] = IsNationalPokedexEnabled();
if (FlagGet(FLAG_0x844))
if (FlagGet(FLAG_SYS_CAN_LINK_WITH_RS))
{
gLocalLinkPlayer.name[8] |= 0x10;
}
@@ -1025,7 +1025,7 @@ bool8 IsLinkTaskFinished(void)
{
if (gWirelessCommType == 1)
{
return IsRfuTaskFinished();
return IsLinkRfuTaskFinished();
}
return gLinkCallback == NULL;
}
+738
View File
@@ -0,0 +1,738 @@
#include "global.h"
#include "malloc.h"
#include "bg.h"
#include "scanline_effect.h"
#include "palette.h"
#include "gpu_regs.h"
#include "window.h"
#include "text_window.h"
#include "main.h"
#include "easy_chat.h"
#include "mail.h"
#include "task.h"
#include "menu.h"
#include "mail_data.h"
#include "player_pc.h"
#include "overworld.h"
#include "help_system.h"
#include "menu_helpers.h"
#include "new_menu_helpers.h"
#include "graphics.h"
#include "pokemon_icon.h"
#include "string_util.h"
#include "strings.h"
#include "constants/items.h"
#include "constants/species.h"
enum MailIconParam
{
MAIL_ICON_NONE = 0,
MAIL_ICON_BEAD,
MAIL_ICON_DREAM
};
struct MailEcWordLayout
{
u32 numWordsInLine:2;
u32 lineXoffset:6;
u32 lineHeight:8;
};
struct MailAttrStruct
{
u8 numRows;
u8 nameY;
u8 nameX;
u8 messageTop;
u8 messageLeft;
const struct MailEcWordLayout * linesLayout;
};
struct MailGfxData
{
const void * pal;
const void * tiles;
const void * map;
u32 size;
u16 textpals[2];
};
struct MailViewResources {
u8 messageLinesBuffer[8][26];
u8 authorNameBuffer[12];
void (*savedCallback)(void);
void (*showMailCallback)(void);
struct MailStruct *mail;
bool8 messageExists;
u8 nameX;
u8 mailType;
u8 monIconType;
u8 monIconSpriteId;
u8 unused;
u8 mailArrangementType;
void (*copyEasyChatWord)(u8 *dest, u16 word);
void (*convertEasyChatWordsToString)(u8 *dest, const u16 *src, u16 length1, u16 length2);
const struct MailAttrStruct * messageLayout;
u16 bg1TilemapBuffer[BG_SCREEN_SIZE];
u16 bg2TilemapBuffer[BG_SCREEN_SIZE];
};
static EWRAM_DATA struct MailViewResources * sMailViewResources = NULL;
static void CB2_InitMailView(void);
static void BufferMailMessage(void);
static void AddMailMessagePrinters(void);
static void VBlankCB_ShowMail(void);
static void CB2_RunShowMailCB(void);
static void ShowMailCB_WaitFadeIn(void);
static void ShowMailCB_WaitButton(void);
static void ShowMailCB_Teardown(void);
static const struct BgTemplate sBgTemplates[] = {
{
.bg = 0,
.charBaseIndex = 2,
.mapBaseIndex = 31,
.screenSize = 0,
.paletteMode = 0,
.priority = 0,
.baseTile = 0x000
}, {
.bg = 1,
.charBaseIndex = 0,
.mapBaseIndex = 30,
.screenSize = 0,
.paletteMode = 0,
.priority = 1,
.baseTile = 0x000
}, {
.bg = 2,
.charBaseIndex = 0,
.mapBaseIndex = 29,
.screenSize = 0,
.paletteMode = 0,
.priority = 2,
.baseTile = 0x000
}
};
static const struct WindowTemplate sWindowTemplates[] = {
{
.bg = 0,
.tilemapLeft = 3,
.tilemapTop = 4,
.width = 24,
.height = 10,
.paletteNum = 15,
.baseBlock = 0x001
}, {
.bg = 0,
.tilemapLeft = 15,
.tilemapTop = 15,
.width = 13,
.height = 3,
.paletteNum = 15,
.baseBlock = 0x0F2
}, DUMMY_WIN_TEMPLATE
};
static const u8 sTextColor[] = { 0, 10, 11 };
static const u16 sGenderPals[][2] = {
{ RGB(13, 22, 26), RGB(05, 13, 20) },
{ RGB(28, 15, 17), RGB(20, 06, 14) }
};
static const struct MailGfxData sGfxHeaders[] = {
[ITEM_TO_MAIL(ITEM_ORANGE_MAIL)] = {
.pal = gFile_graphics_mail_orange_palette_pal,
.tiles = gFile_graphics_mail_orange_tiles_sheet,
.map = gFile_graphics_mail_orange_map_tilemap,
.size = 0x2c0,
.textpals = { RGB(10, 10, 10), RGB(25, 25, 25) }
},
[ITEM_TO_MAIL(ITEM_HARBOR_MAIL)] = {
.pal = gFile_graphics_mail_harbor_palette_pal,
.tiles = gFile_graphics_mail_harbor_tiles_sheet,
.map = gFile_graphics_mail_harbor_map_tilemap,
.size = 0x2e0,
.textpals = { RGB(31, 31, 31), RGB(17, 17, 17) }
},
[ITEM_TO_MAIL(ITEM_GLITTER_MAIL)] = {
.pal = gFile_graphics_mail_glitter_palette_pal,
.tiles = gFile_graphics_mail_glitter_tiles_sheet,
.map = gFile_graphics_mail_glitter_map_tilemap,
.size = 0x400,
.textpals = { RGB(10, 10, 10), RGB(25, 25, 25) }
},
[ITEM_TO_MAIL(ITEM_MECH_MAIL)] = {
.pal = gFile_graphics_mail_mech_palette_pal,
.tiles = gFile_graphics_mail_mech_tiles_sheet,
.map = gFile_graphics_mail_mech_map_tilemap,
.size = 0x1e0,
.textpals = { RGB(31, 31, 31), RGB(17, 17, 17) }
},
[ITEM_TO_MAIL(ITEM_WOOD_MAIL)] = {
.pal = gFile_graphics_mail_wood_palette_pal,
.tiles = gFile_graphics_mail_wood_tiles_sheet,
.map = gFile_graphics_mail_wood_map_tilemap,
.size = 0x2e0,
.textpals = { RGB(31, 31, 31), RGB(17, 17, 17) }
},
[ITEM_TO_MAIL(ITEM_WAVE_MAIL)] = {
.pal = gFile_graphics_mail_wave_palette_pal,
.tiles = gFile_graphics_mail_wave_tiles_sheet,
.map = gFile_graphics_mail_wave_map_tilemap,
.size = 0x300,
.textpals = { RGB(10, 10, 10), RGB(25, 25, 25) }
},
[ITEM_TO_MAIL(ITEM_BEAD_MAIL)] = {
.pal = gFile_graphics_mail_bead_palette_pal,
.tiles = gFile_graphics_mail_bead_tiles_sheet,
.map = gFile_graphics_mail_bead_map_tilemap,
.size = 0x140,
.textpals = { RGB(31, 31, 31), RGB(17, 17, 17) }
},
[ITEM_TO_MAIL(ITEM_SHADOW_MAIL)] = {
.pal = gFile_graphics_mail_shadow_palette_pal,
.tiles = gFile_graphics_mail_shadow_tiles_sheet,
.map = gFile_graphics_mail_shadow_map_tilemap,
.size = 0x300,
.textpals = { RGB(31, 31, 31), RGB(17, 17, 17) }
},
[ITEM_TO_MAIL(ITEM_TROPIC_MAIL)] = {
.pal = gFile_graphics_mail_tropic_palette_pal,
.tiles = gFile_graphics_mail_tropic_tiles_sheet,
.map = gFile_graphics_mail_tropic_map_tilemap,
.size = 0x220,
.textpals = { RGB(10, 10, 10), RGB(25, 25, 25) }
},
[ITEM_TO_MAIL(ITEM_DREAM_MAIL)] = {
.pal = gFile_graphics_mail_dream_palette_pal,
.tiles = gFile_graphics_mail_dream_tiles_sheet,
.map = gFile_graphics_mail_dream_map_tilemap,
.size = 0x340,
.textpals = { RGB(10, 10, 10), RGB(25, 25, 25) }
},
[ITEM_TO_MAIL(ITEM_FAB_MAIL)] = {
.pal = gFile_graphics_mail_fab_palette_pal,
.tiles = gFile_graphics_mail_fab_tiles_sheet,
.map = gFile_graphics_mail_fab_map_tilemap,
.size = 0x2a0,
.textpals = { RGB(10, 10, 10), RGB(25, 25, 25) }
},
[ITEM_TO_MAIL(ITEM_RETRO_MAIL)] = {
.pal = gFile_graphics_mail_retro_palette_pal,
.tiles = gFile_graphics_mail_retro_tiles_sheet,
.map = gFile_graphics_mail_retro_map_tilemap,
.size = 0x520,
.textpals = { RGB(10, 10, 10), RGB(25, 25, 25) }
}
};
static const struct MailEcWordLayout sLayout_3x3[] = {
{ .numWordsInLine = 3, .lineXoffset = 0, .lineHeight = 16 },
{ .numWordsInLine = 3, .lineXoffset = 0, .lineHeight = 16 },
{ .numWordsInLine = 3, .lineXoffset = 0, .lineHeight = 16 }
};
static const struct MailAttrStruct sMessageLayouts_3x3[] = {
[ITEM_TO_MAIL(ITEM_ORANGE_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_HARBOR_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_GLITTER_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_MECH_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_WOOD_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_WAVE_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_BEAD_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_SHADOW_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_TROPIC_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_DREAM_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_FAB_MAIL)] = {
.numRows = 3,
.nameY = 8,
.nameX = 0,
.messageTop = 2,
.messageLeft = 4,
.linesLayout = sLayout_3x3
},
[ITEM_TO_MAIL(ITEM_RETRO_MAIL)] = {
.numRows = 3,
.nameY = 0,
.nameX = 0,
.messageTop = 2,
.messageLeft = 0,
.linesLayout = sLayout_3x3
},
};
static const struct MailEcWordLayout sLayout_5x2[] = {
{ .numWordsInLine = 2, .lineXoffset = 0, .lineHeight = 16 },
{ .numWordsInLine = 2, .lineXoffset = 0, .lineHeight = 16 },
{ .numWordsInLine = 2, .lineXoffset = 0, .lineHeight = 16 },
{ .numWordsInLine = 2, .lineXoffset = 0, .lineHeight = 16 },
{ .numWordsInLine = 1, .lineXoffset = 0, .lineHeight = 16 }
};
static const struct MailAttrStruct sMessageLayouts_5x2[] = {
[ITEM_TO_MAIL(ITEM_ORANGE_MAIL)] = {
.numRows = 5,
.nameY = 0,
.nameX = 8,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_HARBOR_MAIL)] = {
.numRows = 5,
.nameY = 3,
.nameX = 14,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_GLITTER_MAIL)] = {
.numRows = 5,
.nameY = 0,
.nameX = 16,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_MECH_MAIL)] = {
.numRows = 5,
.nameY = 0,
.nameX = 14,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_WOOD_MAIL)] = {
.numRows = 5,
.nameY = 3,
.nameX = 12,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_WAVE_MAIL)] = {
.numRows = 5,
.nameY = 0,
.nameX = 18,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_BEAD_MAIL)] = {
.numRows = 5,
.nameY = 0,
.nameX = 20,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_SHADOW_MAIL)] = {
.numRows = 5,
.nameY = 6,
.nameX = 20,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_TROPIC_MAIL)] = {
.numRows = 5,
.nameY = 0,
.nameX = 16,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_DREAM_MAIL)] = {
.numRows = 5,
.nameY = 0,
.nameX = 14,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_FAB_MAIL)] = {
.numRows = 5,
.nameY = 8,
.nameX = 16,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
[ITEM_TO_MAIL(ITEM_RETRO_MAIL)] = {
.numRows = 5,
.nameY = 0,
.nameX = 16,
.messageTop = 3,
.messageLeft = 8,
.linesLayout = sLayout_5x2
},
};
void ReadMail(struct MailStruct * mail, void (*savedCallback)(void), bool8 messageExists)
{
u16 sp0;
u16 species;
sMailViewResources = AllocZeroed(sizeof(struct MailViewResources));
sMailViewResources->unused = 2;
sMailViewResources->mailArrangementType = 1;
sMailViewResources->copyEasyChatWord = CopyEasyChatWord;
sMailViewResources->convertEasyChatWordsToString = ConvertEasyChatWordsToString;
if (IS_ITEM_MAIL(mail->itemId))
{
sMailViewResources->mailType = ITEM_TO_MAIL(mail->itemId);
}
else
{
sMailViewResources->mailType = ITEM_TO_MAIL(ITEM_ORANGE_MAIL);
messageExists = FALSE;
}
switch (sMailViewResources->mailArrangementType)
{
case 0:
default:
sMailViewResources->messageLayout = &sMessageLayouts_3x3[sMailViewResources->mailType];
break;
case 1:
sMailViewResources->messageLayout = &sMessageLayouts_5x2[sMailViewResources->mailType];
break;
}
species = MailSpeciesToSpecies(mail->species, &sp0);
if (species != SPECIES_NONE && species < NUM_SPECIES)
{
switch (sMailViewResources->mailType)
{
default:
sMailViewResources->monIconType = MAIL_ICON_NONE;
break;
case ITEM_TO_MAIL(ITEM_BEAD_MAIL):
sMailViewResources->monIconType = MAIL_ICON_BEAD;
break;
case ITEM_TO_MAIL(ITEM_DREAM_MAIL):
sMailViewResources->monIconType = MAIL_ICON_DREAM;
break;
}
}
else
{
sMailViewResources->monIconType = MAIL_ICON_NONE;
}
sMailViewResources->mail = mail;
sMailViewResources->savedCallback = savedCallback;
sMailViewResources->messageExists = messageExists;
SetMainCallback2(CB2_InitMailView);
}
static bool8 DoInitMailView(void)
{
u16 iconId;
switch (gMain.state)
{
case 0:
SetVBlankCallback(NULL);
ScanlineEffect_Stop();
SetGpuReg(REG_OFFSET_DISPCNT, 0);
if (gPlayerPcMenuManager.unk_9 == 0)
HelpSystem_SetSomeVariable2(34);
else
HelpSystem_SetSomeVariable2(30);
break;
case 1:
CpuFill16(0, (void *)OAM, OAM_SIZE);
break;
case 2:
ResetPaletteFade();
break;
case 3:
ResetTasks();
break;
case 4:
ResetSpriteData();
break;
case 5:
FreeAllSpritePalettes();
ResetTempTileDataBuffers();
SetGpuReg(REG_OFFSET_BG0HOFS, 0);
SetGpuReg(REG_OFFSET_BG0VOFS, 0);
SetGpuReg(REG_OFFSET_BG1HOFS, 0);
SetGpuReg(REG_OFFSET_BG1VOFS, 0);
SetGpuReg(REG_OFFSET_BG2VOFS, 0);
SetGpuReg(REG_OFFSET_BG2HOFS, 0);
SetGpuReg(REG_OFFSET_BG3HOFS, 0);
SetGpuReg(REG_OFFSET_BG3VOFS, 0);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
break;
case 6:
ResetBgsAndClearDma3BusyFlags(FALSE);
InitBgsFromTemplates(0, sBgTemplates, NELEMS(sBgTemplates));
SetBgTilemapBuffer(1, sMailViewResources->bg1TilemapBuffer);
SetBgTilemapBuffer(2, sMailViewResources->bg2TilemapBuffer);
break;
case 7:
InitWindows(sWindowTemplates);
DeactivateAllTextPrinters();
break;
case 8:
DecompressAndCopyTileDataToVram(1, sGfxHeaders[sMailViewResources->mailType].tiles, 0, 0x000, 0);
break;
case 9:
if (FreeTempTileDataBuffersIfPossible())
return FALSE;
break;
case 10:
FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
FillBgTilemapBufferRect_Palette0(2, 0x001, 0, 0, 30, 20);
CopyToBgTilemapBuffer(1, sGfxHeaders[sMailViewResources->mailType].map, 0, 0x000);
break;
case 11:
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
break;
case 12:
LoadPalette(stdpal_get(0), 0xF0, 0x20);
gPlttBufferUnfaded[15 * 16 + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0];
gPlttBufferFaded[15 * 16 + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0];
gPlttBufferUnfaded[15 * 16 + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1];
gPlttBufferFaded[15 * 16 + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1];
LoadPalette(sGfxHeaders[sMailViewResources->mailType].pal, 0x00, 0x20);
gPlttBufferUnfaded[0 * 16 + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0];
gPlttBufferFaded[0 * 16 + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0];
gPlttBufferUnfaded[0 * 16 + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1];
gPlttBufferFaded[0 * 16 + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1];
break;
case 13:
if (sMailViewResources->messageExists)
BufferMailMessage();
break;
case 14:
if (sMailViewResources->messageExists)
{
AddMailMessagePrinters();
RunTextPrinters();
}
break;
case 15:
if (sub_8058244() == TRUE)
return FALSE;
break;
case 16:
SetVBlankCallback(VBlankCB_ShowMail);
gPaletteFade.bufferTransferDisabled = TRUE;
break;
case 17:
iconId = MailSpeciesToIconSpecies(sMailViewResources->mail->species);
switch (sMailViewResources->monIconType)
{
case MAIL_ICON_BEAD:
LoadMonIconPalette(iconId);
sMailViewResources->monIconSpriteId = CreateMonIcon_HandleDeoxys(iconId, SpriteCallbackDummy, 0x60, 0x80, 0, FALSE);
break;
case MAIL_ICON_DREAM:
LoadMonIconPalette(iconId);
sMailViewResources->monIconSpriteId = CreateMonIcon_HandleDeoxys(iconId, SpriteCallbackDummy, 0x28, 0x80, 0, FALSE);
break;
}
break;
case 18:
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
ShowBg(0);
ShowBg(1);
ShowBg(2);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
gPaletteFade.bufferTransferDisabled = FALSE;
sMailViewResources->showMailCallback = ShowMailCB_WaitFadeIn;
return TRUE;
default:
return FALSE;
}
gMain.state++;
return FALSE;
}
static void CB2_InitMailView(void)
{
do
{
if (DoInitMailView() == TRUE)
{
SetMainCallback2(CB2_RunShowMailCB);
break;
}
} while (MenuHelpers_LinkSomething() != TRUE);
}
static void BufferMailMessage(void)
{
u16 i;
u8 j = 0;
for (i = 0; i < sMailViewResources->messageLayout->numRows; i++)
{
ConvertEasyChatWordsToString(sMailViewResources->messageLinesBuffer[i], &sMailViewResources->mail->words[j], sMailViewResources->messageLayout->linesLayout[i].numWordsInLine, 1);
j += sMailViewResources->messageLayout->linesLayout[i].numWordsInLine;
}
if (sMailViewResources->mailArrangementType == 0)
{
StringCopy(StringCopy(sMailViewResources->authorNameBuffer, sMailViewResources->mail->playerName), gText_From); // ???
sMailViewResources->nameX = sMailViewResources->messageLayout->nameX + 0x60 - 8 * StringLength(sMailViewResources->authorNameBuffer);
}
else
{
StringCopy(sMailViewResources->authorNameBuffer, sMailViewResources->mail->playerName);
if (StringLength(sMailViewResources->authorNameBuffer) < 6)
ConvertInternationalString(sMailViewResources->authorNameBuffer, LANGUAGE_JAPANESE);
sMailViewResources->nameX = sMailViewResources->messageLayout->nameX;
}
}
static void AddMailMessagePrinters(void)
{
u8 y = 0;
u16 i;
u32 width;
PutWindowTilemap(0);
PutWindowTilemap(1);
FillWindowPixelBuffer(0, PIXEL_FILL(0));
FillWindowPixelBuffer(1, PIXEL_FILL(0));
for (i = 0; i < sMailViewResources->messageLayout->numRows; i++)
{
if (sMailViewResources->messageLinesBuffer[i][0] != EOS && sMailViewResources->messageLinesBuffer[i][0] != CHAR_SPACE)
{
AddTextPrinterParameterized3(0, 1, sMailViewResources->messageLayout->linesLayout[i].lineXoffset + sMailViewResources->messageLayout->messageLeft, y + sMailViewResources->messageLayout->messageTop, sTextColor, 0, sMailViewResources->messageLinesBuffer[i]);
y += sMailViewResources->messageLayout->linesLayout[i].lineHeight;
}
}
width = GetStringWidth(1, gText_From, 0);
AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX, sMailViewResources->messageLayout->nameY, sTextColor, 0, gText_From);
AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX + width, sMailViewResources->messageLayout->nameY, sTextColor, 0, sMailViewResources->authorNameBuffer);
CopyWindowToVram(0, 3);
CopyWindowToVram(1, 3);
}
static void VBlankCB_ShowMail(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
static void CB2_RunShowMailCB(void)
{
if (sMailViewResources->monIconType != MAIL_ICON_NONE)
{
AnimateSprites();
BuildOamBuffer();
}
sMailViewResources->showMailCallback();
}
static void ShowMailCB_WaitFadeIn(void)
{
if (!UpdatePaletteFade())
sMailViewResources->showMailCallback = ShowMailCB_WaitButton;
}
static void ShowMailCB_WaitButton(void)
{
if (JOY_NEW(A_BUTTON | B_BUTTON))
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
sMailViewResources->showMailCallback = ShowMailCB_Teardown;
}
}
static void ShowMailCB_Teardown(void)
{
if (!UpdatePaletteFade())
{
SetMainCallback2(sMailViewResources->savedCallback);
switch (sMailViewResources->monIconType)
{
case MAIL_ICON_BEAD:
case MAIL_ICON_DREAM:
FreeMonIconPalette(MailSpeciesToIconSpecies(sMailViewResources->mail->species));
DestroyMonIcon(&gSprites[sMailViewResources->monIconSpriteId]);
break;
}
*sMailViewResources = (struct MailViewResources){};
ResetPaletteFade();
FreeAllWindowBuffers();
FREE_AND_SET_NULL(sMailViewResources);
}
}
+4 -4
View File
@@ -240,7 +240,7 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId)
{
case SAVE_STATUS_OK:
LoadUserFrameToBg(0);
if (Flag_0x839_IsSet() == TRUE)
if (IsMysteryGiftEnabled() == TRUE)
{
gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT;
}
@@ -259,7 +259,7 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId)
SetStdFrame0OnBg(0);
gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE;
PrintSaveErrorStatus(taskId, gText_SaveFileCorruptedPrevWillBeLoaded);
if (Flag_0x839_IsSet() == TRUE)
if (IsMysteryGiftEnabled() == TRUE)
{
gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT;
}
@@ -652,7 +652,7 @@ static void PrintDexCount(void)
u8 strbuf[30];
u8 *ptr;
u16 dexcount;
if (FlagGet(FLAG_0x829) == TRUE)
if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
{
if (IsNationalPokedexEnabled())
dexcount = GetNationalPokedexCount(FLAG_GET_CAUGHT);
@@ -671,7 +671,7 @@ static void PrintBadgeCount(void)
u8 *ptr;
u32 flagId;
u8 nbadges = 0;
for (flagId = FLAG_UNK820; flagId < FLAG_UNK820 + 8; flagId++)
for (flagId = FLAG_BADGE01_GET; flagId < FLAG_BADGE01_GET + 8; flagId++)
{
if (FlagGet(flagId))
nbadges++;
+1 -1
View File
@@ -38,7 +38,7 @@ bool8 sub_8069590(void)
void ScriptFreezeMapObjects(void)
{
player_bitmagic();
FreezeEventObjects();
CreateTask(sub_8069570, 80);
}
+38 -37
View File
@@ -3,16 +3,17 @@
#include "random.h"
#include "event_data.h"
#include "menews_jisan.h"
#include "constants/items.h"
static u32 sub_8146D74(struct MysteryEventStruct *);
static void sub_8146DD8(struct MysteryEventStruct *);
static u32 sub_8146E0C(struct MysteryEventStruct *);
static void sub_8146DA0(struct MysteryEventStruct *);
static void sub_8146D94(struct MysteryEventStruct *);
static u32 GetMENewsJisanRewardItem(struct MENewsJisanStruct *);
static void MENewsJisanIncrementCounterUnk0_5(struct MENewsJisanStruct *);
static u32 GetMENewsJisanState(struct MENewsJisanStruct *);
static void MENewsJisanIncrementCounterUnk0_2(struct MENewsJisanStruct *);
static void MENewsJisanResetCounterUnk0_2(struct MENewsJisanStruct *);
void GenerateRandomNews(u32 a0)
void MENewsJisan_SetRandomReward(u32 a0)
{
struct MysteryEventStruct *r5 = sub_8143D94();
struct MENewsJisanStruct *r5 = GetMENewsJisanStructPtr();
r5->unk_0_0 = a0;
switch (a0)
@@ -21,68 +22,68 @@ void GenerateRandomNews(u32 a0)
break;
case 1:
case 2:
r5->unk_1 = (Random() % 15) + 16;
r5->berry = (Random() % 15) + ITEM_TO_BERRY(ITEM_RAZZ_BERRY);
break;
case 3:
r5->unk_1 = (Random() % 15) + 1;
r5->berry = (Random() % 15) + ITEM_TO_BERRY(ITEM_CHERI_BERRY);
break;
}
}
void sub_8146C88(void)
void MENewsJisanReset(void)
{
struct MysteryEventStruct *r5 = sub_8143D94();
struct MENewsJisanStruct *r5 = GetMENewsJisanStructPtr();
r5->unk_0_0 = 0;
r5->unk_0_2 = 0;
r5->unk_0_5 = 0;
r5->unk_1 = 0;
VarSet(VAR_0x4028, 0);
r5->berry = 0;
VarSet(VAR_MENEWS_JISAN_STEP_COUNTER, 0);
}
void sub_8146CA4(void)
void MENewsJisanStepCounter(void)
{
u16 *r4 = GetVarPointer(VAR_0x4028);
struct MysteryEventStruct *r2 = sub_8143D94();
struct MysteryEventStruct r0 = *r2;
u16 *r4 = GetVarPointer(VAR_MENEWS_JISAN_STEP_COUNTER);
struct MENewsJisanStruct *r2 = GetMENewsJisanStructPtr();
struct MENewsJisanStruct r0 = *r2;
if ((u8)r0.unk_0_5 > 4 && ++(*r4) > 0x1f3)
if ((u8)r0.unk_0_5 > 4 && ++(*r4) >= 500)
{
r2->unk_0_5 = 0;
*r4 = 0;
}
}
u16 sub_8146CE8(void)
u16 Special_GetMENewsJisanItemAndState(void)
{
u16 *r6 = &gSpecialVar_Result;
struct MysteryEventStruct *r4 = sub_8143D94();
struct MENewsJisanStruct *r4 = GetMENewsJisanStructPtr();
u16 r5;
if (!Flag_0x839_IsSet() || !ValidateReceivedWonderNews())
if (!IsMysteryGiftEnabled() || !ValidateReceivedWonderNews())
return 0;
r5 = sub_8146E0C(r4);
r5 = GetMENewsJisanState(r4);
switch (r5)
{
case 0:
break;
case 1:
*r6 = sub_8146D74(r4);
*r6 = GetMENewsJisanRewardItem(r4);
break;
case 2:
*r6 = sub_8146D74(r4);
*r6 = GetMENewsJisanRewardItem(r4);
break;
case 3:
break;
case 4:
*r6 = sub_8146D74(r4);
sub_8146DA0(r4);
*r6 = GetMENewsJisanRewardItem(r4);
MENewsJisanIncrementCounterUnk0_2(r4);
break;
case 5:
*r6 = sub_8146D74(r4);
sub_8146D94(r4);
*r6 = GetMENewsJisanRewardItem(r4);
MENewsJisanResetCounterUnk0_2(r4);
break;
case 6:
break;
@@ -91,39 +92,39 @@ u16 sub_8146CE8(void)
return r5;
}
static u32 sub_8146D74(struct MysteryEventStruct *a0)
static u32 GetMENewsJisanRewardItem(struct MENewsJisanStruct *a0)
{
u32 r4;
a0->unk_0_0 = 0;
r4 = a0->unk_1 + 0x84;
a0->unk_1 = 0;
sub_8146DD8(a0);
r4 = a0->berry + FIRST_BERRY_INDEX - 1;
a0->berry = 0;
MENewsJisanIncrementCounterUnk0_5(a0);
return r4;
}
static void sub_8146D94(struct MysteryEventStruct *a0)
static void MENewsJisanResetCounterUnk0_2(struct MENewsJisanStruct *a0)
{
a0->unk_0_2 = 0;
}
static void sub_8146DA0(struct MysteryEventStruct *a0)
static void MENewsJisanIncrementCounterUnk0_2(struct MENewsJisanStruct *a0)
{
a0->unk_0_2++;
if ((u8)a0->unk_0_2 > 4)
a0->unk_0_2 = 4;
}
static void sub_8146DD8(struct MysteryEventStruct *a0)
static void MENewsJisanIncrementCounterUnk0_5(struct MENewsJisanStruct *a0)
{
a0->unk_0_5++;
if ((u8)a0->unk_0_5 > 5)
a0->unk_0_5 = 5;
}
static u32 sub_8146E0C(struct MysteryEventStruct *a0)
static u32 GetMENewsJisanState(struct MENewsJisanStruct *a0)
{
struct MysteryEventStruct r0;
struct MENewsJisanStruct r0;
if ((u8)a0->unk_0_5 == 5)
return 6;
+6 -6
View File
@@ -69,7 +69,7 @@ bool8 MetatileBehavior_IsMB21OrSand(u8 metatileBehavior)
return FALSE;
}
bool8 MetatileBehavior_IsMB21OrWaterfallBottom(u8 metatileBehavior)
bool8 MetatileBehavior_IsSandOrDeepSand(u8 metatileBehavior)
{
if(metatileBehavior == MB_21 || metatileBehavior == MB_WATERFALL_BOTTOM)
return TRUE;
@@ -428,11 +428,11 @@ bool8 MetatileBehavior_IsTallGrass_2(u8 metatileBehavior)
return FALSE;
}
bool8 MetatileBehavior_ReturnFalse_3(u8 metatileBehavior) { return FALSE; }
bool8 MetatileBehavior_IsLongGrass(u8 metatileBehavior) { return FALSE; }
bool8 MetatileBehavior_ReturnFalse_4(u8 metatileBehavior) { return FALSE; }
bool8 MetatileBehavior_ReturnFalse_5(u8 metatileBehavior) { return FALSE; }
bool8 MetatileBehavior_ReturnFalse_6(u8 metatileBehavior) { return FALSE; }
bool8 MetatileBehavior_ReturnFalse_7(u8 metatileBehavior) { return FALSE; }
bool8 MetatileBehavior_IsBridge(u8 metatileBehavior) { return FALSE; }
bool8 MetatileBehavior_GetBridgeType(u8 metatileBehavior) { return FALSE; }
bool8 MetatileBehavior_UnusedIsMB_01(u8 metatileBehavior)
{
@@ -450,7 +450,7 @@ bool8 MetatileBehavior_UnusedIsTallGrass(u8 metatileBehavior)
return FALSE;
}
bool8 MetatileBehavior_IsMB0B(u8 metatileBehavior)
bool8 MetatileBehavior_IsIndoorEncounter(u8 metatileBehavior)
{
if(metatileBehavior == MB_0B)
return TRUE;
@@ -458,7 +458,7 @@ bool8 MetatileBehavior_IsMB0B(u8 metatileBehavior)
return FALSE;
}
bool8 MetatileBehavior_IsMB0C(u8 metatileBehavior)
bool8 MetatileBehavior_IsMountain(u8 metatileBehavior)
{
if(metatileBehavior == MB_0C)
return TRUE;
+6 -6
View File
@@ -423,7 +423,7 @@ void sub_8143910(u8 taskId)
}
break;
case 15:
data->t0E = ValidateTrainerTowerData((struct TrainerTowerData *)gDecompressionBuffer);
data->t0E = ValidateTrainerTowerData((struct EReaderTrainerHillSet *)gDecompressionBuffer);
sub_800AA80(data->t0E);
data->state = 16;
break;
@@ -437,7 +437,7 @@ void sub_8143910(u8 taskId)
}
break;
case 17:
if (CEReaderTool_SaveTrainerTower((struct TrainerTowerData *)gDecompressionBuffer))
if (CEReaderTool_SaveTrainerTower((struct EReaderTrainerHillSet *)gDecompressionBuffer))
{
AddTextPrinterToWindow1(gUnknown_841DE99);
ResetDelayTimer(&data->t00);
@@ -505,7 +505,7 @@ struct MEventBuffer_3430_Sub * sav1_get_mevent_buffer_2(void)
return &gSaveBlock1Ptr->unk_3120.buffer_310.data;
}
struct MysteryEventStruct * sub_8143D94(void)
struct MENewsJisanStruct * GetMENewsJisanStructPtr(void)
{
return &gSaveBlock1Ptr->unk_3120.unk_340;
}
@@ -562,8 +562,8 @@ void sub_8143E9C(void)
void sub_8143ED0(void)
{
CpuFill32(0, sub_8143D94(), sizeof(struct MysteryEventStruct));
sub_8146C88();
CpuFill32(0, GetMENewsJisanStructPtr(), sizeof(struct MENewsJisanStruct));
MENewsJisanReset();
}
bool32 sub_8143EF4(const u8 * src)
@@ -588,7 +588,7 @@ void DestroyWonderCard(void)
ClearRamScript();
sub_806E2D0();
sub_806E370();
sub_80E7524(gSaveBlock2Ptr->unk_B0.field_3F0);
sub_80E7524(&gSaveBlock2Ptr->unk_B0.field_3F0);
}
bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data)
+4 -4
View File
@@ -398,7 +398,7 @@ void sub_8146060(void)
gUnknown_203F3C8->unk_017C = 0xFF;
if (gUnknown_203F3C8->unk_014C.unk_06 != SPECIES_NONE)
{
gUnknown_203F3C8->unk_017C = sub_8096ECC(sub_8096FD4(gUnknown_203F3C8->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE);
gUnknown_203F3C8->unk_017C = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(gUnknown_203F3C8->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE);
gSprites[gUnknown_203F3C8->unk_017C].oam.priority = 2;
}
if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1)
@@ -412,7 +412,7 @@ void sub_8146060(void)
gUnknown_203F3C8->unk_017D[r7][0] = CreateSprite(&gUnknown_8467FA0, 0xd8 - 32 * r7, 0x90, 8);
if (gUnknown_203F3C8->unk_014C.unk_08[0][r7] != 0)
{
gUnknown_203F3C8->unk_017D[r7][1] = sub_8096ECC(sub_8096FD4(gUnknown_203F3C8->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0);
gUnknown_203F3C8->unk_017D[r7][1] = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(gUnknown_203F3C8->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0);
gSprites[gUnknown_203F3C8->unk_017D[r7][1]].oam.priority = 2;
}
}
@@ -423,7 +423,7 @@ void sub_81461D8(void)
{
u8 r6 = 0;
if (gUnknown_203F3C8->unk_017C != 0xFF)
sub_8097070(&gSprites[gUnknown_203F3C8->unk_017C]);
DestroyMonIcon(&gSprites[gUnknown_203F3C8->unk_017C]);
if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1)
{
for (; r6 < gUnknown_203F3C8->unk_0000.unk_09; r6++)
@@ -435,7 +435,7 @@ void sub_81461D8(void)
// if (gUnknown_203F3C8->unk_017D[r6][1] != 0xFF)
if (gUnknown_203F3C8->unk_017D[r6][0] != 0xFF)
{
sub_8097070(&gSprites[gUnknown_203F3C8->unk_017D[r6][1]]);
DestroyMonIcon(&gSprites[gUnknown_203F3C8->unk_017D[r6][1]]);
}
}
}
+1 -1
View File
@@ -226,7 +226,7 @@ static u32 ish_mainseq_4(struct mevent_client * svr)
sub_8069EA4(svr->recvBuffer, 1000);
break;
case 18:
memcpy(gSaveBlock2Ptr->unk_B0.field_3F0, svr->recvBuffer, 0xbc);
memcpy(&gSaveBlock2Ptr->unk_B0.field_3F0, svr->recvBuffer, sizeof(struct BattleTowerEReaderTrainer));
ValidateEReaderTrainer();
break;
case 21:
+1 -1
View File
@@ -281,7 +281,7 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx)
{
u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0];
memcpy(gSaveBlock2Ptr->unk_B0.field_3F0, (void *)data, 0xBC);
memcpy(&gSaveBlock2Ptr->unk_B0.field_3F0, (void *)data, sizeof(struct BattleTowerEReaderTrainer));
ValidateEReaderTrainer();
StringExpandPlaceholders(gStringVar4, gText_MysteryGiftNewTrainer);
ctx->data[2] = 2;
+5 -5
View File
@@ -1374,7 +1374,7 @@ void task00_mystery_gift(u8 taskId)
}
break;
case 13:
if (IsRfuTaskFinished())
if (IsLinkRfuTaskFinished())
{
DestroyWirelessStatusIndicatorSprite();
data->state = 14;
@@ -1412,11 +1412,11 @@ void task00_mystery_gift(u8 taskId)
{
if (data->source == 1)
{
GenerateRandomNews(1);
MENewsJisan_SetRandomReward(1);
}
else
{
GenerateRandomNews(2);
MENewsJisan_SetRandomReward(2);
}
}
if (sp0 == 0)
@@ -1650,7 +1650,7 @@ void task00_mystery_gift(u8 taskId)
data->state = 34;
break;
case 34:
if (IsRfuTaskFinished())
if (IsLinkRfuTaskFinished())
{
DestroyWirelessStatusIndicatorSprite();
data->state = 35;
@@ -1661,7 +1661,7 @@ void task00_mystery_gift(u8 taskId)
{
if (data->source == 1 && data->prevPromptWindowId == 3)
{
GenerateRandomNews(3);
MENewsJisan_SetRandomReward(3);
data->state = 17;
}
else
+3 -2
View File
@@ -25,6 +25,7 @@
#include "easy_chat.h"
#include "union_room_chat.h"
#include "mevent.h"
#include "renewable_hidden_items.h"
#include "trainer_tower.h"
#include "script.h"
#include "berry_powder.h"
@@ -102,7 +103,7 @@ void ResetMenuAndMonGlobals(void)
BerryPouch_CursorResetToTop();
sub_811089C();
sub_8083214(Random());
sub_806E6FC();
ResetSpecialVars();
}
void NewGameInitData(void)
@@ -145,7 +146,7 @@ void NewGameInitData(void)
copy_strings_to_sav1();
ResetMiniGamesResults();
sub_8143D24();
sub_815D838();
SetAllRenewableItemFlags();
WarpToPlayersRoom();
ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags);
StringCopy(gSaveBlock1Ptr->rivalName, rivalName);
+3 -5
View File
@@ -24,6 +24,7 @@
#include "math_util.h"
#include "overworld.h"
#include "random.h"
#include "data.h"
#include "oak_speech.h"
#include "constants/species.h"
#include "constants/songs.h"
@@ -110,9 +111,6 @@ extern const u8 gText_ABUTTONNext_BBUTTONBack[];
extern const u8 gText_Boy[];
extern const u8 gText_Girl[];
extern const struct CompressedSpriteSheet gUnknown_8235194[];
extern const struct CompressedSpritePalette gUnknown_82373F4;
ALIGNED(4) static const u16 sHelpDocsPalette[] = INCBIN_U16("data/oak_speech/help_docs_palette.gbapal");
static const u32 sOakSpeechGfx_GameStartHelpUI[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_game_start_help_u_i.4bpp.lz");
static const u32 sNewGameAdventureIntroTilemap[] = INCBIN_U32("data/oak_speech/new_game_adventure_intro_tilemap.bin.lz");
@@ -1612,8 +1610,8 @@ static void CreateNidoranFSprite(u8 taskId)
{
u8 spriteId;
DecompressPicFromTable(gUnknown_8235194, OakSpeechNidoranFGetBuffer(0), SPECIES_NIDORAN_F);
LoadCompressedSpritePaletteUsingHeap(&gUnknown_82373F4);
DecompressPicFromTable(&gMonFrontPicTable[SPECIES_NIDORAN_F], OakSpeechNidoranFGetBuffer(0), SPECIES_NIDORAN_F);
LoadCompressedSpritePaletteUsingHeap(&gMonPaletteTable[SPECIES_NIDORAN_F]);
SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0);
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1);
gSprites[spriteId].callback = SpriteCallbackDummy;
+3 -3
View File
@@ -149,7 +149,7 @@ void NewGameInitPCItems(void)
;
}
void sub_80EB6AC(void)
void BedroomPC(void)
{
u8 taskId;
@@ -161,7 +161,7 @@ void sub_80EB6AC(void)
DisplayItemMessageOnField(taskId, 2, gText_WhatWouldYouLikeToDo, Task_DrawPlayerPcTopMenu);
}
void sub_80EB6FC(void)
void PlayerPC(void)
{
u8 taskId;
@@ -566,7 +566,7 @@ static void Task_WaitFadeAndReadSelectedMail(u8 taskId)
{
MailboxPC_DestroyListMenuBuffer();
CleanupOverworldWindowsAndTilemaps();
sub_80BEBEC(&SELECTED_MAIL, CB2_SetCbToReturnToMailbox, 1);
ReadMail(&SELECTED_MAIL, CB2_SetCbToReturnToMailbox, 1);
DestroyTask(taskId);
}
}
+39 -40
View File
@@ -8,7 +8,7 @@
#include "data.h"
#include "string_util.h"
#include "battle.h"
#include "battle_main.h"
#include "battle_anim.h"
#include "item.h"
#include "event_data.h"
#include "util.h"
@@ -1467,38 +1467,38 @@ const struct SpriteTemplate gUnknown_825DEF0[] =
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F018,
.oam = &gOamData_824F018,
.anims = NULL,
.images = gUnknown_8234698,
.affineAnims = gUnknown_82348C8,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F010,
.oam = &gOamData_824F010,
.anims = NULL,
.images = gUnknown_82346B8,
.affineAnims = gUnknown_8234944,
.callback = oac_poke_opponent,
.affineAnims = gSpriteAffineAnimTable_8234944,
.callback = SpriteCB_WildMon,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F018,
.oam = &gOamData_824F018,
.anims = NULL,
.images = gUnknown_82346D8,
.affineAnims = gUnknown_82348C8,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F010,
.oam = &gOamData_824F010,
.anims = NULL,
.images = gUnknown_82346F8,
.affineAnims = gUnknown_8234944,
.callback = oac_poke_opponent,
.affineAnims = gSpriteAffineAnimTable_8234944,
.callback = SpriteCB_WildMon,
},
};
@@ -1507,55 +1507,55 @@ const struct SpriteTemplate gUnknown_825DF50[] =
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F018,
.oam = &gOamData_824F018,
.anims = NULL,
.images = gUnknown_8234718,
.affineAnims = gUnknown_82348C8,
.images = gTrainerBackPicTable_Red,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F018,
.oam = &gOamData_824F018,
.anims = NULL,
.images = gUnknown_8234740,
.affineAnims = gUnknown_82348C8,
.images = gTrainerBackPicTable_Leaf,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F018,
.oam = &gOamData_824F018,
.anims = NULL,
.images = gUnknown_82347A8,
.affineAnims = gUnknown_82348C8,
.images = gTrainerBackPicTable_RSBrendan,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F018,
.oam = &gOamData_824F018,
.anims = NULL,
.images = gUnknown_82347C8,
.affineAnims = gUnknown_82348C8,
.images = gTrainerBackPicTable_RSMay,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F018,
.oam = &gOamData_824F018,
.anims = NULL,
.images = gUnknown_8234768,
.affineAnims = gUnknown_82348C8,
.images = gTrainerBackPicTable_PokeDude,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
.oam = &gUnknown_824F018,
.oam = &gOamData_824F018,
.anims = NULL,
.images = gUnknown_8234788,
.affineAnims = gUnknown_82348C8,
.images = gTrainerBackPicTable_OldMan,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
};
@@ -2362,25 +2362,25 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
// In FRLG, the Battle Tower and opponent checks are stubbed here.
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{
if (FlagGet(FLAG_UNK820)
if (FlagGet(FLAG_BADGE01_GET)
&& !GetBattlerSide(battlerIdAtk))
attack = (110 * attack) / 100;
}
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{
if (FlagGet(FLAG_UNK824)
if (FlagGet(FLAG_BADGE05_GET)
&& !GetBattlerSide(battlerIdDef))
defense = (110 * defense) / 100;
}
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{
if (FlagGet(FLAG_UNK826)
if (FlagGet(FLAG_BADGE07_GET)
&& !GetBattlerSide(battlerIdAtk))
spAttack = (110 * spAttack) / 100;
}
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{
if (FlagGet(FLAG_UNK826)
if (FlagGet(FLAG_BADGE07_GET)
&& !GetBattlerSide(battlerIdDef))
spDefense = (110 * spDefense) / 100;
}
@@ -2698,7 +2698,7 @@ void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition)
}
}
gMultiuseSpriteTemplate.paletteTag = speciesTag;
gMultiuseSpriteTemplate.anims = gUnknown_82349BC;
gMultiuseSpriteTemplate.anims = gSpriteAnimTable_82349BC;
}
void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition)
@@ -3634,7 +3634,7 @@ static u8 SendMonToPC(struct Pokemon* mon)
gSpecialVar_MonBoxId = boxNo;
gSpecialVar_MonBoxPos = boxPos;
if (get_unknown_box_id() != boxNo)
FlagClear(FLAG_UNK843);
FlagClear(FLAG_SYS_CHANGED_BOX_TO_STORE_MON);
VarSet(VAR_0x4037, boxNo);
return MON_GIVEN_TO_PC;
}
@@ -4652,8 +4652,7 @@ bool8 PokemonUseItemEffects2(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mo
sp18 = itemEffect[r10];
r10++;
break;
case 7:\
case 7:
if (GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) >= 200
&& retVal == FALSE
&& sp18 == 0)
@@ -5406,7 +5405,7 @@ u16 GetMonEVCount(struct Pokemon *mon)
return count;
}
void sub_8043A68(void)
void RandomlyGivePartyPokerus(struct Pokemon *party)
{
u8 foo[4]; // huh?
}
@@ -5472,7 +5471,7 @@ static void sub_8043B38(void)
u8 foo[4]; // huh?
}
void sub_8043B40(void)
void PartySpreadPokerus(struct Pokemon *party)
{
u8 foo[4]; // huh?
}
@@ -6089,7 +6088,7 @@ static void OakSpeechNidoranFSetupTemplateDummy(struct OakSpeechNidoranFStruct *
for (j = 0; j < structPtr->frameCount; ++j)
structPtr->frameImages[i * structPtr->spriteCount + j].data = &structPtr->bufferPtrs[i][j * 0x800];
structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->spriteCount]; // should be frameCount logically
structPtr->templates[i].anims = gUnknown_82349BC;
structPtr->templates[i].anims = gSpriteAnimTable_82349BC;
structPtr->templates[i].paletteTag = i;
}
}
+1284
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -36,7 +36,7 @@ u16 Special_GetPokedexCount(void)
return IsNationalPokedexEnabled();
}
const u8 * sub_80CA424(u16 count)
static const u8 *GetProfOaksRatingMessageByCount(u16 count)
{
gSpecialVar_Result = FALSE;
@@ -102,7 +102,7 @@ const u8 * sub_80CA424(u16 count)
return gUnknown_81A6D17;
}
void sub_80CA524(void)
void Special_GetProfOaksRatingMessage(void)
{
ShowFieldMessage(sub_80CA424(gSpecialVar_0x8004));
ShowFieldMessage(GetProfOaksRatingMessageByCount(gSpecialVar_0x8004));
}
+2 -2
View File
@@ -47,7 +47,7 @@ const struct SpriteTemplate gUnknown_83E6DF8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_83E6DF4,
.callback = sub_8075D9C,
.callback = AnimSpriteOnMonPos,
};
const struct SpriteTemplate gUnknown_83E6E10 =
@@ -376,7 +376,7 @@ const struct SpriteTemplate gUnknown_83E7148 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_83E7144,
.callback = sub_8075D9C,
.callback = AnimSpriteOnMonPos,
};
static const union AffineAnimCmd gUnknown_83E7160[] =
+988 -1029
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -88,7 +88,7 @@ void sub_8150530(void)
else
{
sub_81507BC(mapObject, sub_805C808(4));
StartSpriteAnim(sprite, sub_80634F0(mapObject->mapobj_unk_18));
StartSpriteAnim(sprite, sub_80634F0(mapObject->facingDirection));
}
}
@@ -103,7 +103,7 @@ void sub_81505C4(u8 taskId)
FieldObjectClearAnimIfSpecialAnimActive(mapObject);
mapObject->mapobj_bit_11 = TRUE;
sub_81507BC(mapObject, sub_805C808(4));
StartSpriteAnim(sprite, sub_80634F0(mapObject->mapobj_unk_18));
StartSpriteAnim(sprite, sub_80634F0(mapObject->facingDirection));
gTasks[taskId].data[0]++;
gTasks[taskId].data[1] = 0;
break;
+19 -18
View File
@@ -2,6 +2,7 @@
#include "constants/species.h"
#include "malloc.h"
#include "battle.h"
#include "battle_anim.h"
#include "link.h"
#include "overworld.h"
#include "quest_log.h"
@@ -22,11 +23,11 @@ struct QuestLogStruct_WildBattleRecord
u8 v4;
};
void sub_812C334(s32 *, s32 *);
static void sub_812C334(s32 *, s32 *);
void sub_812BFDC(void)
{
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_OLDMAN_TUTORIAL | BATTLE_TYPE_POKEDUDE)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT))
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_OLD_MAN_TUTORIAL | BATTLE_TYPE_POKEDUDE)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT))
{
struct QuestLogStruct_TrainerBattleRecord * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_TrainerBattleRecord));
struct QuestLogStruct_WildBattleRecord * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_WildBattleRecord));
@@ -38,18 +39,18 @@ void sub_812BFDC(void)
{
switch (gTrainers[gTrainerBattleOpponent_A].trainerClass)
{
case 0x54:
questLogMessageType = 30;
break;
case 0x5a:
questLogMessageType = 33;
break;
case 0x57:
questLogMessageType = 32;
break;
default:
questLogMessageType = 34;
break;
case 0x54:
questLogMessageType = 30;
break;
case 0x5a:
questLogMessageType = 33;
break;
case 0x57:
questLogMessageType = 32;
break;
default:
questLogMessageType = 34;
break;
}
questLogTrainerBattleRecord->v0 = gTrainerBattleOpponent_A;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
@@ -141,7 +142,7 @@ void sub_812C224(void)
}
for (r3 = 0; r3 < 7; r3++)
{
r5->v1[0][r3] = gLinkPlayers[gBattleStruct->field_B5 ^ 1].name[r3];
r5->v1[0][r3] = gLinkPlayers[gBattleStruct->multiplayerId ^ 1].name[r3];
}
}
sub_8113550(r8, (const u16 *)r5);
@@ -149,16 +150,16 @@ void sub_812C224(void)
}
}
void sub_812C334(s32 * a0, s32 * a1)
static void sub_812C334(s32 * a0, s32 * a1)
{
s32 r5;
s32 _optimized_out = 0;
u8 r2 = gLinkPlayers[gBattleStruct->field_B5].id ^ 2;
u8 r2 = gLinkPlayers[gBattleStruct->multiplayerId].id ^ 2;
for (r5 = 0; r5 < 4; r5++)
{
if (r2 == gLinkPlayers[r5].id)
a0[0] = r5;
else if (r5 != gBattleStruct->field_B5)
else if (r5 != gBattleStruct->multiplayerId)
a1[_optimized_out++] = r5;
}
}
+609
View File
@@ -0,0 +1,609 @@
#include "global.h"
#include "event_data.h"
#include "random.h"
#include "constants/maps.h"
#include "constants/flags.h"
struct RenewableHiddenItemData
{
s8 mapGroup;
s8 mapNum;
u8 filler[2];
u8 rare[8]; // 10%
u8 uncommon[8]; // 30%
u8 common[8]; // 60%
};
static void SampleRenewableItemFlags(void);
static const struct RenewableHiddenItemData sRenewableHiddenItems[] = {
{
.mapGroup = MAP_GROUP(ROUTE20),
.mapNum = MAP_NUM(ROUTE20),
.rare = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_ROUTE20_STARDUST,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(ROUTE21_NORTH),
.mapNum = MAP_NUM(ROUTE21_NORTH),
.rare = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_ROUTE21_NORTH_PEARL,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL),
.mapNum = MAP_NUM(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL),
.rare = {
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ETHER,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_POTION,
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ANTIDOTE,
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_PARALYZE_HEAL,
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_AWAKENING,
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_BURN_HEAL,
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ICE_HEAL,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(UNDERGROUND_PATH_EAST_WEST_TUNNEL),
.mapNum = MAP_NUM(UNDERGROUND_PATH_EAST_WEST_TUNNEL),
.rare = {
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ETHER,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_POTION,
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ANTIDOTE,
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_PARALYZE_HEAL,
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_AWAKENING,
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_BURN_HEAL,
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ICE_HEAL,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS),
.mapNum = MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS),
.rare = {
HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_4,
HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE,
HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_2,
HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_3,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(MT_MOON_B1F),
.mapNum = MAP_NUM(MT_MOON_B1F),
.rare = {
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM,
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2,
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3,
HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM,
HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_2,
HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_3,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM,
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2,
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(THREE_ISLAND_BERRY_FOREST),
.mapNum = MAP_NUM(THREE_ISLAND_BERRY_FOREST),
.rare = {
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHERI_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ASPEAR_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PERSIM_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_LUM_BERRY
},
.uncommon = {
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHERI_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ASPEAR_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PERSIM_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY,
0xFF
},
.common = {
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAZZ_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_NANAB_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHESTO_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PECHA_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAWST_BERRY,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(ONE_ISLAND_TREASURE_BEACH),
.mapNum = MAP_NUM(ONE_ISLAND_TREASURE_BEACH),
.rare = {
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STAR_PIECE,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_BIG_PEARL,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST_2,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL_2,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2,
0xFF,
0xFF
},
.common = {
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(THREE_ISLAND_BOND_BRIDGE),
.mapNum = MAP_NUM(THREE_ISLAND_BOND_BRIDGE),
.rare = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_PEARL,
HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_STARDUST,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(FOUR_ISLAND),
.mapNum = MAP_NUM(FOUR_ISLAND),
.rare = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_FOUR_ISLAND_PEARL,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
HIDDEN_ITEM_FOUR_ISLAND_ULTRA_BALL,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(FIVE_ISLAND_MEMORIAL_PILLAR),
.mapNum = MAP_NUM(FIVE_ISLAND_MEMORIAL_PILLAR),
.rare = {
HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BIG_PEARL,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS),
.mapNum = MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS),
.rare = {
HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_NEST_BALL,
HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STAR_PIECE,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST,
HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST_2,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND),
.mapNum = MAP_NUM(SIX_ISLAND_OUTCAST_ISLAND),
.rare = {
HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_STAR_PIECE,
HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_NET_BALL,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(SIX_ISLAND_GREEN_PATH),
.mapNum = MAP_NUM(SIX_ISLAND_GREEN_PATH),
.rare = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
HIDDEN_ITEM_SIX_ISLAND_GREEN_PATH_ULTRA_BALL,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
{
.mapGroup = MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER),
.mapNum = MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER),
.rare = {
HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_BIG_PEARL,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.uncommon = {
HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_PEARL,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
},
.common = {
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
}
},
};
bool32 sub_815D834(void)
{
// Stubbed out?
return FALSE;
}
void SetAllRenewableItemFlags(void)
{
u8 i, j;
for (i = 0; i < 15; i++)
{
const u8 * rare = sRenewableHiddenItems[i].rare;
const u8 * uncommon = sRenewableHiddenItems[i].uncommon;
const u8 * common = sRenewableHiddenItems[i].common;
for (j = 0; j < 8; j++)
{
if (rare[j] != 0xFF)
FlagSet(FLAG_HIDDEN_ITEMS_START + rare[j]);
if (uncommon[j] != 0xFF)
FlagSet(FLAG_HIDDEN_ITEMS_START + uncommon[j]);
if (common[j] != 0xFF)
FlagSet(FLAG_HIDDEN_ITEMS_START + common[j]);
}
}
}
void IncrementRenewableHiddenItemStepCounter(void)
{
u16 var = VarGet(VAR_RENEWABLE_ITEM_STEP_COUNTER);
if (var < 1500)
{
VarSet(VAR_RENEWABLE_ITEM_STEP_COUNTER, var + 1);
}
}
void TryRegenerateRenewableHiddenItems(void)
{
u8 i;
u8 found_map = 0xFF;
for (i = 0; i < 15; i++)
{
if (sRenewableHiddenItems[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && sRenewableHiddenItems[i].mapNum == gSaveBlock1Ptr->location.mapNum)
found_map = i;
}
if (found_map == 0xFF)
return;
if (VarGet(VAR_RENEWABLE_ITEM_STEP_COUNTER) >= 1500)
{
VarSet(VAR_RENEWABLE_ITEM_STEP_COUNTER, 0);
SetAllRenewableItemFlags();
SampleRenewableItemFlags();
}
}
static void SampleRenewableItemFlags(void)
{
u8 i, j;
const u8 * flags;
u16 rval;
for (i = 0; i < 15; i++)
{
rval = Random() % 100;
if (rval >= 90)
flags = sRenewableHiddenItems[i].rare;
else if (rval >= 60)
flags = sRenewableHiddenItems[i].uncommon;
else
flags = sRenewableHiddenItems[i].common;
for (j = 0; j < 8; j++)
{
if (flags[j] != 0xFF)
FlagClear(FLAG_HIDDEN_ITEMS_START + flags[j]);
}
}
}
+3 -3
View File
@@ -211,7 +211,7 @@ static bool8 LoadBattlerSpriteGfx(u8 battler)
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler.
DecompressTrainerBackPalette(gSaveBlock2Ptr->playerGender, battler);
else if (gBattleTypeFlags & BATTLE_TYPE_OLDMAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler.
else if (gBattleTypeFlags & BATTLE_TYPE_OLD_MAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler.
DecompressTrainerBackPalette(5, battler);
else if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute)
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler);
@@ -256,7 +256,7 @@ static void CreateBattlerSprite(u8 battler)
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
}
else if (gBattleTypeFlags & BATTLE_TYPE_OLDMAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT)
else if (gBattleTypeFlags & BATTLE_TYPE_OLD_MAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT)
{
SetMultiuseSpriteTemplateToTrainerBack(5, GetBattlerPosition(0));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
@@ -292,7 +292,7 @@ static void CreateHealthboxSprite(u8 battler)
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT)
healthboxSpriteId = CreateSafariPlayerHealthboxSprites();
else if (gBattleTypeFlags & BATTLE_TYPE_OLDMAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT)
else if (gBattleTypeFlags & BATTLE_TYPE_OLD_MAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT)
return;
else
healthboxSpriteId = CreateBattlerHealthboxSprites(battler);
+13 -13
View File
@@ -50,15 +50,15 @@ extern const u8 *const gStdScriptsEnd[];
static bool8 sub_806B93C(struct ScriptContext * ctx);
static u8 sub_806B96C(struct ScriptContext * ctx);
EWRAM_DATA ptrdiff_t gVScriptOffset = 0;
EWRAM_DATA u8 gUnknown_20370AC = 0;
EWRAM_DATA u16 sPauseCounter = 0;
EWRAM_DATA u16 sMovingNpcId = 0;
EWRAM_DATA u16 sMovingNpcMapBank = 0;
EWRAM_DATA u16 sMovingNpcMapId = 0;
EWRAM_DATA u16 sFieldEffectScriptId = 0;
static EWRAM_DATA ptrdiff_t gVScriptOffset = 0;
static EWRAM_DATA u8 gUnknown_20370AC = 0;
static EWRAM_DATA u16 sPauseCounter = 0;
static EWRAM_DATA u16 sMovingNpcId = 0;
static EWRAM_DATA u16 sMovingNpcMapBank = 0;
static EWRAM_DATA u16 sMovingNpcMapId = 0;
static EWRAM_DATA u16 sFieldEffectScriptId = 0;
IWRAM_DATA struct ScriptContext * gUnknown_3005070;
struct ScriptContext * gUnknown_3005070;
extern u8 gSelectedEventObject;
@@ -1263,8 +1263,8 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
bool8 ScrCmd_textcolor(struct ScriptContext *ctx)
{
gUnknown_20370DC = gUnknown_20370DA;
gUnknown_20370DA = ScriptReadByte(ctx);
gSpecialVar_PrevTextColor = gSpecialVar_TextColor;
gSpecialVar_TextColor = ScriptReadByte(ctx);
return FALSE;
}
@@ -1835,7 +1835,7 @@ bool8 ScrCmd_showmoneybox(struct ScriptContext *ctx)
u8 y = ScriptReadByte(ctx);
u8 ignore = ScriptReadByte(ctx);
if (!ignore && sub_81119D4(sub_809D6D4) != TRUE)
if (!ignore && QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) != TRUE)
DrawMoneyBox(GetMoney(&gSaveBlock1Ptr->money), x, y);
return FALSE;
}
@@ -1865,7 +1865,7 @@ bool8 ScrCmd_showcoinsbox(struct ScriptContext *ctx)
u8 x = ScriptReadByte(ctx);
u8 y = ScriptReadByte(ctx);
if (sub_81119D4(sub_809D6D4) != TRUE)
if (QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) != TRUE)
ShowCoinsWindow(GetCoins(), x, y);
return FALSE;
}
@@ -1916,7 +1916,7 @@ bool8 ScrCmd_checktrainerflag(struct ScriptContext *ctx)
{
u16 index = VarGet(ScriptReadHalfword(ctx));
ctx->comparisonResult = HasTrainerAlreadyBeenFought(index);
ctx->comparisonResult = HasTrainerBeenFought(index);
return FALSE;
}
+1293
View File
File diff suppressed because it is too large Load Diff
+19 -19
View File
@@ -25,13 +25,13 @@
static EWRAM_DATA void * sBg3TilemapBuffer = NULL;
static void CB2_SetUpSeaGallopScene(void);
static void CB2_SetUpSeagallopScene(void);
static void VBlankCB_SeaGallop(void);
static void MainCB2_SeaGallop(void);
static void Task_SeaGallop_0(u8 taskId);
static void Task_SeaGallop_1(u8 taskId);
static void Task_SeaGallop_2(u8 taskId);
static void Task_SeaGallop_3(void);
static void Task_Seagallop_0(u8 taskId);
static void Task_Seagallop_1(u8 taskId);
static void Task_Seagallop_2(u8 taskId);
static void Task_Seagallop_3(void);
static void ResetGPU(void);
static void ResetAllAssets(void);
static void SetDispcnt(void);
@@ -64,7 +64,7 @@ static const struct BgTemplate sBGTemplates[] = {
}
};
static const s8 sSeaGallopSpawnTable[][4] = {
static const s8 sSeag[][4] = {
// Map X Y
[SEAGALLOP_VERMILION_CITY] = {MAP(VERMILION_CITY), 0x17, 0x20},
[SEAGALLOP_ONE_ISLAND] = {MAP(ONE_ISLAND_HARBOR), 0x08, 0x05},
@@ -176,14 +176,14 @@ static const struct SpriteTemplate sWakeSpriteTemplate = {
SpriteCB_Wake
};
void ScrSpecial_SeaGallopFerry(void)
void ScrSpecial_SeagallopFerry(void)
{
SetVBlankCallback(NULL);
HelpSystem_Disable();
SetMainCallback2(CB2_SetUpSeaGallopScene);
SetMainCallback2(CB2_SetUpSeagallopScene);
}
static void CB2_SetUpSeaGallopScene(void)
static void CB2_SetUpSeagallopScene(void)
{
void ** ptr;
switch (gMain.state)
@@ -248,7 +248,7 @@ static void CB2_SetUpSeaGallopScene(void)
SetGpuReg(REG_OFFSET_WINOUT, 0x00);
SetGpuReg(REG_OFFSET_WIN0H, 0x00F0);
SetGpuReg(REG_OFFSET_WIN0V, 0x1888);
CreateTask(Task_SeaGallop_0, 8);
CreateTask(Task_Seagallop_0, 8);
SetMainCallback2(MainCB2_SeaGallop);
gMain.state = 0;
break;
@@ -270,9 +270,9 @@ static void MainCB2_SeaGallop(void)
UpdatePaletteFade();
}
static void Task_SeaGallop_0(u8 taskId)
static void Task_Seagallop_0(u8 taskId)
{
gTasks[taskId].func = Task_SeaGallop_1;
gTasks[taskId].func = Task_Seagallop_1;
}
static void ScrollBG(void)
@@ -287,7 +287,7 @@ static void ScrollBG(void)
}
}
static void Task_SeaGallop_1(u8 taskId)
static void Task_Seagallop_1(u8 taskId)
{
struct Task * task = &gTasks[taskId];
@@ -296,29 +296,29 @@ static void Task_SeaGallop_1(u8 taskId)
{
Overworld_FadeOutMapMusic();
sub_807DC18();
task->func = Task_SeaGallop_2;
task->func = Task_Seagallop_2;
}
}
static void Task_SeaGallop_2(u8 taskId)
static void Task_Seagallop_2(u8 taskId)
{
ScrollBG();
if (sub_8055FC4() && !gPaletteFade.active)
{
Task_SeaGallop_3();
Task_Seagallop_3();
HelpSystem_Enable();
DestroyTask(taskId);
}
}
static void Task_SeaGallop_3(void)
static void Task_Seagallop_3(void)
{
const s8 * warpInfo;
if (gSpecialVar_0x8006 >= NELEMS(sSeaGallopSpawnTable))
if (gSpecialVar_0x8006 >= NELEMS(sSeag))
gSpecialVar_0x8006 = 0;
warpInfo = sSeaGallopSpawnTable[gSpecialVar_0x8006];
warpInfo = sSeag[gSpecialVar_0x8006];
SetWarpDestination(warpInfo[0], warpInfo[1], -1, warpInfo[2], warpInfo[3]);
PlayRainStoppingSoundEffect();
PlaySE(SE_KAIDAN);
+5 -5
View File
@@ -207,9 +207,9 @@ static void AppendToStartMenuItems(u8 newEntry)
static void SetUpStartMenu_NormalField(void)
{
if (FlagGet(FLAG_0x829) == TRUE)
if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
AppendToStartMenuItems(STARTMENU_POKEDEX);
if (FlagGet(FLAG_0x828) == TRUE)
if (FlagGet(FLAG_SYS_POKEMON_GET) == TRUE)
AppendToStartMenuItems(STARTMENU_POKEMON);
AppendToStartMenuItems(STARTMENU_BAG);
AppendToStartMenuItems(STARTMENU_PLAYER);
@@ -392,7 +392,7 @@ void ShowStartMenu(void)
{
if (!IsUpdateLinkStateCBActive())
{
player_bitmagic();
FreezeEventObjects();
sub_805C270();
sub_805C780();
}
@@ -445,7 +445,7 @@ static void StartMenu_FadeScreenIfLeavingOverworld(void)
&& sStartMenuCallback != StartMenuExitCallback
&& sStartMenuCallback != StartMenuSafariZoneRetireCallback)
{
sub_80CCB68();
StopPokemonLeagueLightingEffectTask();
fade_screen(1, 0);
}
}
@@ -973,7 +973,7 @@ static void PrintSaveStats(void)
SaveStatToString(SAVE_STAT_BADGES, gStringVar4, 2);
AddTextPrinterParameterized3(sSaveStatsWindowId, 0, 60, 28, sTextColor_StatValue, -1, gStringVar4);
y = 42;
if (FlagGet(FLAG_0x829) == TRUE)
if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
{
AddTextPrinterParameterized3(sSaveStatsWindowId, 0, 2, 42, sTextColor_StatName, -1, gSaveStatName_Pokedex);
SaveStatToString(SAVE_STAT_POKEDEX, gStringVar4, 2);
+2 -2
View File
@@ -1192,7 +1192,7 @@ static void TeachyTvPrepBattle(u8 taskId)
gSpecialVar_0x8004 = sStaticResources.whichScript;
gMain.savedCallback = TeachyTvRestorePlayerPartyCallback;
SavePlayerParty();
sub_8159F40();
InitPokedudePartyAndOpponent();
PlayMapChosenOrBattleBGM(MUS_DUMMY);
if (sStaticResources.whichScript == TTVSCR_BATTLE)
data[6] = 9;
@@ -1214,7 +1214,7 @@ static void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId)
case 1:
if (BT_IsDone())
{
SetMainCallback2(sub_800FD9C);
SetMainCallback2(CB2_InitBattle);
DestroyTask(taskId);
}
break;
+7 -7
View File
@@ -237,7 +237,7 @@ void sub_804C728(void)
case 5:
if (gWirelessCommType)
{
if (IsRfuTaskFinished())
if (IsLinkRfuTaskFinished())
{
gMain.state++;
LoadWirelessStatusIndicatorSpriteGfx();
@@ -267,7 +267,7 @@ void sub_804C728(void)
{
struct Pokemon *mon = &gPlayerParty[i];
gUnknown_2031DA8->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2),
sub_809718C,
SpriteCB_MonIcon,
(gTradeMonSpriteCoords[i][0] * 8) + 14,
(gTradeMonSpriteCoords[i][1] * 8) - 12,
1,
@@ -279,7 +279,7 @@ void sub_804C728(void)
{
struct Pokemon *mon = &gEnemyParty[i];
gUnknown_2031DA8->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
sub_809718C,
SpriteCB_MonIcon,
(gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
(gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
1,
@@ -698,7 +698,7 @@ void sub_804C728(void)
"\tldrb r0, [r0]\n"
"\tcmp r0, 0\n"
"\tbeq _0804C9E8\n"
"\tbl IsRfuTaskFinished\n"
"\tbl IsLinkRfuTaskFinished\n"
"\tlsls r0, 24\n"
"\tcmp r0, 0\n"
"\tbne _0804C9C4\n"
@@ -797,7 +797,7 @@ void sub_804C728(void)
"\tstr r0, [sp, 0x4]\n"
"\tstr r1, [sp, 0x8]\n"
"\tadds r0, r5, 0\n"
"\tldr r1, _0804CB44 @ =sub_809718C\n"
"\tldr r1, _0804CB44 @ =SpriteCB_MonIcon\n"
"\tbl CreateMonIcon\n"
"\tmov r2, r8\n"
"\tldr r1, [r2]\n"
@@ -856,7 +856,7 @@ void sub_804C728(void)
"\tmovs r0, 0\n"
"\tstr r0, [sp, 0x8]\n"
"\tadds r0, r5, 0\n"
"\tldr r1, _0804CB44 @ =sub_809718C\n"
"\tldr r1, _0804CB44 @ =SpriteCB_MonIcon\n"
"\tbl CreateMonIcon\n"
"\tmov r2, r8\n"
"\tldr r1, [r2]\n"
@@ -883,7 +883,7 @@ void sub_804C728(void)
"_0804CB38: .4byte gTradeMonSpriteCoords\n"
"_0804CB3C: .4byte gPlayerParty\n"
"_0804CB40: .4byte 0xfff40000\n"
"_0804CB44: .4byte sub_809718C\n"
"_0804CB44: .4byte SpriteCB_MonIcon\n"
"_0804CB48: .4byte gEnemyParty\n"
"_0804CB4C: .4byte gMain\n"
"_0804CB50:\n"
+2 -2
View File
@@ -14,7 +14,7 @@ extern const struct CompressedSpriteSheet gMonBackPicTable[];
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
extern const struct CompressedSpriteSheet gTrainerBackPicTable[];
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const union AnimCmd *const gUnknown_82349BC[];
extern const union AnimCmd *const gSpriteAnimTable_82349BC[];
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
// Static type declarations
@@ -138,7 +138,7 @@ void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 paletteSlot
void AssignSpriteAnimsTable(bool8 isTrainer)
{
if (!isTrainer)
sCreatingSpriteTemplate.anims = gUnknown_82349BC;
sCreatingSpriteTemplate.anims = gSpriteAnimTable_82349BC;
else
sCreatingSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[0];
}
+548 -723
View File
File diff suppressed because it is too large Load Diff
+118 -19
View File
@@ -7,36 +7,133 @@
#include "metatile_behavior.h"
#include "link.h"
#include "link_rfu.h"
#include "constants/species.h"
#include "constants/moves.h"
#include "constants/pokemon.h"
struct UnkStruct_84792D0
struct PokedudeBattlePartyInfo
{
u8 field_0;
u8 field_1;
u16 field_2;
u16 field_4[4];
u8 field_C;
u8 field_D;
u8 side;
u8 level;
u16 species;
u16 moves[4];
u8 nature;
u8 gender;
};
extern const struct UnkStruct_84792D0 *const gUnknown_84792D0[];
static const struct PokedudeBattlePartyInfo sParties_Battle[] = {
{
.side = 0,
.level = 15,
.species = SPECIES_RATTATA,
.moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK},
.nature = NATURE_LONELY,
.gender = MALE
},
{
.side = 1,
.level = 18,
.species = SPECIES_PIDGEY,
.moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
.nature = NATURE_NAUGHTY,
.gender = MALE
},
{0xFF}
};
void sub_8159F40(void)
static const struct PokedudeBattlePartyInfo sParties_Status[] = {
{
.side = 0,
.level = 15,
.species = SPECIES_RATTATA,
.moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK},
.nature = NATURE_LONELY,
.gender = MALE
},
{
.side = 1,
.level = 14,
.species = SPECIES_ODDISH,
.moves = {MOVE_ABSORB, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
.nature = NATURE_RASH,
.gender = MALE
},
{0xFF}
};
static const struct PokedudeBattlePartyInfo sParties_Matchups[] = {
{
.side = 0,
.level = 15,
.species = SPECIES_POLIWAG,
.moves = {MOVE_WATER_GUN, MOVE_HYPNOSIS, MOVE_BUBBLE},
.nature = NATURE_RASH,
.gender = MALE
},
{
.side = 0,
.level = 15,
.species = SPECIES_BUTTERFREE,
.moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER},
.nature = NATURE_RASH,
.gender = MALE
},
{
.side = 1,
.level = 14,
.species = SPECIES_ODDISH,
.moves = {MOVE_ABSORB, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
.nature = NATURE_RASH,
.gender = MALE
},
{0xFF}
};
static const struct PokedudeBattlePartyInfo sParties_Catching[] = {
{
.side = 0,
.level = 15,
.species = SPECIES_BUTTERFREE,
.moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
.nature = NATURE_RASH,
.gender = MALE
},
{
.side = 1,
.level = 11,
.species = SPECIES_JIGGLYPUFF,
.moves = {MOVE_SING, MOVE_DEFENSE_CURL, MOVE_POUND},
.nature = NATURE_CAREFUL,
.gender = MALE
},
{0xFF}
};
static const struct PokedudeBattlePartyInfo *const sPokedudeBattlePartyPointers[] = {
sParties_Battle,
sParties_Status,
sParties_Matchups,
sParties_Catching
};
void InitPokedudePartyAndOpponent(void)
{
s32 i, j;
struct Pokemon *mon;
struct Pokemon * mon;
s32 myIdx = 0;
s32 opIdx = 0;
const struct UnkStruct_84792D0 * data;
const struct PokedudeBattlePartyInfo * data;
gBattleTypeFlags = BATTLE_TYPE_POKEDUDE;
ZeroPlayerPartyMons();
ZeroEnemyPartyMons();
data = gUnknown_84792D0[gSpecialVar_0x8004];
data = sPokedudeBattlePartyPointers[gSpecialVar_0x8004];
i = 0;
do
{
if (data[i].field_0 == 0)
if (data[i].side == 0)
{
mon = &gPlayerParty[myIdx];
myIdx++;
@@ -46,15 +143,17 @@ void sub_8159F40(void)
mon = &gEnemyParty[opIdx];
opIdx++;
}
CreateMonWithGenderNatureLetter(mon, data[i].field_2, data[i].field_1, 0, data[i].field_D, data[i].field_C, 0);
CreateMonWithGenderNatureLetter(mon, data[i].species, data[i].level, 0, data[i].gender, data[i].nature, 0);
for (j = 0; j < 4; j++)
{
SetMonMoveSlot(mon, data[i].field_4[j], j);
SetMonMoveSlot(mon, data[i].moves[j], j);
}
i++;
} while (data[i].field_0 != 0xFF);
} while (data[i].side != 0xFF);
}
// file boundary?
void sub_815A008(struct QuestLog * questLog)
{
u32 i;
@@ -78,7 +177,7 @@ void sub_815A008(struct QuestLog * questLog)
questLog->unk_008[i].mapobj_bit_24 = gMapObjects[i].mapobj_bit_24;
questLog->unk_008[i].mapobj_bit_25 = gMapObjects[i].mapobj_bit_25;
questLog->unk_008[i].mapobj_bit_26 = gMapObjects[i].mapobj_bit_26;
questLog->unk_008[i].mapobj_unk_18 = gMapObjects[i].mapobj_unk_18;
questLog->unk_008[i].mapobj_unk_18 = gMapObjects[i].facingDirection;
questLog->unk_008[i].mapobj_unk_0B_0 = gMapObjects[i].mapobj_unk_0B_0;
questLog->unk_008[i].elevation = gMapObjects[i].elevation;
questLog->unk_008[i].graphicsId = gMapObjects[i].graphicsId;
@@ -123,7 +222,7 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct MapObjectTemplat
gMapObjects[i].mapobj_bit_24 = questLogMapObjects[i].mapobj_bit_24;
gMapObjects[i].mapobj_bit_25 = questLogMapObjects[i].mapobj_bit_25;
gMapObjects[i].mapobj_bit_26 = questLogMapObjects[i].mapobj_bit_26;
gMapObjects[i].mapobj_unk_18 = questLogMapObjects[i].mapobj_unk_18;
gMapObjects[i].facingDirection = questLogMapObjects[i].mapobj_unk_18;
gMapObjects[i].mapobj_unk_0B_0 = questLogMapObjects[i].mapobj_unk_0B_0;
gMapObjects[i].elevation = questLogMapObjects[i].elevation;
gMapObjects[i].graphicsId = questLogMapObjects[i].graphicsId;
@@ -614,7 +713,7 @@ void sub_815A540(void)
PlayerGetDestCoords(&x, &y);
if (!MetatileBehavior_IsSurfable(MapGridGetMetatileBehaviorAt(x, y)) && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
{
struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
struct MapObject * mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
SetPlayerAvatarTransitionFlags(0x01);
DestroySprite(&gSprites[mapObject->mapobj_unk_1A]);
}
+500 -497
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -180,7 +180,7 @@ s32 BuildPokedexAreaSubspriteBuffer(u16 species, struct Subsprite * subsprites)
seviiAreas = GetUnlockedSeviiAreas();
alteringCaveCount = 0;
alteringCaveNum = VarGet(VAR_0x4024);
alteringCaveNum = VarGet(VAR_ALTERING_CAVE_WILD_SET);
if (alteringCaveNum > 8)
alteringCaveNum = 0;
for (i = 0, areaCount = 0; gWildMonHeaders[i].mapGroup != 0xFF; i++)