Merge branch 'master' into doc-union
This commit is contained in:
+5
-5
@@ -48,7 +48,7 @@
|
||||
* - Asking which move a mon should use, which they will ask at most 5 times
|
||||
* - Asking what held item to give to a mon, which they will ask at most 3 times (once for each mon)
|
||||
* - Asking what they should say when they win a battle, which will always be their final question before departing
|
||||
*
|
||||
*
|
||||
* ## After departing
|
||||
* After telling them what they should say when they win a battle they will leave the lobby for a final time
|
||||
* They will then be replaced by a new random Apprentice (they can repeat)
|
||||
@@ -274,7 +274,7 @@ static void SetRandomQuestionData(void)
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(questionOrder); i++)
|
||||
questionOrder[i] = sQuestionPossibilities[i];
|
||||
|
||||
|
||||
// Shuffle the questions an arbitrary 50 times
|
||||
for (i = 0; i < 50; i++)
|
||||
{
|
||||
@@ -788,7 +788,7 @@ static void GetNumApprenticePartyMonsAssigned(void)
|
||||
static void IsFinalQuestion(void)
|
||||
{
|
||||
s32 questionNum = CURRENT_QUESTION_NUM;
|
||||
|
||||
|
||||
if (questionNum < 0)
|
||||
{
|
||||
// Not finished asking initial questions
|
||||
@@ -941,7 +941,7 @@ static void ApprenticeGetQuestion(void)
|
||||
gSpecialVar_Result = APPRENTICE_QUESTION_WHICH_FIRST;
|
||||
break;
|
||||
default:
|
||||
//case QUESTION_ID_WIN_SPEECH:
|
||||
//case QUESTION_ID_WIN_SPEECH:
|
||||
gSpecialVar_Result = APPRENTICE_QUESTION_WIN_SPEECH;
|
||||
break;
|
||||
}
|
||||
@@ -1107,7 +1107,7 @@ static void TrySetApprenticeHeldItem(void)
|
||||
|
||||
if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS)
|
||||
return;
|
||||
|
||||
|
||||
count = 0;
|
||||
for (j = 0; j < APPRENTICE_MAX_QUESTIONS; j++)
|
||||
{
|
||||
|
||||
@@ -1632,13 +1632,13 @@ static void Cmd_if_status_not_in_party(void)
|
||||
|
||||
static void Cmd_get_weather(void)
|
||||
{
|
||||
if (gBattleWeather & WEATHER_RAIN_ANY)
|
||||
if (gBattleWeather & B_WEATHER_RAIN)
|
||||
AI_THINKING_STRUCT->funcResult = AI_WEATHER_RAIN;
|
||||
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
|
||||
if (gBattleWeather & B_WEATHER_SANDSTORM)
|
||||
AI_THINKING_STRUCT->funcResult = AI_WEATHER_SANDSTORM;
|
||||
if (gBattleWeather & WEATHER_SUN_ANY)
|
||||
if (gBattleWeather & B_WEATHER_SUN)
|
||||
AI_THINKING_STRUCT->funcResult = AI_WEATHER_SUN;
|
||||
if (gBattleWeather & WEATHER_HAIL_ANY)
|
||||
if (gBattleWeather & B_WEATHER_HAIL)
|
||||
AI_THINKING_STRUCT->funcResult = AI_WEATHER_HAIL;
|
||||
|
||||
gAIScriptPtr += 1;
|
||||
|
||||
@@ -866,7 +866,7 @@ static bool8 ShouldUseItem(void)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_SLEEP);
|
||||
shouldUse = TRUE;
|
||||
}
|
||||
if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON
|
||||
if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON
|
||||
|| gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON))
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_POISON);
|
||||
|
||||
+8
-8
@@ -2185,8 +2185,8 @@ static void sub_80A40F4(u8 taskId)
|
||||
|
||||
newTaskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10);
|
||||
gTasks[newTaskId].data[t2_BATTLER_SPRITE_ID] = battlerSpriteId;
|
||||
gTasks[newTaskId].data[1] = gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x;
|
||||
gTasks[newTaskId].data[2] = gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y;
|
||||
gTasks[newTaskId].data[1] = gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2;
|
||||
gTasks[newTaskId].data[2] = gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2;
|
||||
|
||||
if (!selfData[t1_MON_IN_BG2])
|
||||
{
|
||||
@@ -2310,11 +2310,11 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
|
||||
battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
|
||||
gBattle_BG1_X = -(gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x) + 0x20;
|
||||
gBattle_BG1_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20;
|
||||
if (IsContest() && IsSpeciesNotUnown(gContestResources->moveAnim->species))
|
||||
gBattle_BG1_X--;
|
||||
|
||||
gBattle_BG1_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20;
|
||||
gBattle_BG1_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20;
|
||||
if (setSpriteInvisible)
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
|
||||
@@ -2347,8 +2347,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
|
||||
battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
|
||||
gBattle_BG2_X = -(gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x) + 0x20;
|
||||
gBattle_BG2_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20;
|
||||
gBattle_BG2_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20;
|
||||
gBattle_BG2_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20;
|
||||
|
||||
if (setSpriteInvisible)
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
@@ -2436,8 +2436,8 @@ static void task_pA_ma0A_obj_to_bg_pal(u8 taskId)
|
||||
spriteId = gTasks[taskId].data[0];
|
||||
palIndex = gTasks[taskId].data[6];
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
x = gTasks[taskId].data[1] - (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x);
|
||||
y = gTasks[taskId].data[2] - (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y);
|
||||
x = gTasks[taskId].data[1] - (gSprites[spriteId].x + gSprites[spriteId].x2);
|
||||
y = gTasks[taskId].data[2] - (gSprites[spriteId].y + gSprites[spriteId].y2);
|
||||
|
||||
if (gTasks[taskId].data[5] == 0)
|
||||
{
|
||||
|
||||
+23
-23
@@ -212,8 +212,8 @@ static void AnimMegahornHorn(struct Sprite *sprite)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
}
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
||||
@@ -236,8 +236,8 @@ static void AnimLeechLifeNeedle(struct Sprite *sprite)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
}
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
@@ -261,8 +261,8 @@ static void AnimTranslateWebThread(struct Sprite *sprite)
|
||||
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
|
||||
if (!gBattleAnimArgs[4])
|
||||
{
|
||||
@@ -287,22 +287,22 @@ static void AnimTranslateWebThread_Step(struct Sprite *sprite)
|
||||
return;
|
||||
}
|
||||
|
||||
sprite->pos2.x += Sin(sprite->data[6], sprite->data[5]);
|
||||
sprite->x2 += Sin(sprite->data[6], sprite->data[5]);
|
||||
sprite->data[6] = (sprite->data[6] + 13) & 0xFF;
|
||||
}
|
||||
|
||||
// Second stage of String Shot
|
||||
static void AnimStringWrap(struct Sprite *sprite)
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimAttacker))
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
if (!GetBattlerSide(gBattleAnimTarget))
|
||||
sprite->pos1.y += 8;
|
||||
sprite->y += 8;
|
||||
|
||||
sprite->callback = AnimStringWrap_Step;
|
||||
}
|
||||
@@ -396,7 +396,7 @@ static void AnimTranslateStinger(struct Sprite *sprite)
|
||||
|
||||
lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
||||
lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
rot = ArcTan2Neg(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y);
|
||||
rot = ArcTan2Neg(lVarX - sprite->x, lVarY - sprite->y);
|
||||
rot += 0xC000;
|
||||
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rot);
|
||||
|
||||
@@ -444,10 +444,10 @@ static void AnimMissileArc_Step(struct Sprite *sprite)
|
||||
{
|
||||
s16 tempData[8];
|
||||
u16 *data = sprite->data;
|
||||
u16 x1 = sprite->pos1.x;
|
||||
s16 x2 = sprite->pos2.x;
|
||||
u16 y1 = sprite->pos1.y;
|
||||
s16 y2 = sprite->pos2.y;
|
||||
u16 x1 = sprite->x;
|
||||
s16 x2 = sprite->x2;
|
||||
u16 y1 = sprite->y;
|
||||
s16 y2 = sprite->y2;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
@@ -458,8 +458,8 @@ static void AnimMissileArc_Step(struct Sprite *sprite)
|
||||
|
||||
if (!TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - x2,
|
||||
sprite->pos1.y + sprite->pos2.y - y2);
|
||||
u16 rotation = ArcTan2Neg(sprite->x + sprite->x2 - x2,
|
||||
sprite->y + sprite->y2 - y2);
|
||||
rotation += 0xC000;
|
||||
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rotation);
|
||||
|
||||
@@ -473,13 +473,13 @@ static void AnimTailGlowOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 18;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 18;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 18;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 18;
|
||||
}
|
||||
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
|
||||
+26
-26
@@ -287,18 +287,18 @@ static void AnimUnusedBagSteal_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
if (sprite->data[7] == 0)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
sprite->data[0]--;
|
||||
}
|
||||
|
||||
sprite->pos2.y += Sin(sprite->data[5], sprite->data[6]);
|
||||
sprite->y2 += Sin(sprite->data[5], sprite->data[6]);
|
||||
sprite->data[5] = (sprite->data[5] + 3) & 0xFF;
|
||||
if (sprite->data[5] > 0x7F)
|
||||
{
|
||||
@@ -314,8 +314,8 @@ static void AnimUnusedBagSteal_Step(struct Sprite *sprite)
|
||||
// Move sprite inward for Bite/Crunch and Clamp
|
||||
static void AnimBite(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[1] = gBattleAnimArgs[4];
|
||||
@@ -327,8 +327,8 @@ static void AnimBite_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] += sprite->data[0];
|
||||
sprite->data[5] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = sprite->data[5] >> 8;
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = sprite->data[5] >> 8;
|
||||
if (++sprite->data[3] == sprite->data[2])
|
||||
sprite->callback = AnimBite_Step2;
|
||||
}
|
||||
@@ -337,8 +337,8 @@ static void AnimBite_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] -= sprite->data[0];
|
||||
sprite->data[5] -= sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = sprite->data[5] >> 8;
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = sprite->data[5] >> 8;
|
||||
if (--sprite->data[3] == 0)
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
}
|
||||
@@ -360,30 +360,30 @@ static void AnimTearDrop(struct Sprite *sprite)
|
||||
switch (gBattleAnimArgs[1])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 8;
|
||||
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8;
|
||||
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 8;
|
||||
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 14;
|
||||
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16;
|
||||
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 14;
|
||||
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16;
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 8;
|
||||
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8;
|
||||
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 8;
|
||||
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
xOffset = -20;
|
||||
break;
|
||||
case 3:
|
||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 14;
|
||||
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16;
|
||||
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 14;
|
||||
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
xOffset = -20;
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->data[0] = 32;
|
||||
sprite->data[2] = sprite->pos1.x + xOffset;
|
||||
sprite->data[4] = sprite->pos1.y + 12;
|
||||
sprite->data[2] = sprite->x + xOffset;
|
||||
sprite->data[4] = sprite->y + 12;
|
||||
sprite->data[5] = -12;
|
||||
|
||||
InitAnimArcTranslation(sprite);
|
||||
@@ -784,7 +784,7 @@ void AnimTask_InitMementoShadow(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
void sub_8114470(u8 taskId)
|
||||
void AnimTask_MementoHandleBg(u8 taskId)
|
||||
{
|
||||
u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0;
|
||||
ResetBattleAnimBg(toBG2);
|
||||
@@ -798,8 +798,8 @@ void sub_8114470(u8 taskId)
|
||||
// Animates a deep slash from a claw. Used by Metal Claw, Dragon Claw, and Crush Claw
|
||||
static void AnimClawSlash(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -865,8 +865,8 @@ void AnimTask_MetallicShine(u8 taskId)
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32);
|
||||
|
||||
gBattle_BG1_X = -gSprites[spriteId].pos1.x + 96;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
|
||||
gBattle_BG1_X = -gSprites[spriteId].x + 96;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].y + 32;
|
||||
paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
|
||||
|
||||
if (gBattleAnimArgs[1] == 0)
|
||||
|
||||
+28
-28
@@ -189,20 +189,20 @@ const struct SpriteTemplate gOverheatFlameSpriteTemplate =
|
||||
|
||||
static void AnimOutrageFlame(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
|
||||
gBattleAnimArgs[4] = -gBattleAnimArgs[4];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
}
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[3] = gBattleAnimArgs[4];
|
||||
@@ -219,15 +219,15 @@ static void StartDragonFireTranslation(struct Sprite *sprite)
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[1];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x -= gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] -= gBattleAnimArgs[2];
|
||||
sprite->data[4] += gBattleAnimArgs[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] += gBattleAnimArgs[2];
|
||||
sprite->data[4] += gBattleAnimArgs[3];
|
||||
StartSpriteAnim(sprite, 1);
|
||||
@@ -242,17 +242,17 @@ static void AnimDragonRageFirePlume(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
}
|
||||
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[1]);
|
||||
sprite->pos1.y += gBattleAnimArgs[2];
|
||||
sprite->y += gBattleAnimArgs[2];
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
}
|
||||
@@ -270,8 +270,8 @@ static void AnimDragonDanceOrb(struct Sprite *sprite)
|
||||
{
|
||||
u16 r5;
|
||||
u16 r0;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[5] = 1;
|
||||
sprite->data[6] = gBattleAnimArgs[0];
|
||||
@@ -281,8 +281,8 @@ static void AnimDragonDanceOrb(struct Sprite *sprite)
|
||||
sprite->data[7] = r5 / 2;
|
||||
else
|
||||
sprite->data[7] = r0 / 2;
|
||||
sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
|
||||
sprite->x2 = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->y2 = Sin(sprite->data[6], sprite->data[7]);
|
||||
sprite->callback = AnimDragonDanceOrb_Step;
|
||||
}
|
||||
|
||||
@@ -292,8 +292,8 @@ static void AnimDragonDanceOrb_Step(struct Sprite *sprite)
|
||||
{
|
||||
case 0:
|
||||
sprite->data[6] = (sprite->data[6] - sprite->data[5]) & 0xFF;
|
||||
sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
|
||||
sprite->x2 = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->y2 = Sin(sprite->data[6], sprite->data[7]);
|
||||
if (++sprite->data[4] > 5)
|
||||
{
|
||||
sprite->data[4] = 0;
|
||||
@@ -310,8 +310,8 @@ static void AnimDragonDanceOrb_Step(struct Sprite *sprite)
|
||||
sprite->data[6] = (sprite->data[6] - sprite->data[5]) & 0xFF;
|
||||
if (sprite->data[7] <= 0x95 && (sprite->data[7] += 8) > 0x95)
|
||||
sprite->data[7] = 0x96;
|
||||
sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
|
||||
sprite->x2 = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->y2 = Sin(sprite->data[6], sprite->data[7]);
|
||||
if (++sprite->data[4] > 5)
|
||||
{
|
||||
sprite->data[4] = 0;
|
||||
@@ -417,12 +417,12 @@ static void AnimOverheatFlame(struct Sprite *sprite)
|
||||
{
|
||||
int i;
|
||||
int yAmplitude = (gBattleAnimArgs[2] * 3) / 5;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[4];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[4];
|
||||
sprite->data[1] = Cos(gBattleAnimArgs[1], gBattleAnimArgs[2]);
|
||||
sprite->data[2] = Sin(gBattleAnimArgs[1], yAmplitude);
|
||||
sprite->pos1.x += sprite->data[1] * gBattleAnimArgs[0];
|
||||
sprite->pos1.y += sprite->data[2] * gBattleAnimArgs[0];
|
||||
sprite->x += sprite->data[1] * gBattleAnimArgs[0];
|
||||
sprite->y += sprite->data[2] * gBattleAnimArgs[0];
|
||||
sprite->data[3] = gBattleAnimArgs[3];
|
||||
sprite->callback = AnimOverheatFlame_Step;
|
||||
for (i = 0; i < 7; i++)
|
||||
@@ -433,8 +433,8 @@ static void AnimOverheatFlame_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->data[5] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[4] / 10;
|
||||
sprite->pos2.y = sprite->data[5] / 10;
|
||||
sprite->x2 = sprite->data[4] / 10;
|
||||
sprite->y2 = sprite->data[5] / 10;
|
||||
if (++sprite->data[0] > sprite->data[3])
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
+306
-306
File diff suppressed because it is too large
Load Diff
+185
-185
@@ -1266,7 +1266,7 @@ static void AnimCirclingFinger(struct Sprite *sprite)
|
||||
{
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
sprite->data[3] = gBattleAnimArgs[5];
|
||||
@@ -1295,12 +1295,12 @@ static void AnimBouncingMusicNote_Step(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y -= 3;
|
||||
sprite->y2 -= 3;
|
||||
if (++sprite->data[1] == 6)
|
||||
sprite->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.y += 3;
|
||||
sprite->y2 += 3;
|
||||
if (--sprite->data[1] == 0)
|
||||
sprite->data[0]++;
|
||||
break;
|
||||
@@ -1314,12 +1314,12 @@ static void AnimBouncingMusicNote_Step(struct Sprite *sprite)
|
||||
static void AnimVibrateBattlerBack_Step(struct Sprite *sprite)
|
||||
{
|
||||
s16 temp;
|
||||
gSprites[sprite->data[2]].pos2.x += sprite->data[1];
|
||||
gSprites[sprite->data[2]].x2 += sprite->data[1];
|
||||
temp = sprite->data[1];
|
||||
sprite->data[1] = -temp;
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
gSprites[sprite->data[2]].pos2.x = 0;
|
||||
gSprites[sprite->data[2]].x2 = 0;
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
}
|
||||
|
||||
@@ -1329,15 +1329,15 @@ static void AnimVibrateBattlerBack_Step(struct Sprite *sprite)
|
||||
static void AnimVibrateBattlerBack(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
spriteId = gBattlerSpriteIds[gBattleAnimTarget];
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = spriteId;
|
||||
@@ -1358,8 +1358,8 @@ static void AnimMovingClamp(struct Sprite *sprite)
|
||||
static void AnimMovingClamp_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = sprite->data[1];
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[4] = sprite->pos1.y + 15;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[4] = sprite->y + 15;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, AnimMovingClamp_End);
|
||||
}
|
||||
@@ -1394,7 +1394,7 @@ static void AnimTask_Withdraw_Step(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[0] += 0xB0;
|
||||
// this y position update gets overwritten by SetBattlerSpriteYOffsetFromRotation()
|
||||
gSprites[spriteId].pos2.y++;
|
||||
gSprites[spriteId].y2++;
|
||||
}
|
||||
else if (gTasks[taskId].data[1] == 1)
|
||||
{
|
||||
@@ -1407,7 +1407,7 @@ static void AnimTask_Withdraw_Step(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[0] -= 0xB0;
|
||||
// this y position update gets overwritten by SetBattlerSpriteYOffsetFromRotation()
|
||||
gSprites[spriteId].pos2.y--;
|
||||
gSprites[spriteId].y2--;
|
||||
}
|
||||
|
||||
SetBattlerSpriteYOffsetFromRotation(spriteId);
|
||||
@@ -1433,11 +1433,11 @@ static void AnimKinesisZapEnergy(struct Sprite *sprite)
|
||||
{
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->hFlip = 1;
|
||||
@@ -1467,8 +1467,8 @@ static void AnimSwordsDanceBlade(struct Sprite *sprite)
|
||||
static void AnimSwordsDanceBlade_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 6;
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[4] = sprite->pos1.y - 32;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[4] = sprite->y - 32;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -1500,7 +1500,7 @@ static void AnimSonicBoomProjectile(struct Sprite *sprite)
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
targetXPos = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
||||
targetYPos = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
rotation = ArcTan2Neg(targetXPos - sprite->pos1.x, targetYPos - sprite->pos1.y);
|
||||
rotation = ArcTan2Neg(targetXPos - sprite->x, targetYPos - sprite->y);
|
||||
rotation += 0xF000;
|
||||
if (IsContest())
|
||||
rotation -= 0x6000;
|
||||
@@ -1539,14 +1539,14 @@ static void AnimAirWaveProjectile_Step1(struct Sprite *sprite)
|
||||
sprite->data[1] += sprite->data[5];
|
||||
sprite->data[2] += sprite->data[6];
|
||||
if (1 & task->data[7])
|
||||
sprite->pos2.x = ((u16)sprite->data[1] >> 8) * -1;
|
||||
sprite->x2 = ((u16)sprite->data[1] >> 8) * -1;
|
||||
else
|
||||
sprite->pos2.x = (u16)sprite->data[1] >> 8;
|
||||
sprite->x2 = (u16)sprite->data[1] >> 8;
|
||||
|
||||
if (1 & task->data[8])
|
||||
sprite->pos2.y = ((u16)sprite->data[2] / 256u) * -1;
|
||||
sprite->y2 = ((u16)sprite->data[2] / 256u) * -1;
|
||||
else
|
||||
sprite->pos2.y = (u16)sprite->data[2] / 256u;
|
||||
sprite->y2 = (u16)sprite->data[2] / 256u;
|
||||
|
||||
if (sprite->data[0]-- <= 0)
|
||||
{
|
||||
@@ -1565,33 +1565,33 @@ static void AnimAirWaveProjectile(struct Sprite *sprite)
|
||||
sprite->data[1] += (-2 & task->data[7]);
|
||||
sprite->data[2] += (-2 & task->data[8]);
|
||||
if (1 & task->data[7])
|
||||
sprite->pos2.x = ((u16)sprite->data[1] >> 8) * -1;
|
||||
sprite->x2 = ((u16)sprite->data[1] >> 8) * -1;
|
||||
else
|
||||
sprite->pos2.x = (u16)sprite->data[1] >> 8;
|
||||
sprite->x2 = (u16)sprite->data[1] >> 8;
|
||||
|
||||
if (1 & task->data[8])
|
||||
sprite->pos2.y = ((u16)sprite->data[2] / 256u) * -1;
|
||||
sprite->y2 = ((u16)sprite->data[2] / 256u) * -1;
|
||||
else
|
||||
sprite->pos2.y = (u16)sprite->data[2] / 256u;
|
||||
sprite->y2 = (u16)sprite->data[2] / 256u;
|
||||
|
||||
if (sprite->data[0]-- <= 0)
|
||||
{
|
||||
sprite->data[0] = 8;
|
||||
task->data[5] = 4;
|
||||
a = MathUtil_Inv16(Q_8_8(16));
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
if (task->data[11] >= sprite->pos1.x)
|
||||
b = (task->data[11] - sprite->pos1.x) << 8;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
if (task->data[11] >= sprite->x)
|
||||
b = (task->data[11] - sprite->x) << 8;
|
||||
else
|
||||
b = (sprite->pos1.x - task->data[11]) << 8;
|
||||
b = (sprite->x - task->data[11]) << 8;
|
||||
|
||||
if (task->data[12] >= sprite->pos1.y)
|
||||
c = (task->data[12] - sprite->pos1.y) << 8;
|
||||
if (task->data[12] >= sprite->y)
|
||||
c = (task->data[12] - sprite->y) << 8;
|
||||
else
|
||||
c = (sprite->pos1.y - task->data[12]) << 8;
|
||||
c = (sprite->y - task->data[12]) << 8;
|
||||
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[1] = 0;
|
||||
@@ -1778,7 +1778,7 @@ static void AnimCoinThrow(struct Sprite *sprite)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
|
||||
r6 += gBattleAnimArgs[2];
|
||||
var = ArcTan2Neg(r6 - sprite->pos1.x, r7 - sprite->pos1.y);
|
||||
var = ArcTan2Neg(r6 - sprite->x, r7 - sprite->y);
|
||||
var += 0xC000;
|
||||
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, var);
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
@@ -1791,18 +1791,18 @@ static void AnimCoinThrow(struct Sprite *sprite)
|
||||
static void AnimFallingCoin(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[2] = -16;
|
||||
sprite->pos1.y += 8;
|
||||
sprite->y += 8;
|
||||
sprite->callback = AnimFallingCoin_Step;
|
||||
}
|
||||
|
||||
static void AnimFallingCoin_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] += 0x80;
|
||||
sprite->pos2.x = sprite->data[0] >> 8;
|
||||
sprite->x2 = sprite->data[0] >> 8;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
sprite->pos2.x = -sprite->pos2.x;
|
||||
sprite->x2 = -sprite->x2;
|
||||
|
||||
sprite->pos2.y = Sin(sprite->data[1], sprite->data[2]);
|
||||
sprite->y2 = Sin(sprite->data[1], sprite->data[2]);
|
||||
sprite->data[1] += 5;
|
||||
if (sprite->data[1] > 126)
|
||||
{
|
||||
@@ -1830,10 +1830,10 @@ static void AnimBulletSeed_Step1(struct Sprite *sprite)
|
||||
u16 rand;
|
||||
s16* ptr;
|
||||
PlaySE12WithPanning(SE_M_HORN_ATTACK, BattleAnimAdjustPanning(63));
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
ptr = &sprite->data[7];
|
||||
for (i = 0; i < 8; i++)
|
||||
ptr[i - 7] = 0;
|
||||
@@ -1849,11 +1849,11 @@ static void AnimBulletSeed_Step1(struct Sprite *sprite)
|
||||
static void AnimBulletSeed_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] += sprite->data[7];
|
||||
sprite->pos2.x = sprite->data[0] >> 8;
|
||||
sprite->x2 = sprite->data[0] >> 8;
|
||||
if (sprite->data[7] & 1)
|
||||
sprite->pos2.x = -sprite->pos2.x;
|
||||
sprite->x2 = -sprite->x2;
|
||||
|
||||
sprite->pos2.y = Sin(sprite->data[1], sprite->data[6]);
|
||||
sprite->y2 = Sin(sprite->data[1], sprite->data[6]);
|
||||
sprite->data[1] += 8;
|
||||
if (sprite->data[1] > 126)
|
||||
{
|
||||
@@ -1876,7 +1876,7 @@ static void AnimRazorWindTornado(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, FALSE);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
sprite->pos1.y += 16;
|
||||
sprite->y += 16;
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
@@ -1905,8 +1905,8 @@ static void AnimViceGripPincer(struct Sprite *sprite)
|
||||
StartSpriteAnim(sprite, 1);
|
||||
}
|
||||
|
||||
sprite->pos1.x += startXOffset;
|
||||
sprite->pos1.y += startYOffset;
|
||||
sprite->x += startXOffset;
|
||||
sprite->y += startYOffset;
|
||||
sprite->data[0] = 6;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + endXOffset;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + endYOffset;
|
||||
@@ -1937,12 +1937,12 @@ static void AnimGuillotinePincer(struct Sprite *sprite)
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[0]);
|
||||
}
|
||||
|
||||
sprite->pos1.x += startXOffset;
|
||||
sprite->pos1.y += startYOffset;
|
||||
sprite->x += startXOffset;
|
||||
sprite->y += startYOffset;
|
||||
sprite->data[0] = 6;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + endXOffset;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + endYOffset;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = gBattleAnimArgs[0];
|
||||
@@ -1956,10 +1956,10 @@ static void AnimGuillotinePincer_Step1(struct Sprite *sprite)
|
||||
{
|
||||
SeekSpriteAnim(sprite, 0);
|
||||
sprite->animPaused = 1;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 2;
|
||||
sprite->pos2.y = -2;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 2;
|
||||
sprite->y2 = -2;
|
||||
sprite->data[0] = sprite->data[6];
|
||||
sprite->data[1] ^= 1;
|
||||
sprite->data[2] ^= 1;
|
||||
@@ -1973,15 +1973,15 @@ static void AnimGuillotinePincer_Step2(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = -sprite->pos2.x;
|
||||
sprite->pos2.y = -sprite->pos2.y;
|
||||
sprite->x2 = -sprite->x2;
|
||||
sprite->y2 = -sprite->y2;
|
||||
}
|
||||
|
||||
sprite->data[3] ^= 1;
|
||||
if (++sprite->data[4] == 51)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[3] = 0;
|
||||
sprite->animPaused = 0;
|
||||
@@ -2099,7 +2099,7 @@ static void AnimTask_Minimize_Step(u8 taskId)
|
||||
break;
|
||||
case 5:
|
||||
ResetSpriteRotScale(task->data[0]);
|
||||
gSprites[task->data[15]].pos2.y = 0;
|
||||
gSprites[task->data[15]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
@@ -2176,7 +2176,7 @@ static void AnimTask_Splash_Step(u8 taskId)
|
||||
case 0:
|
||||
RunAffineAnimFromTaskData(task);
|
||||
task->data[4] += 3;
|
||||
gSprites[task->data[0]].pos2.y += task->data[4];
|
||||
gSprites[task->data[0]].y2 += task->data[4];
|
||||
if (++task->data[3] > 7)
|
||||
{
|
||||
task->data[3] = 0;
|
||||
@@ -2185,7 +2185,7 @@ static void AnimTask_Splash_Step(u8 taskId)
|
||||
break;
|
||||
case 1:
|
||||
RunAffineAnimFromTaskData(task);
|
||||
gSprites[task->data[0]].pos2.y += task->data[4];
|
||||
gSprites[task->data[0]].y2 += task->data[4];
|
||||
if (++task->data[3] > 7)
|
||||
{
|
||||
task->data[3] = 0;
|
||||
@@ -2195,7 +2195,7 @@ static void AnimTask_Splash_Step(u8 taskId)
|
||||
case 2:
|
||||
if (task->data[4] != 0)
|
||||
{
|
||||
gSprites[task->data[0]].pos2.y -= 2;
|
||||
gSprites[task->data[0]].y2 -= 2;
|
||||
task->data[4] -= 2;
|
||||
}
|
||||
else
|
||||
@@ -2206,7 +2206,7 @@ static void AnimTask_Splash_Step(u8 taskId)
|
||||
{
|
||||
if (--task->data[2] == 0)
|
||||
{
|
||||
gSprites[task->data[0]].pos2.y = 0;
|
||||
gSprites[task->data[0]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
else
|
||||
@@ -2245,17 +2245,17 @@ static void AnimBreathPuff(struct Sprite *sprite)
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
StartSpriteAnim(sprite, 0);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + 32;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + 32;
|
||||
sprite->data[1] = 64;
|
||||
}
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - 32;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - 32;
|
||||
sprite->data[1] = -64;
|
||||
}
|
||||
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->data[0] = 52;
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[3] = 0;
|
||||
@@ -2279,10 +2279,10 @@ static void AnimAngerMark(struct Sprite *sprite)
|
||||
if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
gBattleAnimArgs[1] *= -1;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
if (sprite->pos1.y < 8)
|
||||
sprite->pos1.y = 8;
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
if (sprite->y < 8)
|
||||
sprite->y = 8;
|
||||
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
@@ -2315,8 +2315,8 @@ void AnimTask_ThrashMoveMonVertical(u8 taskId)
|
||||
task->data[2] = 4;
|
||||
task->data[3] = 7;
|
||||
task->data[4] = 3;
|
||||
task->data[5] = gSprites[task->data[0]].pos1.x;
|
||||
task->data[6] = gSprites[task->data[0]].pos1.y;
|
||||
task->data[5] = gSprites[task->data[0]].x;
|
||||
task->data[6] = gSprites[task->data[0]].y;
|
||||
task->data[7] = 0;
|
||||
task->data[8] = 0;
|
||||
task->data[9] = 2;
|
||||
@@ -2334,14 +2334,14 @@ static void AnimTask_ThrashMoveMonVertical_Step(u8 taskId)
|
||||
task->data[7] = 0;
|
||||
task->data[8]++;
|
||||
if (task->data[8] & 1)
|
||||
gSprites[task->data[0]].pos1.y += task->data[9];
|
||||
gSprites[task->data[0]].y += task->data[9];
|
||||
else
|
||||
gSprites[task->data[0]].pos1.y -= task->data[9];
|
||||
gSprites[task->data[0]].y -= task->data[9];
|
||||
}
|
||||
switch (task->data[1])
|
||||
{
|
||||
case 0:
|
||||
gSprites[task->data[0]].pos1.x += task->data[2];
|
||||
gSprites[task->data[0]].x += task->data[2];
|
||||
if (--task->data[3] == 0)
|
||||
{
|
||||
task->data[3] = 14;
|
||||
@@ -2349,7 +2349,7 @@ static void AnimTask_ThrashMoveMonVertical_Step(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
gSprites[task->data[0]].pos1.x -= task->data[2];
|
||||
gSprites[task->data[0]].x -= task->data[2];
|
||||
if (--task->data[3] == 0)
|
||||
{
|
||||
task->data[3] = 7;
|
||||
@@ -2357,7 +2357,7 @@ static void AnimTask_ThrashMoveMonVertical_Step(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
gSprites[task->data[0]].pos1.x += task->data[2];
|
||||
gSprites[task->data[0]].x += task->data[2];
|
||||
if (--task->data[3] == 0)
|
||||
{
|
||||
if (--task->data[4] != 0)
|
||||
@@ -2368,7 +2368,7 @@ static void AnimTask_ThrashMoveMonVertical_Step(u8 taskId)
|
||||
else
|
||||
{
|
||||
if ((task->data[8] & 1) != 0)
|
||||
gSprites[task->data[0]].pos1.y -= task->data[9];
|
||||
gSprites[task->data[0]].y -= task->data[9];
|
||||
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -2467,8 +2467,8 @@ static void AnimTask_SketchDrawMon_Step(u8 taskId)
|
||||
|
||||
static void AnimPencil(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) - 16;
|
||||
sprite->pos1.y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) - 16;
|
||||
sprite->y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16;
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[2] = 0;
|
||||
@@ -2499,7 +2499,7 @@ static void AnimPencil_Step(struct Sprite *sprite)
|
||||
if (++sprite->data[1] > 3 && sprite->data[2] < sprite->data[5])
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
sprite->pos1.y -= 1;
|
||||
sprite->y -= 1;
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[2] % 10 == 0)
|
||||
PlaySE12WithPanning(SE_M_SKETCH, sprite->data[6]);
|
||||
@@ -2515,7 +2515,7 @@ static void AnimPencil_Step(struct Sprite *sprite)
|
||||
sprite->data[4] = -0x40 - sprite->data[4];
|
||||
sprite->data[3] *= -1;
|
||||
}
|
||||
sprite->pos2.x = sprite->data[4];
|
||||
sprite->x2 = sprite->data[4];
|
||||
if (sprite->data[5] == sprite->data[2])
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
@@ -2624,7 +2624,7 @@ static void AnimHyperVoiceRing(struct Sprite *sprite)
|
||||
r9 = GetBattlerSpriteCoord(battler1, r10) - gBattleAnimArgs[0];
|
||||
if (!IsContest() && IsBattlerSpriteVisible(BATTLE_PARTNER(battler1)))
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[battler1]].pos1.x < gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler1)]].pos1.x)
|
||||
if (gSprites[gBattlerSpriteIds[battler1]].x < gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler1)]].x)
|
||||
sprite->subpriority = gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler1)]].subpriority + 1;
|
||||
else
|
||||
sprite->subpriority = gSprites[gBattlerSpriteIds[battler1]].subpriority - 1;
|
||||
@@ -2653,8 +2653,8 @@ static void AnimHyperVoiceRing(struct Sprite *sprite)
|
||||
sp0 -= gBattleAnimArgs[3];
|
||||
|
||||
sp1 += gBattleAnimArgs[4];
|
||||
sprite->pos1.x = sprite->data[1] = r9;
|
||||
sprite->pos1.y = sprite->data[3] = r6;
|
||||
sprite->x = sprite->data[1] = r9;
|
||||
sprite->y = sprite->data[3] = r6;
|
||||
sprite->data[2] = sp0;
|
||||
sprite->data[4] = sp1;
|
||||
sprite->data[0] = gBattleAnimArgs[0];
|
||||
@@ -2690,17 +2690,17 @@ static void AnimSoftBoiledEgg(struct Sprite *sprite)
|
||||
static void AnimSoftBoiledEgg_Step1(struct Sprite *sprite)
|
||||
{
|
||||
s16 add;
|
||||
sprite->pos2.y -= (sprite->data[0] >> 8);
|
||||
sprite->pos2.x = sprite->data[1] >> 8;
|
||||
sprite->y2 -= (sprite->data[0] >> 8);
|
||||
sprite->x2 = sprite->data[1] >> 8;
|
||||
sprite->data[0] -= 32;
|
||||
add = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? -160 : 160;
|
||||
sprite->data[1] += add;
|
||||
if (sprite->pos2.y > 0)
|
||||
if (sprite->y2 > 0)
|
||||
{
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[0] = 0;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
sprite->callback = AnimSoftBoiledEgg_Step2;
|
||||
@@ -2737,7 +2737,7 @@ static void AnimSoftBoiledEgg_Step3(struct Sprite *sprite)
|
||||
|
||||
static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y -= 2;
|
||||
sprite->y2 -= 2;
|
||||
if (++sprite->data[0] == 9)
|
||||
{
|
||||
sprite->data[0] = 16;
|
||||
@@ -2793,7 +2793,7 @@ static void AnimTask_AttackerStretchAndDisappear_Step(u8 taskId)
|
||||
struct Task* task = &gTasks[taskId];
|
||||
if (!RunAffineAnimFromTaskData(task))
|
||||
{
|
||||
gSprites[task->data[0]].pos2.y = 0;
|
||||
gSprites[task->data[0]].y2 = 0;
|
||||
gSprites[task->data[0]].invisible = TRUE;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -2829,7 +2829,7 @@ static void AnimTask_ExtremeSpeedImpact_Step(u8 taskId)
|
||||
switch (task->data[0])
|
||||
{
|
||||
case 0:
|
||||
gSprites[task->data[15]].pos2.x += task->data[14];
|
||||
gSprites[task->data[15]].x2 += task->data[14];
|
||||
task->data[1] = 0;
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 0;
|
||||
@@ -2841,14 +2841,14 @@ static void AnimTask_ExtremeSpeedImpact_Step(u8 taskId)
|
||||
task->data[1] = 0;
|
||||
task->data[2]++;
|
||||
if (task->data[2] & 1)
|
||||
gSprites[task->data[15]].pos2.x += 6;
|
||||
gSprites[task->data[15]].x2 += 6;
|
||||
else
|
||||
gSprites[task->data[15]].pos2.x -= 6;
|
||||
gSprites[task->data[15]].x2 -= 6;
|
||||
|
||||
if (++task->data[3] > 4)
|
||||
{
|
||||
if (task->data[2] & 1)
|
||||
gSprites[task->data[15]].pos2.x -= 6;
|
||||
gSprites[task->data[15]].x2 -= 6;
|
||||
|
||||
task->data[0]++;
|
||||
}
|
||||
@@ -2861,8 +2861,8 @@ static void AnimTask_ExtremeSpeedImpact_Step(u8 taskId)
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 3:
|
||||
gSprites[task->data[15]].pos2.x += task->data[13];
|
||||
if (gSprites[task->data[15]].pos2.x == 0)
|
||||
gSprites[task->data[15]].x2 += task->data[13];
|
||||
if (gSprites[task->data[15]].x2 == 0)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
@@ -2975,8 +2975,8 @@ static void AnimTask_SpeedDust_Step(u8 taskId)
|
||||
{
|
||||
gSprites[spriteId].data[0] = taskId;
|
||||
gSprites[spriteId].data[1] = 13;
|
||||
gSprites[spriteId].pos2.x = gSpeedDustPosTable[task->data[2]][0];
|
||||
gSprites[spriteId].pos2.y = gSpeedDustPosTable[task->data[2]][1];
|
||||
gSprites[spriteId].x2 = gSpeedDustPosTable[task->data[2]][0];
|
||||
gSprites[spriteId].y2 = gSpeedDustPosTable[task->data[2]][1];
|
||||
task->data[13]++;
|
||||
if (++task->data[2] > 3)
|
||||
{
|
||||
@@ -3059,8 +3059,8 @@ static void AnimMagentaHeart(struct Sprite *sprite)
|
||||
if (++sprite->data[0] == 1)
|
||||
InitSpritePosToAnimAttacker(sprite, FALSE);
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[1], 8);
|
||||
sprite->pos2.y = sprite->data[2] >> 8;
|
||||
sprite->x2 = Sin(sprite->data[1], 8);
|
||||
sprite->y2 = sprite->data[2] >> 8;
|
||||
sprite->data[1] = (sprite->data[1] + 7) & 0xFF;
|
||||
sprite->data[2] -= 0x80;
|
||||
if (sprite->data[0] == 60)
|
||||
@@ -3126,15 +3126,15 @@ void AnimTask_StretchTargetUp(u8 taskId)
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
{
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_TARGET), sAffineAnims_StretchBattlerUp);
|
||||
gSprites[spriteId].pos2.x = 4;
|
||||
gSprites[spriteId].x2 = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x;
|
||||
gSprites[spriteId].x2 = -gSprites[spriteId].x2;
|
||||
if (!RunAffineAnimFromTaskData(&gTasks[taskId]))
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -3146,15 +3146,15 @@ void AnimTask_StretchAttackerUp(u8 taskId)
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
{
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), sAffineAnims_StretchBattlerUp);
|
||||
gSprites[spriteId].pos2.x = 4;
|
||||
gSprites[spriteId].x2 = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x;
|
||||
gSprites[spriteId].x2 = -gSprites[spriteId].x2;
|
||||
if (!RunAffineAnimFromTaskData(&gTasks[taskId]))
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -3164,9 +3164,9 @@ static void AnimRedHeartProjectile(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = 95;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = AnimRedHeartProjectile_Step;
|
||||
@@ -3176,7 +3176,7 @@ static void AnimRedHeartProjectile_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.y += Sin(sprite->data[5], 14);
|
||||
sprite->y2 += Sin(sprite->data[5], 14);
|
||||
sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
|
||||
}
|
||||
else
|
||||
@@ -3196,8 +3196,8 @@ void AnimParticleBurst(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
if (sprite->data[3] > 100)
|
||||
sprite->invisible = sprite->data[3] % 2;
|
||||
@@ -3209,8 +3209,8 @@ void AnimParticleBurst(struct Sprite *sprite)
|
||||
|
||||
static void AnimRedHeartRising(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = DISPLAY_HEIGHT;
|
||||
sprite->x = gBattleAnimArgs[0];
|
||||
sprite->y = DISPLAY_HEIGHT;
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
sprite->callback = WaitAnimForDuration;
|
||||
@@ -3221,10 +3221,10 @@ static void AnimRedHeartRising_Step(struct Sprite *sprite)
|
||||
{
|
||||
s16 y;
|
||||
sprite->data[2] += sprite->data[1];
|
||||
sprite->pos2.y = -((u16)sprite->data[2] >> 8);
|
||||
sprite->pos2.x = Sin(sprite->data[3], 4);
|
||||
sprite->y2 = -((u16)sprite->data[2] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[3], 4);
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
y = sprite->pos1.y + sprite->pos2.y;
|
||||
y = sprite->y + sprite->y2;
|
||||
if (y <= 72)
|
||||
{
|
||||
sprite->invisible = sprite->data[3] % 2;
|
||||
@@ -3402,8 +3402,8 @@ static void AnimTask_ScaryFace_Step(u8 taskId)
|
||||
// arg 1: initial wave offset
|
||||
static void AnimOrbitFast(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->affineAnimPaused = 1;
|
||||
sprite->data[0] = gBattleAnimArgs[0];
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
@@ -3419,8 +3419,8 @@ static void AnimOrbitFast_Step(struct Sprite *sprite)
|
||||
else
|
||||
sprite->subpriority = sprite->data[7] - 1;
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->y2 = Cos(sprite->data[1], sprite->data[3] >> 8);
|
||||
sprite->data[1] = (sprite->data[1] + 9) & 0xFF;
|
||||
switch (sprite->data[5])
|
||||
{
|
||||
@@ -3453,8 +3453,8 @@ static void AnimOrbitFast_Step(struct Sprite *sprite)
|
||||
// arg 0: initial wave offset
|
||||
static void AnimOrbitScatter(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
|
||||
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
|
||||
sprite->callback = AnimOrbitScatter_Step;
|
||||
@@ -3462,25 +3462,25 @@ static void AnimOrbitScatter(struct Sprite *sprite)
|
||||
|
||||
static void AnimOrbitScatter_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[0];
|
||||
sprite->pos2.y += sprite->data[1];
|
||||
if (sprite->pos1.x + sprite->pos2.x + 16 > ((u32)DISPLAY_WIDTH + 32)
|
||||
|| sprite->pos1.y + sprite->pos2.y > DISPLAY_HEIGHT || sprite->pos1.y + sprite->pos2.y < -16)
|
||||
sprite->x2 += sprite->data[0];
|
||||
sprite->y2 += sprite->data[1];
|
||||
if (sprite->x + sprite->x2 + 16 > ((u32)DISPLAY_WIDTH + 32)
|
||||
|| sprite->y + sprite->y2 > DISPLAY_HEIGHT || sprite->y + sprite->y2 < -16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
static void AnimSpitUpOrb_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[0];
|
||||
sprite->pos2.y += sprite->data[1];
|
||||
sprite->x2 += sprite->data[0];
|
||||
sprite->y2 += sprite->data[1];
|
||||
if (sprite->data[3]++ >= sprite->data[2])
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
static void AnimSpitUpOrb(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
|
||||
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
|
||||
sprite->data[2] = gBattleAnimArgs[1];
|
||||
@@ -3504,20 +3504,20 @@ static void AnimAngel(struct Sprite *sprite)
|
||||
s16 var0;
|
||||
if (!sprite->data[0])
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
sprite->data[0]++;
|
||||
var0 = (sprite->data[0] * 10) & 0xFF;
|
||||
sprite->pos2.x = Sin(var0, 80) >> 8;
|
||||
sprite->x2 = Sin(var0, 80) >> 8;
|
||||
if (sprite->data[0] < 80)
|
||||
sprite->pos2.y = (sprite->data[0] / 2) + (Cos(var0, 80) >> 8);
|
||||
sprite->y2 = (sprite->data[0] / 2) + (Cos(var0, 80) >> 8);
|
||||
|
||||
if (sprite->data[0] > 90)
|
||||
{
|
||||
sprite->data[2]++;
|
||||
sprite->pos2.x -= sprite->data[2] / 2;
|
||||
sprite->x2 -= sprite->data[2] / 2;
|
||||
}
|
||||
|
||||
if (sprite->data[0] > 100)
|
||||
@@ -3527,8 +3527,8 @@ static void AnimAngel(struct Sprite *sprite)
|
||||
static void AnimPinkHeart_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[5]++;
|
||||
sprite->pos2.x = Sin(sprite->data[3], 5);
|
||||
sprite->pos2.y = sprite->data[5] / 2;
|
||||
sprite->x2 = Sin(sprite->data[3], 5);
|
||||
sprite->y2 = sprite->data[5] / 2;
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
if (sprite->data[5] > 20)
|
||||
sprite->invisible = sprite->data[5] % 2;
|
||||
@@ -3548,16 +3548,16 @@ static void AnimPinkHeart(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
if (sprite->data[3] > 70)
|
||||
{
|
||||
sprite->callback = AnimPinkHeart_Step;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->data[3] = Random2() % 180;
|
||||
}
|
||||
}
|
||||
@@ -3567,8 +3567,8 @@ static void AnimDevil(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3] == 0)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
StartSpriteAnim(sprite, 0);
|
||||
sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 1;
|
||||
sprite->data[2] = 1;
|
||||
@@ -3577,8 +3577,8 @@ static void AnimDevil(struct Sprite *sprite)
|
||||
sprite->data[1] = (sprite->data[0] * 4) % 256;
|
||||
if (sprite->data[1] < 0)
|
||||
sprite->data[1] = 0;
|
||||
sprite->pos2.x = Cos(sprite->data[1], 30 - sprite->data[0] / 4);
|
||||
sprite->pos2.y = Sin(sprite->data[1], 10 - sprite->data[0] / 8);
|
||||
sprite->x2 = Cos(sprite->data[1], 30 - sprite->data[0] / 4);
|
||||
sprite->y2 = Sin(sprite->data[1], 10 - sprite->data[0] / 8);
|
||||
if (sprite->data[1] > 128 && sprite->data[2] > 0)
|
||||
sprite->data[2] = -1;
|
||||
if (sprite->data[1] == 0 && sprite->data[2] < 0)
|
||||
@@ -3596,8 +3596,8 @@ static void AnimFurySwipes(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
|
||||
sprite->data[0]++;
|
||||
}
|
||||
@@ -3617,19 +3617,19 @@ static void AnimMovementWaves(struct Sprite *sprite)
|
||||
{
|
||||
if (!gBattleAnimArgs[0])
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
}
|
||||
|
||||
if (!gBattleAnimArgs[1])
|
||||
sprite->pos1.x += 32;
|
||||
sprite->x += 32;
|
||||
else
|
||||
sprite->pos1.x -= 32;
|
||||
sprite->x -= 32;
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
@@ -3671,11 +3671,11 @@ static void AnimJaggedMusicNote(struct Sprite *sprite)
|
||||
if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
gBattleAnimArgs[1] *= -1;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, 2) + gBattleAnimArgs[1];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[2];
|
||||
sprite->x = GetBattlerSpriteCoord(battler, 2) + gBattleAnimArgs[1];
|
||||
sprite->y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[2];
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = (u16)sprite->pos1.x << 3;
|
||||
sprite->data[2] = (u16)sprite->pos1.y << 3;
|
||||
sprite->data[1] = (u16)sprite->x << 3;
|
||||
sprite->data[2] = (u16)sprite->y << 3;
|
||||
|
||||
var1 = gBattleAnimArgs[1] << 3;
|
||||
if (var1 < 0)
|
||||
@@ -3695,8 +3695,8 @@ static void AnimJaggedMusicNote_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] += sprite->data[3];
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->pos1.x = sprite->data[1] >> 3;
|
||||
sprite->pos1.y = sprite->data[2] >> 3;
|
||||
sprite->x = sprite->data[1] >> 3;
|
||||
sprite->y = sprite->data[2] >> 3;
|
||||
if (++sprite->data[0] > 16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -3723,8 +3723,8 @@ static void AnimPerishSongMusicNote(struct Sprite *sprite)
|
||||
|
||||
if (!sprite->data[0])
|
||||
{
|
||||
sprite->pos1.x = 120;
|
||||
sprite->pos1.y = (gBattleAnimArgs[0] + (((u16)gBattleAnimArgs[0]) >> 31)) / 2 - 15;
|
||||
sprite->x = 120;
|
||||
sprite->y = (gBattleAnimArgs[0] + (((u16)gBattleAnimArgs[0]) >> 31)) / 2 - 15;
|
||||
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
|
||||
|
||||
@@ -3740,9 +3740,9 @@ static void AnimPerishSongMusicNote(struct Sprite *sprite)
|
||||
sprite->data[6] = (sprite->data[6] + 10) & 0xFF;
|
||||
|
||||
index &= var2;
|
||||
sprite->pos2.x = Cos(index, 100);
|
||||
sprite->x2 = Cos(index, 100);
|
||||
|
||||
sprite->pos2.y = sprite->data[1] + Sin(index, 10) + Cos(sprite->data[6], 4);
|
||||
sprite->y2 = sprite->data[1] + Sin(index, 10) + Cos(sprite->data[6], 4);
|
||||
|
||||
if (sprite->data[0] > sprite->data[5])
|
||||
{
|
||||
@@ -3770,7 +3770,7 @@ static void AnimPerishSongMusicNote_Step1(struct Sprite *sprite)
|
||||
static void AnimPerishSongMusicNote_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[2];
|
||||
sprite->pos2.y = sprite->data[3];
|
||||
sprite->y2 = sprite->data[3];
|
||||
|
||||
sprite->data[2]++;
|
||||
|
||||
@@ -3797,20 +3797,20 @@ static void AnimGuardRing(struct Sprite *sprite)
|
||||
{
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
sprite->pos1.y += 40;
|
||||
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->x, &sprite->y);
|
||||
sprite->y += 40;
|
||||
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 40;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 40;
|
||||
}
|
||||
|
||||
sprite->data[0] = 13;
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[4] = sprite->pos1.y - 72;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[4] = sprite->y - 72;
|
||||
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
|
||||
+277
-277
File diff suppressed because it is too large
Load Diff
+54
-54
@@ -459,11 +459,11 @@ const struct SpriteTemplate gShockWaveProgressingBoltSpriteTemplate =
|
||||
static void AnimLightning(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->callback = AnimLightning_Step;
|
||||
}
|
||||
|
||||
@@ -476,9 +476,9 @@ static void AnimLightning_Step(struct Sprite *sprite)
|
||||
static void AnimUnusedSpinningFist(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->callback = AnimUnusedSpinningFist_Step;
|
||||
}
|
||||
@@ -491,18 +491,18 @@ static void AnimUnusedSpinningFist_Step(struct Sprite *sprite)
|
||||
|
||||
static void AnimUnusedCirclingShock(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->pos1.y -= gBattleAnimArgs[1];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
sprite->y -= gBattleAnimArgs[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
@@ -543,17 +543,17 @@ static void AnimSparkElectricity(struct Sprite *sprite)
|
||||
|
||||
if (gBattleAnimArgs[5] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y);
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
|
||||
sprite->pos2.x = (gSineTable[gBattleAnimArgs[0]] * gBattleAnimArgs[1]) >> 8;
|
||||
sprite->pos2.y = (gSineTable[gBattleAnimArgs[0] + 64] * gBattleAnimArgs[1]) >> 8;
|
||||
sprite->x2 = (gSineTable[gBattleAnimArgs[0]] * gBattleAnimArgs[1]) >> 8;
|
||||
sprite->y2 = (gSineTable[gBattleAnimArgs[0] + 64] * gBattleAnimArgs[1]) >> 8;
|
||||
|
||||
if (gBattleAnimArgs[6] & 1)
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
|
||||
@@ -573,9 +573,9 @@ static void AnimZapCannonSpark(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = gBattleAnimArgs[2];
|
||||
@@ -590,8 +590,8 @@ static void AnimZapCannonSpark_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.x += Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->pos2.y += Cos(sprite->data[7], sprite->data[5]);
|
||||
sprite->x2 += Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->y2 += Cos(sprite->data[7], sprite->data[5]);
|
||||
sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF;
|
||||
if(!(sprite->data[7] % 3))
|
||||
sprite->invisible ^= 1;
|
||||
@@ -616,8 +616,8 @@ static void AnimThunderboltOrb(struct Sprite *sprite)
|
||||
if (IsContest() || GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
sprite->data[3] = gBattleAnimArgs[0];
|
||||
sprite->data[4] = gBattleAnimArgs[3];
|
||||
sprite->data[5] = gBattleAnimArgs[3];
|
||||
@@ -637,8 +637,8 @@ static void AnimSparkElectricityFlashing(struct Sprite *sprite)
|
||||
if (IsContest() || GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
|
||||
|
||||
sprite->data[4] = gBattleAnimArgs[7] & 0x7FFF;
|
||||
sprite->data[5] = gBattleAnimArgs[2];
|
||||
@@ -652,8 +652,8 @@ static void AnimSparkElectricityFlashing(struct Sprite *sprite)
|
||||
|
||||
static void AnimSparkElectricityFlashing_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->pos2.y = Cos(sprite->data[7], sprite->data[5]);
|
||||
sprite->x2 = Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->y2 = Cos(sprite->data[7], sprite->data[5]);
|
||||
|
||||
sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF;
|
||||
if (sprite->data[7] % sprite->data[4] == 0)
|
||||
@@ -778,9 +778,9 @@ static void AnimThunderWave(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority);
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->x + 32, sprite->y, sprite->subpriority);
|
||||
gSprites[spriteId].oam.tileNum += 8;
|
||||
gAnimVisualTaskCount++;
|
||||
gSprites[spriteId].callback = AnimThunderWave_Step;
|
||||
@@ -840,13 +840,13 @@ static void AnimTask_ElectricChargingParticles_Step(u8 taskId)
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[spriteId];
|
||||
sprite->pos1.x += sElectricChargingParticleCoordOffsets[task->data[9]][0];
|
||||
sprite->pos1.y += sElectricChargingParticleCoordOffsets[task->data[9]][1];
|
||||
sprite->x += sElectricChargingParticleCoordOffsets[task->data[9]][0];
|
||||
sprite->y += sElectricChargingParticleCoordOffsets[task->data[9]][1];
|
||||
|
||||
sprite->data[0] = 40 - task->data[8] * 5;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = task->data[14];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = task->data[15];
|
||||
sprite->data[5] = taskId;
|
||||
|
||||
@@ -892,13 +892,13 @@ static void AnimGrowingChargeOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
@@ -910,17 +910,17 @@ static void AnimElectricPuff(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
|
||||
sprite->pos2.x = gBattleAnimArgs[1];
|
||||
sprite->pos2.y = gBattleAnimArgs[2];
|
||||
sprite->x2 = gBattleAnimArgs[1];
|
||||
sprite->y2 = gBattleAnimArgs[2];
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
}
|
||||
@@ -929,8 +929,8 @@ static void AnimElectricPuff(struct Sprite *sprite)
|
||||
static void AnimVoltTackleOrbSlide(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->data[6] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
sprite->data[7] = 16;
|
||||
|
||||
@@ -949,9 +949,9 @@ static void AnimVoltTackleOrbSlide_Step(struct Sprite *sprite)
|
||||
sprite->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x += sprite->data[7];
|
||||
gSprites[sprite->data[6]].pos2.x += sprite->data[7];
|
||||
if ((u16)(sprite->pos1.x + 80) > 400)
|
||||
sprite->x += sprite->data[7];
|
||||
gSprites[sprite->data[6]].x2 += sprite->data[7];
|
||||
if ((u16)(sprite->x + 80) > 400)
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
}
|
||||
}
|
||||
@@ -976,7 +976,7 @@ void AnimTask_VoltTackleAttackerReappear(u8 taskId)
|
||||
task->data[13] = -2;
|
||||
}
|
||||
|
||||
gSprites[task->data[15]].pos2.x = task->data[14];
|
||||
gSprites[task->data[15]].x2 = task->data[14];
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -988,7 +988,7 @@ void AnimTask_VoltTackleAttackerReappear(u8 taskId)
|
||||
if (task->data[14])
|
||||
{
|
||||
task->data[14] += task->data[13];
|
||||
gSprites[task->data[15]].pos2.x = task->data[14];
|
||||
gSprites[task->data[15]].x2 = task->data[14];
|
||||
}
|
||||
else
|
||||
task->data[0]++;
|
||||
@@ -1131,8 +1131,8 @@ static void AnimGrowingShockWaveOrb(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
StartSpriteAffineAnim(sprite, 2);
|
||||
sprite->data[0]++;
|
||||
break;
|
||||
@@ -1305,7 +1305,7 @@ void AnimTask_ShockWaveLightning(u8 taskId)
|
||||
static bool8 CreateShockWaveLightningSprite(struct Task *task, u8 taskId)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&gLightningSpriteTemplate, task->data[13], task->data[14], task->data[12]);
|
||||
|
||||
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].callback = AnimShockWaveLightning;
|
||||
|
||||
+60
-60
@@ -412,7 +412,7 @@ const struct SpriteTemplate gFocusPunchFistSpriteTemplate =
|
||||
static void AnimUnusedHumanoidFoot(struct Sprite *sprite)
|
||||
{
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = 15;
|
||||
sprite->callback = WaitAnimForDuration;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -478,8 +478,8 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite)
|
||||
gBattleAnimArgs[2] = Random2() % 5;
|
||||
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(battler, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(battler, 3);
|
||||
|
||||
xMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 2;
|
||||
yMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
|
||||
@@ -495,11 +495,11 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite)
|
||||
if ((gBattlerPositions[battler] & BIT_SIDE) == B_SIDE_PLAYER)
|
||||
y += 0xFFF0;
|
||||
|
||||
sprite->pos1.x += x;
|
||||
sprite->pos1.y += y;
|
||||
sprite->x += x;
|
||||
sprite->y += y;
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[1];
|
||||
sprite->data[7] = CreateSprite(&gBasicHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
|
||||
sprite->data[7] = CreateSprite(&gBasicHitSplatSpriteTemplate, sprite->x, sprite->y, sprite->subpriority + 1);
|
||||
if (sprite->data[7] != 64)
|
||||
{
|
||||
StartSpriteAffineAnim(&gSprites[sprite->data[7]], 0);
|
||||
@@ -534,15 +534,15 @@ static void AnimCrossChopHand(struct Sprite *sprite)
|
||||
|
||||
if (gBattleAnimArgs[2] == 0)
|
||||
{
|
||||
sprite->data[2] = sprite->pos1.x - 20;
|
||||
sprite->data[2] = sprite->x - 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[2] = sprite->pos1.x + 20;
|
||||
sprite->data[2] = sprite->x + 20;
|
||||
sprite->hFlip = 1;
|
||||
}
|
||||
|
||||
sprite->data[4] = sprite->pos1.y - 20;
|
||||
sprite->data[4] = sprite->y - 20;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, AnimCrossChopHand_Step);
|
||||
}
|
||||
@@ -551,13 +551,13 @@ static void AnimCrossChopHand_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[5] == 11)
|
||||
{
|
||||
sprite->data[2] = sprite->pos1.x - sprite->pos2.x;
|
||||
sprite->data[4] = sprite->pos1.y - sprite->pos2.y;
|
||||
sprite->data[2] = sprite->x - sprite->x2;
|
||||
sprite->data[4] = sprite->y - sprite->y2;
|
||||
sprite->data[0] = 8;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -576,10 +576,10 @@ static void AnimSlidingKick(struct Sprite *sprite)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y;
|
||||
|
||||
InitAnimLinearTranslation(sprite);
|
||||
|
||||
@@ -594,7 +594,7 @@ static void AnimSlidingKick_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]);
|
||||
sprite->y2 += Sin(sprite->data[7] >> 8, sprite->data[5]);
|
||||
sprite->data[7] += sprite->data[6];
|
||||
}
|
||||
else
|
||||
@@ -674,8 +674,8 @@ static void AnimDizzyPunchDuck(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
|
||||
if (sprite->data[3] > 100)
|
||||
@@ -691,17 +691,17 @@ static void AnimBrickBreakWall(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
}
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[1];
|
||||
sprite->pos1.y += gBattleAnimArgs[2];
|
||||
sprite->x += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[2];
|
||||
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
@@ -729,9 +729,9 @@ static void AnimBrickBreakWall_Step(struct Sprite *sprite)
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[3]++;
|
||||
if (sprite->data[3] & 1)
|
||||
sprite->pos2.x = 2;
|
||||
sprite->x2 = 2;
|
||||
else
|
||||
sprite->pos2.x = -2;
|
||||
sprite->x2 = -2;
|
||||
}
|
||||
|
||||
if (--sprite->data[2] == 0)
|
||||
@@ -745,13 +745,13 @@ static void AnimBrickBreakWallShard(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3];
|
||||
}
|
||||
|
||||
sprite->oam.tileNum += gBattleAnimArgs[1] * 16;
|
||||
@@ -785,8 +785,8 @@ static void AnimBrickBreakWallShard(struct Sprite *sprite)
|
||||
|
||||
static void AnimBrickBreakWallShard_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->data[6];
|
||||
sprite->pos1.y += sprite->data[7];
|
||||
sprite->x += sprite->data[6];
|
||||
sprite->y += sprite->data[7];
|
||||
|
||||
if (++sprite->data[0] > 40)
|
||||
DestroyAnimSprite(sprite);
|
||||
@@ -796,8 +796,8 @@ static void AnimSuperpowerOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
|
||||
sprite->data[7] = gBattleAnimTarget;
|
||||
}
|
||||
@@ -820,9 +820,9 @@ static void AnimSuperpowerOrb_Step(struct Sprite *sprite)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
|
||||
sprite->data[0] = 16;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(sprite->data[7], 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3);
|
||||
|
||||
InitAnimLinearTranslation(sprite);
|
||||
@@ -834,11 +834,11 @@ static void AnimSuperpowerOrb_Step(struct Sprite *sprite)
|
||||
// Floating rock that flies off to hit the target. Used by Superpower
|
||||
static void AnimSuperpowerRock(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = 120;
|
||||
sprite->x = gBattleAnimArgs[0];
|
||||
sprite->y = 120;
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
StorePointerInVars(&sprite->data[4], &sprite->data[5], (void *)(sprite->pos1.y << 8));
|
||||
StorePointerInVars(&sprite->data[4], &sprite->data[5], (void *)(sprite->y << 8));
|
||||
|
||||
sprite->data[6] = gBattleAnimArgs[1];
|
||||
sprite->oam.tileNum += gBattleAnimArgs[2] * 4;
|
||||
@@ -857,8 +857,8 @@ static void AnimSuperpowerRock_Step1(struct Sprite *sprite)
|
||||
StorePointerInVars(&sprite->data[4], &sprite->data[5], var0);
|
||||
|
||||
var0 = (void *)(((intptr_t)var0) >> 8);
|
||||
sprite->pos1.y = (intptr_t)var0;
|
||||
if (sprite->pos1.y < -8)
|
||||
sprite->y = (intptr_t)var0;
|
||||
if (sprite->y < -8)
|
||||
DestroyAnimSprite(sprite);
|
||||
else
|
||||
sprite->data[0]--;
|
||||
@@ -872,8 +872,8 @@ static void AnimSuperpowerRock_Step1(struct Sprite *sprite)
|
||||
|
||||
sprite->data[0] = pos2 - pos0;
|
||||
sprite->data[1] = pos3 - pos1;
|
||||
sprite->data[2] = sprite->pos1.x << 4;
|
||||
sprite->data[3] = sprite->pos1.y << 4;
|
||||
sprite->data[2] = sprite->x << 4;
|
||||
sprite->data[3] = sprite->y << 4;
|
||||
|
||||
sprite->callback = AnimSuperpowerRock_Step2;
|
||||
}
|
||||
@@ -885,11 +885,11 @@ static void AnimSuperpowerRock_Step2(struct Sprite *sprite)
|
||||
|
||||
sprite->data[2] += sprite->data[0];
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->pos1.x = sprite->data[2] >> 4;
|
||||
sprite->pos1.y = sprite->data[3] >> 4;
|
||||
sprite->x = sprite->data[2] >> 4;
|
||||
sprite->y = sprite->data[3] >> 4;
|
||||
|
||||
edgeX = sprite->pos1.x + 8;
|
||||
if (edgeX > 256 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
|
||||
edgeX = sprite->x + 8;
|
||||
if (edgeX > 256 || sprite->y < -8 || sprite->y > 120)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -899,8 +899,8 @@ static void AnimSuperpowerFireball(struct Sprite *sprite)
|
||||
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
|
||||
battler = gBattleAnimTarget;
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
|
||||
}
|
||||
@@ -916,9 +916,9 @@ static void AnimSuperpowerFireball(struct Sprite *sprite)
|
||||
sprite->oam.matrixNum |= (ST_OAM_HFLIP | ST_OAM_VFLIP);
|
||||
|
||||
sprite->data[0] = 16;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(battler, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(battler, 3);
|
||||
|
||||
InitAnimLinearTranslation(sprite);
|
||||
@@ -938,8 +938,8 @@ static void AnimArmThrustHit(struct Sprite *sprite)
|
||||
{
|
||||
u8 turn;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = gBattleAnimArgs[0];
|
||||
sprite->data[3] = gBattleAnimArgs[1];
|
||||
@@ -956,8 +956,8 @@ static void AnimArmThrustHit(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
StartSpriteAnim(sprite, sprite->data[1]);
|
||||
sprite->pos2.x = sprite->data[2];
|
||||
sprite->pos2.y = sprite->data[3];
|
||||
sprite->x2 = sprite->data[2];
|
||||
sprite->y2 = sprite->data[3];
|
||||
sprite->callback = AnimArmThrustHit_Step;
|
||||
}
|
||||
|
||||
@@ -987,7 +987,7 @@ static void AnimFocusPunchFist(struct Sprite *sprite)
|
||||
if (sprite->affineAnimEnded)
|
||||
{
|
||||
sprite->data[1] = (sprite->data[1] + 40) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[1], 2);
|
||||
sprite->x2 = Sin(sprite->data[1], 2);
|
||||
if (++sprite->data[0] > 40)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
+80
-80
@@ -481,7 +481,7 @@ static void AnimFireSpread(struct Sprite *sprite)
|
||||
{
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
sprite->data[2] = gBattleAnimArgs[3];
|
||||
@@ -496,14 +496,14 @@ static void AnimFirePlume(struct Sprite *sprite)
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker))
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] = -gBattleAnimArgs[4];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
}
|
||||
|
||||
@@ -518,14 +518,14 @@ static void AnimLargeFlame(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker))
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] = -gBattleAnimArgs[4];
|
||||
}
|
||||
|
||||
@@ -540,8 +540,8 @@ static void AnimLargeFlame_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] < sprite->data[4])
|
||||
{
|
||||
sprite->pos2.x += sprite->data[2];
|
||||
sprite->pos2.y += sprite->data[3];
|
||||
sprite->x2 += sprite->data[2];
|
||||
sprite->y2 += sprite->data[3];
|
||||
}
|
||||
|
||||
if (sprite->data[0] == sprite->data[1])
|
||||
@@ -554,15 +554,15 @@ static void AnimUnusedSmallEmber(struct Sprite *sprite)
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker))
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->subpriority = 8;
|
||||
}
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
@@ -580,8 +580,8 @@ static void AnimUnusedSmallEmber_Step(struct Sprite *sprite)
|
||||
if(sprite->data[5] > 10000)
|
||||
sprite->subpriority = 1;
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
|
||||
|
||||
sprite->data[0] += sprite->data[2];
|
||||
sprite->data[5] += sprite->data[4];
|
||||
@@ -602,8 +602,8 @@ static void AnimUnusedSmallEmber_Step(struct Sprite *sprite)
|
||||
// Sunlight from Sunny Day / sunny weather
|
||||
static void AnimSunlight(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = 0;
|
||||
sprite->pos1.y = 0;
|
||||
sprite->x = 0;
|
||||
sprite->y = 0;
|
||||
sprite->data[0] = 60;
|
||||
sprite->data[2] = 140;
|
||||
sprite->data[4] = 80;
|
||||
@@ -658,15 +658,15 @@ void AnimFireRing(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
static void AnimFireRing_Step1(struct Sprite *sprite)
|
||||
{
|
||||
{
|
||||
UpdateFireRingCircleOffset(sprite);
|
||||
|
||||
if (++sprite->data[0] == 0x12)
|
||||
{
|
||||
sprite->data[0] = 0x19;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
|
||||
InitAnimLinearTranslation(sprite);
|
||||
@@ -681,18 +681,18 @@ static void AnimFireRing_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
|
||||
sprite->callback = AnimFireRing_Step3;
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x += Sin(sprite->data[7], 28);
|
||||
sprite->pos2.y += Cos(sprite->data[7], 28);
|
||||
sprite->x2 += Sin(sprite->data[7], 28);
|
||||
sprite->y2 += Cos(sprite->data[7], 28);
|
||||
|
||||
sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
|
||||
}
|
||||
@@ -708,8 +708,8 @@ static void AnimFireRing_Step3(struct Sprite *sprite)
|
||||
|
||||
static void UpdateFireRingCircleOffset(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[7], 28);
|
||||
sprite->pos2.y = Cos(sprite->data[7], 28);
|
||||
sprite->x2 = Sin(sprite->data[7], 28);
|
||||
sprite->y2 = Cos(sprite->data[7], 28);
|
||||
|
||||
sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
|
||||
}
|
||||
@@ -718,12 +718,12 @@ static void UpdateFireRingCircleOffset(struct Sprite *sprite)
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: duration
|
||||
// arg 3: x delta
|
||||
// arg 4: y delta
|
||||
// arg 4: y delta
|
||||
// AnimFireCross(struct Sprite *sprite)
|
||||
static void AnimFireCross(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
@@ -760,8 +760,8 @@ static void AnimFireSpiralOutward_Step1(struct Sprite *sprite)
|
||||
|
||||
static void AnimFireSpiralOutward_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->pos2.y = Cos(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->y2 = Cos(sprite->data[1], sprite->data[2] >> 8);
|
||||
|
||||
sprite->data[1] = (sprite->data[1] + 10) & 0xFF;
|
||||
sprite->data[2] += 0xD0;
|
||||
@@ -781,7 +781,7 @@ void AnimTask_EruptionLaunchRocks(u8 taskId)
|
||||
task->data[1] = 0;
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 0;
|
||||
task->data[4] = gSprites[task->data[15]].pos1.y;
|
||||
task->data[4] = gSprites[task->data[15]].y;
|
||||
task->data[5] = GetBattlerSide(gBattleAnimAttacker);
|
||||
task->data[6] = 0;
|
||||
|
||||
@@ -805,9 +805,9 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId)
|
||||
task->data[1] = 0;
|
||||
|
||||
if (++task->data[2] & 0x1)
|
||||
gSprites[task->data[15]].pos2.x = 3;
|
||||
gSprites[task->data[15]].x2 = 3;
|
||||
else
|
||||
gSprites[task->data[15]].pos2.x = -3;
|
||||
gSprites[task->data[15]].x2 = -3;
|
||||
}
|
||||
|
||||
if (task->data[5] != B_SIDE_PLAYER)
|
||||
@@ -815,14 +815,14 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId)
|
||||
if (++task->data[3] > 4)
|
||||
{
|
||||
task->data[3] = 0;
|
||||
gSprites[task->data[15]].pos1.y++;
|
||||
gSprites[task->data[15]].y++;
|
||||
}
|
||||
}
|
||||
|
||||
if(!UpdateEruptAnimTask(task))
|
||||
{
|
||||
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
||||
gSprites[task->data[15]].pos2.x = 0;
|
||||
gSprites[task->data[15]].x2 = 0;
|
||||
|
||||
task->data[1] = 0;
|
||||
task->data[2] = 0;
|
||||
@@ -855,9 +855,9 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId)
|
||||
task->data[1] = 0;
|
||||
|
||||
if (++task->data[2] & 1)
|
||||
gSprites[task->data[15]].pos2.y += 3;
|
||||
gSprites[task->data[15]].y2 += 3;
|
||||
else
|
||||
gSprites[task->data[15]].pos2.y -= 3;
|
||||
gSprites[task->data[15]].y2 -= 3;
|
||||
}
|
||||
|
||||
if (++task->data[3] > 0x18)
|
||||
@@ -868,7 +868,7 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId)
|
||||
PrepareEruptAnimTaskData(task, task->data[15], 0x180, 0xC0, 0x100, 0x100, 8);
|
||||
|
||||
if (task->data[2] & 1)
|
||||
gSprites[task->data[15]].pos2.y -= 3;
|
||||
gSprites[task->data[15]].y2 -= 3;
|
||||
|
||||
task->data[1] = 0;
|
||||
task->data[2] = 0;
|
||||
@@ -878,11 +878,11 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId)
|
||||
break;
|
||||
case 5:
|
||||
if (task->data[5] != B_SIDE_PLAYER)
|
||||
gSprites[task->data[15]].pos1.y--;
|
||||
gSprites[task->data[15]].y--;
|
||||
|
||||
if (!UpdateEruptAnimTask(task))
|
||||
{
|
||||
gSprites[task->data[15]].pos1.y = task->data[4];
|
||||
gSprites[task->data[15]].y = task->data[4];
|
||||
ResetSpriteRotScale(task->data[15]);
|
||||
task->data[2] = 0;
|
||||
task->data[0]++;
|
||||
@@ -903,7 +903,7 @@ static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 a3)
|
||||
s8 sign;
|
||||
|
||||
u16 y = GetEruptionLaunchRockInitialYPos(spriteId);
|
||||
u16 x = gSprites[spriteId].pos1.x;
|
||||
u16 x = gSprites[spriteId].x;
|
||||
|
||||
if(!GetBattlerSide(gBattleAnimAttacker))
|
||||
{
|
||||
@@ -949,7 +949,7 @@ static void AnimEruptionLaunchRock(struct Sprite *sprite)
|
||||
|
||||
static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId)
|
||||
{
|
||||
s16 y = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY;
|
||||
s16 y = gSprites[spriteId].y + gSprites[spriteId].y2 + gSprites[spriteId].centerToCornerVecY;
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
y += 74;
|
||||
@@ -963,8 +963,8 @@ static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[2] = (u16)sprite->pos1.x * 8;
|
||||
sprite->data[3] = (u16)sprite->pos1.y * 8;
|
||||
sprite->data[2] = (u16)sprite->x * 8;
|
||||
sprite->data[3] = (u16)sprite->y * 8;
|
||||
sprite->data[4] = x * 8;
|
||||
sprite->data[5] = y * 8;
|
||||
}
|
||||
@@ -981,18 +981,18 @@ static void UpdateEruptionLaunchRockPos(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->pos1.x = sprite->data[2] >> 3;
|
||||
sprite->x = sprite->data[2] >> 3;
|
||||
sprite->data[3] += sprite->data[5];
|
||||
sprite->pos1.y = sprite->data[3] >> 3;
|
||||
sprite->y = sprite->data[3] >> 3;
|
||||
|
||||
if (sprite->pos1.x < -8 || sprite->pos1.x > 0xf8 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
|
||||
if (sprite->x < -8 || sprite->x > 0xf8 || sprite->y < -8 || sprite->y > 120)
|
||||
sprite->invisible = TRUE;
|
||||
}
|
||||
|
||||
static void AnimEruptionFallingRock(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = gBattleAnimArgs[1];
|
||||
sprite->x = gBattleAnimArgs[0];
|
||||
sprite->y = gBattleAnimArgs[1];
|
||||
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 0;
|
||||
@@ -1018,10 +1018,10 @@ static void AnimEruptionFallingRock_Step(struct Sprite *sprite)
|
||||
sprite->data[0]++;
|
||||
// fall through
|
||||
case 1:
|
||||
sprite->pos1.y += 8;
|
||||
if (sprite->pos1.y >= sprite->data[7])
|
||||
sprite->y += 8;
|
||||
if (sprite->y >= sprite->data[7])
|
||||
{
|
||||
sprite->pos1.y = sprite->data[7];
|
||||
sprite->y = sprite->data[7];
|
||||
sprite->data[0]++;
|
||||
}
|
||||
break;
|
||||
@@ -1031,11 +1031,11 @@ static void AnimEruptionFallingRock_Step(struct Sprite *sprite)
|
||||
sprite->data[1] = 0;
|
||||
if ((++sprite->data[2] & 1) != 0)
|
||||
{
|
||||
sprite->pos2.y = -3;
|
||||
sprite->y2 = -3;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.y = 3;
|
||||
sprite->y2 = 3;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1072,14 +1072,14 @@ static void AnimWillOWispOrb(struct Sprite *sprite)
|
||||
sprite->data[1] += 192;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos2.y = -(sprite->data[1] >> 8);
|
||||
sprite->y2 = -(sprite->data[1] >> 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.y = sprite->data[1] >> 8;
|
||||
sprite->y2 = sprite->data[1] >> 8;
|
||||
}
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->x2 = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
|
||||
|
||||
if (++sprite->data[3] == 1)
|
||||
@@ -1089,20 +1089,20 @@ static void AnimWillOWispOrb(struct Sprite *sprite)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.x = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->x2 = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
|
||||
|
||||
|
||||
if (++sprite->data[3] == 31)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
|
||||
sprite->data[0] = 256;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
|
||||
InitAnimLinearTranslationWithSpeed(sprite);
|
||||
@@ -1119,7 +1119,7 @@ static void AnimWillOWispOrb_Step(struct Sprite *sprite)
|
||||
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.x += Sin(sprite->data[5], 16);
|
||||
sprite->x2 += Sin(sprite->data[5], 16);
|
||||
initialData5 = sprite->data[5];
|
||||
sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
|
||||
newData5 = sprite->data[5];
|
||||
@@ -1146,8 +1146,8 @@ static void AnimWillOWispFire(struct Sprite *sprite)
|
||||
sprite->data[3] += 0xC0 * 2;
|
||||
sprite->data[4] += 0xA0;
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[1], sprite->data[3] >> 8);
|
||||
sprite->pos2.y = Cos(sprite->data[1], sprite->data[4] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[1], sprite->data[3] >> 8);
|
||||
sprite->y2 = Cos(sprite->data[1], sprite->data[4] >> 8);
|
||||
|
||||
sprite->data[1] = (sprite->data[1] + 7) & 0xFF;
|
||||
|
||||
@@ -1205,7 +1205,7 @@ static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId)
|
||||
|
||||
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
|
||||
{
|
||||
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
|
||||
gSprites[task->data[task->data[3] + 14]].x2 = task->data[10] + task->data[11];
|
||||
}
|
||||
|
||||
if (++task->data[9] == 16)
|
||||
@@ -1228,7 +1228,7 @@ static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId)
|
||||
|
||||
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
|
||||
{
|
||||
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
|
||||
gSprites[task->data[task->data[3] + 14]].x2 = task->data[10] + task->data[11];
|
||||
}
|
||||
|
||||
if (++task->data[9] == 96)
|
||||
@@ -1253,7 +1253,7 @@ static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId)
|
||||
|
||||
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
|
||||
{
|
||||
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
|
||||
gSprites[task->data[task->data[3] + 14]].x2 = task->data[10] + task->data[11];
|
||||
}
|
||||
|
||||
if (++task->data[9] == 16)
|
||||
@@ -1264,7 +1264,7 @@ static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId)
|
||||
case 3:
|
||||
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
|
||||
{
|
||||
gSprites[task->data[task->data[3] + 14]].pos2.x = 0;
|
||||
gSprites[task->data[task->data[3] + 14]].x2 = 0;
|
||||
}
|
||||
|
||||
DestroyAnimVisualTask(taskId);
|
||||
@@ -1312,14 +1312,14 @@ void AnimTask_ShakeTargetInPattern(u8 taskId)
|
||||
dir = sShakeDirsPattern1[gTasks[taskId].tShakeNum % 10];
|
||||
|
||||
if (gTasks[taskId].tVertical == TRUE)
|
||||
gSprites[spriteId].pos2.y = gBattleAnimArgs[1] * dir < 0 ? -(gBattleAnimArgs[1] * dir) : gBattleAnimArgs[1] * dir;
|
||||
gSprites[spriteId].y2 = gBattleAnimArgs[1] * dir < 0 ? -(gBattleAnimArgs[1] * dir) : gBattleAnimArgs[1] * dir;
|
||||
else
|
||||
gSprites[spriteId].pos2.x = gBattleAnimArgs[1] * dir;
|
||||
gSprites[spriteId].x2 = gBattleAnimArgs[1] * dir;
|
||||
|
||||
if (gTasks[taskId].tShakeNum == gTasks[taskId].tMaxShakes)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
+76
-76
@@ -353,7 +353,7 @@ const struct SpriteTemplate gSkyAttackBirdSpriteTemplate =
|
||||
static void AnimEllipticalGust(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, FALSE);
|
||||
sprite->pos1.y += 20;
|
||||
sprite->y += 20;
|
||||
sprite->data[1] = 191;
|
||||
sprite->callback = AnimEllipticalGust_Step;
|
||||
sprite->callback(sprite);
|
||||
@@ -361,8 +361,8 @@ static void AnimEllipticalGust(struct Sprite *sprite)
|
||||
|
||||
static void AnimEllipticalGust_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[1], 32);
|
||||
sprite->pos2.y = Cos(sprite->data[1], 8);
|
||||
sprite->x2 = Sin(sprite->data[1], 32);
|
||||
sprite->y2 = Cos(sprite->data[1], 8);
|
||||
sprite->data[1] += 5;
|
||||
sprite->data[1] &= 0xFF;
|
||||
if (++sprite->data[0] == 71)
|
||||
@@ -412,9 +412,9 @@ static void AnimGustToTarget(struct Sprite *sprite)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
@@ -443,10 +443,10 @@ static void AnimAirWaveCrescent(struct Sprite *sprite)
|
||||
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
|
||||
}
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
|
||||
if (gBattleAnimArgs[6] == 0)
|
||||
@@ -485,10 +485,10 @@ static void AnimFlyBallUp_Step(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[2] += sprite->data[1];
|
||||
sprite->pos2.y -= (sprite->data[2] >> 8);
|
||||
sprite->y2 -= (sprite->data[2] >> 8);
|
||||
}
|
||||
|
||||
if (sprite->pos1.y + sprite->pos2.y < -32)
|
||||
if (sprite->y + sprite->y2 < -32)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -496,20 +496,20 @@ static void AnimFlyBallAttack(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = DISPLAY_WIDTH + 32;
|
||||
sprite->pos1.y = -32;
|
||||
sprite->x = DISPLAY_WIDTH + 32;
|
||||
sprite->y = -32;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = -32;
|
||||
sprite->pos1.y = -32;
|
||||
sprite->x = -32;
|
||||
sprite->y = -32;
|
||||
}
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[0];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
|
||||
InitAnimLinearTranslation(sprite);
|
||||
@@ -522,14 +522,14 @@ static void AnimFlyBallAttack_Step(struct Sprite *sprite)
|
||||
AnimTranslateLinear(sprite);
|
||||
if (((u16)sprite->data[3] >> 8) > 200)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[3] &= 0xFF;
|
||||
}
|
||||
|
||||
if (sprite->pos1.x + sprite->pos2.x < -32
|
||||
|| sprite->pos1.x + sprite->pos2.x > DISPLAY_WIDTH + 32
|
||||
|| sprite->pos1.y + sprite->pos2.y > DISPLAY_HEIGHT)
|
||||
if (sprite->x + sprite->x2 < -32
|
||||
|| sprite->x + sprite->x2 > DISPLAY_WIDTH + 32
|
||||
|| sprite->y + sprite->y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE;
|
||||
DestroyAnimSprite(sprite);
|
||||
@@ -584,11 +584,11 @@ static void AnimFallingFeather(struct Sprite *sprite)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_ATTR_HEIGHT) + gBattleAnimArgs[0];
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_ATTR_HEIGHT) + gBattleAnimArgs[0];
|
||||
spriteCoord = GetBattlerSpriteCoord(battler, BATTLER_COORD_ATTR_WIDTH);
|
||||
sprite->pos1.y = spriteCoord + gBattleAnimArgs[1];
|
||||
sprite->y = spriteCoord + gBattleAnimArgs[1];
|
||||
|
||||
data->unk8 = sprite->pos1.y << 8;
|
||||
data->unk8 = sprite->y << 8;
|
||||
data->unkE_1 = spriteCoord + gBattleAnimArgs[6];
|
||||
data->unk0_0c = 1;
|
||||
data->unk2 = gBattleAnimArgs[2] & 0xFF;
|
||||
@@ -631,10 +631,10 @@ static void AnimFallingFeather(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
data->unk0_1 = data->unk2 >> 6;
|
||||
sprite->pos2.x = (gSineTable[data->unk2] * data->unkC[0]) >> 8;
|
||||
sprite->x2 = (gSineTable[data->unk2] * data->unkC[0]) >> 8;
|
||||
matrixNum = sprite->oam.matrixNum;
|
||||
|
||||
sinIndex = (-sprite->pos2.x >> 1) + data->unkA;
|
||||
sinIndex = (-sprite->x2 >> 1) + data->unkA;
|
||||
spriteCoord = gSineTable[sinIndex];
|
||||
|
||||
gOamMatrices[matrixNum].a = gOamMatrices[matrixNum].d = gSineTable[sinIndex + 64];
|
||||
@@ -661,7 +661,7 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||
{
|
||||
switch (data->unk2 / 64)
|
||||
{
|
||||
case 0:
|
||||
case 0:
|
||||
if ((u8)data->unk0_1 == 1) //casts to u8 here are necessary for matching
|
||||
{
|
||||
data->unk0_0d = 1;
|
||||
@@ -867,10 +867,10 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->pos2.x = ((s32)data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8;
|
||||
sprite->x2 = ((s32)data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8;
|
||||
matrixNum = sprite->oam.matrixNum;
|
||||
|
||||
sinIndex = (-sprite->pos2.x >> 1) + data->unkA;
|
||||
sinIndex = (-sprite->x2 >> 1) + data->unkA;
|
||||
sinVal = gSineTable[sinIndex];
|
||||
|
||||
gOamMatrices[matrixNum].a = gOamMatrices[matrixNum].d = gSineTable[sinIndex + 64];
|
||||
@@ -878,13 +878,13 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||
gOamMatrices[matrixNum].c = -sinVal;
|
||||
|
||||
data->unk8 += data->unk6;
|
||||
sprite->pos1.y = data->unk8 >> 8;
|
||||
sprite->y = data->unk8 >> 8;
|
||||
if (data->unk4 & 0x8000)
|
||||
data->unk2 = (data->unk2 - (data->unk4 & 0x7FFF)) & 0xFF;
|
||||
else
|
||||
data->unk2 = (data->unk2 + (data->unk4 & 0x7FFF)) & 0xFF;
|
||||
|
||||
if (sprite->pos1.y + sprite->pos2.y >= data->unkE_1)
|
||||
if (sprite->y + sprite->y2 >= data->unkE_1)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->callback = DestroyAnimSpriteAfterTimer;
|
||||
@@ -895,8 +895,8 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||
static void AnimUnusedBubbleThrow(struct Sprite *sprite)
|
||||
{
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->callback = TranslateAnimSpriteToTargetMonLocation;
|
||||
}
|
||||
|
||||
@@ -913,16 +913,16 @@ static void AnimWhirlwindLine(struct Sprite * sprite)
|
||||
if ((gBattleAnimArgs[2] == ANIM_ATTACKER && !GetBattlerSide(gBattleAnimAttacker))
|
||||
|| (gBattleAnimArgs[2] == ANIM_TARGET && !GetBattlerSide(gBattleAnimTarget)))
|
||||
{
|
||||
sprite->pos1.x += 8;
|
||||
sprite->x += 8;
|
||||
}
|
||||
|
||||
SeekSpriteAnim(sprite, gBattleAnimArgs[4]);
|
||||
sprite->pos1.x -= 32;
|
||||
sprite->x -= 32;
|
||||
sprite->data[1] = 0x0ccc;
|
||||
|
||||
offset = gBattleAnimArgs[4];
|
||||
mult = 12;
|
||||
sprite->pos2.x += mult * offset;
|
||||
sprite->x2 += mult * offset;
|
||||
sprite->data[0] = offset;
|
||||
sprite->data[7] = gBattleAnimArgs[3];
|
||||
sprite->callback = AnimWhirlwindLine_Step;
|
||||
@@ -930,12 +930,12 @@ static void AnimWhirlwindLine(struct Sprite * sprite)
|
||||
|
||||
static void AnimWhirlwindLine_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[1] >> 8;
|
||||
sprite->x2 += sprite->data[1] >> 8;
|
||||
|
||||
if (++sprite->data[0] == 6)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
StartSpriteAnim(sprite, 0);
|
||||
}
|
||||
|
||||
@@ -987,18 +987,18 @@ static void AnimBounceBallLand(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->pos2.y = -sprite->pos1.y - 32;
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->y2 = -sprite->y - 32;
|
||||
sprite->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.y += 10;
|
||||
if (sprite->pos2.y >= 0)
|
||||
sprite->y2 += 10;
|
||||
if (sprite->y2 >= 0)
|
||||
++sprite->data[0];
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.y -= 10;
|
||||
if (sprite->pos1.y + sprite->pos2.y < -32)
|
||||
sprite->y2 -= 10;
|
||||
if (sprite->y + sprite->y2 < -32)
|
||||
{
|
||||
gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE;
|
||||
DestroyAnimSprite(sprite);
|
||||
@@ -1022,10 +1022,10 @@ void AnimDiveBall_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0]--;
|
||||
}
|
||||
else if (sprite->pos1.y + sprite->pos2.y > -32)
|
||||
else if (sprite->y + sprite->y2 > -32)
|
||||
{
|
||||
sprite->data[2] += sprite->data[1];
|
||||
sprite->pos2.y -= (sprite->data[2] >> 8);
|
||||
sprite->y2 -= (sprite->data[2] >> 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1037,12 +1037,12 @@ void AnimDiveBall_Step1(struct Sprite *sprite)
|
||||
|
||||
static void AnimDiveBall_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y += sprite->data[2] >> 8;
|
||||
sprite->y2 += sprite->data[2] >> 8;
|
||||
|
||||
if (sprite->pos1.y + sprite->pos2.y > -32)
|
||||
if (sprite->y + sprite->y2 > -32)
|
||||
sprite->invisible = FALSE;
|
||||
|
||||
if (sprite->pos2.y > 0)
|
||||
if (sprite->y2 > 0)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -1056,13 +1056,13 @@ static void AnimDiveWaterSplash(struct Sprite *sprite)
|
||||
case 0:
|
||||
if (!gBattleAnimArgs[0])
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
}
|
||||
|
||||
sprite->data[1] = 0x200;
|
||||
@@ -1089,7 +1089,7 @@ static void AnimDiveWaterSplash(struct Sprite *sprite)
|
||||
t2 = 128;
|
||||
|
||||
t2 = (64 - t2) / 2;
|
||||
sprite->pos2.y = t2;
|
||||
sprite->y2 = t2;
|
||||
|
||||
if (sprite->data[2] == 24)
|
||||
{
|
||||
@@ -1123,13 +1123,13 @@ static void AnimSprayWaterDroplet(struct Sprite *sprite)
|
||||
|
||||
if (gBattleAnimArgs[1] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 32;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 32;
|
||||
}
|
||||
|
||||
sprite->callback = AnimSprayWaterDroplet_Step;
|
||||
@@ -1139,13 +1139,13 @@ static void AnimSprayWaterDroplet_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[2] == 0)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[0] >> 8;
|
||||
sprite->pos2.y -= sprite->data[1] >> 8;
|
||||
sprite->x2 += sprite->data[0] >> 8;
|
||||
sprite->y2 -= sprite->data[1] >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x -= sprite->data[0] >> 8;
|
||||
sprite->pos2.y -= sprite->data[1] >> 8;
|
||||
sprite->x2 -= sprite->data[0] >> 8;
|
||||
sprite->y2 -= sprite->data[1] >> 8;
|
||||
}
|
||||
|
||||
sprite->data[0] = sprite->data[0];
|
||||
@@ -1187,19 +1187,19 @@ static void AnimUnusedFlashingLight_Step(struct Sprite *sprite)
|
||||
static void AnimSkyAttackBird(struct Sprite *sprite)
|
||||
{
|
||||
u16 rotation;
|
||||
s16 posx = sprite->pos1.x;
|
||||
s16 posy = sprite->pos1.y;
|
||||
s16 posx = sprite->x;
|
||||
s16 posy = sprite->y;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
|
||||
sprite->data[4] = sprite->pos1.x << 4;
|
||||
sprite->data[5] = sprite->pos1.y << 4;
|
||||
sprite->data[4] = sprite->x << 4;
|
||||
sprite->data[5] = sprite->y << 4;
|
||||
|
||||
sprite->data[6] = ((posx - sprite->pos1.x) << 4) / 12;
|
||||
sprite->data[7] = ((posy - sprite->pos1.y) << 4) / 12;
|
||||
sprite->data[6] = ((posx - sprite->x) << 4) / 12;
|
||||
sprite->data[7] = ((posy - sprite->y) << 4) / 12;
|
||||
|
||||
rotation = ArcTan2Neg(posx - sprite->pos1.x, posy - sprite->pos1.y);
|
||||
rotation = ArcTan2Neg(posx - sprite->x, posy - sprite->y);
|
||||
rotation -= 16384;
|
||||
|
||||
TrySetSpriteRotScale(sprite, 1, 0x100, 0x100, rotation);
|
||||
@@ -1212,11 +1212,11 @@ void AnimSkyAttackBird_Step(struct Sprite *sprite)
|
||||
sprite->data[4] += sprite->data[6];
|
||||
sprite->data[5] += sprite->data[7];
|
||||
|
||||
sprite->pos1.x = sprite->data[4] >> 4;
|
||||
sprite->pos1.y = sprite->data[5] >> 4;
|
||||
sprite->x = sprite->data[4] >> 4;
|
||||
sprite->y = sprite->data[5] >> 4;
|
||||
|
||||
if (sprite->pos1.x > 285 || sprite->pos1.x < -45
|
||||
|| sprite->pos1.y > 157 || sprite->pos1.y < -45)
|
||||
if (sprite->x > 285 || sprite->x < -45
|
||||
|| sprite->y > 157 || sprite->y < -45)
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
}
|
||||
|
||||
|
||||
+48
-48
@@ -221,9 +221,9 @@ static void AnimConfuseRayBallBounce(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
InitAnimLinearTranslationWithSpeed(sprite);
|
||||
sprite->callback = AnimConfuseRayBallBounce_Step1;
|
||||
@@ -243,8 +243,8 @@ static void AnimConfuseRayBallBounce_Step1(struct Sprite *sprite)
|
||||
return;
|
||||
}
|
||||
|
||||
sprite->pos2.x += Sin(sprite->data[5], 10);
|
||||
sprite->pos2.y += Cos(sprite->data[5], 15);
|
||||
sprite->x2 += Sin(sprite->data[5], 10);
|
||||
sprite->y2 += Cos(sprite->data[5], 15);
|
||||
r2 = sprite->data[5];
|
||||
sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
|
||||
r0 = sprite->data[5];
|
||||
@@ -261,8 +261,8 @@ static void AnimConfuseRayBallBounce_Step2(struct Sprite *sprite)
|
||||
s16 r0;
|
||||
sprite->data[0] = 1;
|
||||
AnimTranslateLinear(sprite);
|
||||
sprite->pos2.x += Sin(sprite->data[5], 10);
|
||||
sprite->pos2.y += Cos(sprite->data[5], 15);
|
||||
sprite->x2 += Sin(sprite->data[5], 10);
|
||||
sprite->y2 += Cos(sprite->data[5], 15);
|
||||
|
||||
r2 = sprite->data[5];
|
||||
sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
|
||||
@@ -318,8 +318,8 @@ static void AnimConfuseRayBallSpiral(struct Sprite *sprite)
|
||||
static void AnimConfuseRayBallSpiral_Step(struct Sprite *sprite)
|
||||
{
|
||||
u16 temp1;
|
||||
sprite->pos2.x = Sin(sprite->data[0], 32);
|
||||
sprite->pos2.y = Cos(sprite->data[0], 8);
|
||||
sprite->x2 = Sin(sprite->data[0], 32);
|
||||
sprite->y2 = Cos(sprite->data[0], 8);
|
||||
temp1 = sprite->data[0] - 65;
|
||||
if (temp1 <= 130)
|
||||
sprite->oam.priority = 2;
|
||||
@@ -327,7 +327,7 @@ static void AnimConfuseRayBallSpiral_Step(struct Sprite *sprite)
|
||||
sprite->oam.priority = 1;
|
||||
sprite->data[0] = (sprite->data[0] + 19) & 0xFF;
|
||||
sprite->data[2] += 80;
|
||||
sprite->pos2.y += sprite->data[2] >> 8;
|
||||
sprite->y2 += sprite->data[2] >> 8;
|
||||
sprite->data[7] += 1;
|
||||
if (sprite->data[7] == 61)
|
||||
DestroyAnimSprite(sprite);
|
||||
@@ -397,19 +397,19 @@ static void AnimTask_NightShadeClone_Step2(u8 taskId)
|
||||
// arg 2: duration step 3 (center -> target)
|
||||
static void AnimShadowBall(struct Sprite *sprite)
|
||||
{
|
||||
s16 oldPosX = sprite->pos1.x;
|
||||
s16 oldPosY = sprite->pos1.y;
|
||||
s16 oldPosX = sprite->x;
|
||||
s16 oldPosY = sprite->y;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = gBattleAnimArgs[0];
|
||||
sprite->data[2] = gBattleAnimArgs[1];
|
||||
sprite->data[3] = gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.x << 4;
|
||||
sprite->data[5] = sprite->pos1.y << 4;
|
||||
sprite->data[6] = ((oldPosX - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[7] = ((oldPosY - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[4] = sprite->x << 4;
|
||||
sprite->data[5] = sprite->y << 4;
|
||||
sprite->data[6] = ((oldPosX - sprite->x) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[7] = ((oldPosY - sprite->y) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->callback = AnimShadowBall_Step;
|
||||
}
|
||||
|
||||
@@ -420,8 +420,8 @@ static void AnimShadowBall_Step(struct Sprite *sprite)
|
||||
case 0:
|
||||
sprite->data[4] += sprite->data[6];
|
||||
sprite->data[5] += sprite->data[7];
|
||||
sprite->pos1.x = sprite->data[4] >> 4;
|
||||
sprite->pos1.y = sprite->data[5] >> 4;
|
||||
sprite->x = sprite->data[4] >> 4;
|
||||
sprite->y = sprite->data[5] >> 4;
|
||||
sprite->data[1] -= 1;
|
||||
if (sprite->data[1] > 0)
|
||||
break;
|
||||
@@ -433,22 +433,22 @@ static void AnimShadowBall_Step(struct Sprite *sprite)
|
||||
break;
|
||||
sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->data[4] = sprite->pos1.x << 4;
|
||||
sprite->data[5] = sprite->pos1.y << 4;
|
||||
sprite->data[6] = ((sprite->data[1] - sprite->pos1.x) << 4) / sprite->data[3];
|
||||
sprite->data[7] = ((sprite->data[2] - sprite->pos1.y) << 4) / sprite->data[3];
|
||||
sprite->data[4] = sprite->x << 4;
|
||||
sprite->data[5] = sprite->y << 4;
|
||||
sprite->data[6] = ((sprite->data[1] - sprite->x) << 4) / sprite->data[3];
|
||||
sprite->data[7] = ((sprite->data[2] - sprite->y) << 4) / sprite->data[3];
|
||||
sprite->data[0] += 1;
|
||||
break;
|
||||
case 2:
|
||||
sprite->data[4] += sprite->data[6];
|
||||
sprite->data[5] += sprite->data[7];
|
||||
sprite->pos1.x = sprite->data[4] >> 4;
|
||||
sprite->pos1.y = sprite->data[5] >> 4;
|
||||
sprite->x = sprite->data[4] >> 4;
|
||||
sprite->y = sprite->data[5] >> 4;
|
||||
sprite->data[3] -= 1;
|
||||
if (sprite->data[3] > 0)
|
||||
break;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->data[0] += 1;
|
||||
break;
|
||||
case 3:
|
||||
@@ -648,7 +648,7 @@ static void AnimTask_SpiteTargetShadow_Step1(u8 taskId)
|
||||
task->data[15]++;
|
||||
break;
|
||||
case 2:
|
||||
startLine = gSprites[task->data[13]].pos1.y + gSprites[task->data[13]].pos2.y - 32;
|
||||
startLine = gSprites[task->data[13]].y + gSprites[task->data[13]].y2 - 32;
|
||||
if (startLine < 0)
|
||||
startLine = 0;
|
||||
|
||||
@@ -770,8 +770,8 @@ static void AnimDestinyBondWhiteShadow(struct Sprite *sprite)
|
||||
sprite->data[6] = battler2Y;
|
||||
sprite->data[7] = sprite->data[4] / 2;
|
||||
sprite->oam.priority = 2;
|
||||
sprite->pos1.x = battler1X;
|
||||
sprite->pos1.y = battler1Y;
|
||||
sprite->x = battler1X;
|
||||
sprite->y = battler1Y;
|
||||
sprite->callback = AnimDestinyBondWhiteShadow_Step;
|
||||
sprite->invisible = TRUE;
|
||||
}
|
||||
@@ -782,8 +782,8 @@ static void AnimDestinyBondWhiteShadow_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] += sprite->data[2];
|
||||
sprite->data[1] += sprite->data[3];
|
||||
sprite->pos1.x = sprite->data[0] >> 4;
|
||||
sprite->pos1.y = sprite->data[1] >> 4;
|
||||
sprite->x = sprite->data[0] >> 4;
|
||||
sprite->y = sprite->data[1] >> 4;
|
||||
if (--sprite->data[4] == 0)
|
||||
sprite->data[0] = 0;
|
||||
}
|
||||
@@ -1047,7 +1047,7 @@ static void AnimCurseNail(struct Sprite *sprite)
|
||||
xDelta2 = 2;
|
||||
}
|
||||
|
||||
sprite->pos1.x += xDelta;
|
||||
sprite->x += xDelta;
|
||||
sprite->data[1] = xDelta2;
|
||||
sprite->data[0] = 60;
|
||||
sprite->callback = AnimCurseNail_Step1;
|
||||
@@ -1063,12 +1063,12 @@ static void AnimCurseNail_Step1(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x += sprite->data[1];
|
||||
var0 = sprite->pos2.x + 7;
|
||||
sprite->x2 += sprite->data[1];
|
||||
var0 = sprite->x2 + 7;
|
||||
if (var0 > 14)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->x2 = 0;
|
||||
sprite->oam.tileNum += 8;
|
||||
if (++sprite->data[2] == 3)
|
||||
{
|
||||
@@ -1125,13 +1125,13 @@ static void AnimGhostStatusSprite(struct Sprite *sprite)
|
||||
u16 coeffB;
|
||||
u16 coeffA;
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[0], 12);
|
||||
sprite->x2 = Sin(sprite->data[0], 12);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos2.x = -sprite->pos2.x;
|
||||
sprite->x2 = -sprite->x2;
|
||||
|
||||
sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
|
||||
sprite->data[1] += 0x100;
|
||||
sprite->pos2.y = -(sprite->data[1] >> 8);
|
||||
sprite->y2 = -(sprite->data[1] >> 8);
|
||||
|
||||
sprite->data[7]++;
|
||||
if (sprite->data[7] == 1)
|
||||
@@ -1284,7 +1284,7 @@ static void AnimGrudgeFlame(struct Sprite *sprite)
|
||||
sprite->data[2] -= 2;
|
||||
|
||||
sprite->data[2] &= 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[2], sprite->data[3]);
|
||||
sprite->x2 = Sin(sprite->data[2], sprite->data[3]);
|
||||
|
||||
index = sprite->data[2] - 65;
|
||||
if (index < 127)
|
||||
@@ -1294,7 +1294,7 @@ static void AnimGrudgeFlame(struct Sprite *sprite)
|
||||
|
||||
sprite->data[5]++;
|
||||
sprite->data[6] = (sprite->data[5] * 8) & 0xFF;
|
||||
sprite->pos2.y = Sin(sprite->data[6], 7);
|
||||
sprite->y2 = Sin(sprite->data[6], 7);
|
||||
if (gTasks[sprite->data[0]].data[8])
|
||||
{
|
||||
gTasks[sprite->data[0]].data[7]--;
|
||||
@@ -1312,7 +1312,7 @@ static void AnimMonMoveCircular(struct Sprite *sprite)
|
||||
sprite->data[3] = gBattleAnimArgs[1];
|
||||
sprite->callback = AnimMonMoveCircular_Step;
|
||||
|
||||
gSprites[sprite->data[5]].pos1.y += 8;
|
||||
gSprites[sprite->data[5]].y += 8;
|
||||
}
|
||||
|
||||
static void AnimMonMoveCircular_Step(struct Sprite *sprite)
|
||||
@@ -1320,17 +1320,17 @@ static void AnimMonMoveCircular_Step(struct Sprite *sprite)
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->data[3]--;
|
||||
gSprites[sprite->data[5]].pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
gSprites[sprite->data[5]].pos2.y = Cos(sprite->data[0], sprite->data[1]);
|
||||
gSprites[sprite->data[5]].x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
gSprites[sprite->data[5]].y2 = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
if (sprite->data[0] > 255)
|
||||
sprite->data[0] -= 256;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[sprite->data[5]].pos2.x = 0;
|
||||
gSprites[sprite->data[5]].pos2.y = 0;
|
||||
gSprites[sprite->data[5]].pos1.y -= 8;
|
||||
gSprites[sprite->data[5]].x2 = 0;
|
||||
gSprites[sprite->data[5]].y2 = 0;
|
||||
gSprites[sprite->data[5]].y -= 8;
|
||||
sprite->callback = DestroySpriteAndMatrix;
|
||||
}
|
||||
}
|
||||
|
||||
+34
-34
@@ -141,8 +141,8 @@ const struct SpriteTemplate gDirtMoundSpriteTemplate =
|
||||
// a boomerang. After hitting the target mon, it comes back to the user.
|
||||
static void AnimBonemerangProjectile(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[0] = 20;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
@@ -155,10 +155,10 @@ static void AnimBonemerangProjectile_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[0] = 20;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
@@ -186,7 +186,7 @@ static void AnimBoneHitProjectile(struct Sprite *sprite)
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
@@ -234,16 +234,16 @@ static void AnimMudSportDirt(struct Sprite *sprite)
|
||||
sprite->oam.tileNum++;
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[1] > 0 ? 1 : -1;
|
||||
sprite->callback = AnimMudSportDirtRising;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[1];
|
||||
sprite->pos1.y = gBattleAnimArgs[2];
|
||||
sprite->pos2.y = -gBattleAnimArgs[2];
|
||||
sprite->x = gBattleAnimArgs[1];
|
||||
sprite->y = gBattleAnimArgs[2];
|
||||
sprite->y2 = -gBattleAnimArgs[2];
|
||||
sprite->callback = AnimMudSportDirtFalling;
|
||||
}
|
||||
}
|
||||
@@ -253,11 +253,11 @@ static void AnimMudSportDirtRising(struct Sprite *sprite)
|
||||
if (++sprite->data[1] > 1)
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
sprite->pos1.x += sprite->data[0];
|
||||
sprite->x += sprite->data[0];
|
||||
}
|
||||
|
||||
sprite->pos1.y -= 4;
|
||||
if (sprite->pos1.y < -4)
|
||||
sprite->y -= 4;
|
||||
if (sprite->y < -4)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -266,10 +266,10 @@ static void AnimMudSportDirtFalling(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y += 4;
|
||||
if (sprite->pos2.y >= 0)
|
||||
sprite->y2 += 4;
|
||||
if (sprite->y2 >= 0)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->data[0]++;
|
||||
}
|
||||
break;
|
||||
@@ -353,7 +353,7 @@ static void AnimTask_DigBounceMovement(u8 taskId)
|
||||
else
|
||||
gBattle_BG2_Y = task->data[13] - task->data[5];
|
||||
|
||||
gSprites[task->data[10]].pos2.x = DISPLAY_WIDTH + 32 - gSprites[task->data[10]].pos1.x;
|
||||
gSprites[task->data[10]].x2 = DISPLAY_WIDTH + 32 - gSprites[task->data[10]].x;
|
||||
task->data[0]++;
|
||||
}
|
||||
break;
|
||||
@@ -372,8 +372,8 @@ static void AnimTask_DigEndBounceMovementSetInvisible(u8 taskId)
|
||||
{
|
||||
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
|
||||
if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
|
||||
gBattle_BG1_Y = 0;
|
||||
@@ -404,8 +404,8 @@ static void AnimTask_DigSetVisibleUnderground(u8 taskId)
|
||||
case 0:
|
||||
task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
gSprites[task->data[10]].invisible = FALSE;
|
||||
gSprites[task->data[10]].pos2.x = 0;
|
||||
gSprites[task->data[10]].pos2.y = DISPLAY_HEIGHT - gSprites[task->data[10]].pos1.y;
|
||||
gSprites[task->data[10]].x2 = 0;
|
||||
gSprites[task->data[10]].y2 = DISPLAY_HEIGHT - gSprites[task->data[10]].y;
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -438,12 +438,12 @@ static void AnimTask_DigRiseUpFromHole(u8 taskId)
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 2:
|
||||
gSprites[task->data[10]].pos2.y = 96;
|
||||
gSprites[task->data[10]].y2 = 96;
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 3:
|
||||
gSprites[task->data[10]].pos2.y -= 8;
|
||||
if (gSprites[task->data[10]].pos2.y == 0)
|
||||
gSprites[task->data[10]].y2 -= 8;
|
||||
if (gSprites[task->data[10]].y2 == 0)
|
||||
{
|
||||
gScanlineEffect.state = 3;
|
||||
task->data[0]++;
|
||||
@@ -518,11 +518,11 @@ void AnimDirtPlumeParticle(struct Sprite *sprite)
|
||||
gBattleAnimArgs[2] *= -1;
|
||||
}
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, 2) + xOffset;
|
||||
sprite->pos1.y = GetBattlerYCoordWithElevation(battler) + 30;
|
||||
sprite->x = GetBattlerSpriteCoord(battler, 2) + xOffset;
|
||||
sprite->y = GetBattlerYCoordWithElevation(battler) + 30;
|
||||
sprite->data[0] = gBattleAnimArgs[5];
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3];
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[3];
|
||||
sprite->data[5] = gBattleAnimArgs[4];
|
||||
InitAnimArcTranslation(sprite);
|
||||
sprite->callback = AnimDirtPlumeParticle_Step;
|
||||
@@ -549,8 +549,8 @@ static void AnimDigDirtMound(struct Sprite *sprite)
|
||||
else
|
||||
battler = gBattleAnimTarget;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, 0) - 16 + (gBattleAnimArgs[1] * 32);
|
||||
sprite->pos1.y = GetBattlerYCoordWithElevation(battler) + 32;
|
||||
sprite->x = GetBattlerSpriteCoord(battler, 0) - 16 + (gBattleAnimArgs[1] * 32);
|
||||
sprite->y = GetBattlerYCoordWithElevation(battler) + 32;
|
||||
sprite->oam.tileNum += gBattleAnimArgs[1] * 8;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
@@ -698,7 +698,7 @@ static void AnimTask_ShakeBattlers(u8 taskId)
|
||||
break;
|
||||
case 2:
|
||||
for (i = 0; i < task->tNumBattlers; i++)
|
||||
gSprites[task->tbattlerSpriteIds(i)].pos2.x = 0;
|
||||
gSprites[task->tbattlerSpriteIds(i)].x2 = 0;
|
||||
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
@@ -717,7 +717,7 @@ static void SetBattlersXOffsetForShake(struct Task *task)
|
||||
|
||||
for (i = 0; i < task->tNumBattlers; i++)
|
||||
{
|
||||
gSprites[task->tbattlerSpriteIds(i)].pos2.x = xOffset;
|
||||
gSprites[task->tbattlerSpriteIds(i)].x2 = xOffset;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+91
-91
@@ -550,8 +550,8 @@ static void AnimUnusedIceCrystalThrow(struct Sprite *sprite)
|
||||
attackerX += sprite->data[1], attackerY += sprite->data[2])
|
||||
;
|
||||
|
||||
sprite->pos1.x = attackerX;
|
||||
sprite->pos1.y = attackerY;
|
||||
sprite->x = attackerX;
|
||||
sprite->y = attackerY;
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = attackerX;
|
||||
sprite->data[2] = targetX;
|
||||
@@ -569,10 +569,10 @@ static void AnimUnusedIceCrystalThrow_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[5] += sprite->data[1];
|
||||
sprite->data[6] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[5];
|
||||
sprite->pos2.y = sprite->data[6];
|
||||
sprite->pos2.x += Sin(sprite->data[7], sprite->data[3]);
|
||||
sprite->pos2.y += Sin(sprite->data[7], sprite->data[3]);
|
||||
sprite->x2 = sprite->data[5];
|
||||
sprite->y2 = sprite->data[6];
|
||||
sprite->x2 += Sin(sprite->data[7], sprite->data[3]);
|
||||
sprite->y2 += Sin(sprite->data[7], sprite->data[3]);
|
||||
sprite->data[7] = (sprite->data[7] + sprite->data[4]) & 0xFF;
|
||||
sprite->data[0]--;
|
||||
}
|
||||
@@ -631,12 +631,12 @@ static void AnimIceEffectParticle(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
StoreSpriteCallbackInData6(sprite, AnimFlickerIceEffectParticle);
|
||||
@@ -666,8 +666,8 @@ static void AnimSwirlingSnowball(struct Sprite *sprite)
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
|
||||
if (!gBattleAnimArgs[5])
|
||||
{
|
||||
@@ -696,16 +696,16 @@ static void AnimSwirlingSnowball(struct Sprite *sprite)
|
||||
sprite->data[0] = 1;
|
||||
AnimFastTranslateLinear(sprite);
|
||||
|
||||
if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > DISPLAY_WIDTH + 32
|
||||
|| sprite->pos1.y + sprite->pos2.y > DISPLAY_HEIGHT
|
||||
|| sprite->pos1.y + sprite->pos2.y < -16)
|
||||
if ((u32)(sprite->x + sprite->x2 + 16) > DISPLAY_WIDTH + 32
|
||||
|| sprite->y + sprite->y2 > DISPLAY_HEIGHT
|
||||
|| sprite->y + sprite->y2 < -16)
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
sprite->data[i] = tempDataHolder[i];
|
||||
@@ -718,10 +718,10 @@ static void AnimSwirlingSnowball_Step1(struct Sprite *sprite)
|
||||
{
|
||||
s16 tempVar;
|
||||
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[0] = 128;
|
||||
|
||||
tempVar = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 20 : -20;
|
||||
@@ -740,17 +740,17 @@ static void AnimSwirlingSnowball_Step2(struct Sprite *sprite)
|
||||
|
||||
if (sprite->data[5] <= 31)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], tempVar) - sprite->data[3];
|
||||
sprite->pos2.y = Cos(sprite->data[0], 15) - sprite->data[4];
|
||||
sprite->x2 = Sin(sprite->data[0], tempVar) - sprite->data[3];
|
||||
sprite->y2 = Cos(sprite->data[0], 15) - sprite->data[4];
|
||||
sprite->data[0] = (sprite->data[0] + 16) & 0xFF;
|
||||
sprite->data[5] += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[3] = 0;
|
||||
sprite->callback = AnimSwirlingSnowball_End;
|
||||
@@ -762,9 +762,9 @@ static void AnimSwirlingSnowball_End(struct Sprite *sprite)
|
||||
sprite->data[0] = 1;
|
||||
AnimFastTranslateLinear(sprite);
|
||||
|
||||
if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > DISPLAY_WIDTH + 32
|
||||
|| sprite->pos1.y + sprite->pos2.y > 256
|
||||
|| sprite->pos1.y + sprite->pos2.y < -16)
|
||||
if ((u32)(sprite->x + sprite->x2 + 16) > DISPLAY_WIDTH + 32
|
||||
|| sprite->y + sprite->y2 > 256
|
||||
|| sprite->y + sprite->y2 < -16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -786,8 +786,8 @@ static void AnimMoveParticleBeyondTarget(struct Sprite *sprite)
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
|
||||
if (!gBattleAnimArgs[7])
|
||||
{
|
||||
@@ -816,16 +816,16 @@ static void AnimMoveParticleBeyondTarget(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 1;
|
||||
AnimFastTranslateLinear(sprite);
|
||||
if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > DISPLAY_WIDTH + 32
|
||||
|| sprite->pos1.y + sprite->pos2.y > DISPLAY_HEIGHT
|
||||
|| sprite->pos1.y + sprite->pos2.y < -16)
|
||||
if ((u32)(sprite->x + sprite->x2 + 16) > DISPLAY_WIDTH + 32
|
||||
|| sprite->y + sprite->y2 > DISPLAY_HEIGHT
|
||||
|| sprite->y + sprite->y2 < -16)
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
sprite->data[i] = tempDataHolder[i];
|
||||
@@ -842,13 +842,13 @@ static void AnimWiggleParticleTowardsTarget(struct Sprite *sprite)
|
||||
if (sprite->data[0] == 0)
|
||||
sprite->data[0] = 1;
|
||||
|
||||
sprite->pos2.y += Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->y2 += Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF;
|
||||
if (sprite->data[0] == 1)
|
||||
{
|
||||
if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > DISPLAY_WIDTH + 32
|
||||
|| sprite->pos1.y + sprite->pos2.y > DISPLAY_HEIGHT
|
||||
|| sprite->pos1.y + sprite->pos2.y < -16)
|
||||
if ((u32)(sprite->x + sprite->x2 + 16) > DISPLAY_WIDTH + 32
|
||||
|| sprite->y + sprite->y2 > DISPLAY_HEIGHT
|
||||
|| sprite->y + sprite->y2 < -16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
}
|
||||
@@ -867,13 +867,13 @@ static void AnimWaveFromCenterOfTarget(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y);
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
sprite->data[0]++;
|
||||
@@ -905,13 +905,13 @@ static void InitSwirlingFogAnim(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
battler = gBattleAnimAttacker;
|
||||
@@ -924,13 +924,13 @@ static void InitSwirlingFogAnim(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
battler = gBattleAnimTarget;
|
||||
@@ -944,13 +944,13 @@ static void InitSwirlingFogAnim(struct Sprite *sprite)
|
||||
|
||||
sprite->data[6] = tempVar;
|
||||
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
|
||||
sprite->pos1.y += 8;
|
||||
sprite->y += 8;
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[2];
|
||||
|
||||
InitAnimLinearTranslation(sprite);
|
||||
|
||||
@@ -964,8 +964,8 @@ static void AnimSwirlingFogAnim(struct Sprite *sprite)
|
||||
{
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.x += Sin(sprite->data[5], sprite->data[6]);
|
||||
sprite->pos2.y += Cos(sprite->data[5], -6);
|
||||
sprite->x2 += Sin(sprite->data[5], sprite->data[6]);
|
||||
sprite->y2 += Cos(sprite->data[5], -6);
|
||||
|
||||
if ((u16)(sprite->data[5] - 64) <= 0x7F)
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]);
|
||||
@@ -1080,8 +1080,8 @@ static void AnimTask_HazeScrollingFog_Step(u8 taskId)
|
||||
// arg 5: ??? unknown (seems to vibrate target mon somehow)
|
||||
static void AnimThrowMistBall(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->callback = TranslateAnimSpriteToTargetMonLocation;
|
||||
}
|
||||
|
||||
@@ -1200,21 +1200,21 @@ static void InitPoisonGasCloudAnim(struct Sprite *sprite)
|
||||
sprite->data[6] = 1;
|
||||
}
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
if (gBattleAnimArgs[7])
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1];
|
||||
sprite->data[1] = sprite->x + gBattleAnimArgs[1];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[3];
|
||||
sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->y + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[4];
|
||||
sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1];
|
||||
sprite->data[1] = sprite->x + gBattleAnimArgs[1];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[3];
|
||||
sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->y + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[4];
|
||||
sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8;
|
||||
}
|
||||
@@ -1238,7 +1238,7 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
case 0:
|
||||
AnimTranslateLinear(sprite);
|
||||
value = gSineTable[sprite->data[5]];
|
||||
sprite->pos2.x += value >> 4;
|
||||
sprite->x2 += value >> 4;
|
||||
if (sprite->data[6])
|
||||
sprite->data[5] = (sprite->data[5] - 8) & 0xFF;
|
||||
else
|
||||
@@ -1247,12 +1247,12 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
if (sprite->data[0] <= 0)
|
||||
{
|
||||
sprite->data[0] = 80;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y + 29;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y + 29;
|
||||
sprite->data[7]++;
|
||||
if (IsContest())
|
||||
sprite->data[5] = 80;
|
||||
@@ -1261,9 +1261,9 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
else
|
||||
sprite->data[5] = 80;
|
||||
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
value = gSineTable[sprite->data[5]];
|
||||
sprite->pos2.x = value >> 3;
|
||||
sprite->x2 = value >> 3;
|
||||
sprite->data[5] = (sprite->data[5] + 2) & 0xFF;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
}
|
||||
@@ -1271,8 +1271,8 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
case 1:
|
||||
AnimTranslateLinear(sprite);
|
||||
value = gSineTable[sprite->data[5]];
|
||||
sprite->pos2.x += value >> 3;
|
||||
sprite->pos2.y += (gSineTable[sprite->data[5] + 0x40] * -3) >> 8;
|
||||
sprite->x2 += value >> 3;
|
||||
sprite->y2 += (gSineTable[sprite->data[5] + 0x40] * -3) >> 8;
|
||||
if (!IsContest())
|
||||
{
|
||||
u16 var0 = sprite->data[5] - 0x40;
|
||||
@@ -1297,9 +1297,9 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
if (sprite->data[0] <= 0)
|
||||
{
|
||||
sprite->data[0] = 0x300;
|
||||
sprite->data[1] = sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->data[3] = sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->data[4] = sprite->pos1.y + 4;
|
||||
sprite->data[1] = sprite->x += sprite->x2;
|
||||
sprite->data[3] = sprite->y += sprite->y2;
|
||||
sprite->data[4] = sprite->y + 4;
|
||||
if (IsContest())
|
||||
sprite->data[2] = -0x10;
|
||||
else if (GET_BATTLER_SIDE2(gBattleAnimTarget) != B_SIDE_PLAYER)
|
||||
@@ -1308,7 +1308,7 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
sprite->data[2] = -0x10;
|
||||
|
||||
sprite->data[7]++;
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
InitAnimLinearTranslationWithSpeed(sprite);
|
||||
}
|
||||
break;
|
||||
@@ -1442,10 +1442,10 @@ static void AnimHailBegin(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
sprite->pos1.x += 4;
|
||||
sprite->pos1.y += 8;
|
||||
sprite->x += 4;
|
||||
sprite->y += 8;
|
||||
|
||||
if (sprite->pos1.x < sprite->data[3] && sprite->pos1.y < sprite->data[4])
|
||||
if (sprite->x < sprite->data[3] && sprite->y < sprite->data[4])
|
||||
return;
|
||||
|
||||
if (sprite->data[0] == 1 && sprite->data[5] == 0)
|
||||
@@ -1550,11 +1550,11 @@ static void AnimIceBallParticle(struct Sprite *sprite)
|
||||
sprite->data[4] += sprite->data[2];
|
||||
|
||||
if (sprite->data[1] & 1)
|
||||
sprite->pos2.x = -(sprite->data[3] >> 8);
|
||||
sprite->x2 = -(sprite->data[3] >> 8);
|
||||
else
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
|
||||
if (++sprite->data[0] == 21)
|
||||
DestroyAnimSprite(sprite);
|
||||
|
||||
@@ -99,8 +99,8 @@ void AnimTask_ShakeMon(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
gSprites[spriteId].pos2.x = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].pos2.y = gBattleAnimArgs[2];
|
||||
gSprites[spriteId].x2 = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].y2 = gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[3];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[4];
|
||||
@@ -115,27 +115,27 @@ static void AnimTask_ShakeMon_Step(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
if (gSprites[gTasks[taskId].data[0]].pos2.x == 0)
|
||||
if (gSprites[gTasks[taskId].data[0]].x2 == 0)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = gTasks[taskId].data[4];
|
||||
gSprites[gTasks[taskId].data[0]].x2 = gTasks[taskId].data[4];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = 0;
|
||||
gSprites[gTasks[taskId].data[0]].x2 = 0;
|
||||
}
|
||||
if (gSprites[gTasks[taskId].data[0]].pos2.y == 0)
|
||||
if (gSprites[gTasks[taskId].data[0]].y2 == 0)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].y2 = gTasks[taskId].data[5];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = 0;
|
||||
gSprites[gTasks[taskId].data[0]].y2 = 0;
|
||||
}
|
||||
gTasks[taskId].data[3] = gTasks[taskId].data[2];
|
||||
if (--gTasks[taskId].data[1] == 0)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = 0;
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = 0;
|
||||
gSprites[gTasks[taskId].data[0]].x2 = 0;
|
||||
gSprites[gTasks[taskId].data[0]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
@@ -203,8 +203,8 @@ void AnimTask_ShakeMon2(u8 taskId)
|
||||
return;
|
||||
}
|
||||
|
||||
gSprites[spriteId].pos2.x = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].pos2.y = gBattleAnimArgs[2];
|
||||
gSprites[spriteId].x2 = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].y2 = gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[3];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[4];
|
||||
@@ -219,21 +219,21 @@ static void AnimTask_ShakeMon2_Step(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
if (gSprites[gTasks[taskId].data[0]].pos2.x == gTasks[taskId].data[4])
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = -gTasks[taskId].data[4];
|
||||
if (gSprites[gTasks[taskId].data[0]].x2 == gTasks[taskId].data[4])
|
||||
gSprites[gTasks[taskId].data[0]].x2 = -gTasks[taskId].data[4];
|
||||
else
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = gTasks[taskId].data[4];
|
||||
gSprites[gTasks[taskId].data[0]].x2 = gTasks[taskId].data[4];
|
||||
|
||||
if (gSprites[gTasks[taskId].data[0]].pos2.y == gTasks[taskId].data[5])
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = -gTasks[taskId].data[5];
|
||||
if (gSprites[gTasks[taskId].data[0]].y2 == gTasks[taskId].data[5])
|
||||
gSprites[gTasks[taskId].data[0]].y2 = -gTasks[taskId].data[5];
|
||||
else
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].y2 = gTasks[taskId].data[5];
|
||||
|
||||
gTasks[taskId].data[3] = gTasks[taskId].data[2];
|
||||
if (--gTasks[taskId].data[1] == 0)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = 0;
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = 0;
|
||||
gSprites[gTasks[taskId].data[0]].x2 = 0;
|
||||
gSprites[gTasks[taskId].data[0]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
@@ -261,8 +261,8 @@ void AnimTask_ShakeMonInPlace(u8 taskId)
|
||||
return;
|
||||
}
|
||||
|
||||
gSprites[spriteId].pos2.x += gBattleAnimArgs[1];
|
||||
gSprites[spriteId].pos2.y += gBattleAnimArgs[2];
|
||||
gSprites[spriteId].x2 += gBattleAnimArgs[1];
|
||||
gSprites[spriteId].y2 += gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].data[1] = 0;
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[3];
|
||||
@@ -280,26 +280,26 @@ static void AnimTask_ShakeMonInPlace_Step(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[1] & 1)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x += gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y += gTasks[taskId].data[6];
|
||||
gSprites[gTasks[taskId].data[0]].x2 += gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].y2 += gTasks[taskId].data[6];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x -= gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y -= gTasks[taskId].data[6];
|
||||
gSprites[gTasks[taskId].data[0]].x2 -= gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].y2 -= gTasks[taskId].data[6];
|
||||
}
|
||||
gTasks[taskId].data[3] = gTasks[taskId].data[4];
|
||||
if (++gTasks[taskId].data[1] >= gTasks[taskId].data[2])
|
||||
{
|
||||
if (gTasks[taskId].data[1] & 1)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x += gTasks[taskId].data[5] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y += gTasks[taskId].data[6] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].x2 += gTasks[taskId].data[5] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].y2 += gTasks[taskId].data[6] / 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x -= gTasks[taskId].data[5] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y -= gTasks[taskId].data[6] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].x2 -= gTasks[taskId].data[5] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].y2 -= gTasks[taskId].data[6] / 2;
|
||||
}
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
@@ -320,7 +320,7 @@ static void AnimTask_ShakeMonInPlace_Step(u8 taskId)
|
||||
void AnimTask_ShakeAndSinkMon(u8 taskId)
|
||||
{
|
||||
u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
|
||||
gSprites[spriteId].pos2.x = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].x2 = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[2];
|
||||
@@ -339,15 +339,15 @@ static void AnimTask_ShakeAndSinkMon_Step(u8 taskId)
|
||||
if (gTasks[taskId].data[2] == gTasks[taskId].data[8]++)
|
||||
{
|
||||
gTasks[taskId].data[8] = 0;
|
||||
if (gSprites[spriteId].pos2.x == x)
|
||||
if (gSprites[spriteId].x2 == x)
|
||||
x = -x;
|
||||
|
||||
gSprites[spriteId].pos2.x += x;
|
||||
gSprites[spriteId].x2 += x;
|
||||
}
|
||||
|
||||
gTasks[taskId].data[1] = x;
|
||||
gTasks[taskId].data[9] += gTasks[taskId].data[3];
|
||||
gSprites[spriteId].pos2.y = gTasks[taskId].data[9] >> 8;
|
||||
gSprites[spriteId].y2 = gTasks[taskId].data[9] >> 8;
|
||||
if (--gTasks[taskId].data[4] == 0)
|
||||
{
|
||||
DestroyAnimVisualTask(taskId);
|
||||
@@ -390,9 +390,9 @@ void AnimTask_TranslateMonElliptical(u8 taskId)
|
||||
static void AnimTask_TranslateMonElliptical_Step(u8 taskId)
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[0];
|
||||
gSprites[spriteId].pos2.x = Sin(gTasks[taskId].data[5], gTasks[taskId].data[1]);
|
||||
gSprites[spriteId].pos2.y = -Cos(gTasks[taskId].data[5], gTasks[taskId].data[2]);
|
||||
gSprites[spriteId].pos2.y += gTasks[taskId].data[2];
|
||||
gSprites[spriteId].x2 = Sin(gTasks[taskId].data[5], gTasks[taskId].data[1]);
|
||||
gSprites[spriteId].y2 = -Cos(gTasks[taskId].data[5], gTasks[taskId].data[2]);
|
||||
gSprites[spriteId].y2 += gTasks[taskId].data[2];
|
||||
gTasks[taskId].data[5] += gTasks[taskId].data[4];
|
||||
gTasks[taskId].data[5] &= 0xff;
|
||||
|
||||
@@ -401,8 +401,8 @@ static void AnimTask_TranslateMonElliptical_Step(u8 taskId)
|
||||
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
@@ -493,15 +493,15 @@ static void SlideMonToOriginalPos(struct Sprite *sprite)
|
||||
monSpriteId = gBattlerSpriteIds[gBattleAnimTarget];
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gSprites[monSpriteId].pos1.x + gSprites[monSpriteId].pos2.x;
|
||||
sprite->data[2] = gSprites[monSpriteId].pos1.x;
|
||||
sprite->data[3] = gSprites[monSpriteId].pos1.y + gSprites[monSpriteId].pos2.y;
|
||||
sprite->data[4] = gSprites[monSpriteId].pos1.y;
|
||||
sprite->data[1] = gSprites[monSpriteId].x + gSprites[monSpriteId].x2;
|
||||
sprite->data[2] = gSprites[monSpriteId].x;
|
||||
sprite->data[3] = gSprites[monSpriteId].y + gSprites[monSpriteId].y2;
|
||||
sprite->data[4] = gSprites[monSpriteId].y;
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = 0;
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[5] = gSprites[monSpriteId].pos2.x;
|
||||
sprite->data[6] = gSprites[monSpriteId].pos2.y;
|
||||
sprite->data[5] = gSprites[monSpriteId].x2;
|
||||
sprite->data[6] = gSprites[monSpriteId].y2;
|
||||
sprite->invisible = TRUE;
|
||||
|
||||
if (gBattleAnimArgs[1] == 1)
|
||||
@@ -526,10 +526,10 @@ static void SlideMonToOriginalPos_Step(struct Sprite *sprite)
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
if (lo < 2)
|
||||
monSprite->pos2.x = 0;
|
||||
monSprite->x2 = 0;
|
||||
|
||||
if (lo == 2 || lo == 0)
|
||||
monSprite->pos2.y = 0;
|
||||
monSprite->y2 = 0;
|
||||
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -538,8 +538,8 @@ static void SlideMonToOriginalPos_Step(struct Sprite *sprite)
|
||||
sprite->data[0]--;
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
monSprite->pos2.x = (s8)(sprite->data[3] >> 8) + sprite->data[5];
|
||||
monSprite->pos2.y = (s8)(sprite->data[4] >> 8) + sprite->data[6];
|
||||
monSprite->x2 = (s8)(sprite->data[3] >> 8) + sprite->data[5];
|
||||
monSprite->y2 = (s8)(sprite->data[4] >> 8) + sprite->data[6];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -571,10 +571,10 @@ static void SlideMonToOffset(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = gSprites[monSpriteId].pos1.x;
|
||||
sprite->data[2] = gSprites[monSpriteId].pos1.x + gBattleAnimArgs[1];
|
||||
sprite->data[3] = gSprites[monSpriteId].pos1.y;
|
||||
sprite->data[4] = gSprites[monSpriteId].pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[1] = gSprites[monSpriteId].x;
|
||||
sprite->data[2] = gSprites[monSpriteId].x + gBattleAnimArgs[1];
|
||||
sprite->data[3] = gSprites[monSpriteId].y;
|
||||
sprite->data[4] = gSprites[monSpriteId].y + gBattleAnimArgs[2];
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = 0;
|
||||
sprite->data[4] = 0;
|
||||
@@ -605,13 +605,13 @@ static void SlideMonToOffsetAndBack(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
|
||||
sprite->data[1] = gSprites[spriteId].x + gSprites[spriteId].x2;
|
||||
sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1];
|
||||
sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
|
||||
sprite->data[3] = gSprites[spriteId].y + gSprites[spriteId].y2;
|
||||
sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2];
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = gSprites[spriteId].pos2.x << 8;
|
||||
sprite->data[4] = gSprites[spriteId].pos2.y << 8;
|
||||
sprite->data[3] = gSprites[spriteId].x2 << 8;
|
||||
sprite->data[4] = gSprites[spriteId].y2 << 8;
|
||||
sprite->data[5] = spriteId;
|
||||
sprite->data[6] = gBattleAnimArgs[5];
|
||||
if (!gBattleAnimArgs[5])
|
||||
@@ -628,8 +628,8 @@ static void SlideMonToOffsetAndBack(struct Sprite *sprite)
|
||||
|
||||
static void SlideMonToOffsetAndBack_End(struct Sprite *sprite)
|
||||
{
|
||||
gSprites[sprite->data[5]].pos2.x = 0;
|
||||
gSprites[sprite->data[5]].pos2.y = 0;
|
||||
gSprites[sprite->data[5]].x2 = 0;
|
||||
gSprites[sprite->data[5]].y2 = 0;
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -667,8 +667,8 @@ static void AnimTask_WindUpLunge_Step1(u8 taskId)
|
||||
u8 spriteId;
|
||||
spriteId = gTasks[taskId].data[0];
|
||||
gTasks[taskId].data[11] += gTasks[taskId].data[1];
|
||||
gSprites[spriteId].pos2.x = gTasks[taskId].data[11] >> 8;
|
||||
gSprites[spriteId].pos2.y = Sin((u8)(gTasks[taskId].data[10] >> 8), gTasks[taskId].data[2]);
|
||||
gSprites[spriteId].x2 = gTasks[taskId].data[11] >> 8;
|
||||
gSprites[spriteId].y2 = Sin((u8)(gTasks[taskId].data[10] >> 8), gTasks[taskId].data[2]);
|
||||
gTasks[taskId].data[10] += gTasks[taskId].data[7];
|
||||
if (--gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
@@ -687,7 +687,7 @@ static void AnimTask_WindUpLunge_Step2(u8 taskId)
|
||||
{
|
||||
spriteId = gTasks[taskId].data[0];
|
||||
gTasks[taskId].data[12] += gTasks[taskId].data[5];
|
||||
gSprites[spriteId].pos2.x = (gTasks[taskId].data[12] >> 8) + (gTasks[taskId].data[11] >> 8);
|
||||
gSprites[spriteId].x2 = (gTasks[taskId].data[12] >> 8) + (gTasks[taskId].data[11] >> 8);
|
||||
if (--gTasks[taskId].data[6] == 0)
|
||||
{
|
||||
DestroyAnimVisualTask(taskId);
|
||||
@@ -741,8 +741,8 @@ void AnimTask_SlideOffScreen(u8 taskId)
|
||||
static void AnimTask_SlideOffScreen_Step(u8 taskId)
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[0];
|
||||
gSprites[spriteId].pos2.x += gTasks[taskId].data[1];
|
||||
if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x + 0x20 > 0x130u)
|
||||
gSprites[spriteId].x2 += gTasks[taskId].data[1];
|
||||
if (gSprites[spriteId].x2 + gSprites[spriteId].x + 0x20 > 0x130u)
|
||||
{
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
@@ -794,17 +794,17 @@ static void AnimTask_SwayMonStep(u8 taskId)
|
||||
|
||||
if (gTasks[taskId].data[0] == 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = sineValue;
|
||||
gSprites[spriteId].x2 = sineValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(gTasks[taskId].data[5]) == B_SIDE_PLAYER)
|
||||
{
|
||||
gSprites[spriteId].pos2.y = (sineValue >= 0) ? sineValue : -sineValue;
|
||||
gSprites[spriteId].y2 = (sineValue >= 0) ? sineValue : -sineValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.y = (sineValue >= 0) ? -sineValue : sineValue;
|
||||
gSprites[spriteId].y2 = (sineValue >= 0) ? -sineValue : sineValue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -815,8 +815,8 @@ static void AnimTask_SwayMonStep(u8 taskId)
|
||||
gTasks[taskId].data[12] ^= 1;
|
||||
if (--gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
@@ -1011,8 +1011,8 @@ void AnimTask_ShakeTargetBasedOnMovePowerOrDmg(u8 taskId)
|
||||
gTasks[taskId].data[10] = gBattleAnimArgs[3];
|
||||
gTasks[taskId].data[11] = gBattleAnimArgs[4];
|
||||
gTasks[taskId].data[7] = GetAnimBattlerSpriteId(ANIM_TARGET);
|
||||
gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].pos2.x;
|
||||
gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].pos2.y;
|
||||
gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].x2;
|
||||
gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].y2;
|
||||
gTasks[taskId].data[0] = 0;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[2];
|
||||
@@ -1030,28 +1030,28 @@ static void AnimTask_ShakeTargetBasedOnMovePowerOrDmg_Step(u8 taskId)
|
||||
{
|
||||
if (task->data[12])
|
||||
{
|
||||
gSprites[task->data[7]].pos2.x = task->data[8] + task->data[13];
|
||||
gSprites[task->data[7]].x2 = task->data[8] + task->data[13];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[task->data[7]].pos2.x = task->data[8] - task->data[14];
|
||||
gSprites[task->data[7]].x2 = task->data[8] - task->data[14];
|
||||
}
|
||||
}
|
||||
if (task->data[11])
|
||||
{
|
||||
if (task->data[12])
|
||||
{
|
||||
gSprites[task->data[7]].pos2.y = task->data[15];
|
||||
gSprites[task->data[7]].y2 = task->data[15];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[task->data[7]].pos2.y = 0;
|
||||
gSprites[task->data[7]].y2 = 0;
|
||||
}
|
||||
}
|
||||
if (!--task->data[2])
|
||||
{
|
||||
gSprites[task->data[7]].pos2.x = 0;
|
||||
gSprites[task->data[7]].pos2.y = 0;
|
||||
gSprites[task->data[7]].x2 = 0;
|
||||
gSprites[task->data[7]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
|
||||
+96
-96
@@ -432,8 +432,8 @@ void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
if (sprite->data[0] >= 0x100)
|
||||
sprite->data[0] -= 0x100;
|
||||
@@ -451,8 +451,8 @@ void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
sprite->data[5] += sprite->data[4];
|
||||
if (sprite->data[0] >= 0x100)
|
||||
@@ -471,8 +471,8 @@ void sub_80A63C8(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[4], sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[4], sprite->data[1]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
sprite->data[4] += sprite->data[5];
|
||||
if (sprite->data[0] >= 0x100)
|
||||
@@ -495,8 +495,8 @@ void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[4]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[4]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
if (sprite->data[0] >= 0x100)
|
||||
sprite->data[0] -= 0x100;
|
||||
@@ -547,8 +547,8 @@ void TranslateSpriteLinear(struct Sprite *sprite)
|
||||
if (sprite->data[0] > 0)
|
||||
{
|
||||
sprite->data[0]--;
|
||||
sprite->pos2.x += sprite->data[1];
|
||||
sprite->pos2.y += sprite->data[2];
|
||||
sprite->x2 += sprite->data[1];
|
||||
sprite->y2 += sprite->data[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -563,8 +563,8 @@ void TranslateSpriteLinearFixedPoint(struct Sprite *sprite)
|
||||
sprite->data[0]--;
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -579,8 +579,8 @@ static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
|
||||
sprite->data[0]--;
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -592,8 +592,8 @@ static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
|
||||
|
||||
void sub_80A65EC(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
|
||||
sprite->data[1] = sprite->x + sprite->x2;
|
||||
sprite->data[3] = sprite->y + sprite->y2;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->callback = sub_80A64D0;
|
||||
@@ -604,8 +604,8 @@ void TranslateMonSpriteLinear(struct Sprite *sprite)
|
||||
if (sprite->data[0] > 0)
|
||||
{
|
||||
sprite->data[0]--;
|
||||
gSprites[sprite->data[3]].pos2.x += sprite->data[1];
|
||||
gSprites[sprite->data[3]].pos2.y += sprite->data[2];
|
||||
gSprites[sprite->data[3]].x2 += sprite->data[1];
|
||||
gSprites[sprite->data[3]].y2 += sprite->data[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -620,8 +620,8 @@ void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite)
|
||||
sprite->data[0]--;
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
gSprites[sprite->data[5]].pos2.x = sprite->data[3] >> 8;
|
||||
gSprites[sprite->data[5]].pos2.y = sprite->data[4] >> 8;
|
||||
gSprites[sprite->data[5]].x2 = sprite->data[3] >> 8;
|
||||
gSprites[sprite->data[5]].y2 = sprite->data[4] >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -634,9 +634,9 @@ void TranslateSpriteLinearAndFlicker(struct Sprite *sprite)
|
||||
if (sprite->data[0] > 0)
|
||||
{
|
||||
sprite->data[0]--;
|
||||
sprite->pos2.x = sprite->data[2] >> 8;
|
||||
sprite->x2 = sprite->data[2] >> 8;
|
||||
sprite->data[2] += sprite->data[1];
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
sprite->data[4] += sprite->data[3];
|
||||
if (sprite->data[0] % sprite->data[5] == 0)
|
||||
{
|
||||
@@ -658,8 +658,8 @@ void DestroySpriteAndMatrix(struct Sprite *sprite)
|
||||
|
||||
void sub_80A6760(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
|
||||
sprite->data[1] = sprite->x + sprite->x2;
|
||||
sprite->data[3] = sprite->y + sprite->y2;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->callback = sub_80A64D0;
|
||||
@@ -699,8 +699,8 @@ void DestroyAnimVisualTaskAndDisableBlend(u8 taskId)
|
||||
|
||||
void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
|
||||
// Sets the initial x offset of the anim sprite depending on the horizontal orientation
|
||||
@@ -712,25 +712,25 @@ void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset)
|
||||
|
||||
if (attackerX > targetX)
|
||||
{
|
||||
sprite->pos1.x -= xOffset;
|
||||
sprite->x -= xOffset;
|
||||
}
|
||||
else if (attackerX < targetX)
|
||||
{
|
||||
sprite->pos1.x += xOffset;
|
||||
sprite->x += xOffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= xOffset;
|
||||
sprite->x -= xOffset;
|
||||
else
|
||||
sprite->pos1.x += xOffset;
|
||||
sprite->x += xOffset;
|
||||
}
|
||||
}
|
||||
|
||||
void InitAnimArcTranslation(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[6] = 0x8000 / sprite->data[0];
|
||||
sprite->data[7] = 0;
|
||||
@@ -741,7 +741,7 @@ bool8 TranslateAnimHorizontalArc(struct Sprite *sprite)
|
||||
if (AnimTranslateLinear(sprite))
|
||||
return TRUE;
|
||||
sprite->data[7] += sprite->data[6];
|
||||
sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
|
||||
sprite->y2 += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -750,16 +750,16 @@ bool8 TranslateAnimVerticalArc(struct Sprite *sprite)
|
||||
if (AnimTranslateLinear(sprite))
|
||||
return TRUE;
|
||||
sprite->data[7] += sprite->data[6];
|
||||
sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
|
||||
sprite->x2 += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
}
|
||||
|
||||
void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets)
|
||||
@@ -768,27 +768,27 @@ void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets
|
||||
// is why there is no else clause for the "respectMonPicOffsets" check.
|
||||
if (!respectMonPicOffsets)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y);
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y);
|
||||
}
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets)
|
||||
{
|
||||
if (!respectMonPicOffsets)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
u8 GetBattlerSide(u8 battlerId)
|
||||
@@ -986,8 +986,8 @@ void UpdateAnimBg3ScreenSize(bool8 largeScreenSize)
|
||||
|
||||
void TradeMenuBouncePartySprites(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->callback = TranslateSpriteLinearFixedPointIconFrame;
|
||||
sprite->callback(sprite);
|
||||
@@ -1033,8 +1033,8 @@ void InitAnimLinearTranslation(struct Sprite *sprite)
|
||||
|
||||
void StartAnimLinearTranslation(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = AnimTranslateLinear_WaitEnd;
|
||||
sprite->callback(sprite);
|
||||
@@ -1042,8 +1042,8 @@ void StartAnimLinearTranslation(struct Sprite *sprite)
|
||||
|
||||
void sub_80A6F14(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = sub_80A6FB4;
|
||||
sprite->callback(sprite);
|
||||
@@ -1064,14 +1064,14 @@ bool8 AnimTranslateLinear(struct Sprite *sprite)
|
||||
y += v2;
|
||||
|
||||
if (v1 & 1)
|
||||
sprite->pos2.x = -(x >> 8);
|
||||
sprite->x2 = -(x >> 8);
|
||||
else
|
||||
sprite->pos2.x = x >> 8;
|
||||
sprite->x2 = x >> 8;
|
||||
|
||||
if (v2 & 1)
|
||||
sprite->pos2.y = -(y >> 8);
|
||||
sprite->y2 = -(y >> 8);
|
||||
else
|
||||
sprite->pos2.y = y >> 8;
|
||||
sprite->y2 = y >> 8;
|
||||
|
||||
sprite->data[3] = x;
|
||||
sprite->data[4] = y;
|
||||
@@ -1101,8 +1101,8 @@ void InitAnimLinearTranslationWithSpeed(struct Sprite *sprite)
|
||||
|
||||
void InitAnimLinearTranslationWithSpeedAndPos(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitAnimLinearTranslationWithSpeed(sprite);
|
||||
sprite->callback = AnimTranslateLinear_WaitEnd;
|
||||
sprite->callback(sprite);
|
||||
@@ -1138,8 +1138,8 @@ static void InitAnimFastLinearTranslation(struct Sprite *sprite)
|
||||
|
||||
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitAnimFastLinearTranslation(sprite);
|
||||
sprite->callback = AnimFastTranslateLinearWaitEnd;
|
||||
sprite->callback(sprite);
|
||||
@@ -1160,14 +1160,14 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite)
|
||||
y += v2;
|
||||
|
||||
if (v1 & 1)
|
||||
sprite->pos2.x = -(x >> 4);
|
||||
sprite->x2 = -(x >> 4);
|
||||
else
|
||||
sprite->pos2.x = x >> 4;
|
||||
sprite->x2 = x >> 4;
|
||||
|
||||
if (v2 & 1)
|
||||
sprite->pos2.y = -(y >> 4);
|
||||
sprite->y2 = -(y >> 4);
|
||||
else
|
||||
sprite->pos2.y = y >> 4;
|
||||
sprite->y2 = y >> 4;
|
||||
|
||||
sprite->data[3] = x;
|
||||
sprite->data[4] = y;
|
||||
@@ -1190,8 +1190,8 @@ void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
|
||||
|
||||
void InitAnimFastLinearTranslationWithSpeedAndPos(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitAnimFastLinearTranslationWithSpeed(sprite);
|
||||
sprite->callback = AnimFastTranslateLinearWaitEnd;
|
||||
sprite->callback(sprite);
|
||||
@@ -1264,7 +1264,7 @@ void SetBattlerSpriteYOffsetFromRotation(u8 spriteId)
|
||||
if (c < 0)
|
||||
c = -c;
|
||||
|
||||
gSprites[spriteId].pos2.y = c >> 3;
|
||||
gSprites[spriteId].y2 = c >> 3;
|
||||
}
|
||||
|
||||
void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation)
|
||||
@@ -1801,7 +1801,7 @@ bool8 RunAffineAnimFromTaskData(struct Task *task)
|
||||
task->data[7]++;
|
||||
break;
|
||||
case AFFINEANIMCMDTYPE_END:
|
||||
gSprites[task->data[15]].pos2.y = 0;
|
||||
gSprites[task->data[15]].y2 = 0;
|
||||
ResetSpriteRotScale(task->data[15]);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1819,7 +1819,7 @@ void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
|
||||
|
||||
if (var2 > 128)
|
||||
var2 = 128;
|
||||
gSprites[spriteId].pos2.y = (var - var2) / 2;
|
||||
gSprites[spriteId].y2 = (var - var2) / 2;
|
||||
}
|
||||
|
||||
// Sets the sprite's y offset equal to the y displacement caused by another sprite
|
||||
@@ -1832,7 +1832,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
|
||||
|
||||
if (var2 > 128)
|
||||
var2 = 128;
|
||||
gSprites[spriteId].pos2.y = (var - var2) / 2;
|
||||
gSprites[spriteId].y2 = (var - var2) / 2;
|
||||
}
|
||||
|
||||
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
|
||||
@@ -1927,7 +1927,7 @@ u8 UpdateEruptAnimTask(struct Task *task)
|
||||
if (task->data[8])
|
||||
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
||||
else
|
||||
gSprites[task->data[15]].pos2.y = 0;
|
||||
gSprites[task->data[15]].y2 = 0;
|
||||
return task->data[8];
|
||||
}
|
||||
|
||||
@@ -2278,15 +2278,15 @@ void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite)
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker))
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
|
||||
sprite->hFlip = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
}
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[3] = gBattleAnimArgs[4];
|
||||
@@ -2300,14 +2300,14 @@ void AnimTranslateLinearAndFlicker(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
gBattleAnimArgs[3] *= -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
}
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[3] = gBattleAnimArgs[4];
|
||||
@@ -2322,10 +2322,10 @@ void AnimSpinningSparkle(struct Sprite *sprite)
|
||||
{
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker))
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -2343,7 +2343,7 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
|
||||
task->data[1] = ((GetBattlerSide(gBattleAnimAttacker)) != B_SIDE_PLAYER) ? -8 : 8;
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 0;
|
||||
gSprites[task->data[0]].pos2.x -= task->data[0];
|
||||
gSprites[task->data[0]].x2 -= task->data[0];
|
||||
task->data[4] = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
|
||||
task->data[5] = 0;
|
||||
|
||||
@@ -2366,7 +2366,7 @@ static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId)
|
||||
{
|
||||
case 0:
|
||||
sub_80A8D78(task, taskId);
|
||||
gSprites[task->data[0]].pos2.x += task->data[1];
|
||||
gSprites[task->data[0]].x2 += task->data[1];
|
||||
if (++task->data[3] == 5)
|
||||
{
|
||||
task->data[3]--;
|
||||
@@ -2375,10 +2375,10 @@ static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId)
|
||||
break;
|
||||
case 1:
|
||||
sub_80A8D78(task, taskId);
|
||||
gSprites[task->data[0]].pos2.x -= task->data[1];
|
||||
gSprites[task->data[0]].x2 -= task->data[1];
|
||||
if (--task->data[3] == 0)
|
||||
{
|
||||
gSprites[task->data[0]].pos2.x = 0;
|
||||
gSprites[task->data[0]].x2 = 0;
|
||||
task->data[2]++;
|
||||
}
|
||||
break;
|
||||
@@ -2402,7 +2402,7 @@ static void sub_80A8D78(struct Task *task, u8 taskId)
|
||||
gSprites[spriteId].data[0] = 8;
|
||||
gSprites[spriteId].data[1] = taskId;
|
||||
gSprites[spriteId].data[2] = spriteId;
|
||||
gSprites[spriteId].pos2.x = gSprites[task->data[0]].pos2.x;
|
||||
gSprites[spriteId].x2 = gSprites[task->data[0]].x2;
|
||||
gSprites[spriteId].callback = sub_80A8DFC;
|
||||
task->data[5]++;
|
||||
}
|
||||
@@ -2419,8 +2419,8 @@ static void sub_80A8DFC(struct Sprite *sprite)
|
||||
|
||||
void AnimWeatherBallUp(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
if (!GetBattlerSide(gBattleAnimAttacker))
|
||||
sprite->data[0] = 5;
|
||||
else
|
||||
@@ -2433,11 +2433,11 @@ static void AnimWeatherBallUp_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[2] += sprite->data[0];
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[2] / 10;
|
||||
sprite->pos2.y = sprite->data[3] / 10;
|
||||
sprite->x2 = sprite->data[2] / 10;
|
||||
sprite->y2 = sprite->data[3] / 10;
|
||||
if (sprite->data[1] < -20)
|
||||
sprite->data[1]++;
|
||||
if (sprite->pos1.y + sprite->pos2.y < -32)
|
||||
if (sprite->y + sprite->y2 < -32)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -2445,19 +2445,19 @@ void AnimWeatherBallDown(struct Sprite *sprite)
|
||||
{
|
||||
int x;
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4];
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5];
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[4];
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[5];
|
||||
if (!GetBattlerSide(gBattleAnimTarget))
|
||||
{
|
||||
x = (u16)gBattleAnimArgs[4] + 30;
|
||||
sprite->pos1.x += x;
|
||||
sprite->pos1.y = gBattleAnimArgs[5] - 20;
|
||||
sprite->x += x;
|
||||
sprite->y = gBattleAnimArgs[5] - 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = (u16)gBattleAnimArgs[4] - 30;
|
||||
sprite->pos1.x += x;
|
||||
sprite->pos1.y = gBattleAnimArgs[5] - 80;
|
||||
sprite->x += x;
|
||||
sprite->y = gBattleAnimArgs[5] - 80;
|
||||
}
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
|
||||
+49
-32
@@ -261,8 +261,8 @@ const struct SpriteTemplate gPersistHitSplatSpriteTemplate =
|
||||
// arg 4: duration
|
||||
static void AnimConfusionDuck(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
@@ -283,8 +283,8 @@ static void AnimConfusionDuck(struct Sprite *sprite)
|
||||
|
||||
static void AnimConfusionDuck_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Cos(sprite->data[0], 30);
|
||||
sprite->pos2.y = Sin(sprite->data[0], 10);
|
||||
sprite->x2 = Cos(sprite->data[0], 30);
|
||||
sprite->y2 = Sin(sprite->data[0], 10);
|
||||
|
||||
if ((u16)sprite->data[0] < 128)
|
||||
sprite->oam.priority = 1;
|
||||
@@ -400,8 +400,8 @@ static void AnimComplexPaletteBlend_Step2(struct Sprite *sprite)
|
||||
|
||||
static void AnimCirclingSparkle(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 10;
|
||||
sprite->data[2] = 8;
|
||||
@@ -425,7 +425,7 @@ static void AnimCirclingSparkle(struct Sprite *sprite)
|
||||
#define tPalSelectorHi data[9]
|
||||
#define tPalSelectorLo data[10]
|
||||
|
||||
// Blends mon/screen to designated color or back alternately tNumBlends times
|
||||
// Blends mon/screen to designated color or back alternately tNumBlends times
|
||||
// Many uses of this task only set a tNumBlends of 2, which has the effect of blending to a color and back once
|
||||
void AnimTask_BlendColorCycle(u8 taskId)
|
||||
{
|
||||
@@ -733,50 +733,67 @@ void AnimTask_InvertScreenColor(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
void UnusedAnimTask_8115F94(u8 taskId)
|
||||
// Unused
|
||||
#define tTimer data[0]
|
||||
#define tLength data[1]
|
||||
#define tFlagsScenery data[2]
|
||||
#define tFlagsAttacker data[3]
|
||||
#define tFlagsTarget data[4]
|
||||
#define tColorR data[5]
|
||||
#define tColorG data[6]
|
||||
#define tColorB data[7]
|
||||
void AnimTask_TintPalettes(u8 taskId)
|
||||
{
|
||||
u8 attackerBattler;
|
||||
u8 targetBattler;
|
||||
u8 paletteIndex;
|
||||
u32 selectedPalettes = 0;
|
||||
|
||||
if (gTasks[taskId].data[0] == 0)
|
||||
if (gTasks[taskId].tTimer == 0)
|
||||
{
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[3] = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[4] = gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[3];
|
||||
gTasks[taskId].data[5] = gBattleAnimArgs[4];
|
||||
gTasks[taskId].data[6] = gBattleAnimArgs[5];
|
||||
gTasks[taskId].data[7] = gBattleAnimArgs[6];
|
||||
gTasks[taskId].tFlagsScenery = gBattleAnimArgs[0];
|
||||
gTasks[taskId].tFlagsAttacker = gBattleAnimArgs[1];
|
||||
gTasks[taskId].tFlagsTarget = gBattleAnimArgs[2];
|
||||
gTasks[taskId].tLength = gBattleAnimArgs[3];
|
||||
gTasks[taskId].tColorR = gBattleAnimArgs[4];
|
||||
gTasks[taskId].tColorG = gBattleAnimArgs[5];
|
||||
gTasks[taskId].tColorB = gBattleAnimArgs[6];
|
||||
}
|
||||
|
||||
gTasks[taskId].data[0]++;
|
||||
gTasks[taskId].tTimer++;
|
||||
attackerBattler = gBattleAnimAttacker;
|
||||
targetBattler = gBattleAnimTarget;
|
||||
|
||||
if (gTasks[taskId].data[2] & 0x100)
|
||||
selectedPalettes = 0x0000FFFF;
|
||||
if (gTasks[taskId].tFlagsScenery & (1 << 8))
|
||||
selectedPalettes = PALETTES_BG;
|
||||
|
||||
if (gTasks[taskId].data[2] & 0x1)
|
||||
if (gTasks[taskId].tFlagsScenery & 1)
|
||||
{
|
||||
paletteIndex = IndexOfSpritePaletteTag(gSprites[gHealthboxSpriteIds[attackerBattler]].template->paletteTag);
|
||||
selectedPalettes |= (1 << paletteIndex) << 16;
|
||||
}
|
||||
|
||||
if (gTasks[taskId].data[3] & 0x100)
|
||||
|
||||
if (gTasks[taskId].tFlagsAttacker & (1 << 8))
|
||||
selectedPalettes |= (1 << attackerBattler) << 16;
|
||||
|
||||
if (gTasks[taskId].data[4] & 0x100)
|
||||
if (gTasks[taskId].tFlagsTarget & (1 << 8))
|
||||
selectedPalettes |= (1 << targetBattler) << 16;
|
||||
|
||||
TintPlttBuffer(selectedPalettes, gTasks[taskId].data[5], gTasks[taskId].data[6], gTasks[taskId].data[7]);
|
||||
if (gTasks[taskId].data[0] == gTasks[taskId].data[1])
|
||||
TintPlttBuffer(selectedPalettes, gTasks[taskId].tColorR, gTasks[taskId].tColorG, gTasks[taskId].tColorB);
|
||||
if (gTasks[taskId].tTimer == gTasks[taskId].tLength)
|
||||
{
|
||||
UnfadePlttBuffer(selectedPalettes);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
#undef tTimer
|
||||
#undef tLength
|
||||
#undef tFlagsScenery
|
||||
#undef tFlagsAttacker
|
||||
#undef tFlagsTarget
|
||||
#undef tColorR
|
||||
#undef tColorG
|
||||
#undef tColorB
|
||||
|
||||
static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite)
|
||||
{
|
||||
@@ -956,7 +973,7 @@ static void AnimHitSplatHandleInvert(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest())
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
|
||||
|
||||
AnimHitSplatBasic(sprite);
|
||||
}
|
||||
|
||||
@@ -971,8 +988,8 @@ static void AnimHitSplatRandom(struct Sprite *sprite)
|
||||
else
|
||||
InitSpritePosToAnimTarget(sprite, FALSE);
|
||||
|
||||
sprite->pos2.x += (Random2() % 48) - 24;
|
||||
sprite->pos2.y += (Random2() % 24) - 12;
|
||||
sprite->x2 += (Random2() % 48) - 24;
|
||||
sprite->y2 += (Random2() % 24) - 12;
|
||||
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
@@ -981,10 +998,10 @@ static void AnimHitSplatRandom(struct Sprite *sprite)
|
||||
static void AnimHitSplatOnMonEdge(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
|
||||
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x;
|
||||
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y + gSprites[sprite->data[0]].pos2.y;
|
||||
sprite->pos2.x = gBattleAnimArgs[1];
|
||||
sprite->pos2.y = gBattleAnimArgs[2];
|
||||
sprite->x = gSprites[sprite->data[0]].x + gSprites[sprite->data[0]].x2;
|
||||
sprite->y = gSprites[sprite->data[0]].y + gSprites[sprite->data[0]].y2;
|
||||
sprite->x2 = gBattleAnimArgs[1];
|
||||
sprite->y2 = gBattleAnimArgs[2];
|
||||
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
|
||||
+14
-14
@@ -239,10 +239,10 @@ static void AnimAcidPoisonBubble_Step(struct Sprite *sprite)
|
||||
static void AnimSludgeBombHitParticle(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[0];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[1];
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[0];
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[1];
|
||||
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
|
||||
@@ -265,17 +265,17 @@ static void AnimSludgeBombHitParticle_Step(struct Sprite *sprite)
|
||||
|
||||
static void AnimAcidPoisonDroplet(struct Sprite *sprite)
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->x, &sprite->y);
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.y + sprite->data[0];
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->y + sprite->data[0];
|
||||
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -295,13 +295,13 @@ static void AnimBubbleEffect(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->x, &sprite->y);
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
sprite->callback = AnimBubbleEffect_Step;
|
||||
@@ -310,9 +310,9 @@ static void AnimBubbleEffect(struct Sprite *sprite)
|
||||
static void AnimBubbleEffect_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = (sprite->data[0] + 0xB) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[0], 4);
|
||||
sprite->x2 = Sin(sprite->data[0], 4);
|
||||
sprite->data[1] += 0x30;
|
||||
sprite->pos2.y = -(sprite->data[1] >> 8);
|
||||
sprite->y2 = -(sprite->data[1] >> 8);
|
||||
|
||||
if (sprite->affineAnimEnded)
|
||||
DestroyAnimSprite(sprite);
|
||||
|
||||
+40
-40
@@ -450,13 +450,13 @@ static void AnimDefensiveWall(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = 72;
|
||||
sprite->pos1.y = 80;
|
||||
sprite->x = 72;
|
||||
sprite->y = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = 176;
|
||||
sprite->pos1.y = 40;
|
||||
sprite->x = 176;
|
||||
sprite->y = 40;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -464,15 +464,15 @@ static void AnimDefensiveWall(struct Sprite *sprite)
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
sprite->data[0] = 256 + IndexOfSpritePaletteTag(gBattleAnimArgs[2]) * 16;
|
||||
|
||||
if (isContest)
|
||||
{
|
||||
sprite->pos1.y += 9;
|
||||
sprite->y += 9;
|
||||
sprite->callback = AnimDefensiveWall_Step2;
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
@@ -493,7 +493,7 @@ static void AnimDefensiveWall_Step1(struct Sprite *sprite)
|
||||
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
|
||||
|
||||
battler = BATTLE_PARTNER(battler);
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
@@ -592,13 +592,13 @@ static void AnimWallSparkle(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = 72 - gBattleAnimArgs[0];
|
||||
sprite->pos1.y = gBattleAnimArgs[1] + 80;
|
||||
sprite->x = 72 - gBattleAnimArgs[0];
|
||||
sprite->y = gBattleAnimArgs[1] + 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0] + 176;
|
||||
sprite->pos1.y = gBattleAnimArgs[1] + 40;
|
||||
sprite->x = gBattleAnimArgs[0] + 176;
|
||||
sprite->y = gBattleAnimArgs[1] + 40;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -620,20 +620,20 @@ static void AnimWallSparkle(struct Sprite *sprite)
|
||||
|
||||
static void AnimBentSpoon(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->pos1.x -= 40;
|
||||
sprite->pos1.y += 10;
|
||||
sprite->x -= 40;
|
||||
sprite->y += 10;
|
||||
sprite->data[1] = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += 40;
|
||||
sprite->pos1.y -= 10;
|
||||
sprite->x += 40;
|
||||
sprite->y -= 10;
|
||||
sprite->data[1] = 1;
|
||||
}
|
||||
|
||||
@@ -650,11 +650,11 @@ static void AnimQuestionMark(struct Sprite *sprite)
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
|
||||
x = -x;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + x;
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + y;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + x;
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + y;
|
||||
|
||||
if (sprite->pos1.y < 16)
|
||||
sprite->pos1.y = 16;
|
||||
if (sprite->y < 16)
|
||||
sprite->y = 16;
|
||||
|
||||
StoreSpriteCallbackInData6(sprite, AnimQuestionMark_Step1);
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
@@ -731,13 +731,13 @@ static void AnimTask_Teleport_Step(u8 taskId)
|
||||
case 1:
|
||||
if (task->data[3] != 0)
|
||||
{
|
||||
gSprites[task->data[0]].pos2.y -= 8;
|
||||
gSprites[task->data[0]].y2 -= 8;
|
||||
task->data[3]--;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[task->data[0]].invisible = TRUE;
|
||||
gSprites[task->data[0]].pos1.x = DISPLAY_WIDTH + 32;
|
||||
gSprites[task->data[0]].x = DISPLAY_WIDTH + 32;
|
||||
ResetSpriteRotScale(task->data[0]);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -785,20 +785,20 @@ static void AnimTask_ImprisonOrbs_Step(u8 taskId)
|
||||
switch (task->data[2])
|
||||
{
|
||||
case 0:
|
||||
gSprites[spriteId].pos2.x = task->data[12];
|
||||
gSprites[spriteId].pos2.y = -task->data[12];
|
||||
gSprites[spriteId].x2 = task->data[12];
|
||||
gSprites[spriteId].y2 = -task->data[12];
|
||||
break;
|
||||
case 1:
|
||||
gSprites[spriteId].pos2.x = -task->data[12];
|
||||
gSprites[spriteId].pos2.y = task->data[12];
|
||||
gSprites[spriteId].x2 = -task->data[12];
|
||||
gSprites[spriteId].y2 = task->data[12];
|
||||
break;
|
||||
case 2:
|
||||
gSprites[spriteId].pos2.x = task->data[12];
|
||||
gSprites[spriteId].pos2.y = task->data[12];
|
||||
gSprites[spriteId].x2 = task->data[12];
|
||||
gSprites[spriteId].y2 = task->data[12];
|
||||
break;
|
||||
case 3:
|
||||
gSprites[spriteId].pos2.x = -task->data[12];
|
||||
gSprites[spriteId].pos2.y = -task->data[12];
|
||||
gSprites[spriteId].x2 = -task->data[12];
|
||||
gSprites[spriteId].y2 = -task->data[12];
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -851,8 +851,8 @@ static void AnimRedX(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[1];
|
||||
@@ -957,7 +957,7 @@ void AnimTask_ExtrasensoryDistortion(u8 taskId)
|
||||
u8 yOffset;
|
||||
struct ScanlineEffectParams scanlineParams;
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
|
||||
yOffset = GetBattlerYCoordWithElevation(gBattleAnimTarget);
|
||||
task->data[14] = yOffset - 32;
|
||||
|
||||
@@ -1056,7 +1056,7 @@ void AnimTask_TransparentCloneGrowAndShrink(u8 taskId)
|
||||
s16 spriteId;
|
||||
s16 matrixNum;
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
|
||||
matrixNum = AllocOamMatrix();
|
||||
if (matrixNum == 0xFF)
|
||||
{
|
||||
@@ -1123,11 +1123,11 @@ static void AnimPsychoBoost(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
|
||||
if (IsContest())
|
||||
sprite->pos1.y += 12;
|
||||
sprite->y += 12;
|
||||
|
||||
sprite->data[1] = 8;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
||||
@@ -1156,7 +1156,7 @@ static void AnimPsychoBoost(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
sprite->data[3] += 0x380;
|
||||
sprite->pos2.y -= sprite->data[3] >> 8;
|
||||
sprite->y2 -= sprite->data[3] >> 8;
|
||||
sprite->data[3] &= 0xFF;
|
||||
break;
|
||||
case 3:
|
||||
|
||||
+34
-34
@@ -297,10 +297,10 @@ const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate =
|
||||
static void AnimFallingRock(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[3] != 0)
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y);
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += 14;
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += 14;
|
||||
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
|
||||
AnimateSprite(sprite);
|
||||
@@ -319,7 +319,7 @@ static void AnimFallingRock(struct Sprite *sprite)
|
||||
|
||||
static void AnimFallingRock_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->data[5];
|
||||
sprite->x += sprite->data[5];
|
||||
|
||||
sprite->data[0] = 192;
|
||||
sprite->data[1] = sprite->data[5];
|
||||
@@ -339,17 +339,17 @@ static void AnimRockFragment(struct Sprite *sprite)
|
||||
AnimateSprite(sprite);
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3];
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[3];
|
||||
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = 0;
|
||||
@@ -378,8 +378,8 @@ static void AnimParticleInVortex(struct Sprite *sprite)
|
||||
static void AnimParticleInVortex_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->pos2.y = -(sprite->data[4] >> 8);
|
||||
sprite->pos2.x = Sin(sprite->data[5], sprite->data[3]);
|
||||
sprite->y2 = -(sprite->data[4] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[5], sprite->data[3]);
|
||||
sprite->data[5] = (sprite->data[5] + sprite->data[2]) & 0xFF;
|
||||
|
||||
if (--sprite->data[0] == -1)
|
||||
@@ -496,17 +496,17 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = DISPLAY_WIDTH + 64;
|
||||
sprite->x = DISPLAY_WIDTH + 64;
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
sprite->data[5] = 1;
|
||||
sprite->oam.matrixNum = ST_OAM_HFLIP;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = -64;
|
||||
sprite->x = -64;
|
||||
}
|
||||
|
||||
sprite->pos1.y = gBattleAnimArgs[0];
|
||||
sprite->y = gBattleAnimArgs[0];
|
||||
SetSubspriteTables(sprite, sFlyingSandSubspriteTable);
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
sprite->data[2] = gBattleAnimArgs[2];
|
||||
@@ -516,19 +516,19 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x += (sprite->data[3] >> 8);
|
||||
sprite->pos2.y += (sprite->data[4] >> 8);
|
||||
sprite->x2 += (sprite->data[3] >> 8);
|
||||
sprite->y2 += (sprite->data[4] >> 8);
|
||||
sprite->data[3] &= 0xFF;
|
||||
sprite->data[4] &= 0xFF;
|
||||
|
||||
if (sprite->data[5] == 0)
|
||||
{
|
||||
if (sprite->pos1.x + sprite->pos2.x > DISPLAY_WIDTH + 32)
|
||||
if (sprite->x + sprite->x2 > DISPLAY_WIDTH + 32)
|
||||
{
|
||||
sprite->callback = DestroyAnimSprite;
|
||||
}
|
||||
}
|
||||
else if (sprite->pos1.x + sprite->pos2.x < -32)
|
||||
else if (sprite->x + sprite->x2 < -32)
|
||||
{
|
||||
sprite->callback = DestroyAnimSprite;
|
||||
}
|
||||
@@ -547,8 +547,8 @@ static void AnimRaiseSprite(struct Sprite *sprite)
|
||||
InitSpritePosToAnimAttacker(sprite, 0);
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[2];
|
||||
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -618,8 +618,8 @@ static void AnimTask_Rollout_Step(u8 taskId)
|
||||
case 0:
|
||||
task->data[6] -= task->data[4];
|
||||
task->data[7] -= task->data[5];
|
||||
gSprites[task->data[15]].pos2.x = task->data[6] >> 3;
|
||||
gSprites[task->data[15]].pos2.y = task->data[7] >> 3;
|
||||
gSprites[task->data[15]].x2 = task->data[6] >> 3;
|
||||
gSprites[task->data[15]].y2 = task->data[7] >> 3;
|
||||
|
||||
if (++task->data[9] == 10)
|
||||
{
|
||||
@@ -646,8 +646,8 @@ static void AnimTask_Rollout_Step(u8 taskId)
|
||||
task->data[0]++;
|
||||
}
|
||||
|
||||
gSprites[task->data[15]].pos2.x = task->data[6] >> 3;
|
||||
gSprites[task->data[15]].pos2.y = task->data[7] >> 3;
|
||||
gSprites[task->data[15]].x2 = task->data[6] >> 3;
|
||||
gSprites[task->data[15]].y2 = task->data[7] >> 3;
|
||||
break;
|
||||
case 3:
|
||||
task->data[2] += task->data[4];
|
||||
@@ -748,7 +748,7 @@ static void AnimRockTomb(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
|
||||
|
||||
sprite->pos2.x = gBattleAnimArgs[0];
|
||||
sprite->x2 = gBattleAnimArgs[0];
|
||||
sprite->data[2] = gBattleAnimArgs[1];
|
||||
sprite->data[3] -= gBattleAnimArgs[2];
|
||||
sprite->data[0] = 3;
|
||||
@@ -762,7 +762,7 @@ static void AnimRockTomb_Step(struct Sprite *sprite)
|
||||
sprite->invisible = FALSE;
|
||||
if (sprite->data[3] != 0)
|
||||
{
|
||||
sprite->pos2.y = sprite->data[2] + sprite->data[3];
|
||||
sprite->y2 = sprite->data[2] + sprite->data[3];
|
||||
sprite->data[3] += sprite->data[0];
|
||||
sprite->data[0]++;
|
||||
if (sprite->data[3] > 0)
|
||||
@@ -787,10 +787,10 @@ static void AnimRockBlastRock(struct Sprite *sprite)
|
||||
|
||||
static void AnimRockScatter(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
|
||||
sprite->data[1] = gBattleAnimArgs[0];
|
||||
sprite->data[2] = gBattleAnimArgs[1];
|
||||
@@ -806,8 +806,8 @@ static void AnimRockScatter_Step(struct Sprite *sprite)
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
|
||||
sprite->pos2.x += sprite->data[3] / 40;
|
||||
sprite->pos2.y -= Sin(sprite->data[0], sprite->data[5]);
|
||||
sprite->x2 += sprite->data[3] / 40;
|
||||
sprite->y2 -= Sin(sprite->data[0], sprite->data[5]);
|
||||
|
||||
if (sprite->data[0] > 140)
|
||||
DestroyAnimSprite(sprite);
|
||||
|
||||
@@ -13,7 +13,7 @@ static void SpriteCB_DestroySprite(struct Sprite *sprite);
|
||||
|
||||
// The below data for smokescreen starts and ends with some data that belongs to battle_gfx_sfx_util.c
|
||||
|
||||
const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] =
|
||||
const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] =
|
||||
{
|
||||
[NATURE_HARDY] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_LONELY] = PALACE_TARGET_STRONGER,
|
||||
@@ -21,7 +21,7 @@ const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] =
|
||||
[NATURE_ADAMANT] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_NAUGHTY] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_BOLD] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_DOCILE] = PALACE_TARGET_RANDOM,
|
||||
[NATURE_DOCILE] = PALACE_TARGET_RANDOM,
|
||||
[NATURE_RELAXED] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_IMPISH] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_LAX] = PALACE_TARGET_STRONGER,
|
||||
@@ -29,7 +29,7 @@ const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] =
|
||||
[NATURE_HASTY] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_SERIOUS] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_JOLLY] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_NAIVE] = PALACE_TARGET_RANDOM,
|
||||
[NATURE_NAIVE] = PALACE_TARGET_RANDOM,
|
||||
[NATURE_MODEST] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_MILD] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_QUIET] = PALACE_TARGET_WEAKER,
|
||||
@@ -54,7 +54,7 @@ static const struct CompressedSpritePalette sSmokescreenImpactSpritePalette =
|
||||
|
||||
static const struct OamData sOamData_SmokescreenImpact =
|
||||
{
|
||||
.y = 0,
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.mosaic = 0,
|
||||
@@ -71,33 +71,33 @@ static const struct OamData sOamData_SmokescreenImpact =
|
||||
|
||||
static const union AnimCmd sAnim_SmokescreenImpact_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(4, 4),
|
||||
ANIMCMD_FRAME(8, 4),
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(4, 4),
|
||||
ANIMCMD_FRAME(8, 4),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_SmokescreenImpact_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .hFlip = TRUE),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_SmokescreenImpact_2[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(0, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .vFlip = TRUE),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_SmokescreenImpact_3[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
@@ -111,12 +111,12 @@ static const union AnimCmd *const sAnims_SmokescreenImpact[] =
|
||||
|
||||
static const struct SpriteTemplate sSmokescreenImpactSpriteTemplate =
|
||||
{
|
||||
.tileTag = 55019,
|
||||
.paletteTag = 55019,
|
||||
.oam = &sOamData_SmokescreenImpact,
|
||||
.anims = sAnims_SmokescreenImpact,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = 55019,
|
||||
.paletteTag = 55019,
|
||||
.oam = &sOamData_SmokescreenImpact,
|
||||
.anims = sAnims_SmokescreenImpact,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_DestroySprite
|
||||
};
|
||||
|
||||
@@ -127,7 +127,7 @@ const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow =
|
||||
|
||||
static const struct OamData sOamData_EnemyShadow =
|
||||
{
|
||||
.y = 0,
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.mosaic = 0,
|
||||
@@ -144,12 +144,12 @@ static const struct OamData sOamData_EnemyShadow =
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_EnemyShadow =
|
||||
{
|
||||
.tileTag = 55129,
|
||||
.paletteTag = 55039,
|
||||
.oam = &sOamData_EnemyShadow,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = 55129,
|
||||
.paletteTag = 55039,
|
||||
.oam = &sOamData_EnemyShadow,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_SetInvisible
|
||||
};
|
||||
|
||||
|
||||
@@ -349,7 +349,7 @@ void SoundTask_PlaySE2WithPanning(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
// Adjusts panning and assigns it to gAnimCustomPanning. Doesnt play sound.
|
||||
// Adjusts panning and assigns it to gAnimCustomPanning. Doesnt play sound.
|
||||
// Used by Confuse Ray and Will-O-Wisp (see uses of gAnimCustomPanning)
|
||||
void SoundTask_AdjustPanningVar(u8 taskId)
|
||||
{
|
||||
@@ -381,7 +381,7 @@ static void SoundTask_AdjustPanningVar_Step(u8 taskId)
|
||||
u16 oldPan;
|
||||
gTasks[taskId].data[10] = 0;
|
||||
oldPan = gTasks[taskId].data[11];
|
||||
gTasks[taskId].data[11] = panIncrement + oldPan;
|
||||
gTasks[taskId].data[11] = panIncrement + oldPan;
|
||||
gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan);
|
||||
}
|
||||
|
||||
|
||||
@@ -210,35 +210,35 @@ static const struct SpriteTemplate sFlickeringShrinkOrbSpriteTemplate =
|
||||
static const struct Subsprite sFrozenIceCubeSubsprites[] =
|
||||
{
|
||||
{
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileOffset = 0,
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileOffset = 0,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = -16,
|
||||
.y = 48,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 64,
|
||||
.x = -16,
|
||||
.y = 48,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 64,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = -16,
|
||||
.shape = SPRITE_SHAPE(32x64),
|
||||
.x = 48,
|
||||
.y = -16,
|
||||
.shape = SPRITE_SHAPE(32x64),
|
||||
.size = SPRITE_SIZE(32x64),
|
||||
.tileOffset = 96,
|
||||
.tileOffset = 96,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 48,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 128,
|
||||
.x = 48,
|
||||
.y = 48,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 128,
|
||||
.priority = 2
|
||||
},
|
||||
};
|
||||
@@ -286,7 +286,7 @@ static u8 Task_FlashingCircleImpacts(u8 battlerId, bool8 red)
|
||||
gTasks[taskId].data[1] = RGB_RED;
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&sFlashingCircleImpactSpriteTemplate, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y + 32, 0);
|
||||
spriteId = CreateSprite(&sFlashingCircleImpactSpriteTemplate, gSprites[battlerSpriteId].x, gSprites[battlerSpriteId].y + 32, 0);
|
||||
gSprites[spriteId].data[0] = i * 51;
|
||||
gSprites[spriteId].data[1] = -256;
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
@@ -299,7 +299,7 @@ static u8 Task_FlashingCircleImpacts(u8 battlerId, bool8 red)
|
||||
gTasks[taskId].data[1] = RGB_BLUE;
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&sFlashingCircleImpactSpriteTemplate, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y - 32, 0);
|
||||
spriteId = CreateSprite(&sFlashingCircleImpactSpriteTemplate, gSprites[battlerSpriteId].x, gSprites[battlerSpriteId].y - 32, 0);
|
||||
gSprites[spriteId].data[0] = i * 51;
|
||||
gSprites[spriteId].data[1] = 256;
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
@@ -360,15 +360,15 @@ static void AnimFlashingCircleImpact(struct Sprite *sprite)
|
||||
|
||||
static void AnimFlashingCircleImpact_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Cos(sprite->data[0], 32);
|
||||
sprite->pos2.y = Sin(sprite->data[0], 8);
|
||||
sprite->x2 = Cos(sprite->data[0], 32);
|
||||
sprite->y2 = Sin(sprite->data[0], 8);
|
||||
if (sprite->data[0] < 128)
|
||||
sprite->subpriority = 29;
|
||||
else
|
||||
sprite->subpriority = 31;
|
||||
sprite->data[0] = (sprite->data[0] + 8) & 0xFF;
|
||||
sprite->data[5] += sprite->data[1];
|
||||
sprite->pos2.y += sprite->data[5] >> 8;
|
||||
sprite->y2 += sprite->data[5] >> 8;
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[2] == 52)
|
||||
{
|
||||
|
||||
+62
-62
@@ -473,8 +473,8 @@ void AnimTask_UnusedLevelUpHealthBox(u8 taskId)
|
||||
AnimLoadCompressedBgGfx(animBgData.bgId, UnusedLevelupAnimationGfx, animBgData.tilesOffset);
|
||||
LoadCompressedPalette(gCureBubblesPal, animBgData.paletteId << 4, 32);
|
||||
|
||||
gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
|
||||
gBattle_BG1_X = -gSprites[spriteId3].x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId3].y - 32;
|
||||
gTasks[taskId].data[1] = 640;
|
||||
gTasks[taskId].data[0] = spriteId3;
|
||||
gTasks[taskId].data[2] = spriteId4;
|
||||
@@ -857,9 +857,9 @@ static void SpriteCB_Ball_Throw(struct Sprite *sprite)
|
||||
u16 targetX = sprite->sTargetXArg;
|
||||
u16 targetY = sprite->sTargetYArg;
|
||||
|
||||
sprite->sOffsetX = sprite->pos1.x;
|
||||
sprite->sOffsetX = sprite->x;
|
||||
sprite->sTargetX = targetX;
|
||||
sprite->sOffsetY = sprite->pos1.y;
|
||||
sprite->sOffsetY = sprite->y;
|
||||
sprite->sTargetY = targetY;
|
||||
sprite->sAmplitude = -40;
|
||||
InitAnimArcTranslation(sprite);
|
||||
@@ -891,10 +891,10 @@ static void SpriteCB_Ball_Arc(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
sprite->data[i] = 0;
|
||||
@@ -906,7 +906,7 @@ static void SpriteCB_Ball_Arc(struct Sprite *sprite)
|
||||
switch (ballId)
|
||||
{
|
||||
case 0 ... POKEBALL_COUNT - 1:
|
||||
AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
|
||||
AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId);
|
||||
LaunchBallFadeMonTask(FALSE, gBattleAnimTarget, 14, ballId);
|
||||
break;
|
||||
}
|
||||
@@ -948,7 +948,7 @@ static void SpriteCB_Ball_MonShrink_Step(struct Sprite *sprite)
|
||||
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
|
||||
gTasks[taskId].data[10] = 256;
|
||||
gMonShrinkDuration = 28;
|
||||
gMonShrinkDistance = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
|
||||
gMonShrinkDistance = (gSprites[spriteId].y + gSprites[spriteId].y2) - (sprite->y + sprite->y2);
|
||||
gMonShrinkDelta = (u32)(gMonShrinkDistance * 256) / gMonShrinkDuration;
|
||||
gTasks[taskId].data[2] = gMonShrinkDelta;
|
||||
gTasks[taskId].tState++; // MON_SHRINK_STEP
|
||||
@@ -957,7 +957,7 @@ static void SpriteCB_Ball_MonShrink_Step(struct Sprite *sprite)
|
||||
gTasks[taskId].data[10] += 32;
|
||||
SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
|
||||
gTasks[taskId].data[3] += gTasks[taskId].data[2];
|
||||
gSprites[spriteId].pos2.y = -gTasks[taskId].data[3] >> 8;
|
||||
gSprites[spriteId].y2 = -gTasks[taskId].data[3] >> 8;
|
||||
if (gTasks[taskId].data[10] >= 1152)
|
||||
gTasks[taskId].tState++; // MON_SHRINK_INVISIBLE
|
||||
break;
|
||||
@@ -997,8 +997,8 @@ static void SpriteCB_Ball_Bounce(struct Sprite *sprite)
|
||||
sprite->sAmplitude = 40;
|
||||
sprite->sPhase = 0;
|
||||
phase = 0;
|
||||
sprite->pos1.y += Cos(phase, 40);
|
||||
sprite->pos2.y = -Cos(phase, sprite->sAmplitude);
|
||||
sprite->y += Cos(phase, 40);
|
||||
sprite->y2 = -Cos(phase, sprite->sAmplitude);
|
||||
sprite->callback = SpriteCB_Ball_Bounce_Step;
|
||||
}
|
||||
}
|
||||
@@ -1032,7 +1032,7 @@ static void SpriteCB_Ball_Bounce_Step(struct Sprite *sprite)
|
||||
switch (DIRECTION(sprite->sState))
|
||||
{
|
||||
case BALL_FALLING:
|
||||
sprite->pos2.y = -Cos(sprite->sPhase, sprite->sAmplitude);
|
||||
sprite->y2 = -Cos(sprite->sPhase, sprite->sAmplitude);
|
||||
sprite->sPhase += PHASE_DELTA(sprite->sState) + 4;
|
||||
// Once the ball touches the ground
|
||||
if (sprite->sPhase >= 64)
|
||||
@@ -1062,7 +1062,7 @@ static void SpriteCB_Ball_Bounce_Step(struct Sprite *sprite)
|
||||
}
|
||||
break;
|
||||
case BALL_RISING:
|
||||
sprite->pos2.y = -Cos(sprite->sPhase, sprite->sAmplitude);
|
||||
sprite->y2 = -Cos(sprite->sPhase, sprite->sAmplitude);
|
||||
sprite->sPhase -= PHASE_DELTA(sprite->sState) + 4;
|
||||
// Once ball reaches max height
|
||||
if (sprite->sPhase <= 0)
|
||||
@@ -1077,8 +1077,8 @@ static void SpriteCB_Ball_Bounce_Step(struct Sprite *sprite)
|
||||
if (lastBounce)
|
||||
{
|
||||
sprite->sState = 0;
|
||||
sprite->pos1.y += Cos(64, 40);
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y += Cos(64, 40);
|
||||
sprite->y2 = 0;
|
||||
if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_NO_SHAKES)
|
||||
{
|
||||
sprite->sTimer = 0;
|
||||
@@ -1139,11 +1139,11 @@ static void SpriteCB_Ball_Wobble_Step(struct Sprite *sprite)
|
||||
|
||||
switch (STATE(sprite->sState))
|
||||
{
|
||||
case BALL_ROLL_1:
|
||||
// Rolling effect: every frame in the rotation, the sprite shifts 176/256 of a pixel.
|
||||
case BALL_ROLL_1:
|
||||
// Rolling effect: every frame in the rotation, the sprite shifts 176/256 of a pixel.
|
||||
if (gBattleSpritesDataPtr->animationData->ballSubpx > 255)
|
||||
{
|
||||
sprite->pos2.x += sprite->sDirection;
|
||||
sprite->x2 += sprite->sDirection;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF;
|
||||
}
|
||||
else
|
||||
@@ -1177,7 +1177,7 @@ static void SpriteCB_Ball_Wobble_Step(struct Sprite *sprite)
|
||||
case BALL_ROLL_2:
|
||||
if (gBattleSpritesDataPtr->animationData->ballSubpx > 255)
|
||||
{
|
||||
sprite->pos2.x += sprite->sDirection;
|
||||
sprite->x2 += sprite->sDirection;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF;
|
||||
}
|
||||
else
|
||||
@@ -1212,7 +1212,7 @@ static void SpriteCB_Ball_Wobble_Step(struct Sprite *sprite)
|
||||
case BALL_ROLL_3:
|
||||
if (gBattleSpritesDataPtr->animationData->ballSubpx > 0xFF)
|
||||
{
|
||||
sprite->pos2.x += sprite->sDirection;
|
||||
sprite->x2 += sprite->sDirection;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF;
|
||||
}
|
||||
else
|
||||
@@ -1420,12 +1420,12 @@ static void MakeCaptureStars(struct Sprite *sprite)
|
||||
LoadBallParticleGfx(BALL_MASTER);
|
||||
for (i = 0; i < ARRAY_COUNT(sCaptureStars); i++)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&sBallParticleSpriteTemplates[BALL_MASTER], sprite->pos1.x, sprite->pos1.y, subpriority);
|
||||
u8 spriteId = CreateSprite(&sBallParticleSpriteTemplates[BALL_MASTER], sprite->x, sprite->y, subpriority);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].sDuration = 24;
|
||||
gSprites[spriteId].sTargetX = sprite->pos1.x + sCaptureStars[i].xOffset;
|
||||
gSprites[spriteId].sTargetY = sprite->pos1.y + sCaptureStars[i].yOffset;
|
||||
gSprites[spriteId].sTargetX = sprite->x + sCaptureStars[i].xOffset;
|
||||
gSprites[spriteId].sTargetY = sprite->y + sCaptureStars[i].yOffset;
|
||||
gSprites[spriteId].sAmplitude = sCaptureStars[i].amplitude;
|
||||
InitAnimArcTranslation(&gSprites[spriteId]);
|
||||
gSprites[spriteId].callback = SpriteCB_CaptureStar_Flicker;
|
||||
@@ -1465,7 +1465,7 @@ static void SpriteCB_Ball_Release_Step(struct Sprite *sprite)
|
||||
switch (ballId)
|
||||
{
|
||||
case 0 ... POKEBALL_COUNT - 1:
|
||||
AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
|
||||
AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId);
|
||||
LaunchBallFadeMonTask(TRUE, gBattleAnimTarget, 14, ballId);
|
||||
break;
|
||||
}
|
||||
@@ -1492,12 +1492,12 @@ static void SpriteCB_Ball_Release_Wait(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].sOffsetY -= 288;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].sOffsetY >> 8;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].y2 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].sOffsetY >> 8;
|
||||
}
|
||||
|
||||
if (sprite->animEnded && released)
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = 0;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].y2 = 0;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->wildMonInvisible;
|
||||
sprite->sFrame = 0;
|
||||
sprite->callback = DestroySpriteAfterOneFrame;
|
||||
@@ -1513,10 +1513,10 @@ static void SpriteCB_Ball_Block(struct Sprite *sprite)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
for (i = 0; i < 6; i++)
|
||||
sprite->data[i] = 0;
|
||||
|
||||
@@ -1533,13 +1533,13 @@ static void SpriteCB_Ball_Block_Step(struct Sprite *sprite)
|
||||
{
|
||||
s16 dy = sprite->sDy + 0x800;
|
||||
s16 dx = sprite->sDx + 0x680;
|
||||
sprite->pos2.x -= dx >> 8;
|
||||
sprite->pos2.y += dy >> 8;
|
||||
sprite->x2 -= dx >> 8;
|
||||
sprite->y2 += dy >> 8;
|
||||
sprite->sDy = (sprite->sDy + 0x800) & 0xFF;
|
||||
sprite->sDx = (sprite->sDx + 0x680) & 0xFF;
|
||||
|
||||
if (sprite->pos1.y + sprite->pos2.y > DISPLAY_HEIGHT
|
||||
|| sprite->pos1.x + sprite->pos2.x < -8)
|
||||
if (sprite->y + sprite->y2 > DISPLAY_HEIGHT
|
||||
|| sprite->x + sprite->x2 < -8)
|
||||
{
|
||||
sprite->sFrame = 0;
|
||||
sprite->callback = DestroySpriteAfterOneFrame;
|
||||
@@ -1638,8 +1638,8 @@ static void PokeBallOpenParticleAnimation_Step1(struct Sprite *sprite)
|
||||
|
||||
static void PokeBallOpenParticleAnimation_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->data[1] += 2;
|
||||
if (sprite->data[1] == 50)
|
||||
DestroyBallOpenAnimationParticle(sprite);
|
||||
@@ -1831,8 +1831,8 @@ static void GreatBallOpenParticleAnimation(u8 taskId)
|
||||
|
||||
static void FanOutBallOpenParticles_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[2]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[2]);
|
||||
sprite->data[0] = (sprite->data[0] + sprite->data[4]) & 0xFF;
|
||||
sprite->data[1] += sprite->data[5];
|
||||
sprite->data[2] += sprite->data[6];
|
||||
@@ -1873,8 +1873,8 @@ static void RepeatBallOpenParticleAnimation(u8 taskId)
|
||||
|
||||
static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0], sprite->data[2]));
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], Sin(sprite->data[0], sprite->data[2]));
|
||||
sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
|
||||
sprite->data[1]++;
|
||||
sprite->data[2]++;
|
||||
@@ -1961,8 +1961,8 @@ static void PremierBallOpenParticleAnimation(u8 taskId)
|
||||
|
||||
static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0] & 0x3F, sprite->data[2]));
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], Sin(sprite->data[0] & 0x3F, sprite->data[2]));
|
||||
sprite->data[0] = (sprite->data[0] + 10) & 0xFF;
|
||||
sprite->data[1]++;
|
||||
sprite->data[2]++;
|
||||
@@ -2111,12 +2111,12 @@ void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId)
|
||||
gTasks[taskId].data[11] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[0] += 0x500;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
|
||||
gSprites[spriteId].x2 += gTasks[taskId].data[0] >> 8;
|
||||
else
|
||||
gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
|
||||
gSprites[spriteId].x2 -= gTasks[taskId].data[0] >> 8;
|
||||
|
||||
gTasks[taskId].data[0] &= 0xFF;
|
||||
x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x + 32;
|
||||
x = gSprites[spriteId].x + gSprites[spriteId].x2 + 32;
|
||||
if (x > 304)
|
||||
gTasks[taskId].data[10]++;
|
||||
break;
|
||||
@@ -2127,24 +2127,24 @@ void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId)
|
||||
case 2:
|
||||
gTasks[taskId].data[0] += 0x500;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
|
||||
gSprites[spriteId].x2 -= gTasks[taskId].data[0] >> 8;
|
||||
else
|
||||
gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
|
||||
gSprites[spriteId].x2 += gTasks[taskId].data[0] >> 8;
|
||||
|
||||
gTasks[taskId].data[0] &= 0xFF;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
if (gSprites[spriteId].pos2.x <= 0)
|
||||
if (gSprites[spriteId].x2 <= 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gSprites[spriteId].pos2.x >= 0)
|
||||
if (gSprites[spriteId].x2 >= 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -2268,7 +2268,7 @@ static void Task_ShinyStars(u8 taskId)
|
||||
}
|
||||
|
||||
// Wait until the ball particles have despawned
|
||||
if (gBattleSpritesDataPtr->animationData->numBallParticles)
|
||||
if (gBattleSpritesDataPtr->animationData->numBallParticles)
|
||||
return;
|
||||
|
||||
timer = gTasks[taskId].tStarTimer++;
|
||||
@@ -2302,8 +2302,8 @@ static void Task_ShinyStars(u8 taskId)
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].callback = SpriteCB_ShinyStars_Diagonal;
|
||||
gSprites[spriteId].pos2.x = -32;
|
||||
gSprites[spriteId].pos2.y = 32;
|
||||
gSprites[spriteId].x2 = -32;
|
||||
gSprites[spriteId].y2 = 32;
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
if (gTasks[taskId].tStarIdx == 0)
|
||||
{
|
||||
@@ -2343,8 +2343,8 @@ static void Task_ShinyStars_Wait(u8 taskId)
|
||||
|
||||
static void SpriteCB_ShinyStars_Encircle(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->sPhase, 24);
|
||||
sprite->pos2.y = Cos(sprite->sPhase, 24);
|
||||
sprite->x2 = Sin(sprite->sPhase, 24);
|
||||
sprite->y2 = Cos(sprite->sPhase, 24);
|
||||
sprite->sPhase += 12;
|
||||
if (sprite->sPhase > 255)
|
||||
{
|
||||
@@ -2362,9 +2362,9 @@ static void SpriteCB_ShinyStars_Diagonal(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
sprite->pos2.x += 5;
|
||||
sprite->pos2.y -= 5;
|
||||
if (sprite->pos2.x > 32)
|
||||
sprite->x2 += 5;
|
||||
sprite->y2 -= 5;
|
||||
if (sprite->x2 > 32)
|
||||
{
|
||||
gTasks[sprite->sTaskId].tNumStars--;
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -2440,7 +2440,7 @@ static void SpriteCB_PokeBlock_Arc(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// Destroy after end of player animation
|
||||
static void SpriteCB_ThrowPokeBlock_Free(struct Sprite *sprite)
|
||||
static void SpriteCB_ThrowPokeBlock_Free(struct Sprite *sprite)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animEnded)
|
||||
{
|
||||
|
||||
@@ -335,8 +335,8 @@ void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId)
|
||||
AnimLoadCompressedBgGfx(animBgData.bgId, gBattleAnimMaskImage_Curse, animBgData.tilesOffset);
|
||||
LoadPalette(sCurseLinesPalette, animBgData.paletteId * 16 + 1, 2);
|
||||
|
||||
gBattle_BG1_X = -gSprites[spriteId].pos1.x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
|
||||
gBattle_BG1_X = -gSprites[spriteId].x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].y + 32;
|
||||
gTasks[taskId].data[0] = newSpriteId;
|
||||
gTasks[taskId].data[6] = var0;
|
||||
gTasks[taskId].func = AnimTask_DrawFallingWhiteLinesOnAttacker_Step;
|
||||
|
||||
+62
-62
@@ -504,8 +504,8 @@ static void AnimRainDrop_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] <= 13)
|
||||
{
|
||||
sprite->pos2.x++;
|
||||
sprite->pos2.y += 4;
|
||||
sprite->x2++;
|
||||
sprite->y2 += 4;
|
||||
}
|
||||
if (sprite->animEnded)
|
||||
DestroySprite(sprite);
|
||||
@@ -518,28 +518,28 @@ static void AnimWaterBubbleProjectile(struct Sprite *sprite)
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
||||
sprite->animPaused = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
||||
sprite->animPaused = TRUE;
|
||||
}
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[6];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
|
||||
sprite->data[5] = spriteId;
|
||||
sprite->pos1.x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]);
|
||||
sprite->pos1.y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]);
|
||||
sprite->x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]);
|
||||
sprite->y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]);
|
||||
gSprites[spriteId].data[0] = gBattleAnimArgs[2];
|
||||
gSprites[spriteId].data[1] = gBattleAnimArgs[3];
|
||||
gSprites[spriteId].data[2] = gBattleAnimArgs[5];
|
||||
@@ -557,8 +557,8 @@ static void AnimWaterBubbleProjectile_Step1(struct Sprite *sprite)
|
||||
|
||||
sprite->data[0] = 1;
|
||||
AnimTranslateLinear(sprite);
|
||||
sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]);
|
||||
sprite->pos2.y += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]);
|
||||
sprite->x2 += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]);
|
||||
sprite->y2 += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]);
|
||||
gSprites[otherSpriteId].data[3] = trigIndex + gSprites[otherSpriteId].data[2];
|
||||
if (--timer != 0)
|
||||
{
|
||||
@@ -595,9 +595,9 @@ static void AnimAuroraBeamRings(struct Sprite *sprite)
|
||||
else
|
||||
unkArg = gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = AnimAuroraBeamRings_Step;
|
||||
@@ -650,9 +650,9 @@ static void AnimToTargetInSinWave(struct Sprite *sprite)
|
||||
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = 30;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = 0xD200 / sprite->data[0];
|
||||
@@ -675,7 +675,7 @@ static void AnimToTargetInSinWave_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (AnimTranslateLinear(sprite))
|
||||
DestroyAnimSprite(sprite);
|
||||
sprite->pos2.y += Sin(sprite->data[6] >> 8, sprite->data[7]);
|
||||
sprite->y2 += Sin(sprite->data[6] >> 8, sprite->data[7]);
|
||||
if ((sprite->data[6] + sprite->data[5]) >> 8 > 127)
|
||||
{
|
||||
sprite->data[6] = 0;
|
||||
@@ -706,26 +706,26 @@ static void AnimHydroCannonCharge(struct Sprite *sprite)
|
||||
{
|
||||
u8 priority;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->pos2.y = -10;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->y2 = -10;
|
||||
priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
|
||||
if (!IsContest())
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos2.x = 10;
|
||||
sprite->x2 = 10;
|
||||
sprite->subpriority = priority + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x = -10;
|
||||
sprite->x2 = -10;
|
||||
sprite->subpriority = priority - 2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x = -10;
|
||||
sprite->x2 = -10;
|
||||
sprite->subpriority = priority + 2;
|
||||
}
|
||||
sprite->callback = AnimHydroCannonCharge_Step;
|
||||
@@ -771,8 +771,8 @@ static void AnimWaterGunDroplet(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4];
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[4];
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -790,9 +790,9 @@ static void AnimSmallBubblePair(struct Sprite *sprite)
|
||||
static void AnimSmallBubblePair_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = (sprite->data[0] + 11) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[0], 4);
|
||||
sprite->x2 = Sin(sprite->data[0], 4);
|
||||
sprite->data[1] += 48;
|
||||
sprite->pos2.y = -(sprite->data[1] >> 8);
|
||||
sprite->y2 = -(sprite->data[1] >> 8);
|
||||
if (--sprite->data[7] == -1)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -1027,10 +1027,10 @@ static void AnimSmallDriftingBubbles_Step(struct Sprite *sprite)
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
if (sprite->data[1] & 1)
|
||||
sprite->pos2.x = -(sprite->data[3] >> 8);
|
||||
sprite->x2 = -(sprite->data[3] >> 8);
|
||||
else
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
if (++sprite->data[0] == 21)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -1040,7 +1040,7 @@ void AnimTask_WaterSpoutLaunch(u8 taskId)
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
task->data[5] = gSprites[task->data[15]].pos1.y;
|
||||
task->data[5] = gSprites[task->data[15]].y;
|
||||
task->data[1] = GetWaterSpoutPowerForAnim();
|
||||
PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
|
||||
task->func = AnimTask_WaterSpoutLaunch_Step;
|
||||
@@ -1061,18 +1061,18 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
||||
task->data[3] = 0;
|
||||
if (++task->data[4] & 1)
|
||||
{
|
||||
gSprites[task->data[15]].pos2.x = 3;
|
||||
gSprites[task->data[15]].pos1.y++;
|
||||
gSprites[task->data[15]].x2 = 3;
|
||||
gSprites[task->data[15]].y++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[task->data[15]].pos2.x = -3;
|
||||
gSprites[task->data[15]].x2 = -3;
|
||||
}
|
||||
}
|
||||
if (UpdateEruptAnimTask(task) == 0)
|
||||
{
|
||||
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
||||
gSprites[task->data[15]].pos2.x = 0;
|
||||
gSprites[task->data[15]].x2 = 0;
|
||||
task->data[3] = 0;
|
||||
task->data[4] = 0;
|
||||
task->data[0]++;
|
||||
@@ -1102,9 +1102,9 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
||||
{
|
||||
task->data[3] = 0;
|
||||
if (++task->data[4] & 1)
|
||||
gSprites[task->data[15]].pos2.y += 2;
|
||||
gSprites[task->data[15]].y2 += 2;
|
||||
else
|
||||
gSprites[task->data[15]].pos2.y -= 2;
|
||||
gSprites[task->data[15]].y2 -= 2;
|
||||
if (task->data[4] == 10)
|
||||
{
|
||||
PrepareEruptAnimTaskData(task, task->data[15], 0x180, 0xE0, 0x100, 0x100, 8);
|
||||
@@ -1115,11 +1115,11 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
gSprites[task->data[15]].pos1.y--;
|
||||
gSprites[task->data[15]].y--;
|
||||
if (UpdateEruptAnimTask(task) == 0)
|
||||
{
|
||||
ResetSpriteRotScale(task->data[15]);
|
||||
gSprites[task->data[15]].pos1.y = task->data[5];
|
||||
gSprites[task->data[15]].y = task->data[5];
|
||||
task->data[4] = 0;
|
||||
task->data[0]++;
|
||||
}
|
||||
@@ -1209,9 +1209,9 @@ static void AnimSmallWaterOrb(struct Sprite *sprite)
|
||||
case 1:
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->data[3] += sprite->data[5];
|
||||
sprite->pos1.x = sprite->data[2] >> 4;
|
||||
sprite->pos1.y = sprite->data[3] >> 4;
|
||||
if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
|
||||
sprite->x = sprite->data[2] >> 4;
|
||||
sprite->y = sprite->data[3] >> 4;
|
||||
if (sprite->x < -8 || sprite->x > 248 || sprite->y < -8 || sprite->y > 120)
|
||||
{
|
||||
gTasks[sprite->data[6]].data[sprite->data[7]]--;
|
||||
DestroySprite(sprite);
|
||||
@@ -1306,11 +1306,11 @@ static void AnimWaterSpoutRain(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
sprite->pos1.y += 8;
|
||||
if (sprite->pos1.y >= sprite->data[5])
|
||||
sprite->y += 8;
|
||||
if (sprite->y >= sprite->data[5])
|
||||
{
|
||||
gTasks[sprite->data[6]].data[10] = 1;
|
||||
sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, 1);
|
||||
sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->x, sprite->y, 1);
|
||||
if (sprite->data[1] != MAX_SPRITES)
|
||||
{
|
||||
StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3);
|
||||
@@ -1449,11 +1449,11 @@ static void AnimWaterSportDroplet(struct Sprite *sprite)
|
||||
{
|
||||
if (TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->data[0] = 6;
|
||||
sprite->data[2] = (Random2() & 0x1F) - 16 + sprite->pos1.x;
|
||||
sprite->data[4] = (Random2() & 0x1F) - 16 + sprite->pos1.y;
|
||||
sprite->data[2] = (Random2() & 0x1F) - 16 + sprite->x;
|
||||
sprite->data[4] = (Random2() & 0x1F) - 16 + sprite->y;
|
||||
sprite->data[5] = ~(Random2() & 7);
|
||||
InitAnimArcTranslation(sprite);
|
||||
sprite->callback = AnimWaterSportDroplet_Step;
|
||||
@@ -1480,8 +1480,8 @@ static void AnimWaterSportDroplet_Step(struct Sprite *sprite)
|
||||
|
||||
static void AnimWaterPulseBubble(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = gBattleAnimArgs[1];
|
||||
sprite->x = gBattleAnimArgs[0];
|
||||
sprite->y = gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
@@ -1492,9 +1492,9 @@ static void AnimWaterPulseBubble(struct Sprite *sprite)
|
||||
static void AnimWaterPulseBubble_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] -= sprite->data[0];
|
||||
sprite->pos2.y = sprite->data[4] / 10;
|
||||
sprite->y2 = sprite->data[4] / 10;
|
||||
sprite->data[5] = (sprite->data[5] + sprite->data[1]) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[5], sprite->data[2]);
|
||||
sprite->x2 = Sin(sprite->data[5], sprite->data[2]);
|
||||
if (--sprite->data[3] == 0)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -1503,8 +1503,8 @@ static void AnimWaterPulseRingBubble(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 7;
|
||||
sprite->pos2.y = sprite->data[4] >> 7;
|
||||
sprite->x2 = sprite->data[3] >> 7;
|
||||
sprite->y2 = sprite->data[4] >> 7;
|
||||
if (--sprite->data[0] == 0)
|
||||
{
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -1524,11 +1524,11 @@ void AnimWaterPulseRing(struct Sprite *sprite)
|
||||
|
||||
static void AnimWaterPulseRing_Step(struct Sprite *sprite)
|
||||
{
|
||||
int xDiff = sprite->data[1] - sprite->pos1.x;
|
||||
int yDiff = sprite->data[2] - sprite->pos1.y;
|
||||
int xDiff = sprite->data[1] - sprite->x;
|
||||
int yDiff = sprite->data[2] - sprite->y;
|
||||
|
||||
sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3];
|
||||
sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3];
|
||||
sprite->x2 = (sprite->data[0] * xDiff) / sprite->data[3];
|
||||
sprite->y2 = (sprite->data[0] * yDiff) / sprite->data[3];
|
||||
if (++sprite->data[5] == sprite->data[4])
|
||||
{
|
||||
sprite->data[5] = 0;
|
||||
@@ -1549,10 +1549,10 @@ static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yD
|
||||
s16 randomSomethingY;
|
||||
s16 randomSomethingX;
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
something = sprite->data[0] / 2;
|
||||
combinedX = sprite->pos1.x + sprite->pos2.x;
|
||||
combinedY = sprite->pos1.y + sprite->pos2.y;
|
||||
combinedX = sprite->x + sprite->x2;
|
||||
combinedY = sprite->y + sprite->y2;
|
||||
if (yDiff < 0)
|
||||
unusedVar *= -1; //Needed to match
|
||||
randomSomethingY = yDiff + (Random2() % 10) - 5;
|
||||
|
||||
+2
-2
@@ -453,7 +453,7 @@ static const union AnimCmd *const sJudgementIconAnimCmds[] =
|
||||
static const struct SpriteTemplate sSpriteTemplate_JudgmentIcon =
|
||||
{
|
||||
.tileTag = TAG_JUDGEMENT_ICON,
|
||||
.paletteTag = 0xFFFF,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &sJudgementIconOamData,
|
||||
.anims = sJudgementIconAnimCmds,
|
||||
.images = NULL,
|
||||
@@ -917,7 +917,7 @@ void DrawArenaRefereeTextBox(void)
|
||||
FillBgTilemapBufferRect(0, 0x836, 29, 19, 1, 1, palNum);
|
||||
}
|
||||
|
||||
void RemoveArenaRefereeTextBox(void)
|
||||
void EraseArenaRefereeTextBox(void)
|
||||
{
|
||||
u8 width;
|
||||
u8 height;
|
||||
|
||||
+2
-2
@@ -1112,8 +1112,8 @@ void InitLinkBattleVsScreen(u8 taskId)
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].oam.tileNum += 0x40;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[0] = 0;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[0] = 1;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_V].pos1.x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_S].pos1.x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_V].x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_S].x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[2] = 0;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[2] = 0;
|
||||
}
|
||||
|
||||
@@ -365,7 +365,7 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
static void TryShinyAnimAfterMonAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim)
|
||||
{
|
||||
@@ -1134,7 +1134,7 @@ static void LinkOpponentHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
|
||||
@@ -1302,7 +1302,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||
@@ -1324,8 +1324,8 @@ static void LinkOpponentHandleTrainerSlide(void)
|
||||
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, 0x1E);
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x += 32;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||
@@ -1342,7 +1342,7 @@ static void LinkOpponentHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1703,7 +1703,7 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void)
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreeOpponentSprite);
|
||||
|
||||
@@ -265,7 +265,7 @@ static void Intro_ShowHealthbox(void)
|
||||
|
||||
static void WaitForMonAnimAfterLoad(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
LinkPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -288,7 +288,7 @@ static void CompleteOnHealthbarDone(void)
|
||||
|
||||
static void FreeMonSpriteAfterFaintAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
@@ -1021,7 +1021,7 @@ static void LinkPartnerHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
|
||||
@@ -1144,7 +1144,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
|
||||
@@ -1163,7 +1163,7 @@ static void LinkPartnerHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1535,7 +1535,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
|
||||
|
||||
@@ -249,7 +249,7 @@ static void Intro_WaitForShinyAnimAndHealthbox(void)
|
||||
{
|
||||
if (twoMons == TRUE)
|
||||
{
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim
|
||||
&& gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE;
|
||||
@@ -266,7 +266,7 @@ static void Intro_WaitForShinyAnimAndHealthbox(void)
|
||||
{
|
||||
if (GetBattlerPosition(gActiveBattler) == 3)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim)
|
||||
{
|
||||
FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS);
|
||||
@@ -291,16 +291,16 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
bool32 bgmRestored = FALSE;
|
||||
bool32 battlerAnimsDone = FALSE;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim)
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
|
||||
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
&& IsDoubleBattle()
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
|
||||
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
&& IsDoubleBattle()
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim)
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
@@ -379,12 +379,12 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
|
||||
static void TryShinyAnimAfterMonAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim)
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
&& gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE;
|
||||
@@ -467,7 +467,7 @@ static void SwitchIn_HandleSoundAndEnd(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive && !IsCryPlayingOrClearCrySongs())
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
|| gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy_2)
|
||||
{
|
||||
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
|
||||
@@ -478,7 +478,7 @@ static void SwitchIn_HandleSoundAndEnd(void)
|
||||
|
||||
static void SwitchIn_ShowHealthbox(void)
|
||||
{
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE;
|
||||
@@ -496,7 +496,7 @@ static void SwitchIn_ShowHealthbox(void)
|
||||
|
||||
static void SwitchIn_TryShinyAnim(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
@@ -1143,7 +1143,7 @@ static void OpponentHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
@@ -1310,7 +1310,7 @@ static void OpponentHandleDrawTrainerPic(void)
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||
@@ -1379,8 +1379,8 @@ static void OpponentHandleTrainerSlide(void)
|
||||
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, 0x1E);
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x += 32;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||
@@ -1396,7 +1396,7 @@ static void OpponentHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1869,7 +1869,7 @@ static void OpponentHandleIntroTrainerBallThrow(void)
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreeOpponentSprite);
|
||||
|
||||
@@ -229,7 +229,7 @@ static void PlayerBufferRunCommand(void)
|
||||
|
||||
static void CompleteOnBankSpritePosX_0(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -985,17 +985,17 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
bool32 battlerAnimsDone = FALSE;
|
||||
|
||||
// Start shiny animation if applicable for 1st pokemon
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
// Start shiny animation if applicable for 2nd pokemon
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
// Show healthbox after ball anim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted)
|
||||
@@ -1072,7 +1072,7 @@ static void SwitchIn_CleanShinyAnimShowSubstitute(void)
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||
{
|
||||
CopyBattleSpriteInvisibility(gActiveBattler);
|
||||
|
||||
|
||||
// Reset shiny anim (even if it didn't occur)
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE;
|
||||
@@ -1316,7 +1316,7 @@ static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId)
|
||||
|
||||
static void FreeMonSpriteAfterFaintAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
@@ -2328,8 +2328,8 @@ static void PlayerHandleDrawTrainerPic(void)
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].y2 = 48;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF;
|
||||
@@ -2343,7 +2343,7 @@ static void PlayerHandleDrawTrainerPic(void)
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
}
|
||||
@@ -2382,7 +2382,7 @@ static void PlayerHandleTrainerSlide(void)
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, 30);
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
|
||||
@@ -2396,7 +2396,7 @@ static void PlayerHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
|
||||
@@ -2953,7 +2953,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sBattlerId = gActiveBattler;
|
||||
|
||||
|
||||
@@ -277,7 +277,7 @@ static void Intro_ShowHealthbox(void)
|
||||
|
||||
static void WaitForMonAnimAfterLoad(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -472,7 +472,7 @@ static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId)
|
||||
|
||||
static void FreeMonSpriteAfterFaintAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
@@ -1205,7 +1205,7 @@ static void PlayerPartnerHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
|
||||
@@ -1320,7 +1320,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
}
|
||||
@@ -1331,8 +1331,8 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].y2 = 48;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF;
|
||||
@@ -1354,7 +1354,7 @@ static void PlayerPartnerHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1784,7 +1784,7 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void)
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
|
||||
|
||||
@@ -262,11 +262,11 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
bool32 bgmRestored = FALSE;
|
||||
bool32 battlerAnimsDone = FALSE;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
@@ -349,7 +349,7 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
static void TryShinyAnimAfterMonAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim)
|
||||
{
|
||||
@@ -1117,7 +1117,7 @@ static void RecordedOpponentHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
|
||||
@@ -1249,7 +1249,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||
@@ -1270,7 +1270,7 @@ static void RecordedOpponentHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1643,7 +1643,7 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void)
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreeOpponentSprite);
|
||||
|
||||
@@ -342,7 +342,7 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
|
||||
static void WaitForMonAnimAfterLoad(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -365,7 +365,7 @@ static void CompleteOnHealthbarDone(void)
|
||||
|
||||
static void FreeMonSpriteAfterFaintAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
@@ -1098,7 +1098,7 @@ static void RecordedPlayerHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
|
||||
@@ -1233,8 +1233,8 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].y2 = 48;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF;
|
||||
@@ -1247,7 +1247,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
}
|
||||
@@ -1267,7 +1267,7 @@ static void RecordedPlayerHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1668,7 +1668,7 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void)
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
|
||||
|
||||
@@ -361,7 +361,7 @@ static void SafariHandleDrawTrainerPic(void)
|
||||
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80,
|
||||
30);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||
|
||||
@@ -285,11 +285,11 @@ static void CompleteOnChosenItem(void)
|
||||
|
||||
static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
@@ -1041,7 +1041,7 @@ static void WallyHandleDrawTrainerPic(void)
|
||||
80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size),
|
||||
30);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||
@@ -1056,7 +1056,7 @@ static void WallyHandleTrainerSlide(void)
|
||||
80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size),
|
||||
30);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2;
|
||||
@@ -1435,7 +1435,7 @@ static void WallyHandleIntroTrainerBallThrow(void)
|
||||
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
|
||||
|
||||
+39
-39
@@ -978,7 +978,7 @@ static const union AnimCmd * const sSpriteAnimTable_TourneyTreePokeball[] =
|
||||
static const struct SpriteTemplate sTourneyTreePokeballSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x0000,
|
||||
.paletteTag = 0xffff,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &sOamData_TourneyTreePokeball,
|
||||
.anims = sSpriteAnimTable_TourneyTreePokeball,
|
||||
.images = NULL,
|
||||
@@ -1007,7 +1007,7 @@ static const union AnimCmd * const sSpriteAnimTable_TourneyTreeCancelButton[] =
|
||||
static const struct SpriteTemplate sCancelButtonSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x0000,
|
||||
.paletteTag = 0xffff,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &sOamData_TourneyTreeCloseButton,
|
||||
.anims = sSpriteAnimTable_TourneyTreeCancelButton,
|
||||
.images = NULL,
|
||||
@@ -1036,7 +1036,7 @@ static const union AnimCmd * const sSpriteAnimTable_TourneyTreeExitButton[] =
|
||||
static const struct SpriteTemplate sExitButtonSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x0000,
|
||||
.paletteTag = 0xffff,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &sOamData_TourneyTreeCloseButton,
|
||||
.anims = sSpriteAnimTable_TourneyTreeExitButton,
|
||||
.images = NULL,
|
||||
@@ -1083,7 +1083,7 @@ static const union AnimCmd * const sSpriteAnimTable_HorizontalScrollArrow[] =
|
||||
static const struct SpriteTemplate sHorizontalScrollArrowSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x0000,
|
||||
.paletteTag = 0xffff,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &sOamData_HorizontalScrollArrow,
|
||||
.anims = sSpriteAnimTable_HorizontalScrollArrow,
|
||||
.images = NULL,
|
||||
@@ -1094,7 +1094,7 @@ static const struct SpriteTemplate sHorizontalScrollArrowSpriteTemplate =
|
||||
static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x0000,
|
||||
.paletteTag = 0xffff,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &sOamData_VerticalScrollArrow,
|
||||
.anims = sSpriteAnimTable_VerticalScrollArrow,
|
||||
.images = NULL,
|
||||
@@ -3102,17 +3102,17 @@ static void Task_ShowTourneyInfoCard(u8 taskId)
|
||||
// That means that the sprite needs to move with the moving card in the opposite scrolling direction.
|
||||
static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.y += 4;
|
||||
sprite->y += 4;
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
if (sprite->pos1.y >= -32)
|
||||
if (sprite->y >= -32)
|
||||
sprite->invisible = FALSE;
|
||||
if (++sprite->data[1] == 40)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.y >= 192)
|
||||
if (sprite->y >= 192)
|
||||
{
|
||||
sInfoCard->spriteIds[sprite->data[2]] = SPRITE_NONE;
|
||||
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
|
||||
@@ -3122,17 +3122,17 @@ static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite)
|
||||
|
||||
static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.y -= 4;
|
||||
sprite->y -= 4;
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
if (sprite->pos1.y <= 192)
|
||||
if (sprite->y <= 192)
|
||||
sprite->invisible = FALSE;
|
||||
if (++sprite->data[1] == 40)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.y <= -32)
|
||||
if (sprite->y <= -32)
|
||||
{
|
||||
sInfoCard->spriteIds[sprite->data[2]] = SPRITE_NONE;
|
||||
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
|
||||
@@ -3142,17 +3142,17 @@ static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite)
|
||||
|
||||
static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += 4;
|
||||
sprite->x += 4;
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
if (sprite->pos1.x >= -32)
|
||||
if (sprite->x >= -32)
|
||||
sprite->invisible = FALSE;
|
||||
if (++sprite->data[1] == 64)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.x >= DISPLAY_WIDTH + 32)
|
||||
if (sprite->x >= DISPLAY_WIDTH + 32)
|
||||
{
|
||||
sInfoCard->spriteIds[sprite->data[2]] = SPRITE_NONE;
|
||||
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
|
||||
@@ -3162,17 +3162,17 @@ static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite)
|
||||
|
||||
static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x -= 4;
|
||||
sprite->x -= 4;
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
if (sprite->pos1.x <= DISPLAY_WIDTH + 32)
|
||||
if (sprite->x <= DISPLAY_WIDTH + 32)
|
||||
sprite->invisible = FALSE;
|
||||
if (++sprite->data[1] == 64)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.x <= -32)
|
||||
if (sprite->x <= -32)
|
||||
{
|
||||
sInfoCard->spriteIds[sprite->data[2]] = SPRITE_NONE;
|
||||
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
|
||||
@@ -3192,17 +3192,17 @@ static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
sprite->pos1.y += 4;
|
||||
sprite->y += 4;
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
if (sprite->pos1.y >= -16)
|
||||
if (sprite->y >= -16)
|
||||
sprite->invisible = FALSE;
|
||||
if (++sprite->data[1] == 40)
|
||||
sprite->callback = SpriteCb_MonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.y >= 176)
|
||||
if (sprite->y >= 176)
|
||||
{
|
||||
sInfoCard->spriteIds[sprite->data[2]] = SPRITE_NONE;
|
||||
FreeAndDestroyMonIconSprite(sprite);
|
||||
@@ -3214,17 +3214,17 @@ static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
sprite->pos1.y -= 4;
|
||||
sprite->y -= 4;
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
if (sprite->pos1.y <= 176)
|
||||
if (sprite->y <= 176)
|
||||
sprite->invisible = FALSE;
|
||||
if (++sprite->data[1] == 40)
|
||||
sprite->callback = SpriteCb_MonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.y <= -16)
|
||||
if (sprite->y <= -16)
|
||||
{
|
||||
sInfoCard->spriteIds[sprite->data[2]] = SPRITE_NONE;
|
||||
FreeAndDestroyMonIconSprite(sprite);
|
||||
@@ -3236,17 +3236,17 @@ static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
sprite->pos1.x += 4;
|
||||
sprite->x += 4;
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
if (sprite->pos1.x >= -16)
|
||||
if (sprite->x >= -16)
|
||||
sprite->invisible = FALSE;
|
||||
if (++sprite->data[1] == 64)
|
||||
sprite->callback = SpriteCb_MonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.x >= DISPLAY_WIDTH + 16)
|
||||
if (sprite->x >= DISPLAY_WIDTH + 16)
|
||||
{
|
||||
sInfoCard->spriteIds[sprite->data[2]] = SPRITE_NONE;
|
||||
FreeAndDestroyMonIconSprite(sprite);
|
||||
@@ -3258,17 +3258,17 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
sprite->pos1.x -= 4;
|
||||
sprite->x -= 4;
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
if (sprite->pos1.x <= DISPLAY_WIDTH + 16)
|
||||
if (sprite->x <= DISPLAY_WIDTH + 16)
|
||||
sprite->invisible = FALSE;
|
||||
if (++sprite->data[1] == 64)
|
||||
sprite->callback = SpriteCb_MonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.x <= -16)
|
||||
if (sprite->x <= -16)
|
||||
{
|
||||
sInfoCard->spriteIds[sprite->data[2]] = SPRITE_NONE;
|
||||
FreeAndDestroyMonIconSprite(sprite);
|
||||
@@ -4267,11 +4267,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId)
|
||||
|
||||
// Create trainer pic sprite
|
||||
if (trainerId == TRAINER_PLAYER)
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, TAG_NONE);
|
||||
else if (trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, TAG_NONE);
|
||||
else
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, TAG_NONE);
|
||||
|
||||
if (flags & MOVE_CARD)
|
||||
gSprites[sInfoCard->spriteIds[arrId]].invisible = TRUE;
|
||||
@@ -4741,11 +4741,11 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
|
||||
// Draw left trainer sprite.
|
||||
if (trainerIds[0] == TRAINER_PLAYER)
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, TAG_NONE);
|
||||
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, TAG_NONE);
|
||||
else
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
|
||||
sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, TAG_NONE);
|
||||
|
||||
if (flags & MOVE_CARD)
|
||||
gSprites[sInfoCard->spriteIds[arrId]].invisible = TRUE;
|
||||
@@ -4754,11 +4754,11 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
|
||||
// Draw right trainer sprite.
|
||||
if (trainerIds[1] == TRAINER_PLAYER)
|
||||
sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
|
||||
sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, TAG_NONE);
|
||||
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
|
||||
sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
|
||||
sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, TAG_NONE);
|
||||
else
|
||||
sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
|
||||
sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, TAG_NONE);
|
||||
|
||||
if (flags & MOVE_CARD)
|
||||
gSprites[sInfoCard->spriteIds[1 + arrId]].invisible = TRUE;
|
||||
@@ -5800,7 +5800,7 @@ static void InitRandomTourneyTreeResults(void)
|
||||
gSaveBlock2Ptr->frontier.lvlMode = FRONTIER_LVL_50;
|
||||
zero1 = 0;
|
||||
zero2 = 0;
|
||||
|
||||
|
||||
gSaveBlock2Ptr->frontier.domeLvlMode = zero1 + 1;
|
||||
gSaveBlock2Ptr->frontier.domeBattleMode = zero2 + 1;
|
||||
|
||||
|
||||
@@ -43,12 +43,12 @@ static u8 GetMoveBattleStyle(u16 move);
|
||||
|
||||
// Number of moves needed on the team to be considered using a certain battle style
|
||||
static const u8 sRequiredMoveCounts[FACTORY_NUM_STYLES - 1] = {
|
||||
[FACTORY_STYLE_PREPARATION - 1] = 3,
|
||||
[FACTORY_STYLE_SLOW_STEADY - 1] = 3,
|
||||
[FACTORY_STYLE_ENDURANCE - 1] = 3,
|
||||
[FACTORY_STYLE_HIGH_RISK - 1] = 2,
|
||||
[FACTORY_STYLE_WEAKENING - 1] = 2,
|
||||
[FACTORY_STYLE_UNPREDICTABLE - 1] = 2,
|
||||
[FACTORY_STYLE_PREPARATION - 1] = 3,
|
||||
[FACTORY_STYLE_SLOW_STEADY - 1] = 3,
|
||||
[FACTORY_STYLE_ENDURANCE - 1] = 3,
|
||||
[FACTORY_STYLE_HIGH_RISK - 1] = 2,
|
||||
[FACTORY_STYLE_WEAKENING - 1] = 2,
|
||||
[FACTORY_STYLE_UNPREDICTABLE - 1] = 2,
|
||||
[FACTORY_STYLE_WEATHER - 1] = 2
|
||||
};
|
||||
|
||||
|
||||
+61
-61
@@ -1307,7 +1307,7 @@ static void Select_InitAllSprites(void)
|
||||
Select_SetBallSpritePaletteNum(i);
|
||||
}
|
||||
cursorPos = sFactorySelectScreen->cursorPos;
|
||||
x = gSprites[sFactorySelectScreen->mons[cursorPos].ballSpriteId].pos1.x;
|
||||
x = gSprites[sFactorySelectScreen->mons[cursorPos].ballSpriteId].x;
|
||||
sFactorySelectScreen->cursorSpriteId = CreateSprite(&sSpriteTemplate_Select_Arrow, x, 88, 0);
|
||||
sFactorySelectScreen->menuCursor1SpriteId = CreateSprite(&sSpriteTemplate_Select_MenuHighlightLeft, 176, 112, 0);
|
||||
sFactorySelectScreen->menuCursor2SpriteId = CreateSprite(&sSpriteTemplate_Select_MenuHighlightRight, 176, 144, 0);
|
||||
@@ -1352,7 +1352,7 @@ static void Select_UpdateBallCursorPosition(s8 direction)
|
||||
}
|
||||
|
||||
cursorPos = sFactorySelectScreen->cursorPos;
|
||||
gSprites[sFactorySelectScreen->cursorSpriteId].pos1.x = gSprites[sFactorySelectScreen->mons[cursorPos].ballSpriteId].pos1.x;
|
||||
gSprites[sFactorySelectScreen->cursorSpriteId].x = gSprites[sFactorySelectScreen->mons[cursorPos].ballSpriteId].x;
|
||||
}
|
||||
|
||||
static void Select_UpdateMenuCursorPosition(s8 direction)
|
||||
@@ -1372,8 +1372,8 @@ static void Select_UpdateMenuCursorPosition(s8 direction)
|
||||
sFactorySelectScreen->menuCursorPos = ARRAY_COUNT(sSelect_MenuOptionFuncs) - 1;
|
||||
}
|
||||
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
|
||||
}
|
||||
|
||||
static void Select_UpdateYesNoCursorPosition(s8 direction)
|
||||
@@ -1393,8 +1393,8 @@ static void Select_UpdateYesNoCursorPosition(s8 direction)
|
||||
sFactorySelectScreen->yesNoCursorPos = 1;
|
||||
}
|
||||
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112;
|
||||
}
|
||||
|
||||
static void Select_HandleMonSelectionChange(void)
|
||||
@@ -1404,7 +1404,7 @@ static void Select_HandleMonSelectionChange(void)
|
||||
if (sFactorySelectScreen->mons[cursorPos].selectedId) // Deselect a mon.
|
||||
{
|
||||
paletteNum = IndexOfSpritePaletteTag(PALTAG_BALL_GRAY);
|
||||
if (sFactorySelectScreen->selectingMonsState == FRONTIER_PARTY_SIZE
|
||||
if (sFactorySelectScreen->selectingMonsState == FRONTIER_PARTY_SIZE
|
||||
&& sFactorySelectScreen->mons[cursorPos].selectedId == 1)
|
||||
{
|
||||
for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
|
||||
@@ -1823,10 +1823,10 @@ static void Select_ShowMenuOptions(void)
|
||||
if (!sFactorySelectScreen->fromSummaryScreen)
|
||||
sFactorySelectScreen->menuCursorPos = 0;
|
||||
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.x = 176;
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].x = 176;
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].x = 208;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
|
||||
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = FALSE;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = FALSE;
|
||||
@@ -1838,10 +1838,10 @@ static void Select_ShowYesNoOptions(void)
|
||||
{
|
||||
sFactorySelectScreen->yesNoCursorPos = 0;
|
||||
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.x = 176;
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].x = 176;
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].y = 112;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].x = 208;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].y = 112;
|
||||
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = FALSE;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = FALSE;
|
||||
@@ -2008,7 +2008,7 @@ static void Select_CreateMonSprite(void)
|
||||
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
|
||||
u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
|
||||
|
||||
sFactorySelectScreen->monPics[1].monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
|
||||
sFactorySelectScreen->monPics[1].monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, TAG_NONE);
|
||||
gSprites[sFactorySelectScreen->monPics[1].monSpriteId].centerToCornerVecX = 0;
|
||||
gSprites[sFactorySelectScreen->monPics[1].monSpriteId].centerToCornerVecY = 0;
|
||||
|
||||
@@ -2034,7 +2034,7 @@ static void Select_ReshowMonSprite(void)
|
||||
personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
|
||||
otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
|
||||
|
||||
sFactorySelectScreen->monPics[1].monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
|
||||
sFactorySelectScreen->monPics[1].monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, TAG_NONE);
|
||||
gSprites[sFactorySelectScreen->monPics[1].monSpriteId].centerToCornerVecX = 0;
|
||||
gSprites[sFactorySelectScreen->monPics[1].monSpriteId].centerToCornerVecY = 0;
|
||||
|
||||
@@ -2056,7 +2056,7 @@ static void Select_CreateChosenMonsSprites(void)
|
||||
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
|
||||
u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
|
||||
|
||||
sFactorySelectScreen->monPics[i].monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, (i * 72) + 16, 32, i + 13, 0xFFFF);
|
||||
sFactorySelectScreen->monPics[i].monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, (i * 72) + 16, 32, i + 13, TAG_NONE);
|
||||
gSprites[sFactorySelectScreen->monPics[i].monSpriteId].centerToCornerVecX = 0;
|
||||
gSprites[sFactorySelectScreen->monPics[i].monSpriteId].centerToCornerVecY = 0;
|
||||
break;
|
||||
@@ -2793,33 +2793,33 @@ static void Swap_Task_SlideCycleBalls(u8 taskId)
|
||||
{
|
||||
if (i != FRONTIER_PARTY_SIZE - 1)
|
||||
{
|
||||
u8 posX = lastX - gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
|
||||
u8 posX = lastX - gSprites[sFactorySwapScreen->ballSpriteIds[i]].x;
|
||||
if (posX == 16 || gTasks[taskId].tBallCycled(i + 1) == TRUE)
|
||||
{
|
||||
lastX = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x += 10;
|
||||
lastX = gSprites[sFactorySwapScreen->ballSpriteIds[i]].x;
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].x += 10;
|
||||
}
|
||||
else if (posX > 16)
|
||||
{
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[i + 1]].pos1.x - 48;
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].x = gSprites[sFactorySwapScreen->ballSpriteIds[i + 1]].x - 48;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lastX = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x += 10;
|
||||
lastX = gSprites[sFactorySwapScreen->ballSpriteIds[i]].x;
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].x += 10;
|
||||
}
|
||||
|
||||
if (gTasks[taskId].tBallCycled(i) == TRUE)
|
||||
{
|
||||
// New ball coming in from left, check if it has reached dest
|
||||
if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x > (i * 48) + 72)
|
||||
if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].x > (i * 48) + 72)
|
||||
{
|
||||
// Overshot dest, set x and finish
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = (i * 48) + 72;
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].x = (i * 48) + 72;
|
||||
finished = TRUE;
|
||||
}
|
||||
else if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x == (i * 48) + 72)
|
||||
else if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].x == (i * 48) + 72)
|
||||
{
|
||||
finished = TRUE;
|
||||
}
|
||||
@@ -2833,11 +2833,11 @@ static void Swap_Task_SlideCycleBalls(u8 taskId)
|
||||
finished = FALSE;
|
||||
}
|
||||
|
||||
if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x - 16 > DISPLAY_WIDTH)
|
||||
if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].x - 16 > DISPLAY_WIDTH)
|
||||
{
|
||||
// Ball is offscreen right, cycle its palette and move to left side of screen
|
||||
lastX = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = -16;
|
||||
lastX = gSprites[sFactorySwapScreen->ballSpriteIds[i]].x;
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].x = -16;
|
||||
if (sFactorySwapScreen->inEnemyScreen == TRUE)
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(PALTAG_BALL_SELECTED);
|
||||
else
|
||||
@@ -2881,7 +2881,7 @@ static void Swap_Task_SlideButtonOnOffScreen(u8 taskId)
|
||||
switch (gTasks[taskId].tState)
|
||||
{
|
||||
case SLIDE_BUTTON_PKMN:
|
||||
currPosX = gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[0][0]].pos1.x;
|
||||
currPosX = gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[0][0]].x;
|
||||
if (!gTasks[taskId].tSlidingOn)
|
||||
{
|
||||
// Sliding "Pkmn for Swap" offscreen
|
||||
@@ -2915,7 +2915,7 @@ static void Swap_Task_SlideButtonOnOffScreen(u8 taskId)
|
||||
for (i = 0; i < ARRAY_COUNT(sFactorySwapScreen->pkmnForSwapButtonSpriteIds[0]); i++)
|
||||
{
|
||||
for (j = 0; j < ARRAY_COUNT(sFactorySwapScreen->pkmnForSwapButtonSpriteIds); j++)
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[j][i]].pos1.x += deltaX;
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[j][i]].x += deltaX;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -2923,9 +2923,9 @@ static void Swap_Task_SlideButtonOnOffScreen(u8 taskId)
|
||||
// Set final position
|
||||
for (j = 0; j < ARRAY_COUNT(sFactorySwapScreen->pkmnForSwapButtonSpriteIds); j++)
|
||||
{
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[j][0]].pos1.x = posX;
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[j][1]].pos1.x = posX + 16;
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[j][2]].pos1.x = posX + 48;
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[j][0]].x = posX;
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[j][1]].x = posX + 16;
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[j][2]].x = posX + 48;
|
||||
}
|
||||
prevTaskId = gTasks[taskId].tTaskId;
|
||||
gTasks[prevTaskId].tSlideFinishedPkmn = TRUE;
|
||||
@@ -2933,7 +2933,7 @@ static void Swap_Task_SlideButtonOnOffScreen(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case SLIDE_BUTTON_CANCEL:
|
||||
currPosX = gSprites[sFactorySwapScreen->cancelButtonSpriteIds[0][0]].pos1.x;
|
||||
currPosX = gSprites[sFactorySwapScreen->cancelButtonSpriteIds[0][0]].x;
|
||||
if (!gTasks[taskId].tSlidingOn)
|
||||
{
|
||||
// Sliding "Cancel" offscreen
|
||||
@@ -2967,7 +2967,7 @@ static void Swap_Task_SlideButtonOnOffScreen(u8 taskId)
|
||||
for (i = 0; i < ARRAY_COUNT(sFactorySwapScreen->cancelButtonSpriteIds); i++)
|
||||
{
|
||||
for (j = 0; j < ARRAY_COUNT(sFactorySwapScreen->cancelButtonSpriteIds[0]); j++)
|
||||
gSprites[sFactorySwapScreen->cancelButtonSpriteIds[j][i]].pos1.x += deltaX;
|
||||
gSprites[sFactorySwapScreen->cancelButtonSpriteIds[j][i]].x += deltaX;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -2975,8 +2975,8 @@ static void Swap_Task_SlideButtonOnOffScreen(u8 taskId)
|
||||
// Set final position
|
||||
for (j = 0; j < ARRAY_COUNT(sFactorySwapScreen->cancelButtonSpriteIds); j++)
|
||||
{
|
||||
gSprites[sFactorySwapScreen->cancelButtonSpriteIds[j][0]].pos1.x = posX;
|
||||
gSprites[sFactorySwapScreen->cancelButtonSpriteIds[j][1]].pos1.x = posX + 16;
|
||||
gSprites[sFactorySwapScreen->cancelButtonSpriteIds[j][0]].x = posX;
|
||||
gSprites[sFactorySwapScreen->cancelButtonSpriteIds[j][1]].x = posX + 16;
|
||||
}
|
||||
prevTaskId = gTasks[taskId].tTaskId;
|
||||
gTasks[prevTaskId].tSlideFinishedCancel = TRUE;
|
||||
@@ -3057,7 +3057,7 @@ static void Swap_Task_ScreenInfoTransitionOut(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (gTasks[taskId].tSlideFinishedPkmn == TRUE
|
||||
if (gTasks[taskId].tSlideFinishedPkmn == TRUE
|
||||
&& gTasks[taskId].tSlideFinishedCancel == TRUE)
|
||||
{
|
||||
gTasks[taskId].tState = gTasks[taskId].tFollowUpTaskState;
|
||||
@@ -3123,7 +3123,7 @@ static void Swap_Task_ScreenInfoTransitionIn(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (gTasks[taskId].tSlideFinishedPkmn == TRUE
|
||||
if (gTasks[taskId].tSlideFinishedPkmn == TRUE
|
||||
&& gTasks[taskId].tSlideFinishedCancel == TRUE)
|
||||
{
|
||||
gPlttBufferFaded[226] = sPokeballGray_Pal[37];
|
||||
@@ -3205,7 +3205,7 @@ static void Swap_Task_SwitchPartyScreen(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 3:
|
||||
if (!FuncIsActiveTask(Swap_Task_SlideCycleBalls)
|
||||
if (!FuncIsActiveTask(Swap_Task_SlideCycleBalls)
|
||||
&& gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].tFadeOutFinished == TRUE)
|
||||
{
|
||||
Swap_EraseSpeciesWindow();
|
||||
@@ -3221,7 +3221,7 @@ static void Swap_Task_SwitchPartyScreen(u8 taskId)
|
||||
for (i = 0; i < ARRAY_COUNT(sFactorySwapScreen->pkmnForSwapButtonSpriteIds[0]); i++)
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[1][i]].invisible = TRUE;
|
||||
}
|
||||
gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x;
|
||||
gSprites[sFactorySwapScreen->cursorSpriteId].x = gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].x;
|
||||
gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].func = Swap_Task_FadeSpeciesName;
|
||||
sFactorySwapScreen->fadeSpeciesNameCoeffDelay = 0;
|
||||
sFactorySwapScreen->fadeSpeciesNameCoeff = 6;
|
||||
@@ -3433,7 +3433,7 @@ static void Swap_InitAllSprites(void)
|
||||
sFactorySwapScreen->ballSpriteIds[i] = CreateSprite(&spriteTemplate, (48 * i) + 72, 64, 1);
|
||||
gSprites[sFactorySwapScreen->ballSpriteIds[i]].data[0] = 0;
|
||||
}
|
||||
sFactorySwapScreen->cursorSpriteId = CreateSprite(&sSpriteTemplate_Swap_Arrow, gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x, 88, 0);
|
||||
sFactorySwapScreen->cursorSpriteId = CreateSprite(&sSpriteTemplate_Swap_Arrow, gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].x, 88, 0);
|
||||
sFactorySwapScreen->menuCursor1SpriteId = CreateSprite(&sSpriteTemplate_Swap_MenuHighlightLeft, 176, 112, 0);
|
||||
sFactorySwapScreen->menuCursor2SpriteId = CreateSprite(&sSpriteTemplate_Swap_MenuHighlightRight, 176, 144, 0);
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = TRUE;
|
||||
@@ -3541,7 +3541,7 @@ static void Swap_HandleActionCursorChange(u8 cursorId)
|
||||
// Cursor is on one of the pokemon
|
||||
gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE;
|
||||
Swap_HideActionButtonHighlights();
|
||||
gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].pos1.x;
|
||||
gSprites[sFactorySwapScreen->cursorSpriteId].x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].x;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3618,8 +3618,8 @@ static void Swap_UpdateYesNoCursorPosition(s8 direction)
|
||||
sFactorySwapScreen->yesNoCursorPos = 1;
|
||||
}
|
||||
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112;
|
||||
}
|
||||
|
||||
static void Swap_UpdateMenuCursorPosition(s8 direction)
|
||||
@@ -3640,8 +3640,8 @@ static void Swap_UpdateMenuCursorPosition(s8 direction)
|
||||
sFactorySwapScreen->menuCursorPos = ARRAY_COUNT(sSwap_MenuOptionFuncs) - 1;
|
||||
}
|
||||
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
|
||||
}
|
||||
|
||||
static void Swap_HighlightActionButton(u8 actionId)
|
||||
@@ -3679,7 +3679,7 @@ static void Swap_HideActionButtonHighlights(void)
|
||||
{
|
||||
// Hide button highlight on "Pkmn for Swap"
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[1][i]].invisible = TRUE;
|
||||
|
||||
|
||||
// Hide button highlight on Cancel
|
||||
if (i < ARRAY_COUNT(sFactorySwapScreen->cancelButtonSpriteIds[0]))
|
||||
gSprites[sFactorySwapScreen->cancelButtonSpriteIds[1][i]].invisible = TRUE;
|
||||
@@ -3693,10 +3693,10 @@ static void Swap_ShowMenuOptions(void)
|
||||
else
|
||||
sFactorySwapScreen->menuCursorPos = 0;
|
||||
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.x = 176;
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].x = 176;
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].x = 208;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
|
||||
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = FALSE;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = FALSE;
|
||||
@@ -3708,10 +3708,10 @@ static void Swap_ShowYesNoOptions(void)
|
||||
{
|
||||
sFactorySwapScreen->yesNoCursorPos = 0;
|
||||
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.x = 176;
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].x = 176;
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].y = 112;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].x = 208;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].y = 112;
|
||||
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = FALSE;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = FALSE;
|
||||
@@ -4072,9 +4072,9 @@ static void Swap_ShowSummaryMonSprite(void)
|
||||
otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
|
||||
|
||||
#ifdef BUGFIX
|
||||
sFactorySwapScreen->monPic.monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
|
||||
sFactorySwapScreen->monPic.monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, TAG_NONE);
|
||||
#else
|
||||
sFactorySwapScreen->monPic.monSpriteId = CreateMonPicSprite_HandleDeoxys(species, personality, otId, TRUE, 88, 32, 15, 0xFFFF);
|
||||
sFactorySwapScreen->monPic.monSpriteId = CreateMonPicSprite_HandleDeoxys(species, personality, otId, TRUE, 88, 32, 15, TAG_NONE);
|
||||
#endif
|
||||
gSprites[sFactorySwapScreen->monPic.monSpriteId].centerToCornerVecX = 0;
|
||||
gSprites[sFactorySwapScreen->monPic.monSpriteId].centerToCornerVecY = 0;
|
||||
@@ -4296,7 +4296,7 @@ static void Swap_CreateMonSprite(void)
|
||||
personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
|
||||
otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
|
||||
|
||||
sFactorySwapScreen->monPic.monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
|
||||
sFactorySwapScreen->monPic.monSpriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, TAG_NONE);
|
||||
gSprites[sFactorySwapScreen->monPic.monSpriteId].centerToCornerVecX = 0;
|
||||
gSprites[sFactorySwapScreen->monPic.monSpriteId].centerToCornerVecY = 0;
|
||||
|
||||
|
||||
+15
-14
@@ -139,7 +139,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void)
|
||||
// Each nature has a different percent chance to select a move from one of 3 move groups
|
||||
// If percent is less than 1st check, use move from "Attack" group
|
||||
// If percent is less than 2nd check, use move from "Defense" group
|
||||
// Otherwise use move from "Support" group
|
||||
// Otherwise use move from "Support" group
|
||||
for (; i < maxGroupNum; i++)
|
||||
{
|
||||
if (gBattlePalaceNatureToMoveGroupLikelihood[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)][i] > percent)
|
||||
@@ -196,7 +196,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void)
|
||||
if ((validMoveFlags & 0xF0) > 0x1FF)
|
||||
numValidMoveGroups++;
|
||||
|
||||
|
||||
|
||||
// If more than 1 possible move group, or no possible move groups
|
||||
// then choose move randomly
|
||||
if (numValidMoveGroups > 1 || numValidMoveGroups == 0)
|
||||
@@ -376,10 +376,10 @@ void SpriteCB_TrainerSlideIn(struct Sprite *sprite)
|
||||
{
|
||||
if (!(gIntroSlideFlags & 1))
|
||||
{
|
||||
sprite->pos2.x += sprite->sSpeedX;
|
||||
if (sprite->pos2.x == 0)
|
||||
sprite->x2 += sprite->sSpeedX;
|
||||
if (sprite->x2 == 0)
|
||||
{
|
||||
if (sprite->pos2.y != 0)
|
||||
if (sprite->y2 != 0)
|
||||
sprite->callback = SpriteCB_TrainerSlideVertical;
|
||||
else
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
@@ -390,8 +390,8 @@ void SpriteCB_TrainerSlideIn(struct Sprite *sprite)
|
||||
// Slide up to 0 if necessary (used by multi battle intro)
|
||||
static void SpriteCB_TrainerSlideVertical(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y -= 2;
|
||||
if (sprite->pos2.y == 0)
|
||||
sprite->y2 -= 2;
|
||||
if (sprite->y2 == 0)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
|
||||
@@ -914,7 +914,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform
|
||||
BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
|
||||
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
|
||||
}
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -989,7 +989,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform
|
||||
gBattleMonForms[battlerAtk] = gBattleMonForms[battlerDef];
|
||||
}
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]);
|
||||
}
|
||||
}
|
||||
@@ -1038,9 +1038,9 @@ void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId)
|
||||
StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battlerId]);
|
||||
|
||||
if (!loadMonSprite)
|
||||
gSprites[spriteId].pos1.y = GetSubstituteSpriteDefault_Y(battlerId);
|
||||
gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battlerId);
|
||||
else
|
||||
gSprites[spriteId].pos1.y = GetBattlerSpriteDefault_Y(battlerId);
|
||||
gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battlerId);
|
||||
}
|
||||
|
||||
void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move)
|
||||
@@ -1181,8 +1181,8 @@ void SpriteCB_EnemyShadow(struct Sprite *shadowSprite)
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute)
|
||||
invisible = TRUE;
|
||||
|
||||
shadowSprite->pos1.x = battlerSprite->pos1.x;
|
||||
shadowSprite->pos2.x = battlerSprite->pos2.x;
|
||||
shadowSprite->x = battlerSprite->x;
|
||||
shadowSprite->x2 = battlerSprite->x2;
|
||||
shadowSprite->invisible = invisible;
|
||||
}
|
||||
|
||||
@@ -1213,7 +1213,8 @@ void HideBattlerShadowSprite(u8 battlerId)
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible;
|
||||
}
|
||||
|
||||
void sub_805EF14(void)
|
||||
// Color the background tiles surrounding the action selection and move windows
|
||||
void FillAroundBattleWindows(void)
|
||||
{
|
||||
u16 *vramPtr = (u16*)(VRAM + 0x240);
|
||||
s32 i;
|
||||
|
||||
+196
-196
@@ -103,11 +103,11 @@ enum
|
||||
HEALTHBOX_GFX_63, //hp bar red [7 pixels]
|
||||
HEALTHBOX_GFX_64, //hp bar red [8 pixels]
|
||||
HEALTHBOX_GFX_65, //hp bar frame end
|
||||
HEALTHBOX_GFX_66, //status ball [full]
|
||||
HEALTHBOX_GFX_67, //status ball [empty]
|
||||
HEALTHBOX_GFX_68, //status ball [fainted]
|
||||
HEALTHBOX_GFX_69, //status ball [statused]
|
||||
HEALTHBOX_GFX_70, //status ball [unused extra]
|
||||
HEALTHBOX_GFX_STATUS_BALL, // Full
|
||||
HEALTHBOX_GFX_STATUS_BALL_EMPTY,
|
||||
HEALTHBOX_GFX_STATUS_BALL_FAINTED,
|
||||
HEALTHBOX_GFX_STATUS_BALL_STATUSED,
|
||||
HEALTHBOX_GFX_STATUS_BALL_CAUGHT,
|
||||
HEALTHBOX_GFX_STATUS_PSN_BATTLER1, //status2 "PSN"
|
||||
HEALTHBOX_GFX_72,
|
||||
HEALTHBOX_GFX_73,
|
||||
@@ -153,8 +153,8 @@ enum
|
||||
HEALTHBOX_GFX_STATUS_BRN_BATTLER3, //status4 "BRN"
|
||||
HEALTHBOX_GFX_114,
|
||||
HEALTHBOX_GFX_115,
|
||||
HEALTHBOX_GFX_116, //unknown_D12FEC
|
||||
HEALTHBOX_GFX_117, //unknown_D1300C
|
||||
HEALTHBOX_GFX_FRAME_END,
|
||||
HEALTHBOX_GFX_FRAME_END_BAR,
|
||||
};
|
||||
|
||||
// strings
|
||||
@@ -330,43 +330,43 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT]
|
||||
static const struct Subsprite sUnknown_0832C220[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 0,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 48,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 48,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 16,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 52,
|
||||
.x = 16,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 52,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 56,
|
||||
.x = 48,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 56,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -374,43 +374,43 @@ static const struct Subsprite sUnknown_0832C220[] =
|
||||
static const struct Subsprite sUnknown_0832C234[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 64,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 64,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 96,
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 96,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 112,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 112,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 16,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 116,
|
||||
.x = 16,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 116,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 120,
|
||||
.x = 48,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 120,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -418,19 +418,19 @@ static const struct Subsprite sUnknown_0832C234[] =
|
||||
static const struct Subsprite sUnknown_0832C248[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 0,
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -438,19 +438,19 @@ static const struct Subsprite sUnknown_0832C248[] =
|
||||
static const struct Subsprite sUnknown_0832C250[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 0,
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -458,19 +458,19 @@ static const struct Subsprite sUnknown_0832C250[] =
|
||||
static const struct Subsprite sUnknown_0832C258[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -478,27 +478,27 @@ static const struct Subsprite sUnknown_0832C258[] =
|
||||
static const struct Subsprite sUnknown_0832C260[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = DISPLAY_WIDTH - 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileOffset = 8,
|
||||
.x = DISPLAY_WIDTH - 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -521,35 +521,35 @@ static const struct SubspriteTable sUnknown_0832C28C[] =
|
||||
static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
|
||||
{
|
||||
{
|
||||
.x = 160,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.x = 160,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 192,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.x = 192,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 224,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.x = 224,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -557,51 +557,51 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
|
||||
static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
{
|
||||
{
|
||||
.x = 160,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.x = 160,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 192,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.x = 192,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 224,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.x = 224,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 32,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.x = 32,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 64,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.x = 64,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -636,7 +636,7 @@ static const struct SpritePalette sStatusSummaryBallsSpritePal =
|
||||
|
||||
static const struct SpriteSheet sStatusSummaryBallsSpriteSheet =
|
||||
{
|
||||
gBattleInterface_BallDisplayGfx, 0x80, TAG_STATUS_SUMMARY_BALLS_TILE
|
||||
&gHealthboxElementsGfxTable[HEALTHBOX_GFX_STATUS_BALL], 0x80, TAG_STATUS_SUMMARY_BALLS_TILE
|
||||
};
|
||||
|
||||
// unused oam data
|
||||
@@ -975,33 +975,33 @@ static void SpriteCB_HealthBar(struct Sprite *sprite)
|
||||
switch (sprite->hBar_Data6)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x = gSprites[healthboxSpriteId].pos1.x + 16;
|
||||
sprite->pos1.y = gSprites[healthboxSpriteId].pos1.y;
|
||||
sprite->x = gSprites[healthboxSpriteId].x + 16;
|
||||
sprite->y = gSprites[healthboxSpriteId].y;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x = gSprites[healthboxSpriteId].pos1.x + 16;
|
||||
sprite->pos1.y = gSprites[healthboxSpriteId].pos1.y;
|
||||
sprite->x = gSprites[healthboxSpriteId].x + 16;
|
||||
sprite->y = gSprites[healthboxSpriteId].y;
|
||||
break;
|
||||
case 2:
|
||||
default:
|
||||
sprite->pos1.x = gSprites[healthboxSpriteId].pos1.x + 8;
|
||||
sprite->pos1.y = gSprites[healthboxSpriteId].pos1.y;
|
||||
sprite->x = gSprites[healthboxSpriteId].x + 8;
|
||||
sprite->y = gSprites[healthboxSpriteId].y;
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->pos2.x = gSprites[healthboxSpriteId].pos2.x;
|
||||
sprite->pos2.y = gSprites[healthboxSpriteId].pos2.y;
|
||||
sprite->x2 = gSprites[healthboxSpriteId].x2;
|
||||
sprite->y2 = gSprites[healthboxSpriteId].y2;
|
||||
}
|
||||
|
||||
static void SpriteCB_HealthBoxOther(struct Sprite *sprite)
|
||||
{
|
||||
u8 healthboxMainSpriteId = sprite->hOther_HealthBoxSpriteId;
|
||||
|
||||
sprite->pos1.x = gSprites[healthboxMainSpriteId].pos1.x + 64;
|
||||
sprite->pos1.y = gSprites[healthboxMainSpriteId].pos1.y;
|
||||
sprite->x = gSprites[healthboxMainSpriteId].x + 64;
|
||||
sprite->y = gSprites[healthboxMainSpriteId].y;
|
||||
|
||||
sprite->pos2.x = gSprites[healthboxMainSpriteId].pos2.x;
|
||||
sprite->pos2.y = gSprites[healthboxMainSpriteId].pos2.y;
|
||||
sprite->x2 = gSprites[healthboxMainSpriteId].x2;
|
||||
sprite->y2 = gSprites[healthboxMainSpriteId].y2;
|
||||
}
|
||||
|
||||
void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue)
|
||||
@@ -1029,8 +1029,8 @@ void SetHealthboxSpriteVisible(u8 healthboxSpriteId)
|
||||
|
||||
static void UpdateSpritePos(u8 spriteId, s16 x, s16 y)
|
||||
{
|
||||
gSprites[spriteId].pos1.x = x;
|
||||
gSprites[spriteId].pos1.y = y;
|
||||
gSprites[spriteId].x = x;
|
||||
gSprites[spriteId].y = y;
|
||||
}
|
||||
|
||||
void DestoryHealthboxSprite(u8 healthboxSpriteId)
|
||||
@@ -1101,7 +1101,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl)
|
||||
u8 text[16];
|
||||
u32 xPos;
|
||||
u8 *objVram;
|
||||
|
||||
|
||||
text[0] = CHAR_EXTRA_SYMBOL;
|
||||
text[1] = CHAR_LV_2;
|
||||
|
||||
@@ -1225,7 +1225,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 0, 5, 0, &windowId);
|
||||
HpTextIntoHealthboxObject((void*)(OBJ_VRAM0) + spriteTileNum + 0xC0, windowTileData, 2);
|
||||
RemoveWindowOnHealthbox(windowId);
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116),
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END),
|
||||
(void*)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP),
|
||||
0x20);
|
||||
}
|
||||
@@ -1291,7 +1291,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side.
|
||||
{
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116),
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END),
|
||||
(void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP),
|
||||
0x20);
|
||||
}
|
||||
@@ -1399,7 +1399,7 @@ void SwapHpBarsWithHpText(void)
|
||||
{
|
||||
UpdateStatusIconInHealthbox(gHealthboxSpriteIds[i]);
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gPlayerParty[gBattlerPartyIndexes[i]], HEALTHBOX_HEALTH_BAR);
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_117), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * TILE_SIZE_4BPP), 32);
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END_BAR), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * TILE_SIZE_4BPP), 32);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1485,17 +1485,17 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
|
||||
summaryBarSpriteId = CreateSprite(&sStatusSummaryBarSpriteTemplates[isOpponent], bar_X, bar_Y, 10);
|
||||
SetSubspriteTables(&gSprites[summaryBarSpriteId], sStatusSummaryBar_SubspriteTable);
|
||||
gSprites[summaryBarSpriteId].pos2.x = bar_pos2_X;
|
||||
gSprites[summaryBarSpriteId].x2 = bar_pos2_X;
|
||||
gSprites[summaryBarSpriteId].data[0] = bar_data0;
|
||||
|
||||
if (isOpponent)
|
||||
{
|
||||
gSprites[summaryBarSpriteId].pos1.x -= 96;
|
||||
gSprites[summaryBarSpriteId].x -= 96;
|
||||
gSprites[summaryBarSpriteId].oam.matrixNum = ST_OAM_HFLIP;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[summaryBarSpriteId].pos1.x += 96;
|
||||
gSprites[summaryBarSpriteId].x += 96;
|
||||
}
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
@@ -1507,23 +1507,23 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
|
||||
if (!isOpponent)
|
||||
{
|
||||
gSprites[ballIconSpritesIds[i]].pos2.x = 0;
|
||||
gSprites[ballIconSpritesIds[i]].pos2.y = 0;
|
||||
gSprites[ballIconSpritesIds[i]].x2 = 0;
|
||||
gSprites[ballIconSpritesIds[i]].y2 = 0;
|
||||
}
|
||||
|
||||
gSprites[ballIconSpritesIds[i]].data[0] = summaryBarSpriteId;
|
||||
|
||||
if (!isOpponent)
|
||||
{
|
||||
gSprites[ballIconSpritesIds[i]].pos1.x += 10 * i + 24;
|
||||
gSprites[ballIconSpritesIds[i]].x += 10 * i + 24;
|
||||
gSprites[ballIconSpritesIds[i]].data[1] = i * 7 + 10;
|
||||
gSprites[ballIconSpritesIds[i]].pos2.x = 120;
|
||||
gSprites[ballIconSpritesIds[i]].x2 = 120;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[ballIconSpritesIds[i]].pos1.x -= 10 * (5 - i) + 24;
|
||||
gSprites[ballIconSpritesIds[i]].x -= 10 * (5 - i) + 24;
|
||||
gSprites[ballIconSpritesIds[i]].data[1] = (6 - i) * 7 + 10;
|
||||
gSprites[ballIconSpritesIds[i]].pos2.x = -120;
|
||||
gSprites[ballIconSpritesIds[i]].x2 = -120;
|
||||
}
|
||||
|
||||
gSprites[ballIconSpritesIds[i]].data[2] = isOpponent;
|
||||
@@ -1793,17 +1793,17 @@ static void sub_8073F98(u8 taskId)
|
||||
|
||||
static void SpriteCB_StatusSummaryBar(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->pos2.x != 0)
|
||||
sprite->pos2.x += sprite->data[0];
|
||||
if (sprite->x2 != 0)
|
||||
sprite->x2 += sprite->data[0];
|
||||
}
|
||||
|
||||
static void sub_8074090(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] += 32;
|
||||
if (sprite->data[0] > 0)
|
||||
sprite->pos2.x += sprite->data[1] >> 4;
|
||||
sprite->x2 += sprite->data[1] >> 4;
|
||||
else
|
||||
sprite->pos2.x -= sprite->data[1] >> 4;
|
||||
sprite->x2 -= sprite->data[1] >> 4;
|
||||
sprite->data[1] &= 0xF;
|
||||
}
|
||||
|
||||
@@ -1826,18 +1826,18 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
|
||||
|
||||
if (var1 != 0)
|
||||
{
|
||||
sprite->pos2.x += var2 >> 4;
|
||||
if (sprite->pos2.x > 0)
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 += var2 >> 4;
|
||||
if (sprite->x2 > 0)
|
||||
sprite->x2 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x -= var2 >> 4;
|
||||
if (sprite->pos2.x < 0)
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 -= var2 >> 4;
|
||||
if (sprite->x2 < 0)
|
||||
sprite->x2 = 0;
|
||||
}
|
||||
|
||||
if (sprite->pos2.x == 0)
|
||||
if (sprite->x2 == 0)
|
||||
{
|
||||
pan = SOUND_PAN_TARGET;
|
||||
if (var1 != 0)
|
||||
@@ -1867,11 +1867,11 @@ static void sub_8074158(struct Sprite *sprite)
|
||||
var2 += 56;
|
||||
sprite->data[3] = var2 & 0xFFF0;
|
||||
if (var1 != 0)
|
||||
sprite->pos2.x += var2 >> 4;
|
||||
sprite->x2 += var2 >> 4;
|
||||
else
|
||||
sprite->pos2.x -= var2 >> 4;
|
||||
if (sprite->pos2.x + sprite->pos1.x > 248
|
||||
|| sprite->pos2.x + sprite->pos1.x < -8)
|
||||
sprite->x2 -= var2 >> 4;
|
||||
if (sprite->x2 + sprite->x > 248
|
||||
|| sprite->x2 + sprite->x < -8)
|
||||
{
|
||||
sprite->invisible = TRUE;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
@@ -1882,8 +1882,8 @@ static void SpriteCB_StatusSummaryBallsOnSwitchout(struct Sprite *sprite)
|
||||
{
|
||||
u8 barSpriteId = sprite->data[0];
|
||||
|
||||
sprite->pos2.x = gSprites[barSpriteId].pos2.x;
|
||||
sprite->pos2.y = gSprites[barSpriteId].pos2.y;
|
||||
sprite->x2 = gSprites[barSpriteId].x2;
|
||||
sprite->y2 = gSprites[barSpriteId].y2;
|
||||
}
|
||||
|
||||
static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
@@ -1962,7 +1962,7 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus)
|
||||
healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId;
|
||||
|
||||
if (noStatus)
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_STATUS_BALL_CAUGHT), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
|
||||
else
|
||||
CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
|
||||
}
|
||||
|
||||
+45
-45
@@ -961,7 +961,7 @@ static void CB2_HandleStartBattle(void)
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
ShowBg(3);
|
||||
sub_805EF14();
|
||||
FillAroundBattleWindows();
|
||||
gBattleCommunication[MULTIUSE_STATE] = 1;
|
||||
}
|
||||
if (gWirelessCommType)
|
||||
@@ -1157,7 +1157,7 @@ static void CB2_HandleStartMultiPartnerBattle(void)
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
ShowBg(3);
|
||||
sub_805EF14();
|
||||
FillAroundBattleWindows();
|
||||
gBattleCommunication[MULTIUSE_STATE] = 1;
|
||||
}
|
||||
if (gWirelessCommType)
|
||||
@@ -1558,7 +1558,7 @@ static void CB2_HandleStartMultiBattle(void)
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
ShowBg(3);
|
||||
sub_805EF14();
|
||||
FillAroundBattleWindows();
|
||||
gBattleCommunication[MULTIUSE_STATE] = 1;
|
||||
}
|
||||
if (gWirelessCommType)
|
||||
@@ -2082,9 +2082,9 @@ void SpriteCB_VsLetterDummy(struct Sprite *sprite)
|
||||
static void SpriteCB_VsLetter(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] != 0)
|
||||
sprite->pos1.x = sprite->data[1] + ((sprite->data[2] & 0xFF00) >> 8);
|
||||
sprite->x = sprite->data[1] + ((sprite->data[2] & 0xFF00) >> 8);
|
||||
else
|
||||
sprite->pos1.x = sprite->data[1] - ((sprite->data[2] & 0xFF00) >> 8);
|
||||
sprite->x = sprite->data[1] - ((sprite->data[2] & 0xFF00) >> 8);
|
||||
|
||||
sprite->data[2] += 0x180;
|
||||
|
||||
@@ -2150,7 +2150,7 @@ void CB2_InitEndLinkBattle(void)
|
||||
|
||||
SetHBlankCallback(NULL);
|
||||
SetVBlankCallback(NULL);
|
||||
gBattleTypeFlags &= ~(BATTLE_TYPE_LINK_IN_BATTLE);
|
||||
gBattleTypeFlags &= ~BATTLE_TYPE_LINK_IN_BATTLE;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
|
||||
{
|
||||
@@ -2618,8 +2618,8 @@ static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite)
|
||||
{
|
||||
if ((gIntroSlideFlags & 1) == 0)
|
||||
{
|
||||
sprite->pos2.x += 2;
|
||||
if (sprite->pos2.x == 0)
|
||||
sprite->x2 += 2;
|
||||
if (sprite->x2 == 0)
|
||||
{
|
||||
sprite->callback = SpriteCb_WildMonShowHealthbox;
|
||||
}
|
||||
@@ -2730,7 +2730,7 @@ static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite)
|
||||
if (--sprite->data[4] == 0)
|
||||
{
|
||||
sprite->data[4] = 2;
|
||||
sprite->pos2.y += 8; // Move the sprite down.
|
||||
sprite->y2 += 8; // Move the sprite down.
|
||||
if (--sprite->data[3] < 0)
|
||||
{
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -2795,8 +2795,8 @@ static void SpriteCB_BattleSpriteSlideLeft(struct Sprite *sprite)
|
||||
{
|
||||
if (!(gIntroSlideFlags & 1))
|
||||
{
|
||||
sprite->pos2.x -= 2;
|
||||
if (sprite->pos2.x == 0)
|
||||
sprite->x2 -= 2;
|
||||
if (sprite->x2 == 0)
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy_3;
|
||||
sprite->data[1] = 0;
|
||||
@@ -2821,8 +2821,8 @@ void SpriteCB_FaintSlideAnim(struct Sprite *sprite)
|
||||
{
|
||||
if (!(gIntroSlideFlags & 1))
|
||||
{
|
||||
sprite->pos2.x += sprite->sSpeedX;
|
||||
sprite->pos2.y += sprite->sSpeedY;
|
||||
sprite->x2 += sprite->sSpeedX;
|
||||
sprite->y2 += sprite->sSpeedY;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2872,8 +2872,8 @@ void DoBounceEffect(u8 battler, u8 which, s8 delta, s8 amplitude)
|
||||
gSprites[invisibleSpriteId].sAmplitude = amplitude;
|
||||
gSprites[invisibleSpriteId].sBouncerSpriteId = bouncerSpriteId;
|
||||
gSprites[invisibleSpriteId].sWhich = which;
|
||||
gSprites[bouncerSpriteId].pos2.x = 0;
|
||||
gSprites[bouncerSpriteId].pos2.y = 0;
|
||||
gSprites[bouncerSpriteId].x2 = 0;
|
||||
gSprites[bouncerSpriteId].y2 = 0;
|
||||
}
|
||||
|
||||
void EndBounceEffect(u8 battler, u8 which)
|
||||
@@ -2899,8 +2899,8 @@ void EndBounceEffect(u8 battler, u8 which)
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].battlerIsBouncing = 0;
|
||||
}
|
||||
|
||||
gSprites[bouncerSpriteId].pos2.x = 0;
|
||||
gSprites[bouncerSpriteId].pos2.y = 0;
|
||||
gSprites[bouncerSpriteId].x2 = 0;
|
||||
gSprites[bouncerSpriteId].y2 = 0;
|
||||
}
|
||||
|
||||
static void SpriteCB_BounceEffect(struct Sprite *sprite)
|
||||
@@ -2913,7 +2913,7 @@ static void SpriteCB_BounceEffect(struct Sprite *sprite)
|
||||
else
|
||||
index = sprite->sSinIndex;
|
||||
|
||||
gSprites[bouncerSpriteId].pos2.y = Sin(index, sprite->sAmplitude) + sprite->sAmplitude;
|
||||
gSprites[bouncerSpriteId].y2 = Sin(index, sprite->sAmplitude) + sprite->sAmplitude;
|
||||
sprite->sSinIndex = (sprite->sSinIndex + sprite->sDelta) & 0xFF;
|
||||
}
|
||||
|
||||
@@ -3116,7 +3116,7 @@ void SwitchInClearSetData(void)
|
||||
&& (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0
|
||||
&& (gDisableStructs[i].battlerWithSureHit == gActiveBattler))
|
||||
{
|
||||
gStatuses3[i] &= ~(STATUS3_ALWAYS_HITS);
|
||||
gStatuses3[i] &= ~STATUS3_ALWAYS_HITS;
|
||||
gStatuses3[i] |= STATUS3_ALWAYS_HITS_TURN(2);
|
||||
}
|
||||
}
|
||||
@@ -3130,9 +3130,9 @@ void SwitchInClearSetData(void)
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBattler))
|
||||
gBattleMons[i].status2 &= ~(STATUS2_INFATUATED_WITH(gActiveBattler));
|
||||
gBattleMons[i].status2 &= ~STATUS2_INFATUATED_WITH(gActiveBattler);
|
||||
if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == gActiveBattler)
|
||||
gBattleMons[i].status2 &= ~(STATUS2_WRAPPED);
|
||||
gBattleMons[i].status2 &= ~STATUS2_WRAPPED;
|
||||
}
|
||||
|
||||
gActionSelectionCursor[gActiveBattler] = 0;
|
||||
@@ -3212,9 +3212,9 @@ void FaintClearSetData(void)
|
||||
if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].battlerPreventingEscape == gActiveBattler)
|
||||
gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION;
|
||||
if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBattler))
|
||||
gBattleMons[i].status2 &= ~(STATUS2_INFATUATED_WITH(gActiveBattler));
|
||||
gBattleMons[i].status2 &= ~STATUS2_INFATUATED_WITH(gActiveBattler);
|
||||
if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == gActiveBattler)
|
||||
gBattleMons[i].status2 &= ~(STATUS2_WRAPPED);
|
||||
gBattleMons[i].status2 &= ~STATUS2_WRAPPED;
|
||||
}
|
||||
|
||||
gActionSelectionCursor[gActiveBattler] = 0;
|
||||
@@ -3821,7 +3821,7 @@ static void TryDoEventsBeforeFirstTurn(void)
|
||||
gBattleCommunication[i] = 0;
|
||||
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
gBattleMons[i].status2 &= ~(STATUS2_FLINCHED);
|
||||
gBattleMons[i].status2 &= ~STATUS2_FLINCHED;
|
||||
|
||||
*(&gBattleStruct->turnEffectsTracker) = 0;
|
||||
*(&gBattleStruct->turnEffectsBattlerId) = 0;
|
||||
@@ -3852,7 +3852,7 @@ static void HandleEndTurn_ContinueBattle(void)
|
||||
gBattleCommunication[i] = 0;
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
gBattleMons[i].status2 &= ~(STATUS2_FLINCHED);
|
||||
gBattleMons[i].status2 &= ~STATUS2_FLINCHED;
|
||||
if ((gBattleMons[i].status1 & STATUS1_SLEEP) && (gBattleMons[i].status2 & STATUS2_MULTIPLETURNS))
|
||||
CancelMultiTurnMoves(i);
|
||||
}
|
||||
@@ -3884,10 +3884,10 @@ void BattleTurnPassed(void)
|
||||
return;
|
||||
|
||||
TurnValuesCleanUp(FALSE);
|
||||
gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING);
|
||||
gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE);
|
||||
gHitMarker &= ~(HITMARKER_x400000);
|
||||
gHitMarker &= ~(HITMARKER_x100000);
|
||||
gHitMarker &= ~HITMARKER_NO_ATTACKSTRING;
|
||||
gHitMarker &= ~HITMARKER_UNABLE_TO_USE_MOVE;
|
||||
gHitMarker &= ~HITMARKER_PLAYER_FAINTED;
|
||||
gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE;
|
||||
gBattleScripting.animTurn = 0;
|
||||
gBattleScripting.animTargetsHit = 0;
|
||||
gBattleScripting.moveendState = 0;
|
||||
@@ -4374,10 +4374,10 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
break;
|
||||
case STATE_WAIT_ACTION_CONFIRMED_STANDBY:
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler])
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler])
|
||||
| (0xF << 28)
|
||||
| (gBitTable[gActiveBattler] << 4)
|
||||
| (gBitTable[gActiveBattler] << 8)
|
||||
| (gBitTable[gActiveBattler] << 4)
|
||||
| (gBitTable[gActiveBattler] << 8)
|
||||
| (gBitTable[gActiveBattler] << 12))))
|
||||
{
|
||||
if (AllAtActionConfirmed())
|
||||
@@ -4525,14 +4525,14 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves)
|
||||
|
||||
if (WEATHER_HAS_EFFECT)
|
||||
{
|
||||
if ((gBattleMons[battler1].ability == ABILITY_SWIFT_SWIM && gBattleWeather & WEATHER_RAIN_ANY)
|
||||
|| (gBattleMons[battler1].ability == ABILITY_CHLOROPHYLL && gBattleWeather & WEATHER_SUN_ANY))
|
||||
if ((gBattleMons[battler1].ability == ABILITY_SWIFT_SWIM && gBattleWeather & B_WEATHER_RAIN)
|
||||
|| (gBattleMons[battler1].ability == ABILITY_CHLOROPHYLL && gBattleWeather & B_WEATHER_SUN))
|
||||
speedMultiplierBattler1 = 2;
|
||||
else
|
||||
speedMultiplierBattler1 = 1;
|
||||
|
||||
if ((gBattleMons[battler2].ability == ABILITY_SWIFT_SWIM && gBattleWeather & WEATHER_RAIN_ANY)
|
||||
|| (gBattleMons[battler2].ability == ABILITY_CHLOROPHYLL && gBattleWeather & WEATHER_SUN_ANY))
|
||||
if ((gBattleMons[battler2].ability == ABILITY_SWIFT_SWIM && gBattleWeather & B_WEATHER_RAIN)
|
||||
|| (gBattleMons[battler2].ability == ABILITY_CHLOROPHYLL && gBattleWeather & B_WEATHER_SUN))
|
||||
speedMultiplierBattler2 = 2;
|
||||
else
|
||||
speedMultiplierBattler2 = 1;
|
||||
@@ -4795,12 +4795,12 @@ static void TurnValuesCleanUp(bool8 var0)
|
||||
{
|
||||
gDisableStructs[gActiveBattler].rechargeTimer--;
|
||||
if (gDisableStructs[gActiveBattler].rechargeTimer == 0)
|
||||
gBattleMons[gActiveBattler].status2 &= ~(STATUS2_RECHARGE);
|
||||
gBattleMons[gActiveBattler].status2 &= ~STATUS2_RECHARGE;
|
||||
}
|
||||
}
|
||||
|
||||
if (gDisableStructs[gActiveBattler].substituteHP == 0)
|
||||
gBattleMons[gActiveBattler].status2 &= ~(STATUS2_SUBSTITUTE);
|
||||
gBattleMons[gActiveBattler].status2 &= ~STATUS2_SUBSTITUTE;
|
||||
}
|
||||
|
||||
gSideTimers[0].followmeTimer = 0;
|
||||
@@ -4860,15 +4860,15 @@ static void RunTurnActionsFunctions(void)
|
||||
|
||||
if (gCurrentTurnActionNumber >= gBattlersCount) // everyone did their actions, turn finished
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_x100000);
|
||||
gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE;
|
||||
gBattleMainFunc = sEndTurnFuncsTable[gBattleOutcome & 0x7F];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battlerId
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING);
|
||||
gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE);
|
||||
gHitMarker &= ~HITMARKER_NO_ATTACKSTRING;
|
||||
gHitMarker &= ~HITMARKER_UNABLE_TO_USE_MOVE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4883,7 +4883,7 @@ static void HandleEndTurn_BattleWon(void)
|
||||
gBattleTextBuff1[0] = gBattleOutcome;
|
||||
gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
|
||||
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
|
||||
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
|
||||
gBattleOutcome &= ~B_OUTCOME_LINK_BATTLE_RAN;
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER
|
||||
&& gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_EREADER_TRAINER))
|
||||
@@ -4942,13 +4942,13 @@ static void HandleEndTurn_BattleLost(void)
|
||||
if (gBattleOutcome & B_OUTCOME_LINK_BATTLE_RAN)
|
||||
{
|
||||
gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle;
|
||||
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
|
||||
gBattleOutcome &= ~B_OUTCOME_LINK_BATTLE_RAN;
|
||||
gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlescriptCurrInstr = BattleScript_FrontierLinkBattleLost;
|
||||
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
|
||||
gBattleOutcome &= ~B_OUTCOME_LINK_BATTLE_RAN;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -4956,7 +4956,7 @@ static void HandleEndTurn_BattleLost(void)
|
||||
gBattleTextBuff1[0] = gBattleOutcome;
|
||||
gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
|
||||
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
|
||||
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
|
||||
gBattleOutcome &= ~B_OUTCOME_LINK_BATTLE_RAN;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1390,9 +1390,9 @@ static const u8 sText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is
|
||||
|
||||
const u16 gBattlePalaceFlavorTextTable[] =
|
||||
{
|
||||
[B_MSG_GLINT_IN_EYE] = STRINGID_GLINTAPPEARSINEYE,
|
||||
[B_MSG_GLINT_IN_EYE] = STRINGID_GLINTAPPEARSINEYE,
|
||||
[B_MSG_GETTING_IN_POS] = STRINGID_PKMNGETTINGINTOPOSITION,
|
||||
[B_MSG_GROWL_DEEPLY] = STRINGID_PKMNBEGANGROWLINGDEEPLY,
|
||||
[B_MSG_GROWL_DEEPLY] = STRINGID_PKMNBEGANGROWLINGDEEPLY,
|
||||
[B_MSG_EAGER_FOR_MORE] = STRINGID_PKMNEAGERFORMORE,
|
||||
};
|
||||
|
||||
|
||||
+15
-15
@@ -40,26 +40,26 @@ static void (* const sBattlePalaceFunctions[])(void) =
|
||||
[BATTLE_PALACE_FUNC_GIVE_PRIZE] = GivePalacePrize,
|
||||
};
|
||||
|
||||
static const u16 sBattlePalaceEarlyPrizes[] =
|
||||
static const u16 sBattlePalaceEarlyPrizes[] =
|
||||
{
|
||||
ITEM_HP_UP,
|
||||
ITEM_PROTEIN,
|
||||
ITEM_IRON,
|
||||
ITEM_CALCIUM,
|
||||
ITEM_CARBOS,
|
||||
ITEM_HP_UP,
|
||||
ITEM_PROTEIN,
|
||||
ITEM_IRON,
|
||||
ITEM_CALCIUM,
|
||||
ITEM_CARBOS,
|
||||
ITEM_ZINC
|
||||
};
|
||||
|
||||
static const u16 sBattlePalaceLatePrizes[] =
|
||||
static const u16 sBattlePalaceLatePrizes[] =
|
||||
{
|
||||
ITEM_BRIGHT_POWDER,
|
||||
ITEM_WHITE_HERB,
|
||||
ITEM_QUICK_CLAW,
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_MENTAL_HERB,
|
||||
ITEM_KINGS_ROCK,
|
||||
ITEM_FOCUS_BAND,
|
||||
ITEM_SCOPE_LENS,
|
||||
ITEM_BRIGHT_POWDER,
|
||||
ITEM_WHITE_HERB,
|
||||
ITEM_QUICK_CLAW,
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_MENTAL_HERB,
|
||||
ITEM_KINGS_ROCK,
|
||||
ITEM_FOCUS_BAND,
|
||||
ITEM_SCOPE_LENS,
|
||||
ITEM_CHOICE_BAND
|
||||
};
|
||||
|
||||
|
||||
+22
-19
@@ -411,20 +411,20 @@ static void Task_ChooseItemsToTossFromPyramidBag(u8 taskId)
|
||||
|
||||
void CB2_ReturnToPyramidBagMenu(void)
|
||||
{
|
||||
GoToBattlePyramidBagMenu(PYRAMIDBAG_LOC_PREV, gPyramidBagMenuState.callback);
|
||||
GoToBattlePyramidBagMenu(PYRAMIDBAG_LOC_PREV, gPyramidBagMenuState.exitCallback);
|
||||
}
|
||||
|
||||
void GoToBattlePyramidBagMenu(u8 location, void (*callback)(void))
|
||||
void GoToBattlePyramidBagMenu(u8 location, void (*exitCallback)(void))
|
||||
{
|
||||
gPyramidBagMenu = AllocZeroed(sizeof(*gPyramidBagMenu));
|
||||
|
||||
if (location != PYRAMIDBAG_LOC_PREV)
|
||||
gPyramidBagMenuState.location = location;
|
||||
|
||||
if (callback != NULL)
|
||||
gPyramidBagMenuState.callback = callback;
|
||||
if (exitCallback != NULL)
|
||||
gPyramidBagMenuState.exitCallback = exitCallback;
|
||||
|
||||
gPyramidBagMenu->exitCallback = NULL;
|
||||
gPyramidBagMenu->newScreenCallback = NULL;
|
||||
gPyramidBagMenu->toSwapPos = POS_NONE;
|
||||
gPyramidBagMenu->scrollIndicatorsTaskId = TASK_NONE;
|
||||
|
||||
@@ -452,8 +452,8 @@ static void VBlankCB_PyramidBag(void)
|
||||
|
||||
static void CB2_LoadPyramidBagMenu(void)
|
||||
{
|
||||
while (MenuHelpers_CallLinkSomething() != TRUE
|
||||
&& LoadPyramidBagMenu() != TRUE
|
||||
while (MenuHelpers_CallLinkSomething() != TRUE
|
||||
&& LoadPyramidBagMenu() != TRUE
|
||||
&& MenuHelpers_LinkSomething() != TRUE);
|
||||
}
|
||||
|
||||
@@ -624,7 +624,7 @@ static void CopyBagItemName(u8 *dst, u16 itemId)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, ITEM_TO_BERRY(itemId), STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
CopyItemName(itemId, gStringVar2);
|
||||
StringExpandPlaceholders(dst, gText_NumberVar1Clear7Var2);
|
||||
StringExpandPlaceholders(dst, gText_NumberItem_TMBerry);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -696,9 +696,9 @@ static void PrintItemDescription(s32 listMenuId)
|
||||
static void AddScrollArrows(void)
|
||||
{
|
||||
if (gPyramidBagMenu->scrollIndicatorsTaskId == TASK_NONE)
|
||||
gPyramidBagMenu->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 172, 12, 148,
|
||||
gPyramidBagMenu->listMenuCount - gPyramidBagMenu->listMenuMaxShown,
|
||||
TAG_SCROLL_ARROW, TAG_SCROLL_ARROW,
|
||||
gPyramidBagMenu->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 172, 12, 148,
|
||||
gPyramidBagMenu->listMenuCount - gPyramidBagMenu->listMenuMaxShown,
|
||||
TAG_SCROLL_ARROW, TAG_SCROLL_ARROW,
|
||||
&gPyramidBagMenuState.scrollPosition);
|
||||
}
|
||||
|
||||
@@ -866,10 +866,13 @@ static void Task_ClosePyramidBag(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyListMenuTask(tListTaskId, &gPyramidBagMenuState.scrollPosition, &gPyramidBagMenuState.cursorPosition);
|
||||
if (gPyramidBagMenu->exitCallback != NULL)
|
||||
SetMainCallback2(gPyramidBagMenu->exitCallback);
|
||||
|
||||
// If ready for a new screen (e.g. party menu for giving an item) go to that screen
|
||||
// Otherwise exit the bag and use callback set up when the bag was first opened
|
||||
if (gPyramidBagMenu->newScreenCallback != NULL)
|
||||
SetMainCallback2(gPyramidBagMenu->newScreenCallback);
|
||||
else
|
||||
SetMainCallback2(gPyramidBagMenuState.callback);
|
||||
SetMainCallback2(gPyramidBagMenuState.exitCallback);
|
||||
RemoveScrollArrow();
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
@@ -934,7 +937,7 @@ static void OpenContextMenu(u8 taskId)
|
||||
{
|
||||
default:
|
||||
// case PYRAMIDBAG_LOC_FIELD:
|
||||
// case PYRAMIDBAG_LOC_PARTY:
|
||||
// case PYRAMIDBAG_LOC_PARTY:
|
||||
gPyramidBagMenu->menuActionIds = sMenuActionIds_Field;
|
||||
gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Field);
|
||||
break;
|
||||
@@ -1249,7 +1252,7 @@ static void BagAction_Give(u8 taskId)
|
||||
}
|
||||
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
{
|
||||
gPyramidBagMenu->exitCallback = CB2_ChooseMonToGiveItem;
|
||||
gPyramidBagMenu->newScreenCallback = CB2_ChooseMonToGiveItem;
|
||||
CloseBattlePyramidBag(taskId);
|
||||
}
|
||||
else
|
||||
@@ -1582,8 +1585,8 @@ static void ShowItemIcon(u16 itemId, bool8 isAlt)
|
||||
if (itemSpriteId != MAX_SPRITES)
|
||||
{
|
||||
*spriteId = itemSpriteId;
|
||||
gSprites[itemSpriteId].pos2.x = 24;
|
||||
gSprites[itemSpriteId].pos2.y = 88;
|
||||
gSprites[itemSpriteId].x2 = 24;
|
||||
gSprites[itemSpriteId].y2 = 88;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1605,5 +1608,5 @@ static void SetSwapLineInvisibility(bool8 invisible)
|
||||
|
||||
static void UpdateSwapLinePos(u8 y)
|
||||
{
|
||||
UpdateSwapLineSpritesPos(&gPyramidBagMenu->spriteIds[PBAG_SPRITE_SWAP_LINE_START], NUM_SWAP_LINE_SPRITES | 0x80, 120, (y + 1) * 16);
|
||||
UpdateSwapLineSpritesPos(&gPyramidBagMenu->spriteIds[PBAG_SPRITE_SWAP_LINE_START], NUM_SWAP_LINE_SPRITES | SWAP_LINE_HAS_MARGIN, 120, (y + 1) * 16);
|
||||
}
|
||||
|
||||
+114
-114
@@ -833,9 +833,9 @@ static const u8 sTerrainToType[] =
|
||||
// - ITEM_ULTRA_BALL skips Master Ball and ITEM_NONE
|
||||
static const u8 sBallCatchBonuses[] =
|
||||
{
|
||||
[ITEM_ULTRA_BALL - ITEM_ULTRA_BALL] = 20,
|
||||
[ITEM_GREAT_BALL - ITEM_ULTRA_BALL] = 15,
|
||||
[ITEM_POKE_BALL - ITEM_ULTRA_BALL] = 10,
|
||||
[ITEM_ULTRA_BALL - ITEM_ULTRA_BALL] = 20,
|
||||
[ITEM_GREAT_BALL - ITEM_ULTRA_BALL] = 15,
|
||||
[ITEM_POKE_BALL - ITEM_ULTRA_BALL] = 10,
|
||||
[ITEM_SAFARI_BALL - ITEM_ULTRA_BALL] = 15
|
||||
};
|
||||
|
||||
@@ -924,7 +924,7 @@ static void Cmd_attackcanceler(void)
|
||||
return;
|
||||
if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattlerTarget, 0, 0, 0))
|
||||
return;
|
||||
if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & (HITMARKER_x800000 | HITMARKER_NO_ATTACKSTRING))
|
||||
if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & (HITMARKER_ALLOW_NO_PP | HITMARKER_NO_ATTACKSTRING))
|
||||
&& !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))
|
||||
{
|
||||
gBattlescriptCurrInstr = BattleScript_NoPPForMove;
|
||||
@@ -932,7 +932,7 @@ static void Cmd_attackcanceler(void)
|
||||
return;
|
||||
}
|
||||
|
||||
gHitMarker &= ~(HITMARKER_x800000);
|
||||
gHitMarker &= ~HITMARKER_ALLOW_NO_PP;
|
||||
|
||||
if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))
|
||||
{
|
||||
@@ -1079,7 +1079,7 @@ static bool8 AccuracyCalcHelper(u16 move)
|
||||
|
||||
gHitMarker &= ~HITMARKER_IGNORE_UNDERWATER;
|
||||
|
||||
if ((WEATHER_HAS_EFFECT && (gBattleWeather & WEATHER_RAIN_ANY) && gBattleMoves[move].effect == EFFECT_THUNDER)
|
||||
if ((WEATHER_HAS_EFFECT && (gBattleWeather & B_WEATHER_RAIN) && gBattleMoves[move].effect == EFFECT_THUNDER)
|
||||
|| (gBattleMoves[move].effect == EFFECT_ALWAYS_HIT || gBattleMoves[move].effect == EFFECT_VITAL_THROW))
|
||||
{
|
||||
JumpIfMoveFailed(7, move);
|
||||
@@ -1136,7 +1136,7 @@ static void Cmd_accuracycheck(void)
|
||||
|
||||
moveAcc = gBattleMoves[move].accuracy;
|
||||
// check Thunder on sunny weather
|
||||
if (WEATHER_HAS_EFFECT && gBattleWeather & WEATHER_SUN_ANY && gBattleMoves[move].effect == EFFECT_THUNDER)
|
||||
if (WEATHER_HAS_EFFECT && gBattleWeather & B_WEATHER_SUN && gBattleMoves[move].effect == EFFECT_THUNDER)
|
||||
moveAcc = 50;
|
||||
|
||||
calc = sAccuracyStageRatios[buff].dividend * moveAcc;
|
||||
@@ -1144,7 +1144,7 @@ static void Cmd_accuracycheck(void)
|
||||
|
||||
if (gBattleMons[gBattlerAttacker].ability == ABILITY_COMPOUND_EYES)
|
||||
calc = (calc * 130) / 100; // 1.3 compound eyes boost
|
||||
if (WEATHER_HAS_EFFECT && gBattleMons[gBattlerTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY)
|
||||
if (WEATHER_HAS_EFFECT && gBattleMons[gBattlerTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & B_WEATHER_SANDSTORM)
|
||||
calc = (calc * 80) / 100; // 1.2 sand veil loss
|
||||
if (gBattleMons[gBattlerAttacker].ability == ABILITY_HUSTLE && IS_TYPE_PHYSICAL(type))
|
||||
calc = (calc * 80) / 100; // 1.2 hustle loss
|
||||
@@ -1237,7 +1237,7 @@ static void Cmd_ppreduce(void)
|
||||
}
|
||||
}
|
||||
|
||||
gHitMarker &= ~(HITMARKER_NO_PPDEDUCT);
|
||||
gHitMarker &= ~HITMARKER_NO_PPDEDUCT;
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
@@ -1869,7 +1869,7 @@ static void Cmd_datahpupdate(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SUBSTITUTE);
|
||||
gHitMarker &= ~HITMARKER_IGNORE_SUBSTITUTE;
|
||||
if (gBattleMoveDamage < 0) // hp goes up
|
||||
{
|
||||
gBattleMons[gActiveBattler].hp -= gBattleMoveDamage;
|
||||
@@ -1879,9 +1879,9 @@ static void Cmd_datahpupdate(void)
|
||||
}
|
||||
else // hp goes down
|
||||
{
|
||||
if (gHitMarker & HITMARKER_x20)
|
||||
if (gHitMarker & HITMARKER_SKIP_DMG_TRACK)
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_x20);
|
||||
gHitMarker &= ~HITMARKER_SKIP_DMG_TRACK;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1903,10 +1903,10 @@ static void Cmd_datahpupdate(void)
|
||||
gBattleMons[gActiveBattler].hp = 0;
|
||||
}
|
||||
|
||||
if (!gSpecialStatuses[gActiveBattler].dmg && !(gHitMarker & HITMARKER_x100000))
|
||||
if (!gSpecialStatuses[gActiveBattler].dmg && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE))
|
||||
gSpecialStatuses[gActiveBattler].dmg = gHpDealt;
|
||||
|
||||
if (IS_TYPE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT)
|
||||
if (IS_TYPE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE) && gCurrentMove != MOVE_PAIN_SPLIT)
|
||||
{
|
||||
gProtectStructs[gActiveBattler].physicalDmg = gHpDealt;
|
||||
gSpecialStatuses[gActiveBattler].physicalDmg = gHpDealt;
|
||||
@@ -1921,7 +1921,7 @@ static void Cmd_datahpupdate(void)
|
||||
gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerTarget;
|
||||
}
|
||||
}
|
||||
else if (!IS_TYPE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000))
|
||||
else if (!IS_TYPE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE))
|
||||
{
|
||||
gProtectStructs[gActiveBattler].specialDmg = gHpDealt;
|
||||
gSpecialStatuses[gActiveBattler].specialDmg = gHpDealt;
|
||||
@@ -1937,7 +1937,7 @@ static void Cmd_datahpupdate(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
gHitMarker &= ~(HITMARKER_x100000);
|
||||
gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE;
|
||||
BtlController_EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
@@ -1972,7 +1972,7 @@ static void Cmd_effectivenesssound(void)
|
||||
gActiveBattler = gBattlerTarget;
|
||||
if (!(gMoveResultFlags & MOVE_RESULT_MISSED))
|
||||
{
|
||||
switch (gMoveResultFlags & (u8)(~(MOVE_RESULT_MISSED)))
|
||||
switch (gMoveResultFlags & (u8)(~MOVE_RESULT_MISSED))
|
||||
{
|
||||
case MOVE_RESULT_SUPER_EFFECTIVE:
|
||||
BtlController_EmitPlaySE(0, SE_SUPER_EFFECTIVE);
|
||||
@@ -2026,7 +2026,7 @@ static void Cmd_resultmessage(void)
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MSG_DISPLAY] = 1;
|
||||
switch (gMoveResultFlags & (u8)(~(MOVE_RESULT_MISSED)))
|
||||
switch (gMoveResultFlags & (u8)(~MOVE_RESULT_MISSED))
|
||||
{
|
||||
case MOVE_RESULT_SUPER_EFFECTIVE:
|
||||
stringId = STRINGID_SUPEREFFECTIVE;
|
||||
@@ -2060,9 +2060,9 @@ static void Cmd_resultmessage(void)
|
||||
}
|
||||
else if (gMoveResultFlags & MOVE_RESULT_ONE_HIT_KO)
|
||||
{
|
||||
gMoveResultFlags &= ~(MOVE_RESULT_ONE_HIT_KO);
|
||||
gMoveResultFlags &= ~(MOVE_RESULT_SUPER_EFFECTIVE);
|
||||
gMoveResultFlags &= ~(MOVE_RESULT_NOT_VERY_EFFECTIVE);
|
||||
gMoveResultFlags &= ~MOVE_RESULT_ONE_HIT_KO;
|
||||
gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE;
|
||||
gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_OneHitKOMsg;
|
||||
return;
|
||||
@@ -2206,7 +2206,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
if (gBattleCommunication[MOVE_EFFECT_BYTE] & MOVE_EFFECT_AFFECTS_USER)
|
||||
{
|
||||
gEffectBattler = gBattlerAttacker; // battlerId that effects get applied on
|
||||
gBattleCommunication[MOVE_EFFECT_BYTE] &= ~(MOVE_EFFECT_AFFECTS_USER);
|
||||
gBattleCommunication[MOVE_EFFECT_BYTE] &= ~MOVE_EFFECT_AFFECTS_USER;
|
||||
affectsUser = MOVE_EFFECT_AFFECTS_USER;
|
||||
gBattleScripting.battler = gBattlerTarget; // theoretically the attacker
|
||||
}
|
||||
@@ -2273,7 +2273,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2314,7 +2314,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2342,7 +2342,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
statusChanged = TRUE;
|
||||
break;
|
||||
case STATUS1_FREEZE:
|
||||
if (WEATHER_HAS_EFFECT && gBattleWeather & WEATHER_SUN_ANY)
|
||||
if (WEATHER_HAS_EFFECT && gBattleWeather & B_WEATHER_SUN)
|
||||
noSunCanFreeze = FALSE;
|
||||
if (IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_ICE))
|
||||
break;
|
||||
@@ -2370,7 +2370,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2398,7 +2398,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2424,8 +2424,8 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
break;
|
||||
|
||||
// It's redundant, because at this point we know the status1 value is 0.
|
||||
gBattleMons[gEffectBattler].status1 &= ~(STATUS1_TOXIC_POISON);
|
||||
gBattleMons[gEffectBattler].status1 &= ~(STATUS1_POISON);
|
||||
gBattleMons[gEffectBattler].status1 &= ~STATUS1_TOXIC_POISON;
|
||||
gBattleMons[gEffectBattler].status1 &= ~STATUS1_POISON;
|
||||
statusChanged = TRUE;
|
||||
break;
|
||||
}
|
||||
@@ -2453,7 +2453,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STATUSED_BY_ABILITY;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2790,7 +2790,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleMons[gBattlerTarget].status1 &= ~(STATUS1_PARALYSIS);
|
||||
gBattleMons[gBattlerTarget].status1 &= ~STATUS1_PARALYSIS;
|
||||
|
||||
gActiveBattler = gBattlerTarget;
|
||||
BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
@@ -2881,7 +2881,7 @@ static void Cmd_seteffectwithchance(void)
|
||||
if (gBattleCommunication[MOVE_EFFECT_BYTE] & MOVE_EFFECT_CERTAIN
|
||||
&& !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
|
||||
{
|
||||
gBattleCommunication[MOVE_EFFECT_BYTE] &= ~(MOVE_EFFECT_CERTAIN);
|
||||
gBattleCommunication[MOVE_EFFECT_BYTE] &= ~MOVE_EFFECT_CERTAIN;
|
||||
SetMoveEffect(FALSE, MOVE_EFFECT_CERTAIN);
|
||||
}
|
||||
else if (Random() % 100 < percentChance
|
||||
@@ -2939,7 +2939,7 @@ static void Cmd_tryfaintmon(void)
|
||||
|
||||
BattleScriptPop();
|
||||
gBattlescriptCurrInstr = BS_ptr;
|
||||
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED);
|
||||
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~SIDE_STATUS_SPIKES_DAMAGED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2970,7 +2970,7 @@ static void Cmd_tryfaintmon(void)
|
||||
gBattlescriptCurrInstr = BS_ptr;
|
||||
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
|
||||
{
|
||||
gHitMarker |= HITMARKER_x400000;
|
||||
gHitMarker |= HITMARKER_PLAYER_FAINTED;
|
||||
if (gBattleResults.playerFaintCounter < 0xFF)
|
||||
gBattleResults.playerFaintCounter++;
|
||||
AdjustFriendshipOnBattleFaint(gActiveBattler);
|
||||
@@ -2983,7 +2983,7 @@ static void Cmd_tryfaintmon(void)
|
||||
}
|
||||
if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBattlerAttacker].hp != 0)
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_DESTINYBOND);
|
||||
gHitMarker &= ~HITMARKER_DESTINYBOND;
|
||||
BattleScriptPush(gBattlescriptCurrInstr);
|
||||
gBattleMoveDamage = gBattleMons[battlerId].hp;
|
||||
gBattlescriptCurrInstr = BattleScript_DestinyBondTakesLife;
|
||||
@@ -3519,7 +3519,7 @@ static void Cmd_unknown_24(void)
|
||||
|
||||
if (HP_count == 0)
|
||||
gBattleOutcome |= B_OUTCOME_LOST;
|
||||
|
||||
|
||||
HP_count = 0;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
@@ -3544,7 +3544,7 @@ static void Cmd_unknown_24(void)
|
||||
if ((gHitMarker & HITMARKER_FAINTED2(i)) && (!gSpecialStatuses[i].flag40))
|
||||
foundPlayer++;
|
||||
}
|
||||
|
||||
|
||||
foundOpponent = 0;
|
||||
|
||||
for (i = 1; i < gBattlersCount; i += 2)
|
||||
@@ -3581,8 +3581,8 @@ static void MoveValuesCleanUp(void)
|
||||
gCritMultiplier = 1;
|
||||
gBattleCommunication[MOVE_EFFECT_BYTE] = 0;
|
||||
gBattleCommunication[MISS_TYPE] = 0;
|
||||
gHitMarker &= ~(HITMARKER_DESTINYBOND);
|
||||
gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT);
|
||||
gHitMarker &= ~HITMARKER_DESTINYBOND;
|
||||
gHitMarker &= ~HITMARKER_SYNCHRONISE_EFFECT;
|
||||
}
|
||||
|
||||
static void Cmd_movevaluescleanup(void)
|
||||
@@ -4217,7 +4217,7 @@ static void Cmd_moveend(void)
|
||||
&& gSpecialStatuses[gBattlerTarget].specialDmg
|
||||
&& !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && moveType == TYPE_FIRE)
|
||||
{
|
||||
gBattleMons[gBattlerTarget].status1 &= ~(STATUS1_FREEZE);
|
||||
gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE;
|
||||
gActiveBattler = gBattlerTarget;
|
||||
BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerTarget].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
@@ -4313,7 +4313,7 @@ static void Cmd_moveend(void)
|
||||
gActiveBattler = gBattlerAttacker;
|
||||
BtlController_EmitSpriteInvisibility(0, FALSE);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gStatuses3[gBattlerAttacker] &= ~(STATUS3_SEMI_INVULNERABLE);
|
||||
gStatuses3[gBattlerAttacker] &= ~STATUS3_SEMI_INVULNERABLE;
|
||||
gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1;
|
||||
gBattleScripting.moveendState++;
|
||||
return;
|
||||
@@ -4327,7 +4327,7 @@ static void Cmd_moveend(void)
|
||||
gActiveBattler = gBattlerTarget;
|
||||
BtlController_EmitSpriteInvisibility(0, FALSE);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gStatuses3[gBattlerTarget] &= ~(STATUS3_SEMI_INVULNERABLE);
|
||||
gStatuses3[gBattlerTarget] &= ~STATUS3_SEMI_INVULNERABLE;
|
||||
gBattleScripting.moveendState++;
|
||||
return;
|
||||
}
|
||||
@@ -4337,7 +4337,7 @@ static void Cmd_moveend(void)
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
if (gDisableStructs[i].substituteHP == 0)
|
||||
gBattleMons[i].status2 &= ~(STATUS2_SUBSTITUTE);
|
||||
gBattleMons[i].status2 &= ~STATUS2_SUBSTITUTE;
|
||||
}
|
||||
gBattleScripting.moveendState++;
|
||||
break;
|
||||
@@ -4347,7 +4347,7 @@ static void Cmd_moveend(void)
|
||||
gActiveBattler = gBattlerAttacker;
|
||||
gBattlerAttacker = gBattlerTarget;
|
||||
gBattlerTarget = gActiveBattler;
|
||||
gHitMarker &= ~(HITMARKER_SWAP_ATTACKER_TARGET);
|
||||
gHitMarker &= ~HITMARKER_SWAP_ATTACKER_TARGET;
|
||||
}
|
||||
if (gHitMarker & HITMARKER_ATTACKSTRING_PRINTED)
|
||||
{
|
||||
@@ -4610,9 +4610,9 @@ static void Cmd_switchindataupdate(void)
|
||||
|
||||
SwitchInClearSetData();
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE
|
||||
&& gBattleMons[gActiveBattler].maxHP / 2 >= gBattleMons[gActiveBattler].hp
|
||||
&& gBattleMons[gActiveBattler].hp != 0
|
||||
&& gBattleMons[gActiveBattler].hp != 0
|
||||
&& !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP))
|
||||
{
|
||||
gBattleStruct->palaceFlags |= gBitTable[gActiveBattler];
|
||||
@@ -4657,7 +4657,7 @@ static void Cmd_jumpifcantswitch(void)
|
||||
s32 lastMonId;
|
||||
struct Pokemon *party;
|
||||
|
||||
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(SWITCH_IGNORE_ESCAPE_PREVENTION));
|
||||
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~SWITCH_IGNORE_ESCAPE_PREVENTION);
|
||||
|
||||
if (!(gBattlescriptCurrInstr[1] & SWITCH_IGNORE_ESCAPE_PREVENTION)
|
||||
&& ((gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION))
|
||||
@@ -4837,7 +4837,7 @@ static void Cmd_openpartyscreen(void)
|
||||
if (HasNoMonsToSwitch(gActiveBattler, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
BtlController_EmitLinkStandbyMsg(0, 2, FALSE);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
@@ -4866,7 +4866,7 @@ static void Cmd_openpartyscreen(void)
|
||||
if (HasNoMonsToSwitch(0, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
@@ -4888,7 +4888,7 @@ static void Cmd_openpartyscreen(void)
|
||||
if (HasNoMonsToSwitch(2, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
@@ -4909,7 +4909,7 @@ static void Cmd_openpartyscreen(void)
|
||||
if (HasNoMonsToSwitch(1, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
@@ -4931,7 +4931,7 @@ static void Cmd_openpartyscreen(void)
|
||||
if (HasNoMonsToSwitch(3, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
@@ -4994,7 +4994,7 @@ static void Cmd_openpartyscreen(void)
|
||||
if (HasNoMonsToSwitch(2, gBattleBufferB[0][1], PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
@@ -5010,7 +5010,7 @@ static void Cmd_openpartyscreen(void)
|
||||
if (HasNoMonsToSwitch(3, gBattleBufferB[1][1], PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
@@ -5049,7 +5049,7 @@ static void Cmd_openpartyscreen(void)
|
||||
else
|
||||
hitmarkerFaintBits = PARTY_ACTION_SEND_OUT;
|
||||
|
||||
battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(PARTY_SCREEN_OPTIONAL));
|
||||
battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~PARTY_SCREEN_OPTIONAL);
|
||||
if (gSpecialStatuses[battlerId].flag40)
|
||||
{
|
||||
gBattlescriptCurrInstr += 6;
|
||||
@@ -5058,7 +5058,7 @@ static void Cmd_openpartyscreen(void)
|
||||
{
|
||||
gActiveBattler = battlerId;
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
gBattlescriptCurrInstr = jumpPtr;
|
||||
}
|
||||
else
|
||||
@@ -5174,7 +5174,7 @@ static void Cmd_switchineffects(void)
|
||||
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
|
||||
UpdateSentPokesToOpponentValue(gActiveBattler);
|
||||
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
|
||||
gSpecialStatuses[gActiveBattler].flag40 = 0;
|
||||
|
||||
if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED)
|
||||
@@ -5186,8 +5186,8 @@ static void Cmd_switchineffects(void)
|
||||
|
||||
gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED;
|
||||
|
||||
gBattleMons[gActiveBattler].status2 &= ~(STATUS2_DESTINY_BOND);
|
||||
gHitMarker &= ~(HITMARKER_DESTINYBOND);
|
||||
gBattleMons[gActiveBattler].status2 &= ~STATUS2_DESTINY_BOND;
|
||||
gHitMarker &= ~HITMARKER_DESTINYBOND;
|
||||
|
||||
spikesDmg = (5 - gSideTimers[GetBattlerSide(gActiveBattler)].spikesAmount) * 2;
|
||||
gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (spikesDmg);
|
||||
@@ -5216,7 +5216,7 @@ static void Cmd_switchineffects(void)
|
||||
if (!AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0)
|
||||
&& !ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE))
|
||||
{
|
||||
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED);
|
||||
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~SIDE_STATUS_SPIKES_DAMAGED;
|
||||
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
@@ -5632,7 +5632,7 @@ static void Cmd_swapattackerwithtarget(void)
|
||||
gBattlerTarget = gActiveBattler;
|
||||
|
||||
if (gHitMarker & HITMARKER_SWAP_ATTACKER_TARGET)
|
||||
gHitMarker &= ~(HITMARKER_SWAP_ATTACKER_TARGET);
|
||||
gHitMarker &= ~HITMARKER_SWAP_ATTACKER_TARGET;
|
||||
else
|
||||
gHitMarker |= HITMARKER_SWAP_ATTACKER_TARGET;
|
||||
|
||||
@@ -6118,9 +6118,9 @@ static void PutMonIconOnLvlUpBox(void)
|
||||
|
||||
static void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite)
|
||||
{
|
||||
sprite->pos2.x = sprite->sSavedLvlUpBoxXPosition - gBattle_BG2_X;
|
||||
sprite->x2 = sprite->sSavedLvlUpBoxXPosition - gBattle_BG2_X;
|
||||
|
||||
if (sprite->pos2.x != 0)
|
||||
if (sprite->x2 != 0)
|
||||
{
|
||||
sprite->sDestroy = TRUE;
|
||||
}
|
||||
@@ -6315,13 +6315,13 @@ static void Cmd_various(void)
|
||||
*choicedMove = 0;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
case VARIOUS_RESET_PLAYER_FAINTED:
|
||||
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE))
|
||||
&& gBattleTypeFlags & BATTLE_TYPE_TRAINER
|
||||
&& gBattleMons[0].hp != 0
|
||||
&& gBattleMons[1].hp != 0)
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_x400000);
|
||||
gHitMarker &= ~HITMARKER_PLAYER_FAINTED;
|
||||
}
|
||||
break;
|
||||
case VARIOUS_PALACE_FLAVOR_TEXT:
|
||||
@@ -6355,7 +6355,7 @@ static void Cmd_various(void)
|
||||
case VARIOUS_ARENA_PLAYER_MON_LOST:
|
||||
gBattleMons[0].hp = 0;
|
||||
gHitMarker |= HITMARKER_FAINTED(0);
|
||||
gHitMarker |= HITMARKER_x400000;
|
||||
gHitMarker |= HITMARKER_PLAYER_FAINTED;
|
||||
gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
|
||||
gDisableStructs[0].truantSwitchInHack = 1;
|
||||
break;
|
||||
@@ -6364,7 +6364,7 @@ static void Cmd_various(void)
|
||||
gBattleMons[1].hp = 0;
|
||||
gHitMarker |= HITMARKER_FAINTED(0);
|
||||
gHitMarker |= HITMARKER_FAINTED(1);
|
||||
gHitMarker |= HITMARKER_x400000;
|
||||
gHitMarker |= HITMARKER_PLAYER_FAINTED;
|
||||
gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
|
||||
gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
|
||||
gDisableStructs[0].truantSwitchInHack = 1;
|
||||
@@ -6374,11 +6374,11 @@ static void Cmd_various(void)
|
||||
BtlController_EmitYesNoBox(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
break;
|
||||
case 14:
|
||||
case VARIOUS_DRAW_ARENA_REF_TEXT_BOX:
|
||||
DrawArenaRefereeTextBox();
|
||||
break;
|
||||
case 15:
|
||||
RemoveArenaRefereeTextBox();
|
||||
case VARIOUS_ERASE_ARENA_REF_TEXT_BOX:
|
||||
EraseArenaRefereeTextBox();
|
||||
break;
|
||||
case VARIOUS_ARENA_JUDGMENT_STRING:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]);
|
||||
@@ -6420,8 +6420,8 @@ static void Cmd_various(void)
|
||||
case VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT:
|
||||
gBattleStruct->alreadyStatusedMoveAttempt |= gBitTable[gActiveBattler];
|
||||
break;
|
||||
case 24:
|
||||
if (sub_805725C(gActiveBattler))
|
||||
case VARIOUS_PALACE_TRY_ESCAPE_STATUS:
|
||||
if (BattlePalace_TryEscapeStatus(gActiveBattler))
|
||||
return;
|
||||
break;
|
||||
case VARIOUS_SET_TELEPORT_OUTCOME:
|
||||
@@ -6595,14 +6595,14 @@ static void Cmd_trymirrormove(void)
|
||||
|
||||
if (move != 0 && move != 0xFFFF)
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
|
||||
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
|
||||
gCurrentMove = move;
|
||||
gBattlerTarget = GetMoveTarget(gCurrentMove, 0);
|
||||
gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
|
||||
}
|
||||
else if (validMovesCount)
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
|
||||
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
|
||||
i = Random() % validMovesCount;
|
||||
gCurrentMove = movesArray[i];
|
||||
gBattlerTarget = GetMoveTarget(gCurrentMove, 0);
|
||||
@@ -6617,14 +6617,14 @@ static void Cmd_trymirrormove(void)
|
||||
|
||||
static void Cmd_setrain(void)
|
||||
{
|
||||
if (gBattleWeather & WEATHER_RAIN_ANY)
|
||||
if (gBattleWeather & B_WEATHER_RAIN)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEATHER_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleWeather = WEATHER_RAIN_TEMPORARY;
|
||||
gBattleWeather = B_WEATHER_RAIN_TEMPORARY;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STARTED_RAIN;
|
||||
gWishFutureKnock.weatherDuration = 5;
|
||||
}
|
||||
@@ -6882,15 +6882,15 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
|
||||
else
|
||||
gActiveBattler = gBattlerTarget;
|
||||
|
||||
flags &= ~(MOVE_EFFECT_AFFECTS_USER);
|
||||
flags &= ~MOVE_EFFECT_AFFECTS_USER;
|
||||
|
||||
if (flags & MOVE_EFFECT_CERTAIN)
|
||||
certain++;
|
||||
flags &= ~(MOVE_EFFECT_CERTAIN);
|
||||
flags &= ~MOVE_EFFECT_CERTAIN;
|
||||
|
||||
if (flags & STAT_BUFF_NOT_PROTECT_AFFECTED)
|
||||
notProtectAffected++;
|
||||
flags &= ~(STAT_BUFF_NOT_PROTECT_AFFECTED);
|
||||
flags &= ~STAT_BUFF_NOT_PROTECT_AFFECTED;
|
||||
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, statId)
|
||||
|
||||
@@ -7481,14 +7481,14 @@ static void Cmd_damagetohalftargethp(void) // super fang
|
||||
|
||||
static void Cmd_setsandstorm(void)
|
||||
{
|
||||
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
|
||||
if (gBattleWeather & B_WEATHER_SANDSTORM)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEATHER_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleWeather = WEATHER_SANDSTORM_TEMPORARY;
|
||||
gBattleWeather = B_WEATHER_SANDSTORM_TEMPORARY;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STARTED_SANDSTORM;
|
||||
gWishFutureKnock.weatherDuration = 5;
|
||||
}
|
||||
@@ -7499,7 +7499,7 @@ static void Cmd_weatherdamage(void)
|
||||
{
|
||||
if (WEATHER_HAS_EFFECT)
|
||||
{
|
||||
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
|
||||
if (gBattleWeather & B_WEATHER_SANDSTORM)
|
||||
{
|
||||
if (gBattleMons[gBattlerAttacker].type1 != TYPE_ROCK
|
||||
&& gBattleMons[gBattlerAttacker].type1 != TYPE_STEEL
|
||||
@@ -7520,7 +7520,7 @@ static void Cmd_weatherdamage(void)
|
||||
gBattleMoveDamage = 0;
|
||||
}
|
||||
}
|
||||
if (gBattleWeather & WEATHER_HAIL_ANY)
|
||||
if (gBattleWeather & B_WEATHER_HAIL)
|
||||
{
|
||||
if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_ICE)
|
||||
&& !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERGROUND)
|
||||
@@ -7719,7 +7719,7 @@ static void Cmd_setsubstitute(void)
|
||||
gBattleMoveDamage = 1;
|
||||
|
||||
gBattleMons[gBattlerAttacker].status2 |= STATUS2_SUBSTITUTE;
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_WRAPPED);
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_WRAPPED;
|
||||
gDisableStructs[gBattlerAttacker].substituteHP = gBattleMoveDamage;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_SUBSTITUTE;
|
||||
gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE;
|
||||
@@ -7803,7 +7803,7 @@ static void Cmd_metronome(void)
|
||||
|
||||
if (sMovesForbiddenToCopy[i] == METRONOME_FORBIDDEN_END)
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
|
||||
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
|
||||
gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
|
||||
gBattlerTarget = GetMoveTarget(gCurrentMove, 0);
|
||||
return;
|
||||
@@ -8019,7 +8019,7 @@ static void Cmd_settypetorandomresistance(void) // conversion 2
|
||||
|
||||
static void Cmd_setalwayshitflag(void)
|
||||
{
|
||||
gStatuses3[gBattlerTarget] &= ~(STATUS3_ALWAYS_HITS);
|
||||
gStatuses3[gBattlerTarget] &= ~STATUS3_ALWAYS_HITS;
|
||||
gStatuses3[gBattlerTarget] |= STATUS3_ALWAYS_HITS_TURN(2);
|
||||
gDisableStructs[gBattlerTarget].battlerWithSureHit = gBattlerAttacker;
|
||||
gBattlescriptCurrInstr++;
|
||||
@@ -8104,7 +8104,7 @@ static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a c
|
||||
{
|
||||
// first argument is unused
|
||||
if (gBattleMoves[move].effect == EFFECT_SOLARBEAM
|
||||
&& (gBattleWeather & WEATHER_SUN_ANY))
|
||||
&& (gBattleWeather & B_WEATHER_SUN))
|
||||
return 2;
|
||||
|
||||
if (gBattleMoves[move].effect == EFFECT_SKULL_BASH
|
||||
@@ -8137,7 +8137,7 @@ static void Cmd_trychoosesleeptalkmove(void)
|
||||
|
||||
}
|
||||
|
||||
unusableMovesBits = CheckMoveLimitations(gBattlerAttacker, unusableMovesBits, ~(MOVE_LIMITATION_PP));
|
||||
unusableMovesBits = CheckMoveLimitations(gBattlerAttacker, unusableMovesBits, ~MOVE_LIMITATION_PP);
|
||||
if (unusableMovesBits == 0xF) // all 4 moves cannot be chosen
|
||||
{
|
||||
gBattlescriptCurrInstr += 5;
|
||||
@@ -8153,7 +8153,7 @@ static void Cmd_trychoosesleeptalkmove(void)
|
||||
|
||||
gCalledMove = gBattleMons[gBattlerAttacker].moves[movePosition];
|
||||
gCurrMovePos = movePosition;
|
||||
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
|
||||
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
|
||||
gBattlerTarget = GetMoveTarget(gCalledMove, 0);
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
@@ -8269,7 +8269,7 @@ static void Cmd_healpartystatus(void)
|
||||
if (gBattleMons[gBattlerAttacker].ability != ABILITY_SOUNDPROOF)
|
||||
{
|
||||
gBattleMons[gBattlerAttacker].status1 = 0;
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -8285,7 +8285,7 @@ static void Cmd_healpartystatus(void)
|
||||
if (gBattleMons[gActiveBattler].ability != ABILITY_SOUNDPROOF)
|
||||
{
|
||||
gBattleMons[gActiveBattler].status1 = 0;
|
||||
gBattleMons[gActiveBattler].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
gBattleMons[gActiveBattler].status2 &= ~STATUS2_NIGHTMARE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -8325,14 +8325,14 @@ static void Cmd_healpartystatus(void)
|
||||
toHeal = 0x3F;
|
||||
|
||||
gBattleMons[gBattlerAttacker].status1 = 0;
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE;
|
||||
|
||||
gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK);
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
|
||||
&& !(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
|
||||
{
|
||||
gBattleMons[gActiveBattler].status1 = 0;
|
||||
gBattleMons[gActiveBattler].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
gBattleMons[gActiveBattler].status2 &= ~STATUS2_NIGHTMARE;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8435,7 +8435,7 @@ static void Cmd_rolloutdamagecalculation(void)
|
||||
}
|
||||
if (--gDisableStructs[gBattlerAttacker].rolloutTimer == 0) // last hit
|
||||
{
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_MULTIPLETURNS);
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_MULTIPLETURNS;
|
||||
}
|
||||
|
||||
gDynamicBasePower = gBattleMoves[gCurrentMove].power;
|
||||
@@ -8515,7 +8515,7 @@ static void Cmd_presentdamagecalculation(void)
|
||||
gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp;
|
||||
else
|
||||
{
|
||||
gMoveResultFlags &= ~(MOVE_RESULT_DOESNT_AFFECT_FOE);
|
||||
gMoveResultFlags &= ~MOVE_RESULT_DOESNT_AFFECT_FOE;
|
||||
gBattlescriptCurrInstr = BattleScript_PresentHealTarget;
|
||||
}
|
||||
}
|
||||
@@ -8628,7 +8628,7 @@ static void Cmd_jumpifnopursuitswitchdmg(void)
|
||||
gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerTarget);
|
||||
gBattlescriptCurrInstr += 5;
|
||||
gBattleScripting.animTurn = 1;
|
||||
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
|
||||
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -8638,14 +8638,14 @@ static void Cmd_jumpifnopursuitswitchdmg(void)
|
||||
|
||||
static void Cmd_setsunny(void)
|
||||
{
|
||||
if (gBattleWeather & WEATHER_SUN_ANY)
|
||||
if (gBattleWeather & B_WEATHER_SUN)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEATHER_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleWeather = WEATHER_SUN_TEMPORARY;
|
||||
gBattleWeather = B_WEATHER_SUN_TEMPORARY;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STARTED_SUNLIGHT;
|
||||
gWishFutureKnock.weatherDuration = 5;
|
||||
}
|
||||
@@ -8693,7 +8693,7 @@ static void Cmd_rapidspinfree(void)
|
||||
if (gBattleMons[gBattlerAttacker].status2 & STATUS2_WRAPPED)
|
||||
{
|
||||
gBattleScripting.battler = gBattlerTarget;
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_WRAPPED);
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_WRAPPED;
|
||||
gBattlerTarget = *(gBattleStruct->wrappedBy + gBattlerAttacker);
|
||||
|
||||
gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN;
|
||||
@@ -8707,14 +8707,14 @@ static void Cmd_rapidspinfree(void)
|
||||
}
|
||||
else if (gStatuses3[gBattlerAttacker] & STATUS3_LEECHSEED)
|
||||
{
|
||||
gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED);
|
||||
gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED_BATTLER);
|
||||
gStatuses3[gBattlerAttacker] &= ~STATUS3_LEECHSEED;
|
||||
gStatuses3[gBattlerAttacker] &= ~STATUS3_LEECHSEED_BATTLER;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_LeechSeedFree;
|
||||
}
|
||||
else if (gSideStatuses[GetBattlerSide(gBattlerAttacker)] & SIDE_STATUS_SPIKES)
|
||||
{
|
||||
gSideStatuses[GetBattlerSide(gBattlerAttacker)] &= ~(SIDE_STATUS_SPIKES);
|
||||
gSideStatuses[GetBattlerSide(gBattlerAttacker)] &= ~SIDE_STATUS_SPIKES;
|
||||
gSideTimers[GetBattlerSide(gBattlerAttacker)].spikesAmount = 0;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_SpikesFree;
|
||||
@@ -8739,7 +8739,7 @@ static void Cmd_recoverbasedonsunlight(void)
|
||||
{
|
||||
if (gBattleWeather == 0 || !WEATHER_HAS_EFFECT)
|
||||
gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 2;
|
||||
else if (gBattleWeather & WEATHER_SUN_ANY)
|
||||
else if (gBattleWeather & B_WEATHER_SUN)
|
||||
gBattleMoveDamage = 20 * gBattleMons[gBattlerAttacker].maxHP / 30;
|
||||
else // not sunny weather
|
||||
gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4;
|
||||
@@ -8920,14 +8920,14 @@ static void Cmd_setminimize(void)
|
||||
|
||||
static void Cmd_sethail(void)
|
||||
{
|
||||
if (gBattleWeather & WEATHER_HAIL_ANY)
|
||||
if (gBattleWeather & B_WEATHER_HAIL)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEATHER_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleWeather = WEATHER_HAIL;
|
||||
gBattleWeather = B_WEATHER_HAIL_TEMPORARY;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STARTED_HAIL;
|
||||
gWishFutureKnock.weatherDuration = 5;
|
||||
}
|
||||
@@ -8970,7 +8970,7 @@ static void Cmd_setcharge(void)
|
||||
|
||||
static void Cmd_callterrainattack(void) // nature power
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
|
||||
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
|
||||
gCurrentMove = sNaturePowerMoves[gBattleTerrain];
|
||||
gBattlerTarget = GetMoveTarget(gCurrentMove, 0);
|
||||
BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]);
|
||||
@@ -9380,7 +9380,7 @@ static void Cmd_assistattackselect(void)
|
||||
}
|
||||
if (chooseableMovesNo)
|
||||
{
|
||||
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
|
||||
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
|
||||
gCalledMove = movesArray[((Random() & 0xFF) * chooseableMovesNo) >> 8];
|
||||
gBattlerTarget = GetMoveTarget(gCalledMove, 0);
|
||||
gBattlescriptCurrInstr += 5;
|
||||
@@ -9640,15 +9640,15 @@ static void Cmd_setweatherballtype(void)
|
||||
{
|
||||
if (WEATHER_HAS_EFFECT)
|
||||
{
|
||||
if (gBattleWeather & WEATHER_ANY)
|
||||
if (gBattleWeather & B_WEATHER_ANY)
|
||||
gBattleScripting.dmgMultiplier = 2;
|
||||
if (gBattleWeather & WEATHER_RAIN_ANY)
|
||||
if (gBattleWeather & B_WEATHER_RAIN)
|
||||
*(&gBattleStruct->dynamicMoveType) = TYPE_WATER | 0x80;
|
||||
else if (gBattleWeather & WEATHER_SANDSTORM_ANY)
|
||||
else if (gBattleWeather & B_WEATHER_SANDSTORM)
|
||||
*(&gBattleStruct->dynamicMoveType) = TYPE_ROCK | 0x80;
|
||||
else if (gBattleWeather & WEATHER_SUN_ANY)
|
||||
else if (gBattleWeather & B_WEATHER_SUN)
|
||||
*(&gBattleStruct->dynamicMoveType) = TYPE_FIRE | 0x80;
|
||||
else if (gBattleWeather & WEATHER_HAIL_ANY)
|
||||
else if (gBattleWeather & B_WEATHER_HAIL)
|
||||
*(&gBattleStruct->dynamicMoveType) = TYPE_ICE | 0x80;
|
||||
else
|
||||
*(&gBattleStruct->dynamicMoveType) = TYPE_NORMAL | 0x80;
|
||||
@@ -9736,8 +9736,8 @@ static void Cmd_removelightscreenreflect(void) // brick break
|
||||
|
||||
if (gSideTimers[opposingSide].reflectTimer || gSideTimers[opposingSide].lightscreenTimer)
|
||||
{
|
||||
gSideStatuses[opposingSide] &= ~(SIDE_STATUS_REFLECT);
|
||||
gSideStatuses[opposingSide] &= ~(SIDE_STATUS_LIGHTSCREEN);
|
||||
gSideStatuses[opposingSide] &= ~SIDE_STATUS_REFLECT;
|
||||
gSideStatuses[opposingSide] &= ~SIDE_STATUS_LIGHTSCREEN;
|
||||
gSideTimers[opposingSide].reflectTimer = 0;
|
||||
gSideTimers[opposingSide].lightscreenTimer = 0;
|
||||
gBattleScripting.animTurn = 1;
|
||||
|
||||
+14
-14
@@ -126,32 +126,32 @@ static const u8 sBattleTransitionTable_Trainer[][2] =
|
||||
// Battle Frontier (excluding Pyramid and Dome, which have their own tables below)
|
||||
static const u8 sBattleTransitionTable_BattleFrontier[] =
|
||||
{
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_LOGO_WAVE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_LOGO_WAVE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_SYMMETRIC_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_SYMMETRIC_SPIRAL_IN_SEQ
|
||||
};
|
||||
|
||||
static const u8 sBattleTransitionTable_BattlePyramid[] =
|
||||
{
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SPIRAL
|
||||
};
|
||||
|
||||
static const u8 sBattleTransitionTable_BattleDome[] =
|
||||
{
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SPIRAL
|
||||
};
|
||||
|
||||
|
||||
+3
-3
@@ -1339,7 +1339,7 @@ void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm)
|
||||
if (gSaveBlock2Ptr->frontier.towerRecords[i].name[j] != newRecord->name[j])
|
||||
break;
|
||||
if (newRecord->name[j] == EOS)
|
||||
#endif
|
||||
#endif
|
||||
{
|
||||
k = PLAYER_NAME_LENGTH;
|
||||
break;
|
||||
@@ -2655,7 +2655,7 @@ static void TowerTryCloseLink(void)
|
||||
static void SetMultiPartnerGfx(void)
|
||||
{
|
||||
// 0xF below means use VAR_OBJ_GFX_ID_E
|
||||
SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
|
||||
SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
|
||||
}
|
||||
|
||||
static void SetTowerInterviewData(void)
|
||||
@@ -2968,7 +2968,7 @@ static void FillPartnerParty(u16 trainerId)
|
||||
sStevenMons[i].species,
|
||||
sStevenMons[i].level,
|
||||
sStevenMons[i].fixedIV,
|
||||
TRUE,
|
||||
TRUE,
|
||||
#ifdef BUGFIX
|
||||
j,
|
||||
#else
|
||||
|
||||
+23
-23
@@ -748,7 +748,7 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_Pokeball[] =
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_Pokeball =
|
||||
{
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_POKEBALL,
|
||||
.oam = &gObjectEventBaseOam_32x32,
|
||||
.anims = sSpriteAnimTable_Pokeball,
|
||||
@@ -797,7 +797,7 @@ static const union AnimCmd *const sSpriteAnimTable_UnusedBrendanLass[] =
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_UnusedBrendan =
|
||||
{
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = 0x100A,
|
||||
.oam = &sOam_UnusedBrendanLass,
|
||||
.anims = sSpriteAnimTable_UnusedBrendanLass,
|
||||
@@ -808,7 +808,7 @@ static const struct SpriteTemplate sSpriteTemplate_UnusedBrendan =
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_UnusedLass =
|
||||
{
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = 0x100A,
|
||||
.oam = &sOam_UnusedBrendanLass,
|
||||
.anims = sSpriteAnimTable_UnusedBrendanLass,
|
||||
@@ -1692,10 +1692,10 @@ static void sub_814713C(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->pos1.x >= 0 && sprite->pos1.x <= DISPLAY_WIDTH)
|
||||
if (sprite->x >= 0 && sprite->x <= DISPLAY_WIDTH)
|
||||
{
|
||||
s16 posX = sprite->pos1.x >> 3;
|
||||
s16 posY = sprite->pos1.y >> 3;
|
||||
s16 posX = sprite->x >> 3;
|
||||
s16 posY = sprite->y >> 3;
|
||||
|
||||
if (posX != sprite->data[2])
|
||||
{
|
||||
@@ -1712,8 +1712,8 @@ static void sub_814713C(struct Sprite *sprite)
|
||||
SOME_VRAM_STORE(ptr, posY + 1, posX, 0xF001);
|
||||
}
|
||||
}
|
||||
sprite->pos1.x += arr0[sprite->data[0]];
|
||||
if (sprite->pos1.x < -15 || sprite->pos1.x > 255)
|
||||
sprite->x += arr0[sprite->data[0]];
|
||||
if (sprite->x < -15 || sprite->x > 255)
|
||||
FieldEffectStop(sprite, FLDEFF_POKEBALL);
|
||||
}
|
||||
}
|
||||
@@ -2438,10 +2438,10 @@ static bool8 TrainerPicCb_SetSlideOffsets(struct Sprite *sprite)
|
||||
// fast slide to around middle screen
|
||||
static bool8 TrainerPicCb_Slide1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->sOffsetX;
|
||||
if (sprite->sSlideTableId && sprite->pos1.x < 133)
|
||||
sprite->x += sprite->sOffsetX;
|
||||
if (sprite->sSlideTableId && sprite->x < 133)
|
||||
sprite->sState++;
|
||||
else if (!sprite->sSlideTableId && sprite->pos1.x > 103)
|
||||
else if (!sprite->sSlideTableId && sprite->x > 103)
|
||||
sprite->sState++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2450,7 +2450,7 @@ static bool8 TrainerPicCb_Slide1(struct Sprite *sprite)
|
||||
static bool8 TrainerPicCb_Slide2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->sOffsetX += sprite->sOffsetX2;
|
||||
sprite->pos1.x += sprite->sOffsetX;
|
||||
sprite->x += sprite->sOffsetX;
|
||||
if (sprite->sOffsetX == 0)
|
||||
{
|
||||
sprite->sState++;
|
||||
@@ -2464,8 +2464,8 @@ static bool8 TrainerPicCb_Slide2(struct Sprite *sprite)
|
||||
static bool8 TrainerPicCb_Slide3(struct Sprite *sprite)
|
||||
{
|
||||
sprite->sOffsetX += sprite->sOffsetX2;
|
||||
sprite->pos1.x += sprite->sOffsetX;
|
||||
if (sprite->pos1.x < -31 || sprite->pos1.x > 271)
|
||||
sprite->x += sprite->sOffsetX;
|
||||
if (sprite->x < -31 || sprite->x > 271)
|
||||
sprite->sState++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -3283,8 +3283,8 @@ static bool8 Phase2_WhiteFade_Func2(struct Task *task)
|
||||
for (i = 0, posY = 0; i < 8; i++, posY += 0x14)
|
||||
{
|
||||
sprite = &gSprites[CreateInvisibleSprite(sub_8149864)];
|
||||
sprite->pos1.x = 0xF0;
|
||||
sprite->pos1.y = posY;
|
||||
sprite->x = 0xF0;
|
||||
sprite->y = posY;
|
||||
sprite->data[5] = arr1[i];
|
||||
}
|
||||
sprite->data[6]++;
|
||||
@@ -3373,21 +3373,21 @@ static void sub_8149864(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
u16 i;
|
||||
u16* ptr1 = &gScanlineEffectRegBuffers[0][sprite->pos1.y];
|
||||
u16* ptr2 = &gScanlineEffectRegBuffers[0][sprite->pos1.y + 160];
|
||||
u16* ptr1 = &gScanlineEffectRegBuffers[0][sprite->y];
|
||||
u16* ptr2 = &gScanlineEffectRegBuffers[0][sprite->y + 160];
|
||||
for (i = 0; i < 20; i++)
|
||||
{
|
||||
ptr1[i] = sprite->data[0] >> 8;
|
||||
ptr2[i] = (u8)(sprite->pos1.x);
|
||||
ptr2[i] = (u8)(sprite->x);
|
||||
}
|
||||
if (sprite->pos1.x == 0 && sprite->data[0] == 0x1000)
|
||||
if (sprite->x == 0 && sprite->data[0] == 0x1000)
|
||||
sprite->data[1] = 1;
|
||||
|
||||
sprite->pos1.x -= 16;
|
||||
sprite->x -= 16;
|
||||
sprite->data[0] += 0x80;
|
||||
|
||||
if (sprite->pos1.x < 0)
|
||||
sprite->pos1.x = 0;
|
||||
if (sprite->x < 0)
|
||||
sprite->x = 0;
|
||||
if (sprite->data[0] > 0x1000)
|
||||
sprite->data[0] = 0x1000;
|
||||
|
||||
|
||||
@@ -243,7 +243,7 @@ static void SpriteCB_LogoCircleSlide(struct Sprite *sprite)
|
||||
{
|
||||
s16 *data = sprite->data;
|
||||
|
||||
if (sprite->pos1.x == data[0] && sprite->pos1.y == data[1])
|
||||
if (sprite->x == data[0] && sprite->y == data[1])
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
@@ -251,7 +251,7 @@ static void SpriteCB_LogoCircleSlide(struct Sprite *sprite)
|
||||
{
|
||||
if (data[4] == data[6])
|
||||
{
|
||||
sprite->pos1.x += data[2];
|
||||
sprite->x += data[2];
|
||||
data[4] = 0;
|
||||
}
|
||||
else
|
||||
@@ -261,7 +261,7 @@ static void SpriteCB_LogoCircleSlide(struct Sprite *sprite)
|
||||
|
||||
if (data[5] == data[7])
|
||||
{
|
||||
sprite->pos1.y += data[3];
|
||||
sprite->y += data[3];
|
||||
data[5] = 0;
|
||||
}
|
||||
else
|
||||
@@ -305,8 +305,8 @@ static u8 CreateSpiralingLogoCircleSprite(s16 x, s16 y, s16 arg2, s16 arg3, s16
|
||||
|
||||
static void SpriteCB_LogoCircleSpiral(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = (Sin2(sprite->data[2]) * sprite->data[4]) >> 12; // div by 4096
|
||||
sprite->pos2.y = (Cos2(sprite->data[2]) * sprite->data[4]) >> 12; // div by 4096
|
||||
sprite->x2 = (Sin2(sprite->data[2]) * sprite->data[4]) >> 12; // div by 4096
|
||||
sprite->y2 = (Cos2(sprite->data[2]) * sprite->data[4]) >> 12; // div by 4096
|
||||
|
||||
sprite->data[2] = (sprite->data[2] + sprite->data[3]) % 360;
|
||||
|
||||
|
||||
+296
-296
@@ -86,219 +86,219 @@ static const u16 sVariableDmgMoves[] =
|
||||
|
||||
static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] =
|
||||
{
|
||||
[EFFECT_HIT] = 1,
|
||||
[EFFECT_SLEEP] = 1,
|
||||
[EFFECT_POISON_HIT] = 1,
|
||||
[EFFECT_ABSORB] = 4,
|
||||
[EFFECT_BURN_HIT] = 1,
|
||||
[EFFECT_FREEZE_HIT] = 1,
|
||||
[EFFECT_PARALYZE_HIT] = 1,
|
||||
[EFFECT_EXPLOSION] = 0,
|
||||
[EFFECT_DREAM_EATER] = 5,
|
||||
[EFFECT_MIRROR_MOVE] = 1,
|
||||
[EFFECT_ATTACK_UP] = 1,
|
||||
[EFFECT_DEFENSE_UP] = 1,
|
||||
[EFFECT_SPEED_UP] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_UP] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_UP] = 1,
|
||||
[EFFECT_HIT] = 1,
|
||||
[EFFECT_SLEEP] = 1,
|
||||
[EFFECT_POISON_HIT] = 1,
|
||||
[EFFECT_ABSORB] = 4,
|
||||
[EFFECT_BURN_HIT] = 1,
|
||||
[EFFECT_FREEZE_HIT] = 1,
|
||||
[EFFECT_PARALYZE_HIT] = 1,
|
||||
[EFFECT_EXPLOSION] = 0,
|
||||
[EFFECT_DREAM_EATER] = 5,
|
||||
[EFFECT_MIRROR_MOVE] = 1,
|
||||
[EFFECT_ATTACK_UP] = 1,
|
||||
[EFFECT_DEFENSE_UP] = 1,
|
||||
[EFFECT_SPEED_UP] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_UP] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_UP] = 1,
|
||||
[EFFECT_ACCURACY_UP] = 1,
|
||||
[EFFECT_EVASION_UP] = 1,
|
||||
[EFFECT_ALWAYS_HIT] = 2,
|
||||
[EFFECT_ATTACK_DOWN] = 1,
|
||||
[EFFECT_DEFENSE_DOWN] = 1,
|
||||
[EFFECT_SPEED_DOWN] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN] = 1,
|
||||
[EFFECT_ACCURACY_DOWN] = 1,
|
||||
[EFFECT_EVASION_DOWN] = 1,
|
||||
[EFFECT_HAZE] = 5,
|
||||
[EFFECT_BIDE] = 5,
|
||||
[EFFECT_RAMPAGE] = 4,
|
||||
[EFFECT_ROAR] = 5,
|
||||
[EFFECT_MULTI_HIT] = 1,
|
||||
[EFFECT_CONVERSION] = 3,
|
||||
[EFFECT_EVASION_UP] = 1,
|
||||
[EFFECT_ALWAYS_HIT] = 2,
|
||||
[EFFECT_ATTACK_DOWN] = 1,
|
||||
[EFFECT_DEFENSE_DOWN] = 1,
|
||||
[EFFECT_SPEED_DOWN] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN] = 1,
|
||||
[EFFECT_ACCURACY_DOWN] = 1,
|
||||
[EFFECT_EVASION_DOWN] = 1,
|
||||
[EFFECT_HAZE] = 5,
|
||||
[EFFECT_BIDE] = 5,
|
||||
[EFFECT_RAMPAGE] = 4,
|
||||
[EFFECT_ROAR] = 5,
|
||||
[EFFECT_MULTI_HIT] = 1,
|
||||
[EFFECT_CONVERSION] = 3,
|
||||
[EFFECT_FLINCH_HIT] = 1,
|
||||
[EFFECT_RESTORE_HP] = 3,
|
||||
[EFFECT_TOXIC] = 5,
|
||||
[EFFECT_PAY_DAY] = 1,
|
||||
[EFFECT_LIGHT_SCREEN] = 7,
|
||||
[EFFECT_TRI_ATTACK] = 1,
|
||||
[EFFECT_REST] = 7,
|
||||
[EFFECT_OHKO] = 7,
|
||||
[EFFECT_RAZOR_WIND] = 1,
|
||||
[EFFECT_SUPER_FANG] = 5,
|
||||
[EFFECT_DRAGON_RAGE] = 2,
|
||||
[EFFECT_TRAP] = 4,
|
||||
[EFFECT_HIGH_CRITICAL] = 1,
|
||||
[EFFECT_DOUBLE_HIT] = 1,
|
||||
[EFFECT_RECOIL_IF_MISS] = 1,
|
||||
[EFFECT_MIST] = 5,
|
||||
[EFFECT_RESTORE_HP] = 3,
|
||||
[EFFECT_TOXIC] = 5,
|
||||
[EFFECT_PAY_DAY] = 1,
|
||||
[EFFECT_LIGHT_SCREEN] = 7,
|
||||
[EFFECT_TRI_ATTACK] = 1,
|
||||
[EFFECT_REST] = 7,
|
||||
[EFFECT_OHKO] = 7,
|
||||
[EFFECT_RAZOR_WIND] = 1,
|
||||
[EFFECT_SUPER_FANG] = 5,
|
||||
[EFFECT_DRAGON_RAGE] = 2,
|
||||
[EFFECT_TRAP] = 4,
|
||||
[EFFECT_HIGH_CRITICAL] = 1,
|
||||
[EFFECT_DOUBLE_HIT] = 1,
|
||||
[EFFECT_RECOIL_IF_MISS] = 1,
|
||||
[EFFECT_MIST] = 5,
|
||||
[EFFECT_FOCUS_ENERGY] = 1,
|
||||
[EFFECT_RECOIL] = 2,
|
||||
[EFFECT_CONFUSE] = 4,
|
||||
[EFFECT_ATTACK_UP_2] = 1,
|
||||
[EFFECT_DEFENSE_UP_2] = 1,
|
||||
[EFFECT_SPEED_UP_2] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_UP_2] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_UP_2] = 1,
|
||||
[EFFECT_ACCURACY_UP_2] = 1,
|
||||
[EFFECT_EVASION_UP_2] = 1,
|
||||
[EFFECT_TRANSFORM] = 0,
|
||||
[EFFECT_ATTACK_DOWN_2] = 1,
|
||||
[EFFECT_DEFENSE_DOWN_2] = 1,
|
||||
[EFFECT_SPEED_DOWN_2] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN_2] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1,
|
||||
[EFFECT_RECOIL] = 2,
|
||||
[EFFECT_CONFUSE] = 4,
|
||||
[EFFECT_ATTACK_UP_2] = 1,
|
||||
[EFFECT_DEFENSE_UP_2] = 1,
|
||||
[EFFECT_SPEED_UP_2] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_UP_2] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_UP_2] = 1,
|
||||
[EFFECT_ACCURACY_UP_2] = 1,
|
||||
[EFFECT_EVASION_UP_2] = 1,
|
||||
[EFFECT_TRANSFORM] = 0,
|
||||
[EFFECT_ATTACK_DOWN_2] = 1,
|
||||
[EFFECT_DEFENSE_DOWN_2] = 1,
|
||||
[EFFECT_SPEED_DOWN_2] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN_2] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1,
|
||||
[EFFECT_ACCURACY_DOWN_2] = 1,
|
||||
[EFFECT_EVASION_DOWN_2] = 1,
|
||||
[EFFECT_REFLECT] = 7,
|
||||
[EFFECT_POISON] = 4,
|
||||
[EFFECT_PARALYZE] = 4,
|
||||
[EFFECT_ATTACK_DOWN_HIT] = 1,
|
||||
[EFFECT_DEFENSE_DOWN_HIT] = 1,
|
||||
[EFFECT_SPEED_DOWN_HIT] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1,
|
||||
[EFFECT_ACCURACY_DOWN_HIT] = 1,
|
||||
[EFFECT_EVASION_DOWN_HIT] = 1,
|
||||
[EFFECT_SKY_ATTACK] = 4,
|
||||
[EFFECT_CONFUSE_HIT] = 1,
|
||||
[EFFECT_TWINEEDLE] = 1,
|
||||
[EFFECT_VITAL_THROW] = 1,
|
||||
[EFFECT_EVASION_DOWN_2] = 1,
|
||||
[EFFECT_REFLECT] = 7,
|
||||
[EFFECT_POISON] = 4,
|
||||
[EFFECT_PARALYZE] = 4,
|
||||
[EFFECT_ATTACK_DOWN_HIT] = 1,
|
||||
[EFFECT_DEFENSE_DOWN_HIT] = 1,
|
||||
[EFFECT_SPEED_DOWN_HIT] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1,
|
||||
[EFFECT_ACCURACY_DOWN_HIT] = 1,
|
||||
[EFFECT_EVASION_DOWN_HIT] = 1,
|
||||
[EFFECT_SKY_ATTACK] = 4,
|
||||
[EFFECT_CONFUSE_HIT] = 1,
|
||||
[EFFECT_TWINEEDLE] = 1,
|
||||
[EFFECT_VITAL_THROW] = 1,
|
||||
[EFFECT_SUBSTITUTE] = 4,
|
||||
[EFFECT_RECHARGE] = 5,
|
||||
[EFFECT_RAGE] = 2,
|
||||
[EFFECT_MIMIC] = 4,
|
||||
[EFFECT_METRONOME] = 1,
|
||||
[EFFECT_LEECH_SEED] = 4,
|
||||
[EFFECT_SPLASH] = 1,
|
||||
[EFFECT_DISABLE] = 7,
|
||||
[EFFECT_LEVEL_DAMAGE] = 2,
|
||||
[EFFECT_PSYWAVE] = 1,
|
||||
[EFFECT_COUNTER] = 5,
|
||||
[EFFECT_ENCORE] = 7,
|
||||
[EFFECT_PAIN_SPLIT] = 3,
|
||||
[EFFECT_SNORE] = 3,
|
||||
[EFFECT_CONVERSION_2] = 4,
|
||||
[EFFECT_LOCK_ON] = 3,
|
||||
[EFFECT_RECHARGE] = 5,
|
||||
[EFFECT_RAGE] = 2,
|
||||
[EFFECT_MIMIC] = 4,
|
||||
[EFFECT_METRONOME] = 1,
|
||||
[EFFECT_LEECH_SEED] = 4,
|
||||
[EFFECT_SPLASH] = 1,
|
||||
[EFFECT_DISABLE] = 7,
|
||||
[EFFECT_LEVEL_DAMAGE] = 2,
|
||||
[EFFECT_PSYWAVE] = 1,
|
||||
[EFFECT_COUNTER] = 5,
|
||||
[EFFECT_ENCORE] = 7,
|
||||
[EFFECT_PAIN_SPLIT] = 3,
|
||||
[EFFECT_SNORE] = 3,
|
||||
[EFFECT_CONVERSION_2] = 4,
|
||||
[EFFECT_LOCK_ON] = 3,
|
||||
[EFFECT_SKETCH] = 3,
|
||||
[EFFECT_UNUSED_60] = 3,
|
||||
[EFFECT_SLEEP_TALK] = 3,
|
||||
[EFFECT_DESTINY_BOND] = 3,
|
||||
[EFFECT_FLAIL] = 2,
|
||||
[EFFECT_SPITE] = 4,
|
||||
[EFFECT_FALSE_SWIPE] = 1,
|
||||
[EFFECT_HEAL_BELL] = 5,
|
||||
[EFFECT_QUICK_ATTACK] = 1,
|
||||
[EFFECT_TRIPLE_KICK] = 1,
|
||||
[EFFECT_THIEF] = 4,
|
||||
[EFFECT_MEAN_LOOK] = 5,
|
||||
[EFFECT_NIGHTMARE] = 3,
|
||||
[EFFECT_MINIMIZE] = 1,
|
||||
[EFFECT_CURSE] = 2,
|
||||
[EFFECT_UNUSED_6E] = 1,
|
||||
[EFFECT_UNUSED_60] = 3,
|
||||
[EFFECT_SLEEP_TALK] = 3,
|
||||
[EFFECT_DESTINY_BOND] = 3,
|
||||
[EFFECT_FLAIL] = 2,
|
||||
[EFFECT_SPITE] = 4,
|
||||
[EFFECT_FALSE_SWIPE] = 1,
|
||||
[EFFECT_HEAL_BELL] = 5,
|
||||
[EFFECT_QUICK_ATTACK] = 1,
|
||||
[EFFECT_TRIPLE_KICK] = 1,
|
||||
[EFFECT_THIEF] = 4,
|
||||
[EFFECT_MEAN_LOOK] = 5,
|
||||
[EFFECT_NIGHTMARE] = 3,
|
||||
[EFFECT_MINIMIZE] = 1,
|
||||
[EFFECT_CURSE] = 2,
|
||||
[EFFECT_UNUSED_6E] = 1,
|
||||
[EFFECT_PROTECT] = 5,
|
||||
[EFFECT_SPIKES] = 4,
|
||||
[EFFECT_FORESIGHT] = 3,
|
||||
[EFFECT_PERISH_SONG] = 6,
|
||||
[EFFECT_SANDSTORM] = 4,
|
||||
[EFFECT_ENDURE] = 3,
|
||||
[EFFECT_ROLLOUT] = 3,
|
||||
[EFFECT_SWAGGER] = 3,
|
||||
[EFFECT_FURY_CUTTER] = 2,
|
||||
[EFFECT_ATTRACT] = 4,
|
||||
[EFFECT_RETURN] = 1,
|
||||
[EFFECT_PRESENT] = 1,
|
||||
[EFFECT_FRUSTRATION] = 1,
|
||||
[EFFECT_SAFEGUARD] = 5,
|
||||
[EFFECT_THAW_HIT] = 1,
|
||||
[EFFECT_MAGNITUDE] = 1,
|
||||
[EFFECT_SPIKES] = 4,
|
||||
[EFFECT_FORESIGHT] = 3,
|
||||
[EFFECT_PERISH_SONG] = 6,
|
||||
[EFFECT_SANDSTORM] = 4,
|
||||
[EFFECT_ENDURE] = 3,
|
||||
[EFFECT_ROLLOUT] = 3,
|
||||
[EFFECT_SWAGGER] = 3,
|
||||
[EFFECT_FURY_CUTTER] = 2,
|
||||
[EFFECT_ATTRACT] = 4,
|
||||
[EFFECT_RETURN] = 1,
|
||||
[EFFECT_PRESENT] = 1,
|
||||
[EFFECT_FRUSTRATION] = 1,
|
||||
[EFFECT_SAFEGUARD] = 5,
|
||||
[EFFECT_THAW_HIT] = 1,
|
||||
[EFFECT_MAGNITUDE] = 1,
|
||||
[EFFECT_BATON_PASS] = 7,
|
||||
[EFFECT_PURSUIT] = 2,
|
||||
[EFFECT_RAPID_SPIN] = 2,
|
||||
[EFFECT_SONICBOOM] = 1,
|
||||
[EFFECT_UNUSED_83] = 1,
|
||||
[EFFECT_MORNING_SUN] = 4,
|
||||
[EFFECT_SYNTHESIS] = 4,
|
||||
[EFFECT_MOONLIGHT] = 4,
|
||||
[EFFECT_HIDDEN_POWER] = 1,
|
||||
[EFFECT_RAIN_DANCE] = 4,
|
||||
[EFFECT_SUNNY_DAY] = 4,
|
||||
[EFFECT_DEFENSE_UP_HIT] = 1,
|
||||
[EFFECT_ATTACK_UP_HIT] = 1,
|
||||
[EFFECT_ALL_STATS_UP_HIT] = 1,
|
||||
[EFFECT_UNUSED_8D] = 1,
|
||||
[EFFECT_BELLY_DRUM] = 7,
|
||||
[EFFECT_PURSUIT] = 2,
|
||||
[EFFECT_RAPID_SPIN] = 2,
|
||||
[EFFECT_SONICBOOM] = 1,
|
||||
[EFFECT_UNUSED_83] = 1,
|
||||
[EFFECT_MORNING_SUN] = 4,
|
||||
[EFFECT_SYNTHESIS] = 4,
|
||||
[EFFECT_MOONLIGHT] = 4,
|
||||
[EFFECT_HIDDEN_POWER] = 1,
|
||||
[EFFECT_RAIN_DANCE] = 4,
|
||||
[EFFECT_SUNNY_DAY] = 4,
|
||||
[EFFECT_DEFENSE_UP_HIT] = 1,
|
||||
[EFFECT_ATTACK_UP_HIT] = 1,
|
||||
[EFFECT_ALL_STATS_UP_HIT] = 1,
|
||||
[EFFECT_UNUSED_8D] = 1,
|
||||
[EFFECT_BELLY_DRUM] = 7,
|
||||
[EFFECT_PSYCH_UP] = 7,
|
||||
[EFFECT_MIRROR_COAT] = 6,
|
||||
[EFFECT_SKULL_BASH] = 3,
|
||||
[EFFECT_TWISTER] = 1,
|
||||
[EFFECT_MIRROR_COAT] = 6,
|
||||
[EFFECT_SKULL_BASH] = 3,
|
||||
[EFFECT_TWISTER] = 1,
|
||||
[EFFECT_EARTHQUAKE] = 1,
|
||||
[EFFECT_FUTURE_SIGHT] = 1,
|
||||
[EFFECT_GUST] = 1,
|
||||
[EFFECT_FLINCH_MINIMIZE_HIT] = 1,
|
||||
[EFFECT_SOLARBEAM] = 1,
|
||||
[EFFECT_THUNDER] = 1,
|
||||
[EFFECT_TELEPORT] = 1,
|
||||
[EFFECT_BEAT_UP] = 2,
|
||||
[EFFECT_SEMI_INVULNERABLE] = 3,
|
||||
[EFFECT_DEFENSE_CURL] = 1,
|
||||
[EFFECT_SOFTBOILED] = 1,
|
||||
[EFFECT_FAKE_OUT] = 4,
|
||||
[EFFECT_FUTURE_SIGHT] = 1,
|
||||
[EFFECT_GUST] = 1,
|
||||
[EFFECT_FLINCH_MINIMIZE_HIT] = 1,
|
||||
[EFFECT_SOLARBEAM] = 1,
|
||||
[EFFECT_THUNDER] = 1,
|
||||
[EFFECT_TELEPORT] = 1,
|
||||
[EFFECT_BEAT_UP] = 2,
|
||||
[EFFECT_SEMI_INVULNERABLE] = 3,
|
||||
[EFFECT_DEFENSE_CURL] = 1,
|
||||
[EFFECT_SOFTBOILED] = 1,
|
||||
[EFFECT_FAKE_OUT] = 4,
|
||||
[EFFECT_UPROAR] = 4,
|
||||
[EFFECT_STOCKPILE] = 3,
|
||||
[EFFECT_SPIT_UP] = 3,
|
||||
[EFFECT_SWALLOW] = 3,
|
||||
[EFFECT_UNUSED_A3] = 1,
|
||||
[EFFECT_HAIL] = 4,
|
||||
[EFFECT_TORMENT] = 7,
|
||||
[EFFECT_FLATTER] = 7,
|
||||
[EFFECT_WILL_O_WISP] = 5,
|
||||
[EFFECT_MEMENTO] = 7,
|
||||
[EFFECT_FACADE] = 1,
|
||||
[EFFECT_FOCUS_PUNCH] = 7,
|
||||
[EFFECT_SMELLINGSALT] = 1,
|
||||
[EFFECT_FOLLOW_ME] = 5,
|
||||
[EFFECT_NATURE_POWER] = 0,
|
||||
[EFFECT_CHARGE] = 4,
|
||||
[EFFECT_STOCKPILE] = 3,
|
||||
[EFFECT_SPIT_UP] = 3,
|
||||
[EFFECT_SWALLOW] = 3,
|
||||
[EFFECT_UNUSED_A3] = 1,
|
||||
[EFFECT_HAIL] = 4,
|
||||
[EFFECT_TORMENT] = 7,
|
||||
[EFFECT_FLATTER] = 7,
|
||||
[EFFECT_WILL_O_WISP] = 5,
|
||||
[EFFECT_MEMENTO] = 7,
|
||||
[EFFECT_FACADE] = 1,
|
||||
[EFFECT_FOCUS_PUNCH] = 7,
|
||||
[EFFECT_SMELLINGSALT] = 1,
|
||||
[EFFECT_FOLLOW_ME] = 5,
|
||||
[EFFECT_NATURE_POWER] = 0,
|
||||
[EFFECT_CHARGE] = 4,
|
||||
[EFFECT_TAUNT] = 4,
|
||||
[EFFECT_HELPING_HAND] = 4,
|
||||
[EFFECT_TRICK] = 4,
|
||||
[EFFECT_ROLE_PLAY] = 4,
|
||||
[EFFECT_WISH] = 2,
|
||||
[EFFECT_ASSIST] = 2,
|
||||
[EFFECT_INGRAIN] = 6,
|
||||
[EFFECT_SUPERPOWER] = 3,
|
||||
[EFFECT_MAGIC_COAT] = 6,
|
||||
[EFFECT_RECYCLE] = 4,
|
||||
[EFFECT_REVENGE] = 4,
|
||||
[EFFECT_BRICK_BREAK] = 2,
|
||||
[EFFECT_YAWN] = 5,
|
||||
[EFFECT_KNOCK_OFF] = 2,
|
||||
[EFFECT_ENDEAVOR] = 1,
|
||||
[EFFECT_ERUPTION] = 1,
|
||||
[EFFECT_HELPING_HAND] = 4,
|
||||
[EFFECT_TRICK] = 4,
|
||||
[EFFECT_ROLE_PLAY] = 4,
|
||||
[EFFECT_WISH] = 2,
|
||||
[EFFECT_ASSIST] = 2,
|
||||
[EFFECT_INGRAIN] = 6,
|
||||
[EFFECT_SUPERPOWER] = 3,
|
||||
[EFFECT_MAGIC_COAT] = 6,
|
||||
[EFFECT_RECYCLE] = 4,
|
||||
[EFFECT_REVENGE] = 4,
|
||||
[EFFECT_BRICK_BREAK] = 2,
|
||||
[EFFECT_YAWN] = 5,
|
||||
[EFFECT_KNOCK_OFF] = 2,
|
||||
[EFFECT_ENDEAVOR] = 1,
|
||||
[EFFECT_ERUPTION] = 1,
|
||||
[EFFECT_SKILL_SWAP] = 6,
|
||||
[EFFECT_IMPRISON] = 6,
|
||||
[EFFECT_REFRESH] = 6,
|
||||
[EFFECT_GRUDGE] = 1,
|
||||
[EFFECT_SNATCH] = 1,
|
||||
[EFFECT_LOW_KICK] = 1,
|
||||
[EFFECT_SECRET_POWER] = 1,
|
||||
[EFFECT_DOUBLE_EDGE] = 2,
|
||||
[EFFECT_TEETER_DANCE] = 6,
|
||||
[EFFECT_BLAZE_KICK] = 1,
|
||||
[EFFECT_MUD_SPORT] = 4,
|
||||
[EFFECT_POISON_FANG] = 1,
|
||||
[EFFECT_WEATHER_BALL] = 1,
|
||||
[EFFECT_OVERHEAT] = 3,
|
||||
[EFFECT_TICKLE] = 1,
|
||||
[EFFECT_COSMIC_POWER] = 1,
|
||||
[EFFECT_IMPRISON] = 6,
|
||||
[EFFECT_REFRESH] = 6,
|
||||
[EFFECT_GRUDGE] = 1,
|
||||
[EFFECT_SNATCH] = 1,
|
||||
[EFFECT_LOW_KICK] = 1,
|
||||
[EFFECT_SECRET_POWER] = 1,
|
||||
[EFFECT_DOUBLE_EDGE] = 2,
|
||||
[EFFECT_TEETER_DANCE] = 6,
|
||||
[EFFECT_BLAZE_KICK] = 1,
|
||||
[EFFECT_MUD_SPORT] = 4,
|
||||
[EFFECT_POISON_FANG] = 1,
|
||||
[EFFECT_WEATHER_BALL] = 1,
|
||||
[EFFECT_OVERHEAT] = 3,
|
||||
[EFFECT_TICKLE] = 1,
|
||||
[EFFECT_COSMIC_POWER] = 1,
|
||||
[EFFECT_SKY_UPPERCUT] = 1,
|
||||
[EFFECT_BULK_UP] = 1,
|
||||
[EFFECT_POISON_TAIL] = 1,
|
||||
[EFFECT_WATER_SPORT] = 4,
|
||||
[EFFECT_CALM_MIND] = 1,
|
||||
[EFFECT_DRAGON_DANCE] = 1,
|
||||
[EFFECT_BULK_UP] = 1,
|
||||
[EFFECT_POISON_TAIL] = 1,
|
||||
[EFFECT_WATER_SPORT] = 4,
|
||||
[EFFECT_CALM_MIND] = 1,
|
||||
[EFFECT_DRAGON_DANCE] = 1,
|
||||
[EFFECT_CAMOUFLAGE] = 3
|
||||
};
|
||||
|
||||
@@ -312,93 +312,93 @@ static const u16 sPoints_SetUp[] =
|
||||
{
|
||||
4, // Future Sight
|
||||
4, // Doom Desire
|
||||
6,
|
||||
6,
|
||||
6, // Wish
|
||||
7, // Grudge
|
||||
6,
|
||||
6,
|
||||
2 // Ingrain
|
||||
};
|
||||
static const u16 sPoints_RainMoves[] =
|
||||
{
|
||||
MOVE_BUBBLE, 3,
|
||||
MOVE_WHIRLPOOL, 3,
|
||||
MOVE_OCTAZOOKA, 3,
|
||||
MOVE_CLAMP, 3,
|
||||
MOVE_WITHDRAW, 3,
|
||||
MOVE_CRABHAMMER, 3,
|
||||
MOVE_WATER_SPOUT, 3,
|
||||
MOVE_BUBBLE, 3,
|
||||
MOVE_WHIRLPOOL, 3,
|
||||
MOVE_OCTAZOOKA, 3,
|
||||
MOVE_CLAMP, 3,
|
||||
MOVE_WITHDRAW, 3,
|
||||
MOVE_CRABHAMMER, 3,
|
||||
MOVE_WATER_SPOUT, 3,
|
||||
MOVE_DIVE, 3,
|
||||
MOVE_WATERFALL, 3,
|
||||
MOVE_MUDDY_WATER, 3,
|
||||
MOVE_SURF, 3,
|
||||
MOVE_HYDRO_CANNON, 3,
|
||||
MOVE_HYDRO_PUMP, 3,
|
||||
MOVE_BUBBLE_BEAM, 3,
|
||||
MOVE_WATERFALL, 3,
|
||||
MOVE_MUDDY_WATER, 3,
|
||||
MOVE_SURF, 3,
|
||||
MOVE_HYDRO_CANNON, 3,
|
||||
MOVE_HYDRO_PUMP, 3,
|
||||
MOVE_BUBBLE_BEAM, 3,
|
||||
MOVE_WATER_SPORT, 0, // Unnecessary, unlisted moves are already given 0 points
|
||||
MOVE_WATER_GUN, 3,
|
||||
MOVE_WATER_PULSE, 3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_THUNDER, 3,
|
||||
MOVE_SOLAR_BEAM, -4,
|
||||
MOVE_OVERHEAT, -4,
|
||||
MOVE_FLAME_WHEEL, -4,
|
||||
MOVE_FLAMETHROWER, -4,
|
||||
MOVE_WATER_PULSE, 3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_THUNDER, 3,
|
||||
MOVE_SOLAR_BEAM, -4,
|
||||
MOVE_OVERHEAT, -4,
|
||||
MOVE_FLAME_WHEEL, -4,
|
||||
MOVE_FLAMETHROWER, -4,
|
||||
MOVE_SACRED_FIRE, -4,
|
||||
MOVE_FIRE_BLAST, -4,
|
||||
MOVE_HEAT_WAVE, -4,
|
||||
MOVE_EMBER, -4,
|
||||
MOVE_BLAST_BURN, -4,
|
||||
MOVE_BLAZE_KICK, -4,
|
||||
MOVE_ERUPTION, -4,
|
||||
MOVE_FIRE_SPIN, -4,
|
||||
MOVE_FIRE_BLAST, -4,
|
||||
MOVE_HEAT_WAVE, -4,
|
||||
MOVE_EMBER, -4,
|
||||
MOVE_BLAST_BURN, -4,
|
||||
MOVE_BLAZE_KICK, -4,
|
||||
MOVE_ERUPTION, -4,
|
||||
MOVE_FIRE_SPIN, -4,
|
||||
MOVE_FIRE_PUNCH, -4,
|
||||
MOVE_SOLAR_BEAM, -4, // Repeated
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_SunMoves[] =
|
||||
{
|
||||
MOVE_OVERHEAT, 3,
|
||||
MOVE_FLAME_WHEEL, 3,
|
||||
MOVE_FLAMETHROWER, 3,
|
||||
MOVE_SACRED_FIRE, 3,
|
||||
MOVE_FIRE_BLAST, 3,
|
||||
MOVE_HEAT_WAVE, 3,
|
||||
MOVE_EMBER, 3,
|
||||
MOVE_OVERHEAT, 3,
|
||||
MOVE_FLAME_WHEEL, 3,
|
||||
MOVE_FLAMETHROWER, 3,
|
||||
MOVE_SACRED_FIRE, 3,
|
||||
MOVE_FIRE_BLAST, 3,
|
||||
MOVE_HEAT_WAVE, 3,
|
||||
MOVE_EMBER, 3,
|
||||
MOVE_BLAST_BURN, 3,
|
||||
MOVE_BLAZE_KICK, 3,
|
||||
MOVE_ERUPTION, 3,
|
||||
MOVE_FIRE_SPIN, 3,
|
||||
MOVE_FIRE_PUNCH, 3,
|
||||
MOVE_SOLAR_BEAM, 5,
|
||||
MOVE_SYNTHESIS, 3,
|
||||
MOVE_MORNING_SUN, 3,
|
||||
MOVE_BLAZE_KICK, 3,
|
||||
MOVE_ERUPTION, 3,
|
||||
MOVE_FIRE_SPIN, 3,
|
||||
MOVE_FIRE_PUNCH, 3,
|
||||
MOVE_SOLAR_BEAM, 5,
|
||||
MOVE_SYNTHESIS, 3,
|
||||
MOVE_MORNING_SUN, 3,
|
||||
MOVE_MOONLIGHT, 3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_SandstormMoves[] =
|
||||
{
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_SOLAR_BEAM, -3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_SOLAR_BEAM, -3,
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_HailMoves[] =
|
||||
{
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_SOLAR_BEAM, -3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_SOLAR_BEAM, -3,
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_ElectricMoves[] =
|
||||
{
|
||||
MOVE_THUNDERBOLT, 3,
|
||||
MOVE_THUNDER_PUNCH, 3,
|
||||
MOVE_SPARK, 3,
|
||||
MOVE_THUNDER_SHOCK, 3,
|
||||
MOVE_ZAP_CANNON, 3,
|
||||
MOVE_SHOCK_WAVE, 3,
|
||||
MOVE_THUNDERBOLT, 3,
|
||||
MOVE_THUNDER_PUNCH, 3,
|
||||
MOVE_SPARK, 3,
|
||||
MOVE_THUNDER_SHOCK, 3,
|
||||
MOVE_ZAP_CANNON, 3,
|
||||
MOVE_SHOCK_WAVE, 3,
|
||||
MOVE_THUNDER_WAVE, 0, // Unnecessary, unlisted moves are already given 0 points
|
||||
MOVE_THUNDER, 3,
|
||||
MOVE_VOLT_TACKLE, 3,
|
||||
MOVE_VOLT_TACKLE, 3,
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_StatusDmg[] =
|
||||
@@ -407,7 +407,7 @@ static const u16 sPoints_StatusDmg[] =
|
||||
3, // Leech Seed
|
||||
3, // Poison
|
||||
3, // Toxic
|
||||
3, // Burn
|
||||
3, // Burn
|
||||
3, // Nightmare
|
||||
3 // Wrap (Trapping move)
|
||||
};
|
||||
@@ -434,62 +434,62 @@ static const u16 sPoints_Flinched[] = { 4 };
|
||||
|
||||
static const u16 sPoints_StatIncrease1[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = 2,
|
||||
[STAT_DEF - 1] = 2,
|
||||
[STAT_SPEED - 1] = 2,
|
||||
[STAT_SPATK - 1] = 2,
|
||||
[STAT_SPDEF - 1] = 2,
|
||||
[STAT_ACC - 1] = 2,
|
||||
[STAT_ATK - 1] = 2,
|
||||
[STAT_DEF - 1] = 2,
|
||||
[STAT_SPEED - 1] = 2,
|
||||
[STAT_SPATK - 1] = 2,
|
||||
[STAT_SPDEF - 1] = 2,
|
||||
[STAT_ACC - 1] = 2,
|
||||
[STAT_EVASION - 1] = 2
|
||||
};
|
||||
static const u16 sPoints_StatIncrease2[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = 4,
|
||||
[STAT_DEF - 1] = 4,
|
||||
[STAT_SPEED - 1] = 4,
|
||||
[STAT_SPATK - 1] = 4,
|
||||
[STAT_SPDEF - 1] = 4,
|
||||
[STAT_ACC - 1] = 4,
|
||||
[STAT_ATK - 1] = 4,
|
||||
[STAT_DEF - 1] = 4,
|
||||
[STAT_SPEED - 1] = 4,
|
||||
[STAT_SPATK - 1] = 4,
|
||||
[STAT_SPDEF - 1] = 4,
|
||||
[STAT_ACC - 1] = 4,
|
||||
[STAT_EVASION - 1] = 4
|
||||
};
|
||||
static const u16 sPoints_StatDecreaseSelf[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = -1,
|
||||
[STAT_DEF - 1] = -1,
|
||||
[STAT_SPEED - 1] = -1,
|
||||
[STAT_SPATK - 1] = -1,
|
||||
[STAT_SPDEF - 1] = -1,
|
||||
[STAT_ACC - 1] = -1,
|
||||
[STAT_ATK - 1] = -1,
|
||||
[STAT_DEF - 1] = -1,
|
||||
[STAT_SPEED - 1] = -1,
|
||||
[STAT_SPATK - 1] = -1,
|
||||
[STAT_SPDEF - 1] = -1,
|
||||
[STAT_ACC - 1] = -1,
|
||||
[STAT_EVASION - 1] = -1
|
||||
};
|
||||
static const u16 sPoints_StatDecrease1[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = 2,
|
||||
[STAT_DEF - 1] = 2,
|
||||
[STAT_SPEED - 1] = 2,
|
||||
[STAT_SPATK - 1] = 2,
|
||||
[STAT_SPDEF - 1] = 2,
|
||||
[STAT_ACC - 1] = 2,
|
||||
[STAT_ATK - 1] = 2,
|
||||
[STAT_DEF - 1] = 2,
|
||||
[STAT_SPEED - 1] = 2,
|
||||
[STAT_SPATK - 1] = 2,
|
||||
[STAT_SPDEF - 1] = 2,
|
||||
[STAT_ACC - 1] = 2,
|
||||
[STAT_EVASION - 1] = 2
|
||||
};
|
||||
static const u16 sPoints_StatDecrease2[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = 4,
|
||||
[STAT_DEF - 1] = 4,
|
||||
[STAT_SPEED - 1] = 4,
|
||||
[STAT_SPATK - 1] = 4,
|
||||
[STAT_SPDEF - 1] = 4,
|
||||
[STAT_ACC - 1] = 4,
|
||||
[STAT_ATK - 1] = 4,
|
||||
[STAT_DEF - 1] = 4,
|
||||
[STAT_SPEED - 1] = 4,
|
||||
[STAT_SPATK - 1] = 4,
|
||||
[STAT_SPDEF - 1] = 4,
|
||||
[STAT_ACC - 1] = 4,
|
||||
[STAT_EVASION - 1] = 4
|
||||
};
|
||||
static const u16 sPoints_StatIncreaseNotSelf[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = -2,
|
||||
[STAT_DEF - 1] = -2,
|
||||
[STAT_SPEED - 1] = -2,
|
||||
[STAT_ATK - 1] = -2,
|
||||
[STAT_DEF - 1] = -2,
|
||||
[STAT_SPEED - 1] = -2,
|
||||
[STAT_SPATK - 1] = -2,
|
||||
[STAT_SPDEF - 1] = -2,
|
||||
[STAT_ACC - 1] = -2,
|
||||
[STAT_SPDEF - 1] = -2,
|
||||
[STAT_ACC - 1] = -2,
|
||||
[STAT_EVASION - 1] = -2
|
||||
};
|
||||
|
||||
@@ -1246,7 +1246,7 @@ static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3)
|
||||
break;
|
||||
case PTS_REFLECT:
|
||||
// If hit Reflect with damaging physical move
|
||||
if (type < TYPE_MYSTERY && power != 0 && tvPtr->side[defSide].reflectMonId != 0)
|
||||
if (IS_TYPE_PHYSICAL(type) && power != 0 && tvPtr->side[defSide].reflectMonId != 0)
|
||||
{
|
||||
u32 id = (tvPtr->side[defSide].reflectMonId - 1) * 4;
|
||||
movePoints->points[defSide][id + tvPtr->side[defSide].reflectMoveSlot] += sPointsArray[caseId][0];
|
||||
@@ -1254,7 +1254,7 @@ static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3)
|
||||
break;
|
||||
case PTS_LIGHT_SCREEN:
|
||||
// If hit Light Screen with damaging special move
|
||||
if (type >= TYPE_MYSTERY && power != 0 && tvPtr->side[defSide].lightScreenMonId != 0)
|
||||
if (!IS_TYPE_PHYSICAL(type) && power != 0 && tvPtr->side[defSide].lightScreenMonId != 0)
|
||||
{
|
||||
u32 id = (tvPtr->side[defSide].lightScreenMonId - 1) * 4;
|
||||
movePoints->points[defSide][id + tvPtr->side[defSide].lightScreenMoveSlot] += sPointsArray[caseId][0];
|
||||
@@ -1593,12 +1593,12 @@ u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId)
|
||||
|
||||
static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot)
|
||||
{
|
||||
if (weatherFlags & WEATHER_RAIN_ANY)
|
||||
if (weatherFlags & B_WEATHER_RAIN)
|
||||
AddMovePoints(PTS_RAIN, moveId, moveSlot, 0);
|
||||
else if (weatherFlags & WEATHER_SUN_ANY)
|
||||
else if (weatherFlags & B_WEATHER_SUN)
|
||||
AddMovePoints(PTS_SUN, moveId, moveSlot, 0);
|
||||
else if (weatherFlags & WEATHER_SANDSTORM_ANY)
|
||||
else if (weatherFlags & B_WEATHER_SANDSTORM)
|
||||
AddMovePoints(PTS_SANDSTORM, moveId, moveSlot, 0);
|
||||
else if (weatherFlags & WEATHER_HAIL_ANY)
|
||||
else if (weatherFlags & B_WEATHER_HAIL)
|
||||
AddMovePoints(PTS_HAIL, moveId, moveSlot, 0);
|
||||
}
|
||||
|
||||
+48
-48
@@ -646,9 +646,9 @@ void HandleAction_NothingIsFainted(void)
|
||||
gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber];
|
||||
gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED
|
||||
| HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR
|
||||
| HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000
|
||||
| HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT
|
||||
| HITMARKER_CHARGING | HITMARKER_x4000000);
|
||||
| HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE
|
||||
| HITMARKER_OBEYS | HITMARKER_WAKE_UP_CLEAR | HITMARKER_SYNCHRONISE_EFFECT
|
||||
| HITMARKER_CHARGING | HITMARKER_NEVER_SET);
|
||||
}
|
||||
|
||||
void HandleAction_ActionFinished(void)
|
||||
@@ -659,9 +659,9 @@ void HandleAction_ActionFinished(void)
|
||||
SpecialStatusesClear();
|
||||
gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED
|
||||
| HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR
|
||||
| HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000
|
||||
| HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT
|
||||
| HITMARKER_CHARGING | HITMARKER_x4000000);
|
||||
| HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE
|
||||
| HITMARKER_OBEYS | HITMARKER_WAKE_UP_CLEAR | HITMARKER_SYNCHRONISE_EFFECT
|
||||
| HITMARKER_CHARGING | HITMARKER_NEVER_SET);
|
||||
|
||||
gCurrentMove = 0;
|
||||
gBattleMoveDamage = 0;
|
||||
@@ -1320,22 +1320,22 @@ u8 DoFieldEndTurnEffects(void)
|
||||
}
|
||||
break;
|
||||
case ENDTURN_RAIN:
|
||||
if (gBattleWeather & WEATHER_RAIN_ANY)
|
||||
if (gBattleWeather & B_WEATHER_RAIN)
|
||||
{
|
||||
if (!(gBattleWeather & WEATHER_RAIN_PERMANENT))
|
||||
if (!(gBattleWeather & B_WEATHER_RAIN_PERMANENT))
|
||||
{
|
||||
if (--gWishFutureKnock.weatherDuration == 0)
|
||||
{
|
||||
gBattleWeather &= ~WEATHER_RAIN_TEMPORARY;
|
||||
gBattleWeather &= ~WEATHER_RAIN_DOWNPOUR;
|
||||
gBattleWeather &= ~B_WEATHER_RAIN_TEMPORARY;
|
||||
gBattleWeather &= ~B_WEATHER_RAIN_DOWNPOUR;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_STOPPED;
|
||||
}
|
||||
else if (gBattleWeather & WEATHER_RAIN_DOWNPOUR)
|
||||
else if (gBattleWeather & B_WEATHER_RAIN_DOWNPOUR)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOWNPOUR_CONTINUES;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_CONTINUES;
|
||||
}
|
||||
else if (gBattleWeather & WEATHER_RAIN_DOWNPOUR)
|
||||
else if (gBattleWeather & B_WEATHER_RAIN_DOWNPOUR)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOWNPOUR_CONTINUES;
|
||||
}
|
||||
@@ -1350,11 +1350,11 @@ u8 DoFieldEndTurnEffects(void)
|
||||
gBattleStruct->turnCountersTracker++;
|
||||
break;
|
||||
case ENDTURN_SANDSTORM:
|
||||
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
|
||||
if (gBattleWeather & B_WEATHER_SANDSTORM)
|
||||
{
|
||||
if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
|
||||
if (!(gBattleWeather & B_WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
|
||||
{
|
||||
gBattleWeather &= ~WEATHER_SANDSTORM_TEMPORARY;
|
||||
gBattleWeather &= ~B_WEATHER_SANDSTORM_TEMPORARY;
|
||||
gBattlescriptCurrInstr = BattleScript_SandStormHailEnds;
|
||||
}
|
||||
else
|
||||
@@ -1370,11 +1370,11 @@ u8 DoFieldEndTurnEffects(void)
|
||||
gBattleStruct->turnCountersTracker++;
|
||||
break;
|
||||
case ENDTURN_SUN:
|
||||
if (gBattleWeather & WEATHER_SUN_ANY)
|
||||
if (gBattleWeather & B_WEATHER_SUN)
|
||||
{
|
||||
if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
|
||||
if (!(gBattleWeather & B_WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
|
||||
{
|
||||
gBattleWeather &= ~WEATHER_SUN_TEMPORARY;
|
||||
gBattleWeather &= ~B_WEATHER_SUN_TEMPORARY;
|
||||
gBattlescriptCurrInstr = BattleScript_SunlightFaded;
|
||||
}
|
||||
else
|
||||
@@ -1388,11 +1388,11 @@ u8 DoFieldEndTurnEffects(void)
|
||||
gBattleStruct->turnCountersTracker++;
|
||||
break;
|
||||
case ENDTURN_HAIL:
|
||||
if (gBattleWeather & WEATHER_HAIL_ANY)
|
||||
if (gBattleWeather & B_WEATHER_HAIL)
|
||||
{
|
||||
if (--gWishFutureKnock.weatherDuration == 0)
|
||||
{
|
||||
gBattleWeather &= ~WEATHER_HAIL;
|
||||
gBattleWeather &= ~B_WEATHER_HAIL_TEMPORARY;
|
||||
gBattlescriptCurrInstr = BattleScript_SandStormHailEnds;
|
||||
}
|
||||
else
|
||||
@@ -1443,7 +1443,7 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
{
|
||||
u8 effect = 0;
|
||||
|
||||
gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20);
|
||||
gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
|
||||
while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= ENDTURN_BATTLER_COUNT)
|
||||
{
|
||||
gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId];
|
||||
@@ -1756,13 +1756,13 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
return effect;
|
||||
}
|
||||
}
|
||||
gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20);
|
||||
gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool8 HandleWishPerishSongOnTurnEnd(void)
|
||||
{
|
||||
gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20);
|
||||
gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
|
||||
|
||||
switch (gBattleStruct->wishPerishSongState)
|
||||
{
|
||||
@@ -1862,7 +1862,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
|
||||
break;
|
||||
}
|
||||
|
||||
gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20);
|
||||
gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2389,22 +2389,22 @@ u8 CastformDataTypeChange(u8 battler)
|
||||
}
|
||||
if (!WEATHER_HAS_EFFECT)
|
||||
return CASTFORM_NO_CHANGE;
|
||||
if (!(gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)) && !IS_BATTLER_OF_TYPE(battler, TYPE_NORMAL))
|
||||
if (!(gBattleWeather & (B_WEATHER_RAIN | B_WEATHER_SUN | B_WEATHER_HAIL)) && !IS_BATTLER_OF_TYPE(battler, TYPE_NORMAL))
|
||||
{
|
||||
SET_BATTLER_TYPE(battler, TYPE_NORMAL);
|
||||
formChange = CASTFORM_TO_NORMAL;
|
||||
}
|
||||
if (gBattleWeather & WEATHER_SUN_ANY && !IS_BATTLER_OF_TYPE(battler, TYPE_FIRE))
|
||||
if (gBattleWeather & B_WEATHER_SUN && !IS_BATTLER_OF_TYPE(battler, TYPE_FIRE))
|
||||
{
|
||||
SET_BATTLER_TYPE(battler, TYPE_FIRE);
|
||||
formChange = CASTFORM_TO_FIRE;
|
||||
}
|
||||
if (gBattleWeather & WEATHER_RAIN_ANY && !IS_BATTLER_OF_TYPE(battler, TYPE_WATER))
|
||||
if (gBattleWeather & B_WEATHER_RAIN && !IS_BATTLER_OF_TYPE(battler, TYPE_WATER))
|
||||
{
|
||||
SET_BATTLER_TYPE(battler, TYPE_WATER);
|
||||
formChange = CASTFORM_TO_WATER;
|
||||
}
|
||||
if (gBattleWeather & WEATHER_HAIL_ANY && !IS_BATTLER_OF_TYPE(battler, TYPE_ICE))
|
||||
if (gBattleWeather & B_WEATHER_HAIL && !IS_BATTLER_OF_TYPE(battler, TYPE_ICE))
|
||||
{
|
||||
SET_BATTLER_TYPE(battler, TYPE_ICE);
|
||||
formChange = CASTFORM_TO_ICE;
|
||||
@@ -2480,27 +2480,27 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
|
||||
case WEATHER_RAIN:
|
||||
case WEATHER_RAIN_THUNDERSTORM:
|
||||
case WEATHER_DOWNPOUR:
|
||||
if (!(gBattleWeather & WEATHER_RAIN_ANY))
|
||||
if (!(gBattleWeather & B_WEATHER_RAIN))
|
||||
{
|
||||
gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT);
|
||||
gBattleWeather = (B_WEATHER_RAIN_TEMPORARY | B_WEATHER_RAIN_PERMANENT);
|
||||
gBattleScripting.animArg1 = B_ANIM_RAIN_CONTINUES;
|
||||
gBattleScripting.battler = battler;
|
||||
effect++;
|
||||
}
|
||||
break;
|
||||
case WEATHER_SANDSTORM:
|
||||
if (!(gBattleWeather & WEATHER_SANDSTORM_ANY))
|
||||
if (!(gBattleWeather & B_WEATHER_SANDSTORM))
|
||||
{
|
||||
gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY);
|
||||
gBattleWeather = B_WEATHER_SANDSTORM;
|
||||
gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES;
|
||||
gBattleScripting.battler = battler;
|
||||
effect++;
|
||||
}
|
||||
break;
|
||||
case WEATHER_DROUGHT:
|
||||
if (!(gBattleWeather & WEATHER_SUN_ANY))
|
||||
if (!(gBattleWeather & B_WEATHER_SUN))
|
||||
{
|
||||
gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY);
|
||||
gBattleWeather = B_WEATHER_SUN;
|
||||
gBattleScripting.animArg1 = B_ANIM_SUN_CONTINUES;
|
||||
gBattleScripting.battler = battler;
|
||||
effect++;
|
||||
@@ -2515,27 +2515,27 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
|
||||
}
|
||||
break;
|
||||
case ABILITY_DRIZZLE:
|
||||
if (!(gBattleWeather & WEATHER_RAIN_PERMANENT))
|
||||
if (!(gBattleWeather & B_WEATHER_RAIN_PERMANENT))
|
||||
{
|
||||
gBattleWeather = (WEATHER_RAIN_PERMANENT | WEATHER_RAIN_TEMPORARY);
|
||||
gBattleWeather = (B_WEATHER_RAIN_PERMANENT | B_WEATHER_RAIN_TEMPORARY);
|
||||
BattleScriptPushCursorAndCallback(BattleScript_DrizzleActivates);
|
||||
gBattleScripting.battler = battler;
|
||||
effect++;
|
||||
}
|
||||
break;
|
||||
case ABILITY_SAND_STREAM:
|
||||
if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT))
|
||||
if (!(gBattleWeather & B_WEATHER_SANDSTORM_PERMANENT))
|
||||
{
|
||||
gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY);
|
||||
gBattleWeather = B_WEATHER_SANDSTORM;
|
||||
BattleScriptPushCursorAndCallback(BattleScript_SandstreamActivates);
|
||||
gBattleScripting.battler = battler;
|
||||
effect++;
|
||||
}
|
||||
break;
|
||||
case ABILITY_DROUGHT:
|
||||
if (!(gBattleWeather & WEATHER_SUN_PERMANENT))
|
||||
if (!(gBattleWeather & B_WEATHER_SUN_PERMANENT))
|
||||
{
|
||||
gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY);
|
||||
gBattleWeather = B_WEATHER_SUN;
|
||||
BattleScriptPushCursorAndCallback(BattleScript_DroughtActivates);
|
||||
gBattleScripting.battler = battler;
|
||||
effect++;
|
||||
@@ -2590,7 +2590,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
|
||||
switch (gLastUsedAbility)
|
||||
{
|
||||
case ABILITY_RAIN_DISH:
|
||||
if (WEATHER_HAS_EFFECT && (gBattleWeather & WEATHER_RAIN_ANY)
|
||||
if (WEATHER_HAS_EFFECT && (gBattleWeather & B_WEATHER_RAIN)
|
||||
&& gBattleMons[battler].maxHP > gBattleMons[battler].hp)
|
||||
{
|
||||
gLastUsedAbility = ABILITY_RAIN_DISH; // why
|
||||
@@ -3458,7 +3458,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
break;
|
||||
// copy/paste again, smh
|
||||
case HOLD_EFFECT_ATTACK_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam
|
||||
&& !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK);
|
||||
@@ -3473,7 +3473,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_DEFENSE_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& gBattleMons[battlerId].statStages[STAT_DEF] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_DEF);
|
||||
@@ -3487,7 +3487,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_SPEED_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& gBattleMons[battlerId].statStages[STAT_SPEED] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPEED);
|
||||
@@ -3501,7 +3501,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_SP_ATTACK_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& gBattleMons[battlerId].statStages[STAT_SPATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPATK);
|
||||
@@ -3515,7 +3515,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_SP_DEFENSE_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& gBattleMons[battlerId].statStages[STAT_SPDEF] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPDEF);
|
||||
@@ -3529,7 +3529,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CRITICAL_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY))
|
||||
{
|
||||
gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY;
|
||||
@@ -4067,7 +4067,7 @@ u8 IsMonDisobedient(void)
|
||||
gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos];
|
||||
gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove;
|
||||
gBattlerTarget = GetMoveTarget(gCalledMove, 0);
|
||||
gHitMarker |= HITMARKER_x200000;
|
||||
gHitMarker |= HITMARKER_DISOBEDIENT_MOVE;
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-2
@@ -121,7 +121,9 @@ void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1)
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_805725C(u8 battlerId)
|
||||
// Called when a Pokémon is unable to attack during a Battle Palace battle.
|
||||
// Check if it was because they are frozen/asleep, and if so try to cure the status.
|
||||
u32 BattlePalace_TryEscapeStatus(u8 battlerId)
|
||||
{
|
||||
u32 effect = 0;
|
||||
|
||||
@@ -134,6 +136,7 @@ u32 sub_805725C(u8 battlerId)
|
||||
{
|
||||
if (UproarWakeUpCheck(battlerId))
|
||||
{
|
||||
// Wake up from Uproar
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP);
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
BattleScriptPushCursor();
|
||||
@@ -150,6 +153,7 @@ u32 sub_805725C(u8 battlerId)
|
||||
else
|
||||
toSub = 1;
|
||||
|
||||
// Reduce number of sleep turns
|
||||
if ((gBattleMons[battlerId].status1 & STATUS1_SLEEP) < toSub)
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP);
|
||||
else
|
||||
@@ -157,11 +161,13 @@ u32 sub_805725C(u8 battlerId)
|
||||
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_SLEEP)
|
||||
{
|
||||
// Still asleep
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep;
|
||||
effect = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Wake up
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP;
|
||||
@@ -177,10 +183,12 @@ u32 sub_805725C(u8 battlerId)
|
||||
{
|
||||
if (Random() % 5 != 0)
|
||||
{
|
||||
// Still frozen
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedIsFrozen;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Unfreeze
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE);
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze;
|
||||
@@ -193,7 +201,7 @@ u32 sub_805725C(u8 battlerId)
|
||||
case 2:
|
||||
break;
|
||||
}
|
||||
|
||||
// Loop until reaching the final state, or stop early if Pokémon was Asleep/Frozen
|
||||
} while (gBattleCommunication[MULTIUSE_STATE] != 2 && effect == 0);
|
||||
|
||||
if (effect == 2)
|
||||
|
||||
+43
-43
@@ -402,17 +402,17 @@ static const struct WindowTemplate sYesNoWindowTemplate_ContinuePlaying =
|
||||
|
||||
static const s8 sPlayerArrowQuadrant[BLENDER_MAX_PLAYERS][2] =
|
||||
{
|
||||
{-1, -1},
|
||||
{ 1, -1},
|
||||
{-1, 1},
|
||||
{-1, -1},
|
||||
{ 1, -1},
|
||||
{-1, 1},
|
||||
{ 1, 1}
|
||||
};
|
||||
|
||||
static const u8 sPlayerArrowPos[BLENDER_MAX_PLAYERS][2] =
|
||||
{
|
||||
{ 72, 32},
|
||||
{168, 32},
|
||||
{ 72, 128},
|
||||
{ 72, 32},
|
||||
{168, 32},
|
||||
{ 72, 128},
|
||||
{168, 128}
|
||||
};
|
||||
|
||||
@@ -427,16 +427,16 @@ static const u8 sPlayerIdMap[BLENDER_MAX_PLAYERS - 1][BLENDER_MAX_PLAYERS] =
|
||||
// Blender arrow positions:
|
||||
//
|
||||
// 0x0000 (limit 0x10000)
|
||||
// . .
|
||||
// . .
|
||||
// . .
|
||||
// 0x4000 . . 0xC000
|
||||
// . .
|
||||
// . .
|
||||
// . .
|
||||
// . .
|
||||
// 0x8000
|
||||
//
|
||||
//
|
||||
static const u16 sArrowStartPos[] = {
|
||||
0,
|
||||
0,
|
||||
MAX_ARROW_POS / 4 * 3, // 0xC000
|
||||
MAX_ARROW_POS / 4, // 0x4000
|
||||
MAX_ARROW_POS / 4 * 2 // 0x8000
|
||||
@@ -446,8 +446,8 @@ static const u8 sArrowHitRangeStart[BLENDER_MAX_PLAYERS] = {32, 224, 96, 160};
|
||||
|
||||
static const TaskFunc sLocalOpponentTasks[] =
|
||||
{
|
||||
Task_HandleOpponent1,
|
||||
Task_HandleOpponent2,
|
||||
Task_HandleOpponent1,
|
||||
Task_HandleOpponent2,
|
||||
Task_HandleOpponent3
|
||||
};
|
||||
|
||||
@@ -873,7 +873,7 @@ static const u8 sOpponentBerrySets[NUM_NPC_BERRIES * 2][3] =
|
||||
{ITEM_TO_BERRY(ITEM_CHESTO_BERRY) - 1, ITEM_TO_BERRY(ITEM_CHERI_BERRY) - 1, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY) - 1}, // player chose Pecha Berry
|
||||
{ITEM_TO_BERRY(ITEM_PECHA_BERRY) - 1, ITEM_TO_BERRY(ITEM_CHESTO_BERRY) - 1, ITEM_TO_BERRY(ITEM_CHERI_BERRY) - 1}, // player chose Rawst Berry
|
||||
{ITEM_TO_BERRY(ITEM_RAWST_BERRY) - 1, ITEM_TO_BERRY(ITEM_PECHA_BERRY) - 1, ITEM_TO_BERRY(ITEM_CHESTO_BERRY) - 1}, // player chose Aspear Berry
|
||||
|
||||
|
||||
// These sets are used if the player chose a different berry (set is selected by player's berry % 5)
|
||||
{ITEM_TO_BERRY(ITEM_CHERI_BERRY) - 1, ITEM_TO_BERRY(ITEM_PECHA_BERRY) - 1, ITEM_TO_BERRY(ITEM_RAWST_BERRY) - 1}, // player chose Leppa, Figy, ...
|
||||
{ITEM_TO_BERRY(ITEM_CHESTO_BERRY) - 1, ITEM_TO_BERRY(ITEM_RAWST_BERRY) - 1, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY) - 1}, // player chose Oran, Wiki, ...
|
||||
@@ -885,14 +885,14 @@ static const u8 sOpponentBerrySets[NUM_NPC_BERRIES * 2][3] =
|
||||
// Berry master's berries follow the same rules as above, but instead of explicitly listing
|
||||
// the alternate sets if the player chooses one of these berries, it implicitly uses these berries - 5, i.e. Tamato - Nomel
|
||||
static const u8 sBerryMasterBerries[] = {
|
||||
ITEM_TO_BERRY(ITEM_SPELON_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_PAMTRE_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_WATMEL_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_DURIN_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_SPELON_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_PAMTRE_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_WATMEL_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_DURIN_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_BELUE_BERRY) - 1
|
||||
};
|
||||
|
||||
// "0 players" is link
|
||||
// "0 players" is link
|
||||
static const u8 sNumPlayersToSpeedDivisor[] = {1, 1, 2, 3, 4};
|
||||
|
||||
// Black pokeblocks will use one of these random combinations of flavors
|
||||
@@ -1162,8 +1162,8 @@ static void SpriteCB_Berry(struct Sprite* sprite)
|
||||
else
|
||||
PlaySE(SE_BALL_TRAY_EXIT);
|
||||
}
|
||||
sprite->pos1.x = sprite->sX;
|
||||
sprite->pos1.y = sprite->sY;
|
||||
sprite->x = sprite->sX;
|
||||
sprite->y = sprite->sY;
|
||||
}
|
||||
|
||||
static void SetBerrySpriteData(struct Sprite* sprite, s16 x, s16 y, s16 bounceSpeed, s16 xSpeed, s16 ySpeed)
|
||||
@@ -1191,11 +1191,11 @@ static void SetBerrySpriteData(struct Sprite* sprite, s16 x, s16 y, s16 bounceSp
|
||||
static void CreateBerrySprite(u16 a0, u8 playerId)
|
||||
{
|
||||
u8 spriteId = CreateSpinningBerrySprite(a0 + FIRST_BERRY_INDEX - 10, 0, 80, playerId & 1);
|
||||
SetBerrySpriteData(&gSprites[spriteId],
|
||||
sBerrySpriteData[playerId][0],
|
||||
sBerrySpriteData[playerId][1],
|
||||
sBerrySpriteData[playerId][2],
|
||||
sBerrySpriteData[playerId][3],
|
||||
SetBerrySpriteData(&gSprites[spriteId],
|
||||
sBerrySpriteData[playerId][0],
|
||||
sBerrySpriteData[playerId][1],
|
||||
sBerrySpriteData[playerId][2],
|
||||
sBerrySpriteData[playerId][3],
|
||||
sBerrySpriteData[playerId][4]);
|
||||
}
|
||||
|
||||
@@ -2135,12 +2135,12 @@ static void UpdateOpponentScores(void)
|
||||
// BUG: Should be [i][BLENDER_COMM_SCORE] below, not [BLENDER_COMM_SCORE][i]
|
||||
// As a result the music tempo updates if any player misses, but only if 1 specific player hits
|
||||
#ifdef BUGFIX
|
||||
if (gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_MISS
|
||||
|| gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_BEST
|
||||
if (gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_MISS
|
||||
|| gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_BEST
|
||||
|| gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_GOOD)
|
||||
#else
|
||||
if (gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_MISS
|
||||
|| gRecvCmds[BLENDER_COMM_SCORE][i] == LINKCMD_BLENDER_SCORE_BEST
|
||||
if (gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_MISS
|
||||
|| gRecvCmds[BLENDER_COMM_SCORE][i] == LINKCMD_BLENDER_SCORE_BEST
|
||||
|| gRecvCmds[BLENDER_COMM_SCORE][i] == LINKCMD_BLENDER_SCORE_GOOD)
|
||||
#endif
|
||||
{
|
||||
@@ -2204,7 +2204,7 @@ static void HandlePlayerInput(void)
|
||||
sBerryBlender->speed--;
|
||||
sBerryBlender->slowdownTimer = 0;
|
||||
}
|
||||
|
||||
|
||||
if (gEnableContestDebugging && JOY_NEW(L_BUTTON))
|
||||
sBerryBlender->perfectOpponents ^= 1;
|
||||
}
|
||||
@@ -3030,10 +3030,10 @@ static void ProcessLinkPlayerCmds(void)
|
||||
sBerryBlender->playerContinueResponses[0] = LINKCMD_SEND_LINK_TYPE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If player is link leader, check for responses to the "Continue playing" prompt (even if it's not up yet)
|
||||
if (GetMultiplayerId() == 0
|
||||
&& sBerryBlender->playerContinueResponses[0] != LINKCMD_BLENDER_STOP
|
||||
if (GetMultiplayerId() == 0
|
||||
&& sBerryBlender->playerContinueResponses[0] != LINKCMD_BLENDER_STOP
|
||||
&& sBerryBlender->playerContinueResponses[0] != LINKCMD_SEND_LINK_TYPE)
|
||||
{
|
||||
u8 i;
|
||||
@@ -3163,8 +3163,8 @@ static void SpriteCB_Particle(struct Sprite* sprite)
|
||||
{
|
||||
sprite->data[2] += sprite->data[0];
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[2] / 8;
|
||||
sprite->pos2.y = sprite->data[3] / 8;
|
||||
sprite->x2 = sprite->data[2] / 8;
|
||||
sprite->y2 = sprite->data[3] / 8;
|
||||
|
||||
if (sprite->animEnded)
|
||||
DestroySprite(sprite);
|
||||
@@ -3197,7 +3197,7 @@ static void CreateParticleSprites(void)
|
||||
static void SpriteCB_ScoreSymbol(struct Sprite* sprite)
|
||||
{
|
||||
sprite->data[0]++;
|
||||
sprite->pos2.y = -(sprite->data[0] / 3);
|
||||
sprite->y2 = -(sprite->data[0] / 3);
|
||||
|
||||
if (sprite->animEnded)
|
||||
DestroySprite(sprite);
|
||||
@@ -3206,10 +3206,10 @@ static void SpriteCB_ScoreSymbol(struct Sprite* sprite)
|
||||
static void SpriteCB_ScoreSymbolBest(struct Sprite* sprite)
|
||||
{
|
||||
sprite->data[0]++;
|
||||
sprite->pos2.y = -(sprite->data[0] * 2);
|
||||
sprite->y2 = -(sprite->data[0] * 2);
|
||||
|
||||
if (sprite->pos2.y < -12)
|
||||
sprite->pos2.y = -12;
|
||||
if (sprite->y2 < -12)
|
||||
sprite->y2 = -12;
|
||||
if (sprite->animEnded)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
@@ -3264,7 +3264,7 @@ static void SpriteCB_CountdownNumber(struct Sprite* sprite)
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->pos2.y = sprite->sYPos;
|
||||
sprite->y2 = sprite->sYPos;
|
||||
}
|
||||
|
||||
#undef sState
|
||||
@@ -3300,7 +3300,7 @@ static void SpriteCB_Start(struct Sprite* sprite)
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->pos2.y = sprite->data[1];
|
||||
sprite->y2 = sprite->data[1];
|
||||
}
|
||||
|
||||
static void TryUpdateProgressBar(u16 current, u16 limit)
|
||||
@@ -3445,8 +3445,8 @@ static bool8 UpdateBlenderLandScreenShake(void)
|
||||
|
||||
static void SpriteCB_PlayerArrow(struct Sprite* sprite)
|
||||
{
|
||||
sprite->pos2.x = -(sBerryBlender->bg_X);
|
||||
sprite->pos2.y = -(sBerryBlender->bg_Y);
|
||||
sprite->x2 = -(sBerryBlender->bg_X);
|
||||
sprite->y2 = -(sBerryBlender->bg_Y);
|
||||
}
|
||||
|
||||
static void TryUpdateBerryBlenderRecord(void)
|
||||
|
||||
+179
-179
@@ -171,7 +171,7 @@ enum {
|
||||
#define INPUT_FLAG_MASK ((1 << INPUT_FLAGS_PER_PLAYER) - 1)
|
||||
|
||||
// Values for the inputState field
|
||||
enum {
|
||||
enum {
|
||||
INPUT_STATE_NONE,
|
||||
INPUT_STATE_HIT, // Hit the crusher
|
||||
INPUT_STATE_HIT_SYNC, // Hit the crusher at same time as another player
|
||||
@@ -241,7 +241,7 @@ struct BerryCrushGame_Results
|
||||
};
|
||||
|
||||
// playerIdsRanked above has 3 additional elements after the players.
|
||||
// Only 1 of these 2*3 is ever used, and it stores the id for which
|
||||
// Only 1 of these 2*3 is ever used, and it stores the id for which
|
||||
// random results page to show. Its define below is for readability.
|
||||
#define randomPageId playerIdsRanked[0][7]
|
||||
|
||||
@@ -369,33 +369,33 @@ static u32 Cmd_Quit(struct BerryCrushGame *, u8 *);
|
||||
|
||||
static EWRAM_DATA struct BerryCrushGame *sGame = NULL;
|
||||
|
||||
static const u8 sBitTable[] = {
|
||||
1 << 0,
|
||||
1 << 1,
|
||||
1 << 2,
|
||||
1 << 3,
|
||||
1 << 4,
|
||||
1 << 5,
|
||||
1 << 6,
|
||||
1 << 7
|
||||
static const u8 sBitTable[] = {
|
||||
1 << 0,
|
||||
1 << 1,
|
||||
1 << 2,
|
||||
1 << 3,
|
||||
1 << 4,
|
||||
1 << 5,
|
||||
1 << 6,
|
||||
1 << 7
|
||||
};
|
||||
// Additional A presses are counted depending on the number of players
|
||||
// The bonus of 5 is unobtainable
|
||||
static const u8 sSyncPressBonus[MAX_RFU_PLAYERS] = { 0, 1, 2, 3, 5 };
|
||||
ALIGNED(4)
|
||||
static const s8 sIntroOutroVibrationData[][7] =
|
||||
static const s8 sIntroOutroVibrationData[][7] =
|
||||
{
|
||||
{ 4, 1, 0, -1, 0, 0, 0},
|
||||
{ 4, 2, 0, -1, 0, 0, 0},
|
||||
{ 4, 2, 0, -2, 0, 0, 0},
|
||||
{ 6, 3, 1, -1, -3, -1, 0},
|
||||
{ 4, 1, 0, -1, 0, 0, 0},
|
||||
{ 4, 2, 0, -1, 0, 0, 0},
|
||||
{ 4, 2, 0, -2, 0, 0, 0},
|
||||
{ 6, 3, 1, -1, -3, -1, 0},
|
||||
{ 6, 4, 1, -2, -4, -2, 0},
|
||||
};
|
||||
|
||||
ALIGNED(4)
|
||||
static const u8 sVibrationData[MAX_RFU_PLAYERS][4] =
|
||||
static const u8 sVibrationData[MAX_RFU_PLAYERS][4] =
|
||||
{
|
||||
{3, 2, 1, 0},
|
||||
{3, 2, 1, 0},
|
||||
{3, 3, 1, 0},
|
||||
{3, 3, 2, 0},
|
||||
{3, 4, 2, 0},
|
||||
@@ -433,7 +433,7 @@ static const struct BgTemplate sBgTemplates[4] =
|
||||
.screenSize = 2,
|
||||
.paletteMode = 0,
|
||||
.priority = 1,
|
||||
.baseTile = 0,
|
||||
.baseTile = 0,
|
||||
},
|
||||
{
|
||||
.bg = 2,
|
||||
@@ -442,7 +442,7 @@ static const struct BgTemplate sBgTemplates[4] =
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 2,
|
||||
.baseTile = 0,
|
||||
.baseTile = 0,
|
||||
},
|
||||
{
|
||||
.bg = 3,
|
||||
@@ -451,7 +451,7 @@ static const struct BgTemplate sBgTemplates[4] =
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0,
|
||||
.baseTile = 0,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -468,11 +468,11 @@ static const u8 sTextColorTable[][3] =
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_Rankings =
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 3,
|
||||
.tilemapTop = 4,
|
||||
.width = 24,
|
||||
.height = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 3,
|
||||
.tilemapTop = 4,
|
||||
.width = 24,
|
||||
.height = 13,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
};
|
||||
@@ -480,48 +480,48 @@ static const struct WindowTemplate sWindowTemplate_Rankings =
|
||||
static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS + 1] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 0,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 0,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 1005
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 987
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 969
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 951
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 933
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
@@ -530,30 +530,30 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS
|
||||
static const struct WindowTemplate sWindowTemplates_Results[] =
|
||||
{
|
||||
[STATE_RESULTS_PRESSES - RESULTS_STATE_START] = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 2,
|
||||
.width = 20,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 2,
|
||||
.width = 20,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
},
|
||||
[STATE_RESULTS_RANDOM - RESULTS_STATE_START] = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 2,
|
||||
.width = 20,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 2,
|
||||
.width = 20,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
},
|
||||
[STATE_RESULTS_CRUSHING - RESULTS_STATE_START] = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 2,
|
||||
.width = 22,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 2,
|
||||
.width = 22,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
@@ -567,7 +567,7 @@ static const u8 sResultsWindowHeights[][MAX_RFU_PLAYERS - 1] =
|
||||
{12, 14, 15, 16}, // "Crushing" page
|
||||
};
|
||||
|
||||
static const u32 sPressingSpeedConversionTable[] =
|
||||
static const u32 sPressingSpeedConversionTable[] =
|
||||
{
|
||||
50000000, // 50
|
||||
25000000, // 25
|
||||
@@ -590,9 +590,9 @@ static const u8 sCrusherTop_Tilemap[] = INCBIN_U8("graphics/berry_crush/crushe
|
||||
static const u8 sContainerCap_Tilemap[] = INCBIN_U8("graphics/berry_crush/container_cap.bin.lz");
|
||||
static const u8 sBg_Tilemap[] = INCBIN_U8("graphics/berry_crush/bg.bin.lz");
|
||||
|
||||
// Takes the number of players - 2 and a player id and returns the
|
||||
// Takes the number of players - 2 and a player id and returns the
|
||||
// index into sPlayerCoords where that player should be seated
|
||||
static const u8 sPlayerIdToPosId[MAX_RFU_PLAYERS - 1][MAX_RFU_PLAYERS] =
|
||||
static const u8 sPlayerIdToPosId[MAX_RFU_PLAYERS - 1][MAX_RFU_PLAYERS] =
|
||||
{
|
||||
{1, 3},
|
||||
{0, 1, 3},
|
||||
@@ -672,18 +672,18 @@ static const s8 sSparkleCoords[][2] =
|
||||
{ 40, -16},
|
||||
};
|
||||
|
||||
static const u16 sPlayerBerrySpriteTags[MAX_RFU_PLAYERS] =
|
||||
static const u16 sPlayerBerrySpriteTags[MAX_RFU_PLAYERS] =
|
||||
{
|
||||
TAG_PLAYER1_BERRY,
|
||||
TAG_PLAYER2_BERRY,
|
||||
TAG_PLAYER3_BERRY,
|
||||
TAG_PLAYER4_BERRY,
|
||||
TAG_PLAYER1_BERRY,
|
||||
TAG_PLAYER2_BERRY,
|
||||
TAG_PLAYER3_BERRY,
|
||||
TAG_PLAYER4_BERRY,
|
||||
TAG_PLAYER5_BERRY
|
||||
};
|
||||
|
||||
// sTimerDigits_Gfx is part of this array but is (apparently) uncompressed
|
||||
// It gets cast to raw uncompressed data when used in sDigitObjTemplates
|
||||
static const struct CompressedSpriteSheet sSpriteSheets[] =
|
||||
static const struct CompressedSpriteSheet sSpriteSheets[] =
|
||||
{
|
||||
{ .data = sCrusherBase_Gfx, .size = 0x800, .tag = TAG_CRUSHER_BASE },
|
||||
{ .data = sImpact_Gfx, .size = 0xE00, .tag = GFXTAG_IMPACT },
|
||||
@@ -727,23 +727,23 @@ static const union AnimCmd sAnim_Impact_Big[] =
|
||||
static const union AnimCmd sAnim_Sparkle_Small[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 2),
|
||||
ANIMCMD_FRAME(4, 2),
|
||||
ANIMCMD_FRAME(4, 2),
|
||||
ANIMCMD_FRAME(8, 2),
|
||||
ANIMCMD_FRAME(12, 2),
|
||||
ANIMCMD_FRAME(16, 2),
|
||||
ANIMCMD_FRAME(20, 2),
|
||||
ANIMCMD_FRAME(16, 2),
|
||||
ANIMCMD_FRAME(20, 2),
|
||||
ANIMCMD_JUMP(0)
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_Sparkle_Big[] =
|
||||
{
|
||||
ANIMCMD_FRAME(24, 4),
|
||||
ANIMCMD_FRAME(28, 4),
|
||||
ANIMCMD_FRAME(32, 4),
|
||||
ANIMCMD_FRAME(24, 4),
|
||||
ANIMCMD_FRAME(28, 4),
|
||||
ANIMCMD_FRAME(32, 4),
|
||||
ANIMCMD_FRAME(36, 4),
|
||||
ANIMCMD_FRAME(40, 4),
|
||||
ANIMCMD_FRAME(44, 4),
|
||||
ANIMCMD_FRAME(48, 4),
|
||||
ANIMCMD_FRAME(40, 4),
|
||||
ANIMCMD_FRAME(44, 4),
|
||||
ANIMCMD_FRAME(48, 4),
|
||||
ANIMCMD_FRAME(52, 4),
|
||||
ANIMCMD_JUMP(0)
|
||||
};
|
||||
@@ -756,7 +756,7 @@ static const union AnimCmd sAnim_Timer[] =
|
||||
|
||||
static const union AnimCmd sAnim_PlayerBerry[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
@@ -810,68 +810,68 @@ static const union AffineAnimCmd *const sAffineAnims_PlayerBerry[] =
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_CrusherBase =
|
||||
{
|
||||
.tileTag = TAG_CRUSHER_BASE,
|
||||
.paletteTag = TAG_CRUSHER_BASE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_64x64,
|
||||
.anims = sAnims_CrusherBase,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = TAG_CRUSHER_BASE,
|
||||
.paletteTag = TAG_CRUSHER_BASE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_64x64,
|
||||
.anims = sAnims_CrusherBase,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_Impact =
|
||||
{
|
||||
.tileTag = GFXTAG_IMPACT,
|
||||
.paletteTag = PALTAG_EFFECT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_Impact,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.paletteTag = PALTAG_EFFECT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_Impact,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_Impact
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_Sparkle =
|
||||
{
|
||||
.tileTag = GFXTAG_SPARKLE,
|
||||
.paletteTag = PALTAG_EFFECT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = sAnims_Sparkle,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = GFXTAG_SPARKLE,
|
||||
.paletteTag = PALTAG_EFFECT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = sAnims_Sparkle,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_Timer =
|
||||
{
|
||||
.tileTag = TAG_TIMER_DIGITS,
|
||||
.paletteTag = TAG_TIMER_DIGITS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x16,
|
||||
.anims = sAnims_Timer,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = TAG_TIMER_DIGITS,
|
||||
.paletteTag = TAG_TIMER_DIGITS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x16,
|
||||
.anims = sAnims_Timer,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_PlayerBerry =
|
||||
{
|
||||
.tileTag = TAG_PLAYER1_BERRY,
|
||||
.paletteTag = TAG_PLAYER1_BERRY,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_PlayerBerry,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_PlayerBerry,
|
||||
.tileTag = TAG_PLAYER1_BERRY,
|
||||
.paletteTag = TAG_PLAYER1_BERRY,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_PlayerBerry,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_PlayerBerry,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct DigitObjUtilTemplate sDigitObjTemplates[] =
|
||||
static const struct DigitObjUtilTemplate sDigitObjTemplates[] =
|
||||
{
|
||||
{ // Minutes
|
||||
.strConvMode = 1,
|
||||
.shape = 2,
|
||||
.size = 0,
|
||||
.priority = 0,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.x = 156,
|
||||
.y = 0,
|
||||
.spriteSheet = (void*) &sSpriteSheets[3],
|
||||
@@ -882,8 +882,8 @@ static const struct DigitObjUtilTemplate sDigitObjTemplates[] =
|
||||
.shape = 2,
|
||||
.size = 0,
|
||||
.priority = 0,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.x = 180,
|
||||
.y = 0,
|
||||
.spriteSheet = (void*) &sSpriteSheets[3],
|
||||
@@ -894,8 +894,8 @@ static const struct DigitObjUtilTemplate sDigitObjTemplates[] =
|
||||
.shape = 2,
|
||||
.size = 0,
|
||||
.priority = 0,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.x = 204,
|
||||
.y = 0,
|
||||
.spriteSheet = (void*) &sSpriteSheets[3],
|
||||
@@ -944,7 +944,7 @@ static u32 (*const sBerryCrushCommands[])(struct BerryCrushGame * game, u8 * dat
|
||||
[CMD_QUIT] = Cmd_Quit,
|
||||
};
|
||||
|
||||
// Per group size, the number of A presses required to increase the number of sparkles.
|
||||
// Per group size, the number of A presses required to increase the number of sparkles.
|
||||
static const u8 sSparkleThresholds[MAX_RFU_PLAYERS - 1][4] =
|
||||
{
|
||||
{2, 4, 6, 7}, // 2 players
|
||||
@@ -1387,8 +1387,8 @@ static void CreateBerrySprites(struct BerryCrushGame *game, struct BerryCrushGam
|
||||
gfx->berrySprites[i] = &gSprites[spriteId];
|
||||
gfx->berrySprites[i]->oam.priority = 3;
|
||||
gfx->berrySprites[i]->affineAnimPaused = TRUE;
|
||||
gfx->berrySprites[i]->pos1.x = gfx->playerCoords[i]->berryXOffset + 120;
|
||||
gfx->berrySprites[i]->pos1.y = -16;
|
||||
gfx->berrySprites[i]->x = gfx->playerCoords[i]->berryXOffset + 120;
|
||||
gfx->berrySprites[i]->y = -16;
|
||||
data = gfx->berrySprites[i]->data;
|
||||
speed = 512;
|
||||
sYSpeed = speed;
|
||||
@@ -1404,7 +1404,7 @@ static void CreateBerrySprites(struct BerryCrushGame *game, struct BerryCrushGam
|
||||
var2 = speed + 32;
|
||||
var2 = var2 / 2;
|
||||
var1 = MathUtil_Div16Shift(7, Q_8_8(63.5), var2);
|
||||
sX = (u16)gfx->berrySprites[i]->pos1.x * 128;
|
||||
sX = (u16)gfx->berrySprites[i]->x * 128;
|
||||
sXSpeed = MathUtil_Div16Shift(7, distance, var1);
|
||||
var1 = MathUtil_Mul16Shift(7, var1, 85);
|
||||
sSinIdx = 0;
|
||||
@@ -1420,21 +1420,21 @@ static void SpriteCB_DropBerryIntoCrusher(struct Sprite *sprite)
|
||||
s16 *data = sprite->data;
|
||||
|
||||
sYSpeed += sYAccel;
|
||||
sprite->pos2.y += sYSpeed >> 8;
|
||||
sprite->y2 += sYSpeed >> 8;
|
||||
if (sBitfield & F_MOVE_HORIZ)
|
||||
{
|
||||
sprite->sX += sXSpeed;
|
||||
sSinIdx += sSinSpeed;
|
||||
sprite->pos2.x = Sin(sSinIdx >> 7, sAmplitude);
|
||||
sprite->x2 = Sin(sSinIdx >> 7, sAmplitude);
|
||||
if ((sBitfield & F_MOVE_HORIZ) && (sSinIdx >> 7) > 126)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
sBitfield &= MASK_TARGET_Y;
|
||||
}
|
||||
}
|
||||
|
||||
sprite->pos1.x = sX >> 7;
|
||||
if (sprite->pos1.y + sprite->pos2.y >= (sBitfield & MASK_TARGET_Y))
|
||||
sprite->x = sX >> 7;
|
||||
if (sprite->y + sprite->y2 >= (sBitfield & MASK_TARGET_Y))
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -1472,7 +1472,7 @@ static void UpdateInputEffects(struct BerryCrushGame *game, struct BerryCrushGam
|
||||
|
||||
numPlayersPressed = 0;
|
||||
linkState = (struct BerryCrushGame_LinkState *)game->recvCmd;
|
||||
|
||||
|
||||
// Read inputs and update impact effects
|
||||
for (i = 0; i < game->playerCount; i++)
|
||||
{
|
||||
@@ -1490,8 +1490,8 @@ static void UpdateInputEffects(struct BerryCrushGame *game, struct BerryCrushGam
|
||||
|
||||
gfx->impactSprites[i]->invisible = FALSE;
|
||||
gfx->impactSprites[i]->animPaused = FALSE;
|
||||
gfx->impactSprites[i]->pos2.x = sImpactCoords[(flags % (ARRAY_COUNT(sImpactCoords) + 1)) - 1][0];
|
||||
gfx->impactSprites[i]->pos2.y = sImpactCoords[(flags % (ARRAY_COUNT(sImpactCoords) + 1)) - 1][1];
|
||||
gfx->impactSprites[i]->x2 = sImpactCoords[(flags % (ARRAY_COUNT(sImpactCoords) + 1)) - 1][0];
|
||||
gfx->impactSprites[i]->y2 = sImpactCoords[(flags % (ARRAY_COUNT(sImpactCoords) + 1)) - 1][1];
|
||||
}
|
||||
|
||||
#undef flags
|
||||
@@ -1513,10 +1513,10 @@ static void UpdateInputEffects(struct BerryCrushGame *game, struct BerryCrushGam
|
||||
if (gfx->sparkleSprites[i]->invisible)
|
||||
{
|
||||
gfx->sparkleSprites[i]->callback = SpriteCB_Sparkle_Init;
|
||||
gfx->sparkleSprites[i]->pos1.x = sSparkleCoords[i][0] + 120;
|
||||
gfx->sparkleSprites[i]->pos1.y = sSparkleCoords[i][1] + 136 - (yModifier * 4);
|
||||
gfx->sparkleSprites[i]->pos2.x = sSparkleCoords[i][0] + (sSparkleCoords[i][0] / (xModifier * 4));
|
||||
gfx->sparkleSprites[i]->pos2.y = sSparkleCoords[i][1];
|
||||
gfx->sparkleSprites[i]->x = sSparkleCoords[i][0] + 120;
|
||||
gfx->sparkleSprites[i]->y = sSparkleCoords[i][1] + 136 - (yModifier * 4);
|
||||
gfx->sparkleSprites[i]->x2 = sSparkleCoords[i][0] + (sSparkleCoords[i][0] / (xModifier * 4));
|
||||
gfx->sparkleSprites[i]->y2 = sSparkleCoords[i][1];
|
||||
if (linkState->bigSparkle)
|
||||
StartSpriteAnim(gfx->sparkleSprites[i], 1);
|
||||
else
|
||||
@@ -1698,13 +1698,13 @@ static void PrintCrushingResults(struct BerryCrushGame *game)
|
||||
StringExpandPlaceholders(gStringVar4, gText_StrVar1);
|
||||
x -= GetStringWidth(2, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
|
||||
|
||||
// Print pressing speed text
|
||||
y += 14;
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 0, y, sTextColorTable[COLORID_GRAY], 0, gText_PressingSpeed);
|
||||
x = 176 - (u8)GetStringWidth(2, gText_TimesPerSec, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_TimesPerSec);
|
||||
|
||||
|
||||
// Print pressing speed value
|
||||
for (i = 0; i < 8; i++)
|
||||
if (((u8)game->pressingSpeed >> (7 - i)) & 1)
|
||||
@@ -1802,7 +1802,7 @@ static void Task_ShowRankings(u8 taskId)
|
||||
u8 i = 0, j, xPos, yPos;
|
||||
u32 score = 0;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
|
||||
switch (tState)
|
||||
{
|
||||
case 0:
|
||||
@@ -1818,7 +1818,7 @@ static void Task_ShowRankings(u8 taskId)
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, 1, sTextColorTable[COLORID_BLUE], 0, gText_BerryCrush2);
|
||||
xPos = 96 - GetStringWidth(1, gText_PressingSpeedRankings, -1) / 2u;
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, 17, sTextColorTable[COLORID_BLUE], 0, gText_PressingSpeedRankings);
|
||||
|
||||
|
||||
// Print pressing speed record for each group size, ranked
|
||||
yPos = 41;
|
||||
for (i = 0; i < MAX_RFU_PLAYERS - 1; i++)
|
||||
@@ -1977,7 +1977,7 @@ static void CreateGameSprites(struct BerryCrushGame *game)
|
||||
for (i = 0; i < ARRAY_COUNT(sSpriteSheets) - 1; i++)
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets[i]);
|
||||
LoadSpritePalettes(sSpritePals);
|
||||
|
||||
|
||||
// Create sprite for crusher base
|
||||
spriteId = CreateSprite(&sSpriteTemplate_CrusherBase, 120, 88, 5);
|
||||
game->gfx.coreSprite = &gSprites[spriteId];
|
||||
@@ -2071,8 +2071,8 @@ static void SpriteCB_Sparkle_End(struct Sprite *sprite)
|
||||
u8 i;
|
||||
for (i = 0; i < ARRAY_COUNT(sprite->data); i++)
|
||||
sprite->data[i] = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->invisible = TRUE;
|
||||
sprite->animPaused = TRUE;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
@@ -2097,20 +2097,20 @@ static void SpriteCB_Sparkle(struct Sprite *sprite)
|
||||
s16 *data = sprite->data;
|
||||
|
||||
sYSpeed += sYAccel;
|
||||
sprite->pos2.y += sYSpeed >> 8;
|
||||
sprite->y2 += sYSpeed >> 8;
|
||||
if (sBitfield & F_MOVE_HORIZ)
|
||||
{
|
||||
sprite->sX += sXSpeed;
|
||||
sSinIdx += sSinSpeed;
|
||||
sprite->pos2.x = Sin(sSinIdx >> 7, sAmplitude);
|
||||
sprite->x2 = Sin(sSinIdx >> 7, sAmplitude);
|
||||
if (sBitfield & F_MOVE_HORIZ && sSinIdx >> 7 > 126)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
sBitfield &= MASK_TARGET_Y;
|
||||
}
|
||||
}
|
||||
sprite->pos1.x = sX >> 7;
|
||||
if (sprite->pos1.y + sprite->pos2.y > (sBitfield & MASK_TARGET_Y))
|
||||
sprite->x = sX >> 7;
|
||||
if (sprite->y + sprite->y2 > (sBitfield & MASK_TARGET_Y))
|
||||
sprite->callback = SpriteCB_Sparkle_End;
|
||||
}
|
||||
|
||||
@@ -2125,17 +2125,17 @@ static void SpriteCB_Sparkle_Init(struct Sprite *sprite)
|
||||
sYSpeed = var;
|
||||
sYAccel = 32;
|
||||
sBitfield = 168; // Setting bits in MASK_TARGET_Y
|
||||
xMult = sprite->pos2.x * 128;
|
||||
xDiv = MathUtil_Div16Shift(7, (168 - sprite->pos1.y) << 7, (var + 32) >> 1);
|
||||
sprite->sX = sprite->pos1.x << 7;
|
||||
xMult = sprite->x2 * 128;
|
||||
xDiv = MathUtil_Div16Shift(7, (168 - sprite->y) << 7, (var + 32) >> 1);
|
||||
sprite->sX = sprite->x << 7;
|
||||
sXSpeed = MathUtil_Div16Shift(7, xMult, xDiv);
|
||||
var = MathUtil_Mul16Shift(7, xDiv, 85);
|
||||
sSinIdx = zero;
|
||||
sSinSpeed = MathUtil_Div16Shift(7, Q_8_8(63.5), var);
|
||||
sAmplitude = sprite->pos2.x / 4;
|
||||
sAmplitude = sprite->x2 / 4;
|
||||
sBitfield |= F_MOVE_HORIZ;
|
||||
sprite->pos2.y = zero;
|
||||
sprite->pos2.x = zero;
|
||||
sprite->y2 = zero;
|
||||
sprite->x2 = zero;
|
||||
sprite->callback = SpriteCB_Sparkle;
|
||||
sprite->animPaused = FALSE;
|
||||
sprite->invisible = FALSE;
|
||||
@@ -2372,7 +2372,7 @@ static u32 Cmd_WaitForOthersToPickBerries(struct BerryCrushGame *game, u8 *args)
|
||||
case 2:
|
||||
if (!IsLinkTaskFinished())
|
||||
return 0;
|
||||
|
||||
|
||||
// Send player's chosen berry to partners
|
||||
memset(game->sendCmd, 0, sizeof(game->sendCmd));
|
||||
game->sendCmd[0] = game->players[game->localId].berryId;
|
||||
@@ -2563,13 +2563,13 @@ static void HandlePartnerInput(struct BerryCrushGame *game)
|
||||
for (i = 0; i < game->playerCount; i++)
|
||||
{
|
||||
linkState = (struct BerryCrushGame_LinkState *)gRecvCmds[i];
|
||||
|
||||
|
||||
// Skip player if we have not received a packet from them
|
||||
if ((linkState->rfuCmd & RFUCMD_MASK) != RFUCMD_SEND_PACKET)
|
||||
continue;
|
||||
if (linkState->sendFlag != SEND_GAME_STATE)
|
||||
continue;
|
||||
|
||||
|
||||
if (linkState->pushedAButton)
|
||||
{
|
||||
game->localState.playerPressedAFlags |= sBitTable[i];
|
||||
@@ -2577,10 +2577,10 @@ static void HandlePartnerInput(struct BerryCrushGame *game)
|
||||
game->players[i].numAPresses++;
|
||||
numPlayersPressed++;
|
||||
timeDiff = game->timer - game->players[i].inputTime;
|
||||
|
||||
|
||||
// If the interval between inputs is regular, the input is considered "neat"
|
||||
// This counts toward the player's neatness score
|
||||
if (timeDiff >= game->players[i].timeSincePrevInput - 1
|
||||
if (timeDiff >= game->players[i].timeSincePrevInput - 1
|
||||
&& timeDiff <= game->players[i].timeSincePrevInput + 1)
|
||||
{
|
||||
// On neat input streak
|
||||
@@ -2595,7 +2595,7 @@ static void HandlePartnerInput(struct BerryCrushGame *game)
|
||||
game->players[i].neatInputStreak = 0;
|
||||
game->players[i].timeSincePrevInput = timeDiff;
|
||||
}
|
||||
|
||||
|
||||
game->players[i].inputTime = game->timer;
|
||||
game->players[i].inputFlags++;
|
||||
if (game->players[i].inputFlags > F_INPUT_HIT_B)
|
||||
@@ -2637,7 +2637,7 @@ static void HandlePartnerInput(struct BerryCrushGame *game)
|
||||
|
||||
// Target number of A presses has been reached, game is complete
|
||||
game->newDepth = 32;
|
||||
game->localState.endGame = TRUE;
|
||||
game->localState.endGame = TRUE;
|
||||
}
|
||||
|
||||
// Updates the crusher, input flags, and timer to send to group members
|
||||
@@ -2648,7 +2648,7 @@ static void UpdateLeaderGameState(struct BerryCrushGame *game)
|
||||
u16 flags = 0;
|
||||
u16 temp = 0;
|
||||
u8 i = 0;
|
||||
|
||||
|
||||
for (i = 0; i < game->playerCount; i++)
|
||||
{
|
||||
if (game->players[i].inputState != INPUT_STATE_NONE)
|
||||
@@ -2727,7 +2727,7 @@ static void HandlePlayerInput(struct BerryCrushGame *game)
|
||||
if (game->localId != 0 && !game->localState.pushedAButton)
|
||||
return;
|
||||
game->localState.sendFlag = SEND_GAME_STATE;
|
||||
|
||||
|
||||
// Every 30 frames, check whether the sparkles produced should be big,
|
||||
// depending on how many A presses there were in that time
|
||||
if (game->timer % 30 == 0)
|
||||
@@ -2744,7 +2744,7 @@ static void HandlePlayerInput(struct BerryCrushGame *game)
|
||||
game->bigSparkleCounter = 0;
|
||||
game->numBigSparkleChecks++;
|
||||
}
|
||||
|
||||
|
||||
// Every 15 frames, update the amount of sparkles that should be produced,
|
||||
// depending on how many A presses there were in that time (including the bonus)
|
||||
if (game->timer % 15 == 0)
|
||||
@@ -2787,7 +2787,7 @@ static void HandlePlayerInput(struct BerryCrushGame *game)
|
||||
game->cmdTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if (game->timer >= MAX_TIME)
|
||||
game->localState.endGame = TRUE;
|
||||
@@ -3056,14 +3056,14 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame *game, u8 *args)
|
||||
game->results.playerIdsRanked[RESULTS_PAGE_RANDOM][i] = i;
|
||||
game->results.stats[RESULTS_PAGE_PRESSES][i] = game->players[i].numAPresses;
|
||||
game->results.totalAPresses += game->results.stats[RESULTS_PAGE_PRESSES][i];
|
||||
|
||||
|
||||
// Calculate value for random second results page
|
||||
switch (game->results.randomPageId)
|
||||
{
|
||||
case RESULTS_PAGE_NEATNESS:
|
||||
if (game->players[i].numAPresses != 0)
|
||||
{
|
||||
// Calculate percentage of inputs that were in largest "neat" streak
|
||||
// Calculate percentage of inputs that were in largest "neat" streak
|
||||
// "Neat" inputs are those done at a regular interval
|
||||
temp1 = game->players[i].maxNeatInputStreak;
|
||||
temp1 = Q_24_8(temp1);
|
||||
@@ -3129,7 +3129,7 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame *game, u8 *args)
|
||||
// Calculate player rankings for "Number of Presses" by sorting arrays
|
||||
if (game->results.stats[RESULTS_PAGE_PRESSES][j - 1] < game->results.stats[RESULTS_PAGE_PRESSES][j])
|
||||
{
|
||||
SWAP(game->results.stats[RESULTS_PAGE_PRESSES][j],
|
||||
SWAP(game->results.stats[RESULTS_PAGE_PRESSES][j],
|
||||
game->results.stats[RESULTS_PAGE_PRESSES][j - 1],
|
||||
tempStat);
|
||||
SWAP(game->results.playerIdsRanked[RESULTS_PAGE_PRESSES][j],
|
||||
@@ -3139,7 +3139,7 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame *game, u8 *args)
|
||||
// Calculate player rankings for random second results page by sorting arrays
|
||||
if (game->results.stats[RESULTS_PAGE_RANDOM][j - 1] < game->results.stats[RESULTS_PAGE_RANDOM][j])
|
||||
{
|
||||
SWAP(game->results.stats[RESULTS_PAGE_RANDOM][j],
|
||||
SWAP(game->results.stats[RESULTS_PAGE_RANDOM][j],
|
||||
game->results.stats[RESULTS_PAGE_RANDOM][j - 1],
|
||||
tempStat);
|
||||
SWAP(game->results.playerIdsRanked[RESULTS_PAGE_RANDOM][j],
|
||||
@@ -3319,7 +3319,7 @@ static u32 Cmd_CommunicatePlayAgainResponses(struct BerryCrushGame *game, u8 *ar
|
||||
case 1:
|
||||
if (!IsLinkTaskFinished())
|
||||
return 0;
|
||||
|
||||
|
||||
// Send player's Yes/No response to partners
|
||||
game->sendCmd[0] = game->playAgainState;
|
||||
game->recvCmd[0] = 0;
|
||||
|
||||
+47
-47
@@ -51,20 +51,20 @@ static const u8 sText_TransmissionFailureTryAgain[] = _("Transmission failure.\n
|
||||
|
||||
static const struct BgTemplate sBerryFixBgTemplates[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 30,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 30,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0
|
||||
},
|
||||
},
|
||||
{
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 1,
|
||||
.baseTile = 0
|
||||
}
|
||||
@@ -72,39 +72,39 @@ static const struct BgTemplate sBerryFixBgTemplates[] = {
|
||||
|
||||
static const struct WindowTemplate sBerryFixWindowTemplates[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 4,
|
||||
.width = 26,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 4,
|
||||
.width = 26,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 11,
|
||||
.width = 28,
|
||||
.height = 8,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 11,
|
||||
.width = 28,
|
||||
.height = 8,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 53
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 8,
|
||||
.width = 30,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 8,
|
||||
.width = 30,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 277
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 8,
|
||||
.tilemapTop = 0,
|
||||
.width = 14,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 8,
|
||||
.tilemapTop = 0,
|
||||
.width = 14,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 337
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE
|
||||
@@ -148,27 +148,27 @@ static const struct {
|
||||
gBerryFixGameboy_Gfx,
|
||||
gBerryFixGameboy_Tilemap,
|
||||
gBerryFixGameboy_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_TURN_OFF_POWER] = {
|
||||
gBerryFixGameboyLogo_Gfx,
|
||||
gBerryFixGameboyLogo_Tilemap,
|
||||
gBerryFixGameboyLogo_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_TRANSMITTING] = {
|
||||
gBerryFixGbaTransfer_Gfx,
|
||||
gBerryFixGbaTransfer_Tilemap,
|
||||
gBerryFixGbaTransfer_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_FOLLOW_INSTRUCT] = {
|
||||
gBerryFixGbaTransferHighlight_Gfx,
|
||||
gBerryFixGbaTransferHighlight_Tilemap,
|
||||
gBerryFixGbaTransferHighlight_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_TRANSMIT_FAILED] = {
|
||||
gBerryFixGbaTransferError_Gfx,
|
||||
gBerryFixGbaTransferError_Tilemap,
|
||||
gBerryFixGbaTransferError_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_BEGIN] = {
|
||||
gBerryFixWindow_Gfx,
|
||||
gBerryFixWindow_Tilemap,
|
||||
@@ -242,22 +242,22 @@ static void BerryFix_Main(void)
|
||||
}
|
||||
else if (++sBerryFix->timer > 180)
|
||||
{
|
||||
MultiBootStartMaster(&sBerryFix->mb,
|
||||
gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE,
|
||||
(u32)(gMultiBootProgram_BerryGlitchFix_End - (gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE)),
|
||||
4,
|
||||
MultiBootStartMaster(&sBerryFix->mb,
|
||||
gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE,
|
||||
(u32)(gMultiBootProgram_BerryGlitchFix_End - (gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE)),
|
||||
4,
|
||||
1);
|
||||
sBerryFix->state = MAINSTATE_TRANSMIT;
|
||||
}
|
||||
break;
|
||||
case MAINSTATE_TRANSMIT:
|
||||
if (TryScene(SCENE_TRANSMITTING))
|
||||
if (TryScene(SCENE_TRANSMITTING))
|
||||
{
|
||||
MultiBootMain(&sBerryFix->mb);
|
||||
|
||||
if (MultiBootCheckComplete(&sBerryFix->mb))
|
||||
if (MultiBootCheckComplete(&sBerryFix->mb))
|
||||
sBerryFix->state = MAINSTATE_EXIT;
|
||||
else if (!(sBerryFix->mb.client_bit & 2))
|
||||
else if (!(sBerryFix->mb.client_bit & 2))
|
||||
sBerryFix->state = MAINSTATE_FAILED;
|
||||
}
|
||||
break;
|
||||
|
||||
+42
-42
@@ -62,66 +62,66 @@ static const u32 sUnknown[] = {0xFF, 0x00};
|
||||
static const struct WindowTemplate sBerryPowderWindowTemplates[] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 28,
|
||||
.height = 2,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 28,
|
||||
.height = 2,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 19
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 5,
|
||||
.width = 28,
|
||||
.height = 14,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 5,
|
||||
.width = 28,
|
||||
.height = 14,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 75
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 5,
|
||||
.width = 28,
|
||||
.height = 7,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 5,
|
||||
.width = 28,
|
||||
.height = 7,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 75
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 8,
|
||||
.width = 19,
|
||||
.height = 3,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 8,
|
||||
.width = 19,
|
||||
.height = 3,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 19
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 7,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 7,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 76
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 6,
|
||||
.width = 22,
|
||||
.height = 5,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 6,
|
||||
.width = 22,
|
||||
.height = 5,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 19
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 8,
|
||||
.width = 19,
|
||||
.height = 3,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 8,
|
||||
.width = 19,
|
||||
.height = 3,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 19
|
||||
},
|
||||
};
|
||||
|
||||
@@ -548,9 +548,9 @@ static void Task_HandleInput(u8 taskId)
|
||||
static void TryChangeDisplayedBerry(u8 taskId, s8 toMove)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
s16 currPocketPosition = gBagPositionStruct.scrollPosition[3] + gBagPositionStruct.cursorPosition[3];
|
||||
s16 currPocketPosition = gBagPosition.scrollPosition[BERRIES_POCKET] + gBagPosition.cursorPosition[BERRIES_POCKET];
|
||||
u32 newPocketPosition = currPocketPosition + toMove;
|
||||
if (newPocketPosition < 46 && BagGetItemIdByPocketPosition(POCKET_BERRIES, newPocketPosition) != 0)
|
||||
if (newPocketPosition < ITEM_TO_BERRY(MAX_BERRY_INDEX) && BagGetItemIdByPocketPosition(POCKET_BERRIES, newPocketPosition) != ITEM_NONE)
|
||||
{
|
||||
if (toMove < 0)
|
||||
data[1] = 2;
|
||||
@@ -566,8 +566,8 @@ static void TryChangeDisplayedBerry(u8 taskId, s8 toMove)
|
||||
|
||||
static void HandleBagCursorPositionChange(s8 toMove)
|
||||
{
|
||||
u16 *scrollPos = &gBagPositionStruct.scrollPosition[3];
|
||||
u16 *cursorPos = &gBagPositionStruct.cursorPosition[3];
|
||||
u16 *scrollPos = &gBagPosition.scrollPosition[BERRIES_POCKET];
|
||||
u16 *cursorPos = &gBagPosition.cursorPosition[BERRIES_POCKET];
|
||||
if (toMove > 0)
|
||||
{
|
||||
if (*cursorPos < 4 || BagGetItemIdByPocketPosition(POCKET_BERRIES, *scrollPos + 8) == 0)
|
||||
@@ -674,9 +674,9 @@ static void Task_DisplayAnotherBerry(u8 taskId)
|
||||
else
|
||||
posY = data[0];
|
||||
|
||||
gSprites[sBerryTag->berrySpriteId].pos2.y = posY;
|
||||
gSprites[sBerryTag->berrySpriteId].y2 = posY;
|
||||
for (i = 0; i < FLAVOR_COUNT; i++)
|
||||
gSprites[sBerryTag->flavorCircleIds[i]].pos2.y = posY;
|
||||
gSprites[sBerryTag->flavorCircleIds[i]].y2 = posY;
|
||||
|
||||
ChangeBgY(1, 0x1000, data[1]);
|
||||
ChangeBgY(2, 0x1000, data[1]);
|
||||
|
||||
+1
-1
@@ -962,7 +962,7 @@ bool8 IsBikingDisallowedByPlayer(void)
|
||||
|
||||
bool8 IsPlayerNotUsingAcroBikeOnBumpySlope(void)
|
||||
{
|
||||
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)
|
||||
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)
|
||||
&& MetatileBehavior_IsBumpySlope(gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior))
|
||||
return FALSE;
|
||||
else
|
||||
|
||||
+43
-43
@@ -596,13 +596,13 @@ static void SpriteCB_CableCar(struct Sprite *sprite)
|
||||
{
|
||||
if (!GOING_DOWN)
|
||||
{
|
||||
sprite->pos1.x = sprite->sXPos - (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->pos1.y = sprite->sYPos - (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->x = sprite->sXPos - (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->y = sprite->sYPos - (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = sprite->sXPos + (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->pos1.y = sprite->sYPos + (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->x = sprite->sXPos + (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->y = sprite->sYPos + (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -617,20 +617,20 @@ static void SpriteCB_Player(struct Sprite *sprite)
|
||||
// Move along with cable car
|
||||
if (!GOING_DOWN)
|
||||
{
|
||||
sprite->pos1.x = sprite->sXPos - (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->pos1.y = sprite->sYPos - (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->x = sprite->sXPos - (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->y = sprite->sYPos - (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = sprite->sXPos + (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->pos1.y = sprite->sYPos + (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->x = sprite->sXPos + (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
sprite->y = sprite->sYPos + (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
|
||||
}
|
||||
|
||||
// Bounce up and down
|
||||
switch (sprite->sState)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = 17;
|
||||
sprite->y2 = 17;
|
||||
if (sprite->sTimer++ > 9)
|
||||
{
|
||||
sprite->sTimer = 0;
|
||||
@@ -638,7 +638,7 @@ static void SpriteCB_Player(struct Sprite *sprite)
|
||||
}
|
||||
break;
|
||||
default:
|
||||
sprite->pos2.y = 16;
|
||||
sprite->y2 = 16;
|
||||
if (sprite->sTimer++ > 9)
|
||||
{
|
||||
sprite->sTimer = 0;
|
||||
@@ -660,8 +660,8 @@ static void SpriteCB_HikerGoingUp(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->sTimer == 0)
|
||||
{
|
||||
sprite->pos1.x += 2 * sprite->centerToCornerVecX;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 2 * sprite->centerToCornerVecX;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
}
|
||||
|
||||
if (++sprite->sTimer >= sprite->sDelay)
|
||||
@@ -669,22 +669,22 @@ static void SpriteCB_HikerGoingUp(struct Sprite *sprite)
|
||||
switch (sprite->sSameDir)
|
||||
{
|
||||
case FALSE:
|
||||
sprite->pos1.x++;
|
||||
sprite->x++;
|
||||
if ((sprite->sTimer % 4) == 0)
|
||||
sprite->pos1.y++;
|
||||
sprite->y++;
|
||||
break;
|
||||
case TRUE:
|
||||
// Hiker moves slower if travelling with the Cable Car
|
||||
if ((sprite->sTimer % 2) != 0)
|
||||
{
|
||||
sprite->pos1.x++;
|
||||
if ((sprite->pos1.x % 4) == 0)
|
||||
sprite->pos1.y++;
|
||||
sprite->x++;
|
||||
if ((sprite->x % 4) == 0)
|
||||
sprite->y++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (sprite->pos1.y > DISPLAY_HEIGHT)
|
||||
if (sprite->y > DISPLAY_HEIGHT)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
}
|
||||
@@ -692,29 +692,29 @@ static void SpriteCB_HikerGoingUp(struct Sprite *sprite)
|
||||
static void SpriteCB_HikerGoingDown(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->sTimer == 0)
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
|
||||
if (++sprite->sTimer >= sprite->sDelay)
|
||||
{
|
||||
switch (sprite->sSameDir)
|
||||
{
|
||||
case FALSE:
|
||||
sprite->pos1.x--;
|
||||
sprite->x--;
|
||||
if ((sprite->sTimer % 4) == 0)
|
||||
sprite->pos1.y--;
|
||||
sprite->y--;
|
||||
break;
|
||||
case TRUE:
|
||||
// Hiker moves slower if travelling with the Cable Car
|
||||
if ((sprite->sTimer % 2) != 0)
|
||||
{
|
||||
sprite->pos1.x--;
|
||||
if ((sprite->pos1.x % 4) == 0)
|
||||
sprite->pos1.y--;
|
||||
sprite->x--;
|
||||
if ((sprite->x % 4) == 0)
|
||||
sprite->y--;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (sprite->pos1.y < 80)
|
||||
if (sprite->y < 80)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
}
|
||||
@@ -829,20 +829,20 @@ static void CreateCableCarSprites(void)
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].oam.priority = 2;
|
||||
gSprites[spriteId].pos2.x = 8;
|
||||
gSprites[spriteId].pos2.y = 16;
|
||||
gSprites[spriteId].x2 = 8;
|
||||
gSprites[spriteId].y2 = 16;
|
||||
gSprites[spriteId].sXPos = 200;
|
||||
gSprites[spriteId].sYPos = 73;
|
||||
}
|
||||
// Create car sprite
|
||||
spriteId = CreateSprite(&sSpriteTemplate_CableCar[0], 176, 43, 0x67);
|
||||
gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = 32;
|
||||
gSprites[spriteId].x2 = gSprites[spriteId].y2 = 32;
|
||||
gSprites[spriteId].sXPos = 176;
|
||||
gSprites[spriteId].sYPos = 43;
|
||||
// Create door sprite
|
||||
spriteId = CreateSprite(&sSpriteTemplate_CableCar[1], 200, 99, 0x65);
|
||||
gSprites[spriteId].pos2.x = 8;
|
||||
gSprites[spriteId].pos2.y = 4;
|
||||
gSprites[spriteId].x2 = 8;
|
||||
gSprites[spriteId].y2 = 4;
|
||||
gSprites[spriteId].sXPos = 200;
|
||||
gSprites[spriteId].sYPos = 99;
|
||||
// Init weather
|
||||
@@ -857,20 +857,20 @@ static void CreateCableCarSprites(void)
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].oam.priority = 2;
|
||||
gSprites[spriteId].pos2.x = 8;
|
||||
gSprites[spriteId].pos2.y = 16;
|
||||
gSprites[spriteId].x2 = 8;
|
||||
gSprites[spriteId].y2 = 16;
|
||||
gSprites[spriteId].sXPos = 128;
|
||||
gSprites[spriteId].sYPos = 39;
|
||||
}
|
||||
// Create car sprite
|
||||
spriteId = CreateSprite(&sSpriteTemplate_CableCar[0], 104, 9, 0x67);
|
||||
gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = 32;
|
||||
gSprites[spriteId].x2 = gSprites[spriteId].y2 = 32;
|
||||
gSprites[spriteId].sXPos = 104;
|
||||
gSprites[spriteId].sYPos = 9;
|
||||
// Create door sprite
|
||||
spriteId = CreateSprite(&sSpriteTemplate_CableCar[1], 128, 65, 0x65);
|
||||
gSprites[spriteId].pos2.x = 8;
|
||||
gSprites[spriteId].pos2.y = 4;
|
||||
gSprites[spriteId].x2 = 8;
|
||||
gSprites[spriteId].y2 = 4;
|
||||
gSprites[spriteId].sXPos = 128;
|
||||
gSprites[spriteId].sYPos = 65;
|
||||
// Init weather
|
||||
@@ -882,8 +882,8 @@ static void CreateCableCarSprites(void)
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&sSpriteTemplate_Cable, 16 * i + 96, 8 * i - 8, 0x68);
|
||||
gSprites[spriteId].pos2.x = 8;
|
||||
gSprites[spriteId].pos2.y = 8;
|
||||
gSprites[spriteId].x2 = 8;
|
||||
gSprites[spriteId].y2 = 8;
|
||||
}
|
||||
|
||||
// 1/64 chance for an NPC to appear hiking on the ground below the Cable Car
|
||||
@@ -894,9 +894,9 @@ static void CreateCableCarSprites(void)
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].oam.priority = 2;
|
||||
gSprites[spriteId].pos2.x = -gSprites[spriteId].centerToCornerVecX;
|
||||
gSprites[spriteId].pos2.y = -gSprites[spriteId].centerToCornerVecY;
|
||||
|
||||
gSprites[spriteId].x2 = -gSprites[spriteId].centerToCornerVecX;
|
||||
gSprites[spriteId].y2 = -gSprites[spriteId].centerToCornerVecY;
|
||||
|
||||
// Randomly choose which direction the NPC is going
|
||||
if (!GOING_DOWN)
|
||||
{
|
||||
@@ -905,7 +905,7 @@ static void CreateCableCarSprites(void)
|
||||
// Do walking west anim
|
||||
StartSpriteAnim(&gSprites[spriteId], 6);
|
||||
gSprites[spriteId].sSameDir = TRUE;
|
||||
gSprites[spriteId].pos1.y += 2;
|
||||
gSprites[spriteId].y += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -921,7 +921,7 @@ static void CreateCableCarSprites(void)
|
||||
// Do walking east anim
|
||||
StartSpriteAnim(&gSprites[spriteId], 7);
|
||||
gSprites[spriteId].sSameDir = TRUE;
|
||||
gSprites[spriteId].pos1.y += 2;
|
||||
gSprites[spriteId].y += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1024,7 +1024,7 @@ static void DrawNextGroundSegmentGoingDown(void)
|
||||
sCableCar->groundSegmentXStart = (sCableCar->groundSegmentXStart + 2) % 32;
|
||||
sCableCar->groundTileIdx += 2;
|
||||
sGroundSegmentY_Down = sCableCar->groundSegmentYStart;
|
||||
|
||||
|
||||
// Draw next segment
|
||||
for (i = 0; i < ARRAY_COUNT(sCableCar->groundTileBuffer); i++)
|
||||
{
|
||||
|
||||
+6
-6
@@ -352,14 +352,14 @@ static void Task_LinkupExchangeDataWithLeader(u8 taskId)
|
||||
gSpecialVar_Result = ExchangeDataAndGetLinkupStatus(minPlayers, maxPlayers);
|
||||
if (gSpecialVar_Result == LINKUP_ONGOING)
|
||||
return;
|
||||
if (gSpecialVar_Result == LINKUP_DIFF_SELECTIONS
|
||||
if (gSpecialVar_Result == LINKUP_DIFF_SELECTIONS
|
||||
|| gSpecialVar_Result == LINKUP_WRONG_NUM_PLAYERS)
|
||||
{
|
||||
SetCloseLinkCallback();
|
||||
HideFieldMessageBox();
|
||||
gTasks[taskId].func = Task_StopLinkup;
|
||||
}
|
||||
else if (gSpecialVar_Result == LINKUP_PLAYER_NOT_READY
|
||||
else if (gSpecialVar_Result == LINKUP_PLAYER_NOT_READY
|
||||
|| gSpecialVar_Result == LINKUP_PARTNER_NOT_READY)
|
||||
{
|
||||
CloseLink();
|
||||
@@ -407,7 +407,7 @@ static void Task_LinkupCheckStatusAfterConfirm(u8 taskId)
|
||||
HideFieldMessageBox();
|
||||
gTasks[taskId].func = Task_StopLinkup;
|
||||
}
|
||||
else if (gSpecialVar_Result == LINKUP_PLAYER_NOT_READY
|
||||
else if (gSpecialVar_Result == LINKUP_PLAYER_NOT_READY
|
||||
|| gSpecialVar_Result == LINKUP_PARTNER_NOT_READY)
|
||||
{
|
||||
CloseLink();
|
||||
@@ -1023,9 +1023,9 @@ void CB2_ReturnFromCableClubBattle(void)
|
||||
|
||||
void CleanupLinkRoomState(void)
|
||||
{
|
||||
if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_DOUBLE_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_MULTI_BATTLE
|
||||
if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_DOUBLE_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_MULTI_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_BATTLE_TOWER)
|
||||
{
|
||||
LoadPlayerParty();
|
||||
|
||||
+41
-41
@@ -75,7 +75,7 @@ static void Task_FinishRoundOfAppeals(u8);
|
||||
static void Task_ReadyUpdateHeartSliders(u8);
|
||||
static void Task_UpdateHeartSliders(u8);
|
||||
static void Task_WaitForHeartSliders(u8);
|
||||
static void sub_80DA348(u8);
|
||||
static void Task_RestorePlttBufferUnfaded(u8);
|
||||
static void Task_WaitPrintRoundResult(u8);
|
||||
static void Task_PrintRoundResultText(u8);
|
||||
static void Task_ReUpdateHeartSliders(u8);
|
||||
@@ -1103,10 +1103,10 @@ static void InitContestResources(void)
|
||||
eContestAI = (struct ContestAIInfo){};
|
||||
*gContestResources->excitement = (struct ContestExcitement){};
|
||||
memset(eContestGfxState, 0, CONTESTANT_COUNT * sizeof(struct ContestGraphicsState));
|
||||
|
||||
|
||||
if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
|
||||
SortContestants(FALSE);
|
||||
|
||||
|
||||
for (i = 0; i < CONTESTANT_COUNT; i++)
|
||||
{
|
||||
eContestantStatus[i].nextTurnOrder = 0xFF;
|
||||
@@ -1784,7 +1784,7 @@ static void Task_DoAppeals(u8 taskId)
|
||||
gContestMons[eContest.currentContestant].otId,
|
||||
gContestMons[eContest.currentContestant].personality,
|
||||
eContest.currentContestant);
|
||||
gSprites[spriteId].pos2.x = 120;
|
||||
gSprites[spriteId].x2 = 120;
|
||||
gSprites[spriteId].callback = SpriteCB_MonSlideIn;
|
||||
gTasks[taskId].tMonSpriteId = spriteId;
|
||||
gBattlerSpriteIds[gBattlerAttacker] = spriteId;
|
||||
@@ -2449,9 +2449,9 @@ static void Task_EndWaitForLink(u8 taskId)
|
||||
|
||||
static void SpriteCB_MonSlideIn(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->pos2.x != 0)
|
||||
if (sprite->x2 != 0)
|
||||
{
|
||||
sprite->pos2.x -= 2;
|
||||
sprite->x2 -= 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2465,8 +2465,8 @@ static void SpriteCB_MonSlideIn(struct Sprite *sprite)
|
||||
|
||||
static void SpriteCB_MonSlideOut(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x -= 6;
|
||||
if (sprite->pos1.x + sprite->pos2.x < -32)
|
||||
sprite->x2 -= 6;
|
||||
if (sprite->x + sprite->x2 < -32)
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
sprite->invisible = TRUE;
|
||||
@@ -2553,10 +2553,10 @@ static void Task_UpdateHeartSliders(u8 taskId)
|
||||
static void Task_WaitForHeartSliders(u8 taskId)
|
||||
{
|
||||
if (SlidersDoneUpdating())
|
||||
gTasks[taskId].func = sub_80DA348;
|
||||
gTasks[taskId].func = Task_RestorePlttBufferUnfaded;
|
||||
}
|
||||
|
||||
static void sub_80DA348(u8 taskId)
|
||||
static void Task_RestorePlttBufferUnfaded(u8 taskId)
|
||||
{
|
||||
DmaCopy32Defvars(3, eContestTempSave.cachedPlttBufferUnfaded, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * 2);
|
||||
gTasks[taskId].data[0] = 0;
|
||||
@@ -3342,9 +3342,9 @@ static bool8 DrawStatusSymbol(u8 contestant)
|
||||
u16 symbolOffset = 0;
|
||||
u8 contestantOffset = gContestantTurnOrder[contestant] * 5 + 2;
|
||||
|
||||
if (eContestantStatus[contestant].resistant
|
||||
|| eContestantStatus[contestant].immune
|
||||
|| eContestantStatus[contestant].jamSafetyCount != 0
|
||||
if (eContestantStatus[contestant].resistant
|
||||
|| eContestantStatus[contestant].immune
|
||||
|| eContestantStatus[contestant].jamSafetyCount != 0
|
||||
|| eContestantStatus[contestant].jamReduction != 0)
|
||||
symbolOffset = GetStatusSymbolTileOffset(STAT_SYMBOL_CIRCLE);
|
||||
else if (eContestantStatus[contestant].nervous)
|
||||
@@ -3864,7 +3864,7 @@ static void UpdateHeartSlider(u8 contestant)
|
||||
gSprites[spriteId].invisible = FALSE;
|
||||
gSprites[spriteId].sContestant = contestant;
|
||||
gSprites[spriteId].sTargetX = slideTarget;
|
||||
if (gSprites[spriteId].sTargetX > gSprites[spriteId].pos2.x)
|
||||
if (gSprites[spriteId].sTargetX > gSprites[spriteId].x2)
|
||||
gSprites[spriteId].sMoveX = 1;
|
||||
else
|
||||
gSprites[spriteId].sMoveX = -1;
|
||||
@@ -3896,14 +3896,14 @@ static bool8 SlidersDoneUpdating(void)
|
||||
|
||||
static void SpriteCB_UpdateHeartSlider(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->pos2.x == sprite->sTargetX)
|
||||
if (sprite->x2 == sprite->sTargetX)
|
||||
{
|
||||
eContestGfxState[sprite->sContestant].sliderUpdating = FALSE;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x += sprite->sMoveX;
|
||||
sprite->x2 += sprite->sMoveX;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3917,7 +3917,7 @@ static void UpdateSliderHeartSpriteYPositions(void)
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < CONTESTANT_COUNT; i++)
|
||||
gSprites[eContestGfxState[i].sliderHeartSpriteId].pos1.y = sSliderHeartYPositions[gContestantTurnOrder[i]];
|
||||
gSprites[eContestGfxState[i].sliderHeartSpriteId].y = sSliderHeartYPositions[gContestantTurnOrder[i]];
|
||||
}
|
||||
|
||||
// Used to hide (or subsequently reshow) the bottom two slider hearts that get hidden by text windows by moving them offscreen
|
||||
@@ -3931,9 +3931,9 @@ static void SetBottomSliderHeartsInvisibility(bool8 invisible)
|
||||
if (gContestantTurnOrder[i] > 1)
|
||||
{
|
||||
if (!invisible)
|
||||
gSprites[eContestGfxState[i].sliderHeartSpriteId].pos1.x = 180;
|
||||
gSprites[eContestGfxState[i].sliderHeartSpriteId].x = 180;
|
||||
else
|
||||
gSprites[eContestGfxState[i].sliderHeartSpriteId].pos1.x = 256;
|
||||
gSprites[eContestGfxState[i].sliderHeartSpriteId].x = 256;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4336,7 +4336,7 @@ void SortContestants(bool8 useRanking)
|
||||
s32 j;
|
||||
for (j = i; j > v3; j--)
|
||||
gContestantTurnOrder[j] = gContestantTurnOrder[j - 1];
|
||||
|
||||
|
||||
// Insert into the new spot.
|
||||
gContestantTurnOrder[v3] = i;
|
||||
break;
|
||||
@@ -4351,7 +4351,7 @@ void SortContestants(bool8 useRanking)
|
||||
}
|
||||
|
||||
// Invert gContestantTurnOrder; above, it was a list of contestant IDs. Now it's a list of turn orderings.
|
||||
//
|
||||
//
|
||||
// For example, if contestant 3 had the first turn, then `gContestantTurnOrder[1] = 3`. The turn is the index,
|
||||
// the contestant is the data. After inverting the list, `gContestantTurnOrder[3] = 1`. The contestant is the index,
|
||||
// and the turn is the data.
|
||||
@@ -4386,7 +4386,7 @@ void SortContestants(bool8 useRanking)
|
||||
}
|
||||
|
||||
// Randomize the order of contestants with tied rankings using Selection Sort.
|
||||
//
|
||||
//
|
||||
// Look through the array for tied ranks, and use randomOrdering to break the tie.
|
||||
// This ensures that contestants with the same rank will be randomly ordered. This
|
||||
// uses an in-place slection sort, which involves a lot of extra swapping.
|
||||
@@ -4762,13 +4762,13 @@ static void Task_ApplauseOverflowAnimation(u8 taskId)
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
{
|
||||
gTasks[taskId].data[0] = 0;
|
||||
|
||||
|
||||
// Alternate between normal colors and white.
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
gTasks[taskId].data[4]++;
|
||||
else
|
||||
gTasks[taskId].data[4]--;
|
||||
|
||||
|
||||
BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB_WHITE);
|
||||
|
||||
// At the maximum or minimum blending, switch directions.
|
||||
@@ -4789,7 +4789,7 @@ static void Task_ApplauseOverflowAnimation(u8 taskId)
|
||||
static void SlideApplauseMeterIn(void)
|
||||
{
|
||||
CreateTask(Task_SlideApplauseMeterIn, 10);
|
||||
gSprites[eContest.applauseMeterSpriteId].pos2.x = -70;
|
||||
gSprites[eContest.applauseMeterSpriteId].x2 = -70;
|
||||
gSprites[eContest.applauseMeterSpriteId].invisible = FALSE;
|
||||
eContest.applauseMeterIsMoving = TRUE;
|
||||
}
|
||||
@@ -4799,11 +4799,11 @@ static void Task_SlideApplauseMeterIn(u8 taskId)
|
||||
struct Sprite *sprite = &gSprites[eContest.applauseMeterSpriteId];
|
||||
|
||||
gTasks[taskId].data[10] += 1664;
|
||||
sprite->pos2.x += gTasks[taskId].data[10] >> 8;
|
||||
sprite->x2 += gTasks[taskId].data[10] >> 8;
|
||||
gTasks[taskId].data[10] = gTasks[taskId].data[10] & 0xFF;
|
||||
if (sprite->pos2.x > 0)
|
||||
sprite->pos2.x = 0;
|
||||
if (sprite->pos2.x == 0)
|
||||
if (sprite->x2 > 0)
|
||||
sprite->x2 = 0;
|
||||
if (sprite->x2 == 0)
|
||||
{
|
||||
eContest.applauseMeterIsMoving = FALSE;
|
||||
DestroyTask(taskId);
|
||||
@@ -4819,7 +4819,7 @@ static void SlideApplauseMeterOut(void)
|
||||
else
|
||||
{
|
||||
CreateTask(Task_SlideApplauseMeterOut, 10);
|
||||
gSprites[eContest.applauseMeterSpriteId].pos2.x = 0;
|
||||
gSprites[eContest.applauseMeterSpriteId].x2 = 0;
|
||||
eContest.applauseMeterIsMoving = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -4829,11 +4829,11 @@ static void Task_SlideApplauseMeterOut(u8 taskId)
|
||||
struct Sprite *sprite = &gSprites[eContest.applauseMeterSpriteId];
|
||||
|
||||
gTasks[taskId].data[10] += 1664;
|
||||
sprite->pos2.x -= gTasks[taskId].data[10] >> 8;
|
||||
sprite->x2 -= gTasks[taskId].data[10] >> 8;
|
||||
gTasks[taskId].data[10] = gTasks[taskId].data[10] & 0xFF;
|
||||
if (sprite->pos2.x < -70)
|
||||
sprite->pos2.x = -70;
|
||||
if (sprite->pos2.x == -70)
|
||||
if (sprite->x2 < -70)
|
||||
sprite->x2 = -70;
|
||||
if (sprite->x2 == -70)
|
||||
{
|
||||
sprite->invisible = TRUE;
|
||||
eContest.applauseMeterIsMoving = FALSE;
|
||||
@@ -4878,7 +4878,7 @@ static void Task_ShowAndUpdateApplauseMeter(u8 taskId)
|
||||
// Unused.
|
||||
static void HideApplauseMeterNoAnim(void)
|
||||
{
|
||||
gSprites[eContest.applauseMeterSpriteId].pos2.x = 0;
|
||||
gSprites[eContest.applauseMeterSpriteId].x2 = 0;
|
||||
gSprites[eContest.applauseMeterSpriteId].invisible = FALSE;
|
||||
}
|
||||
|
||||
@@ -5017,7 +5017,7 @@ static void ShowHideNextTurnGfx(bool8 show)
|
||||
if (eContestantStatus[i].turnOrderMod != 0 && show)
|
||||
{
|
||||
CpuCopy32(GetTurnOrderNumberGfx(i), (void *)(OBJ_VRAM0 + (gSprites[eContestGfxState[i].nextTurnSpriteId].oam.tileNum + 6) * 32), 32);
|
||||
gSprites[eContestGfxState[i].nextTurnSpriteId].pos1.y = sNextTurnSpriteYPositions[gContestantTurnOrder[i]];
|
||||
gSprites[eContestGfxState[i].nextTurnSpriteId].y = sNextTurnSpriteYPositions[gContestantTurnOrder[i]];
|
||||
gSprites[eContestGfxState[i].nextTurnSpriteId].invisible = FALSE;
|
||||
}
|
||||
else
|
||||
@@ -5379,10 +5379,10 @@ static void SetBattleTargetSpritePosition(void)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[gBattlerSpriteIds[B_POSITION_OPPONENT_RIGHT]];
|
||||
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(B_POSITION_OPPONENT_RIGHT, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(B_POSITION_OPPONENT_RIGHT, BATTLER_COORD_Y);
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->x = GetBattlerSpriteCoord(B_POSITION_OPPONENT_RIGHT, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord(B_POSITION_OPPONENT_RIGHT, BATTLER_COORD_Y);
|
||||
sprite->invisible = TRUE;
|
||||
}
|
||||
|
||||
@@ -5956,7 +5956,7 @@ static void ContestDebugPrintBitStrings(void)
|
||||
|
||||
if (!gEnableContestDebugging)
|
||||
return;
|
||||
|
||||
|
||||
if (eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_WINNER_FLAGS && eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_LOSER_FLAGS)
|
||||
return;
|
||||
|
||||
|
||||
+2
-2
@@ -1732,7 +1732,7 @@ static void ContestAICmd_if_user_doesnt_have_exciting_move(void)
|
||||
|
||||
// BUG: This is checking if the user has a specific move, but when it's used in the AI script
|
||||
// they're checking for an effect. Checking for a specific effect would make more sense,
|
||||
// but given that effects are normally read as a single byte and this reads 2 bytes, it
|
||||
// but given that effects are normally read as a single byte and this reads 2 bytes, it
|
||||
// seems reading a move was intended and the AI script is using it incorrectly.
|
||||
// The fix below aligns the function with how it's used by the script, rather than the apparent
|
||||
// intention of its usage
|
||||
@@ -1750,7 +1750,7 @@ static void ContestAICmd_check_user_has_move(void)
|
||||
#else
|
||||
u16 move = gContestMons[eContestAI.contestantId].moves[i];
|
||||
#endif
|
||||
|
||||
|
||||
if (move == targetMove)
|
||||
{
|
||||
hasMove = TRUE;
|
||||
|
||||
@@ -68,9 +68,9 @@ bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove)
|
||||
|
||||
if (lastMoveComboStarterId == 0)
|
||||
return FALSE;
|
||||
else if (lastMoveComboStarterId == nextMoveComboMoves[0]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[1]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[2]
|
||||
else if (lastMoveComboStarterId == nextMoveComboMoves[0]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[1]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[2]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[3])
|
||||
return gComboStarterLookupTable[lastMoveComboStarterId];
|
||||
else
|
||||
|
||||
+2
-2
@@ -61,7 +61,7 @@ void Task_LinkContest_Init(u8 taskId)
|
||||
|
||||
for (i = 0; i < CONTESTANT_COUNT; i++)
|
||||
gBlockRecvBuffer[i][0] = 0xFF;
|
||||
|
||||
|
||||
gTasks[taskId].tState = 0;
|
||||
gTasks[taskId].func = Task_LinkContest_StartInitFlags;
|
||||
}
|
||||
@@ -99,7 +99,7 @@ bool32 LinkContest_TryLinkStandby(s16 *state)
|
||||
// Skip standby for RS cabled links
|
||||
if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER)
|
||||
return TRUE;
|
||||
|
||||
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
|
||||
@@ -88,7 +88,7 @@ static void Task_LinkContest_SetUpContestEm(u8 taskId)
|
||||
|
||||
for (i = 0; i < gNumLinkContestPlayers; i++)
|
||||
categories[i] = gTasks[taskId].data[i + 1];
|
||||
|
||||
|
||||
// Ensure all players are doing the same category
|
||||
for (i = 0; i < gNumLinkContestPlayers && categories[0] == categories[i]; i++)
|
||||
;
|
||||
@@ -100,7 +100,7 @@ static void Task_LinkContest_SetUpContestEm(u8 taskId)
|
||||
|
||||
for (i = 0; i < gNumLinkContestPlayers; i++)
|
||||
leaderIds[i] = gTasks[taskId].data[i + 5];
|
||||
|
||||
|
||||
// If < 4 players and player is leader, set AI contestants based on rank and game clear
|
||||
if (gNumLinkContestPlayers != CONTESTANT_COUNT && GetMultiplayerId() == 0)
|
||||
{
|
||||
@@ -113,7 +113,7 @@ static void Task_LinkContest_SetUpContestEm(u8 taskId)
|
||||
|
||||
if (rank)
|
||||
rank--;
|
||||
|
||||
|
||||
gameCleared = TRUE;
|
||||
for (i = 0; i < gNumLinkContestPlayers; i++)
|
||||
{
|
||||
@@ -202,7 +202,7 @@ static void Task_LinkContest_CommunicateRngEm(u8 taskId)
|
||||
// Only the leader sends the RNG seed
|
||||
if (!IsLinkTaskFinished())
|
||||
return;
|
||||
|
||||
|
||||
if (LinkContest_SendBlock(&gRngValue, sizeof(gRngValue)) == 1)
|
||||
gTasks[taskId].data[0]++;
|
||||
}
|
||||
@@ -321,7 +321,7 @@ static void Task_LinkContest_CommunicateAIMonsEm(u8 taskId)
|
||||
{
|
||||
if (!IsLinkTaskFinished())
|
||||
return;
|
||||
|
||||
|
||||
if (LinkContest_SendBlock(&gContestMons[gNumLinkContestPlayers], (CONTESTANT_COUNT - gNumLinkContestPlayers) * sizeof(struct ContestPokemon)) == 1)
|
||||
gTasks[taskId].data[0]++;
|
||||
}
|
||||
|
||||
+39
-39
@@ -1194,16 +1194,16 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId)
|
||||
|
||||
for (i = 1; i < (int)ARRAY_COUNT(spriteTilePtrs); i++)
|
||||
spriteTilePtrs[i] = (void*)(gSprites[sprite->data[i - 1]].oam.tileNum * 32 + OBJ_VRAM0);
|
||||
|
||||
|
||||
for (i = 0; i < (int)ARRAY_COUNT(spriteTilePtrs); i++)
|
||||
CpuFill32(0, spriteTilePtrs[i], 0x400);
|
||||
|
||||
|
||||
dst = spriteTilePtrs[0];
|
||||
CpuCopy32(src, dst, 0x20);
|
||||
CpuCopy32(src + 128, dst + 0x100, 0x20);
|
||||
CpuCopy32(src + 128, dst + 0x200, 0x20);
|
||||
CpuCopy32(src + 64, dst + 0x300, 0x20);
|
||||
|
||||
|
||||
for (i = 0; i < strWidth; i++)
|
||||
{
|
||||
dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32];
|
||||
@@ -1236,7 +1236,7 @@ static void CreateResultsTextWindowSprites(void)
|
||||
LoadSpriteSheet(&sSpriteSheets_ResultsTextWindow[i]);
|
||||
|
||||
LoadSpritePalette(&sSpritePalette_ResultsTextWindow);
|
||||
|
||||
|
||||
// Create sprites for the two window types, each made up of 4 sprites
|
||||
for (i = 0; i < (int)ARRAY_COUNT(sSpriteSheets_ResultsTextWindow); i++)
|
||||
{
|
||||
@@ -1269,10 +1269,10 @@ static void CreateResultsTextWindowSprites(void)
|
||||
static void StartTextBoxSlideIn(s16 x, u16 y, u16 slideOutTimer, u16 slideIncrement)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[sContestResults->data->slidingTextBoxSpriteId];
|
||||
sprite->pos1.x = TEXT_BOX_X;
|
||||
sprite->pos1.y = y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x = TEXT_BOX_X;
|
||||
sprite->y = y;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->sTargetX = x + 32;
|
||||
sprite->sSlideOutTimer = slideOutTimer;
|
||||
sprite->sSlideIncrement = slideIncrement;
|
||||
@@ -1284,10 +1284,10 @@ static void StartTextBoxSlideIn(s16 x, u16 y, u16 slideOutTimer, u16 slideIncrem
|
||||
static void StartTextBoxSlideOut(u16 slideIncrement)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[sContestResults->data->slidingTextBoxSpriteId];
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->sSlideIncrement = slideIncrement;
|
||||
sprite->sDistance = 0;
|
||||
sprite->callback = SpriteCB_TextBoxSlideOut;
|
||||
@@ -1296,10 +1296,10 @@ static void StartTextBoxSlideOut(u16 slideIncrement)
|
||||
|
||||
static void EndTextBoxSlideOut(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = TEXT_BOX_X;
|
||||
sprite->pos1.y = TEXT_BOX_Y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x = TEXT_BOX_X;
|
||||
sprite->y = TEXT_BOX_Y;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
sContestResults->data->slidingTextBoxState = SLIDING_TEXT_OFFSCREEN;
|
||||
}
|
||||
@@ -1309,21 +1309,21 @@ static void SpriteCB_TextBoxSlideIn(struct Sprite *sprite)
|
||||
int i;
|
||||
|
||||
s16 delta = sprite->sDistance + sprite->sSlideIncrement;
|
||||
sprite->pos1.x -= delta >> 8;
|
||||
sprite->x -= delta >> 8;
|
||||
sprite->sDistance += sprite->sSlideIncrement;
|
||||
sprite->sDistance &= 0xFF;
|
||||
|
||||
// Prevent overshooting target
|
||||
if (sprite->pos1.x < sprite->sTargetX)
|
||||
sprite->pos1.x = sprite->sTargetX;
|
||||
if (sprite->x < sprite->sTargetX)
|
||||
sprite->x = sprite->sTargetX;
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
struct Sprite *sprite2 = &gSprites[sprite->data[i]];
|
||||
sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x + (i + 1) * 64;
|
||||
sprite2->x = sprite->x + sprite->x2 + (i + 1) * 64;
|
||||
}
|
||||
|
||||
if (sprite->pos1.x == sprite->sTargetX)
|
||||
if (sprite->x == sprite->sTargetX)
|
||||
sprite->callback = SpriteCB_EndTextBoxSlideIn;
|
||||
}
|
||||
|
||||
@@ -1343,16 +1343,16 @@ static void SpriteCB_TextBoxSlideOut(struct Sprite *sprite)
|
||||
s16 delta;
|
||||
|
||||
delta = sprite->sDistance + sprite->sSlideIncrement;
|
||||
sprite->pos1.x -= delta >> 8;
|
||||
sprite->x -= delta >> 8;
|
||||
sprite->sDistance += sprite->sSlideIncrement;
|
||||
sprite->sDistance &= 0xFF;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
struct Sprite *sprite2 = &gSprites[sprite->data[i]];
|
||||
sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x + (i + 1) * 64;
|
||||
sprite2->x = sprite->x + sprite->x2 + (i + 1) * 64;
|
||||
}
|
||||
|
||||
if (sprite->pos1.x + sprite->pos2.x < -224)
|
||||
if (sprite->x + sprite->x2 < -224)
|
||||
EndTextBoxSlideOut(sprite);
|
||||
}
|
||||
|
||||
@@ -1364,18 +1364,18 @@ static void ShowLinkResultsTextBox(const u8 *text)
|
||||
|
||||
x = DrawResultsTextWindow(text, sContestResults->data->linkTextBoxSpriteId);
|
||||
sprite = &gSprites[sContestResults->data->linkTextBoxSpriteId];
|
||||
sprite->pos1.x = x + 32;
|
||||
sprite->pos1.y = 80;
|
||||
sprite->x = x + 32;
|
||||
sprite->y = 80;
|
||||
sprite->invisible = FALSE;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
gSprites[sprite->data[i]].pos1.x = sprite->pos1.x + sprite->pos2.x + (i + 1) * 64;
|
||||
gSprites[sprite->data[i]].pos1.y = sprite->pos1.y;
|
||||
gSprites[sprite->data[i]].x = sprite->x + sprite->x2 + (i + 1) * 64;
|
||||
gSprites[sprite->data[i]].y = sprite->y;
|
||||
gSprites[sprite->data[i]].invisible = FALSE;
|
||||
}
|
||||
|
||||
gBattle_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH);
|
||||
gBattle_WIN0V = WIN_RANGE(sprite->pos1.y - 16, sprite->pos1.y + 16);
|
||||
gBattle_WIN0V = WIN_RANGE(sprite->y - 16, sprite->y + 16);
|
||||
SetGpuReg(REG_OFFSET_WININ, WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR
|
||||
| WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR);
|
||||
}
|
||||
@@ -1585,13 +1585,13 @@ static void SpriteCB_WinnerMonSlideIn(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
s16 delta = sprite->data[1] + 0x600;
|
||||
sprite->pos1.x -= delta >> 8;
|
||||
sprite->x -= delta >> 8;
|
||||
sprite->data[1] += 0x600;
|
||||
sprite->data[1] &= 0xFF;
|
||||
if (sprite->pos1.x < DISPLAY_WIDTH / 2)
|
||||
sprite->pos1.x = DISPLAY_WIDTH / 2;
|
||||
if (sprite->x < DISPLAY_WIDTH / 2)
|
||||
sprite->x = DISPLAY_WIDTH / 2;
|
||||
|
||||
if (sprite->pos1.x == DISPLAY_WIDTH / 2)
|
||||
if (sprite->x == DISPLAY_WIDTH / 2)
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
sprite->data[1] = 0;
|
||||
@@ -1603,10 +1603,10 @@ static void SpriteCB_WinnerMonSlideIn(struct Sprite *sprite)
|
||||
static void SpriteCB_WinnerMonSlideOut(struct Sprite *sprite)
|
||||
{
|
||||
s16 delta = sprite->data[1] + 0x600;
|
||||
sprite->pos1.x -= delta >> 8;
|
||||
sprite->x -= delta >> 8;
|
||||
sprite->data[1] += + 0x600;
|
||||
sprite->data[1] &= 0xFF;
|
||||
if (sprite->pos1.x < -32)
|
||||
if (sprite->x < -32)
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
sprite->invisible = TRUE;
|
||||
@@ -1639,17 +1639,17 @@ static void SpriteCB_Confetti(struct Sprite *sprite)
|
||||
s16 delta;
|
||||
|
||||
sprite->data[3] += sprite->data[0];
|
||||
sprite->pos2.x = Sin(sprite->data[3] >> 8, sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[3] >> 8, sprite->data[1]);
|
||||
delta = sprite->data[4] + sprite->data[2];
|
||||
sprite->pos1.x += delta >> 8;
|
||||
sprite->x += delta >> 8;
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->data[4] &= 0xff;
|
||||
|
||||
sprite->pos1.y++;
|
||||
sprite->y++;
|
||||
if (sContestResults->data->destroyConfetti)
|
||||
sprite->invisible = TRUE;
|
||||
|
||||
if (sprite->pos1.x > DISPLAY_WIDTH + 8 || sprite->pos1.y > 116)
|
||||
if (sprite->x > DISPLAY_WIDTH + 8 || sprite->y > 116)
|
||||
{
|
||||
DestroySprite(sprite);
|
||||
sContestResults->data->confettiCount--;
|
||||
|
||||
+48
-48
@@ -759,7 +759,7 @@ static void Task_UpdatePage(u8 taskId)
|
||||
for (i = 0; i < ENTRIES_PER_PAGE; i++)
|
||||
PrintCreditsText(
|
||||
sCreditsEntryPointerTable[gTasks[taskId].tCurrentPage][i]->text,
|
||||
5 + i * 16,
|
||||
5 + i * 16,
|
||||
sCreditsEntryPointerTable[gTasks[taskId].tCurrentPage][i]->isTitle);
|
||||
CopyWindowToVram(0, 2);
|
||||
|
||||
@@ -911,9 +911,9 @@ static void Task_ShowMons(u8 taskId)
|
||||
case 2:
|
||||
if (sCreditsData->imgCounter == NUM_MON_SLIDES || gTasks[gTasks[taskId].tMainTaskId].func != Task_CreditsMain)
|
||||
break;
|
||||
spriteId = CreateCreditsMonSprite(sCreditsData->monToShow[sCreditsData->currShownMon],
|
||||
sMonSpritePos[sCreditsData->nextImgPos][0],
|
||||
sMonSpritePos[sCreditsData->nextImgPos][1],
|
||||
spriteId = CreateCreditsMonSprite(sCreditsData->monToShow[sCreditsData->currShownMon],
|
||||
sMonSpritePos[sCreditsData->nextImgPos][0],
|
||||
sMonSpritePos[sCreditsData->nextImgPos][1],
|
||||
sCreditsData->nextImgPos);
|
||||
if (sCreditsData->currShownMon < sCreditsData->numMonToShow - 1)
|
||||
{
|
||||
@@ -1103,10 +1103,10 @@ static void SetBikeScene(u8 scene, u8 taskId)
|
||||
case SCENE_OCEAN_MORNING:
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.x = DISPLAY_WIDTH + 32;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.x = DISPLAY_WIDTH + 32;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].x = DISPLAY_WIDTH + 32;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].x = DISPLAY_WIDTH + 32;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].data[0] = 0;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].data[0] = 0;
|
||||
gTasks[taskId].tTaskId_BgScenery = CreateBicycleBgAnimationTask(0, 0x2000, 0x20, 8);
|
||||
@@ -1114,10 +1114,10 @@ static void SetBikeScene(u8 scene, u8 taskId)
|
||||
case SCENE_OCEAN_SUNSET:
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.x = 120;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.x = DISPLAY_WIDTH + 32;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].x = 120;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].x = DISPLAY_WIDTH + 32;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].data[0] = 0;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].data[0] = 0;
|
||||
gTasks[taskId].tTaskId_BgScenery = CreateBicycleBgAnimationTask(0, 0x2000, 0x20, 8);
|
||||
@@ -1125,10 +1125,10 @@ static void SetBikeScene(u8 scene, u8 taskId)
|
||||
case SCENE_FOREST_RIVAL_ARRIVE:
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.x = 120;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.x = DISPLAY_WIDTH + 32;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].x = 120;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].x = DISPLAY_WIDTH + 32;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].data[0] = 0;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].data[0] = 0;
|
||||
gTasks[taskId].tTaskId_BgScenery = CreateBicycleBgAnimationTask(1, 0x2000, 0x200, 8);
|
||||
@@ -1136,10 +1136,10 @@ static void SetBikeScene(u8 scene, u8 taskId)
|
||||
case SCENE_FOREST_CATCH_RIVAL:
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.x = 120;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.x = -32;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].x = 120;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].x = -32;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].data[0] = 0;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].data[0] = 0;
|
||||
gTasks[taskId].tTaskId_BgScenery = CreateBicycleBgAnimationTask(1, 0x2000, 0x200, 8);
|
||||
@@ -1147,10 +1147,10 @@ static void SetBikeScene(u8 scene, u8 taskId)
|
||||
case SCENE_CITY_NIGHT:
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].invisible = FALSE;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.x = 88;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.x = 152;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].pos1.y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].x = 88;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].x = 152;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].y = 46;
|
||||
gSprites[gTasks[taskId].tPlayerSpriteId].data[0] = 0;
|
||||
gSprites[gTasks[taskId].tRivalSpriteId].data[0] = 0;
|
||||
gTasks[taskId].tTaskId_BgScenery = CreateBicycleBgAnimationTask(2, 0x2000, 0x200, 8);
|
||||
@@ -1359,8 +1359,8 @@ static void SpriteCB_Player(struct Sprite *sprite)
|
||||
break;
|
||||
case 1:
|
||||
StartSpriteAnimIfDifferent(sprite, 1);
|
||||
if (sprite->pos1.x > -32)
|
||||
sprite->pos1.x--;
|
||||
if (sprite->x > -32)
|
||||
sprite->x--;
|
||||
break;
|
||||
case 2:
|
||||
StartSpriteAnimIfDifferent(sprite, 2);
|
||||
@@ -1370,13 +1370,13 @@ static void SpriteCB_Player(struct Sprite *sprite)
|
||||
break;
|
||||
case 4:
|
||||
StartSpriteAnimIfDifferent(sprite, 0);
|
||||
if (sprite->pos1.x > 120)
|
||||
sprite->pos1.x--;
|
||||
if (sprite->x > 120)
|
||||
sprite->x--;
|
||||
break;
|
||||
case 5:
|
||||
StartSpriteAnimIfDifferent(sprite, 0);
|
||||
if (sprite->pos1.x > -32)
|
||||
sprite->pos1.x--;
|
||||
if (sprite->x > -32)
|
||||
sprite->x--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1392,28 +1392,28 @@ static void SpriteCB_Rival(struct Sprite *sprite)
|
||||
switch (sprite->sState)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
StartSpriteAnimIfDifferent(sprite, 0);
|
||||
break;
|
||||
case 1:
|
||||
if (sprite->pos1.x > 200)
|
||||
if (sprite->x > 200)
|
||||
StartSpriteAnimIfDifferent(sprite, 1);
|
||||
else
|
||||
StartSpriteAnimIfDifferent(sprite, 2);
|
||||
if (sprite->pos1.x > -32)
|
||||
sprite->pos1.x -= 2;
|
||||
sprite->pos2.y = -gIntroCredits_MovingSceneryVOffset;
|
||||
if (sprite->x > -32)
|
||||
sprite->x -= 2;
|
||||
sprite->y2 = -gIntroCredits_MovingSceneryVOffset;
|
||||
break;
|
||||
case 2:
|
||||
sprite->data[7]++;
|
||||
StartSpriteAnimIfDifferent(sprite, 0);
|
||||
if ((sprite->data[7] & 3) == 0)
|
||||
sprite->pos1.x++;
|
||||
sprite->x++;
|
||||
break;
|
||||
case 3:
|
||||
StartSpriteAnimIfDifferent(sprite, 0);
|
||||
if (sprite->pos1.x > -32)
|
||||
sprite->pos1.x--;
|
||||
if (sprite->x > -32)
|
||||
sprite->x--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1455,15 +1455,15 @@ static void SpriteCB_CreditsMon(struct Sprite *sprite)
|
||||
{
|
||||
case POS_LEFT + 1:
|
||||
if ((sprite->data[7] & 3) == 0)
|
||||
sprite->pos1.y++;
|
||||
sprite->pos1.x -= 2;
|
||||
sprite->y++;
|
||||
sprite->x -= 2;
|
||||
break;
|
||||
case POS_CENTER + 1:
|
||||
break;
|
||||
case POS_RIGHT + 1:
|
||||
if ((sprite->data[7] & 3) == 0)
|
||||
sprite->pos1.y++;
|
||||
sprite->pos1.x += 2;
|
||||
sprite->y++;
|
||||
sprite->x += 2;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -1522,7 +1522,7 @@ static u8 CreateCreditsMonSprite(u16 nationalDexNum, s16 x, s16 y, u16 position)
|
||||
gSprites[monSpriteId].callback = SpriteCB_CreditsMon;
|
||||
gSprites[monSpriteId].sSpriteId = monSpriteId;
|
||||
|
||||
bgSpriteId = CreateSprite(&sSpriteTemplate_CreditsMonBg, gSprites[monSpriteId].pos1.x, gSprites[monSpriteId].pos1.y, 1);
|
||||
bgSpriteId = CreateSprite(&sSpriteTemplate_CreditsMonBg, gSprites[monSpriteId].x, gSprites[monSpriteId].y, 1);
|
||||
gSprites[bgSpriteId].sMonSpriteId = monSpriteId;
|
||||
|
||||
StartSpriteAnimIfDifferent(&gSprites[bgSpriteId], position);
|
||||
@@ -1532,7 +1532,7 @@ static u8 CreateCreditsMonSprite(u16 nationalDexNum, s16 x, s16 y, u16 position)
|
||||
|
||||
static void SpriteCB_CreditsMonBg(struct Sprite *sprite)
|
||||
{
|
||||
if (gSprites[sprite->sMonSpriteId].data[0] == 10
|
||||
if (gSprites[sprite->sMonSpriteId].data[0] == 10
|
||||
|| gIntroCredits_MovingSceneryState != INTROCRED_SCENERY_NORMAL)
|
||||
{
|
||||
DestroySprite(sprite);
|
||||
@@ -1544,8 +1544,8 @@ static void SpriteCB_CreditsMonBg(struct Sprite *sprite)
|
||||
sprite->oam.objMode = gSprites[sprite->sMonSpriteId].oam.objMode;
|
||||
sprite->oam.affineMode = gSprites[sprite->sMonSpriteId].oam.affineMode;
|
||||
sprite->oam.matrixNum = gSprites[sprite->sMonSpriteId].oam.matrixNum;
|
||||
sprite->pos1.x = gSprites[sprite->sMonSpriteId].pos1.x;
|
||||
sprite->pos1.y = gSprites[sprite->sMonSpriteId].pos1.y;
|
||||
sprite->x = gSprites[sprite->sMonSpriteId].x;
|
||||
sprite->y = gSprites[sprite->sMonSpriteId].y;
|
||||
}
|
||||
|
||||
static void DeterminePokemonToShow(void)
|
||||
@@ -1554,7 +1554,7 @@ static void DeterminePokemonToShow(void)
|
||||
u16 page;
|
||||
u16 dexNum;
|
||||
u16 j;
|
||||
|
||||
|
||||
// Go through the Pokedex, and anything that has gotten caught we put into our massive array.
|
||||
// This basically packs all of the caught pokemon into the front of the array
|
||||
for (dexNum = 1, j = 0; dexNum < NATIONAL_DEX_COUNT; dexNum++)
|
||||
@@ -1584,7 +1584,7 @@ static void DeterminePokemonToShow(void)
|
||||
// Select a random mon, insert into array
|
||||
page = Random() % sCreditsData->numCaughtMon;
|
||||
sCreditsData->monToShow[j] = sCreditsData->caughtMonIds[page];
|
||||
|
||||
|
||||
// Remove the select mon from the array, and condense array entries
|
||||
j++;
|
||||
sCreditsData->caughtMonIds[page] = 0;
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ GPIOPortReadEnable: @ 80000C8
|
||||
.4byte gMoveNames
|
||||
.4byte gDecorations
|
||||
|
||||
.4byte 0x00001270 @ offsetof(struct SaveBlock1, flags)
|
||||
.4byte 0x00001270 @ offsetof(struct SaveBlock1, flags)
|
||||
.4byte 0x0000139c @ offsetof(struct SaveBlock1, vars)
|
||||
.4byte 0x00000018 @ offsetof(struct SaveBlock2, pokedex)
|
||||
.4byte 0x00000988 @ offsetof(struct SaveBlock1, seen1)
|
||||
|
||||
@@ -934,18 +934,18 @@ static const bool8 sValidApprenticeMoves[MOVES_COUNT] =
|
||||
// WHICH_MOVE has max 5 occurrences, defined as NUM_WHICH_MOVE_QUESTIONS
|
||||
// WHICH_FIRST has max 1 occurrence, lead mon should only be chosen once
|
||||
// WHICH_SPEECH has max 1 occurrence, as the apprentice leaves after its asked
|
||||
static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] =
|
||||
static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] =
|
||||
{
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_FIRST,
|
||||
QUESTION_ID_WIN_SPEECH
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_FIRST,
|
||||
QUESTION_ID_WIN_SPEECH
|
||||
};
|
||||
|
||||
static void (* const sApprenticeFunctions[])(void) =
|
||||
|
||||
@@ -1,51 +1,51 @@
|
||||
static const u16 sFrontierExchangeCorner_Decor1[] =
|
||||
{
|
||||
DECOR_KISS_POSTER,
|
||||
DECOR_KISS_CUSHION,
|
||||
DECOR_SMOOCHUM_DOLL,
|
||||
DECOR_TOGEPI_DOLL,
|
||||
DECOR_MEOWTH_DOLL,
|
||||
DECOR_CLEFAIRY_DOLL,
|
||||
DECOR_DITTO_DOLL,
|
||||
DECOR_CYNDAQUIL_DOLL,
|
||||
DECOR_CHIKORITA_DOLL,
|
||||
DECOR_TOTODILE_DOLL,
|
||||
0xFFFF
|
||||
{
|
||||
DECOR_KISS_POSTER,
|
||||
DECOR_KISS_CUSHION,
|
||||
DECOR_SMOOCHUM_DOLL,
|
||||
DECOR_TOGEPI_DOLL,
|
||||
DECOR_MEOWTH_DOLL,
|
||||
DECOR_CLEFAIRY_DOLL,
|
||||
DECOR_DITTO_DOLL,
|
||||
DECOR_CYNDAQUIL_DOLL,
|
||||
DECOR_CHIKORITA_DOLL,
|
||||
DECOR_TOTODILE_DOLL,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sFrontierExchangeCorner_Decor2[] =
|
||||
{
|
||||
DECOR_LAPRAS_DOLL,
|
||||
DECOR_SNORLAX_DOLL,
|
||||
DECOR_VENUSAUR_DOLL,
|
||||
DECOR_CHARIZARD_DOLL,
|
||||
DECOR_BLASTOISE_DOLL,
|
||||
0xFFFF
|
||||
{
|
||||
DECOR_LAPRAS_DOLL,
|
||||
DECOR_SNORLAX_DOLL,
|
||||
DECOR_VENUSAUR_DOLL,
|
||||
DECOR_CHARIZARD_DOLL,
|
||||
DECOR_BLASTOISE_DOLL,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sFrontierExchangeCorner_Vitamins[] =
|
||||
{
|
||||
ITEM_PROTEIN,
|
||||
ITEM_CALCIUM,
|
||||
ITEM_IRON,
|
||||
ITEM_ZINC,
|
||||
ITEM_CARBOS,
|
||||
ITEM_HP_UP,
|
||||
0xFFFF
|
||||
{
|
||||
ITEM_PROTEIN,
|
||||
ITEM_CALCIUM,
|
||||
ITEM_IRON,
|
||||
ITEM_ZINC,
|
||||
ITEM_CARBOS,
|
||||
ITEM_HP_UP,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sFrontierExchangeCorner_HoldItems[] =
|
||||
{
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_WHITE_HERB,
|
||||
ITEM_QUICK_CLAW,
|
||||
ITEM_MENTAL_HERB,
|
||||
ITEM_BRIGHT_POWDER,
|
||||
ITEM_CHOICE_BAND,
|
||||
ITEM_KINGS_ROCK,
|
||||
ITEM_FOCUS_BAND,
|
||||
ITEM_SCOPE_LENS,
|
||||
0xFFFF
|
||||
{
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_WHITE_HERB,
|
||||
ITEM_QUICK_CLAW,
|
||||
ITEM_MENTAL_HERB,
|
||||
ITEM_BRIGHT_POWDER,
|
||||
ITEM_CHOICE_BAND,
|
||||
ITEM_KINGS_ROCK,
|
||||
ITEM_FOCUS_BAND,
|
||||
ITEM_SCOPE_LENS,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] =
|
||||
@@ -63,7 +63,7 @@ static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] =
|
||||
gText_Exit,
|
||||
};
|
||||
|
||||
static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] =
|
||||
{
|
||||
BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
|
||||
BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
|
||||
@@ -73,7 +73,7 @@ static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] =
|
||||
gText_Exit
|
||||
};
|
||||
|
||||
static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] =
|
||||
{
|
||||
BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc,
|
||||
BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc,
|
||||
@@ -84,7 +84,7 @@ static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] =
|
||||
gText_Exit
|
||||
};
|
||||
|
||||
static const u8 *const sFrontierExchangeCorner_HoldItemsDescriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_HoldItemsDescriptions[] =
|
||||
{
|
||||
BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc,
|
||||
BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
// Slateport Battle Tent.
|
||||
const u16 gSlateportBattleTentTrainerMons_Jolie[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Jolie[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_CACNEA_1,
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
@@ -15,7 +15,7 @@ const u16 gSlateportBattleTentTrainerMons_Jolie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Malachi[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Malachi[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_CACNEA_1,
|
||||
SLATEPORT_TENT_MON_GRAVELER,
|
||||
@@ -31,7 +31,7 @@ const u16 gSlateportBattleTentTrainerMons_Malachi[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kelsie[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kelsie[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_1,
|
||||
SLATEPORT_TENT_MON_WAILMER_2,
|
||||
@@ -47,7 +47,7 @@ const u16 gSlateportBattleTentTrainerMons_Kelsie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Davon[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Davon[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_1,
|
||||
SLATEPORT_TENT_MON_WAILMER_2,
|
||||
@@ -64,7 +64,7 @@ const u16 gSlateportBattleTentTrainerMons_Davon[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Glenda[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Glenda[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -82,7 +82,7 @@ const u16 gSlateportBattleTentTrainerMons_Glenda[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Helena[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Helena[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_MIGHTYENA_1,
|
||||
SLATEPORT_TENT_MON_MIGHTYENA_2,
|
||||
@@ -98,7 +98,7 @@ const u16 gSlateportBattleTentTrainerMons_Helena[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Rodolfo[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Rodolfo[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -116,7 +116,7 @@ const u16 gSlateportBattleTentTrainerMons_Rodolfo[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Davion[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Davion[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_BALTOY,
|
||||
SLATEPORT_TENT_MON_VOLTORB,
|
||||
@@ -135,7 +135,7 @@ const u16 gSlateportBattleTentTrainerMons_Davion[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kendall[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kendall[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_1,
|
||||
SLATEPORT_TENT_MON_WINGULL_1,
|
||||
@@ -154,7 +154,7 @@ const u16 gSlateportBattleTentTrainerMons_Kendall[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Colten[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Colten[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_BEAUTIFLY,
|
||||
@@ -171,7 +171,7 @@ const u16 gSlateportBattleTentTrainerMons_Colten[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Irvin[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Irvin[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -189,7 +189,7 @@ const u16 gSlateportBattleTentTrainerMons_Irvin[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Shaun[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Shaun[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_BALTOY,
|
||||
SLATEPORT_TENT_MON_MIGHTYENA_1,
|
||||
@@ -207,7 +207,7 @@ const u16 gSlateportBattleTentTrainerMons_Shaun[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kyler[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kyler[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ELECTRIKE_1,
|
||||
SLATEPORT_TENT_MON_VOLTORB,
|
||||
@@ -224,7 +224,7 @@ const u16 gSlateportBattleTentTrainerMons_Kyler[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Maggie[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Maggie[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
SLATEPORT_TENT_MON_NUZLEAF,
|
||||
@@ -240,7 +240,7 @@ const u16 gSlateportBattleTentTrainerMons_Maggie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Stephon[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Stephon[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_PELIPPER_1,
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
@@ -256,7 +256,7 @@ const u16 gSlateportBattleTentTrainerMons_Stephon[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Rebecca[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Rebecca[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_PELIPPER_1,
|
||||
SLATEPORT_TENT_MON_NUZLEAF,
|
||||
@@ -272,7 +272,7 @@ const u16 gSlateportBattleTentTrainerMons_Rebecca[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Reggie[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Reggie[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_MARILL_1,
|
||||
SLATEPORT_TENT_MON_WINGULL_1,
|
||||
@@ -289,7 +289,7 @@ const u16 gSlateportBattleTentTrainerMons_Reggie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Janae[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Janae[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -306,7 +306,7 @@ const u16 gSlateportBattleTentTrainerMons_Janae[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Caiden[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Caiden[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
SLATEPORT_TENT_MON_NINJASK_1,
|
||||
@@ -324,7 +324,7 @@ const u16 gSlateportBattleTentTrainerMons_Caiden[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kirsten[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kirsten[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
SLATEPORT_TENT_MON_GRAVELER,
|
||||
@@ -342,7 +342,7 @@ const u16 gSlateportBattleTentTrainerMons_Kirsten[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kurtis[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kurtis[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -358,7 +358,7 @@ const u16 gSlateportBattleTentTrainerMons_Kurtis[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Stefan[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Stefan[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_1,
|
||||
SLATEPORT_TENT_MON_WAILMER_2,
|
||||
@@ -374,7 +374,7 @@ const u16 gSlateportBattleTentTrainerMons_Stefan[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Avery[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Avery[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_BEAUTIFLY,
|
||||
SLATEPORT_TENT_MON_DUSTOX,
|
||||
@@ -390,7 +390,7 @@ const u16 gSlateportBattleTentTrainerMons_Avery[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Dwane[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Dwane[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_NINJASK_1,
|
||||
SLATEPORT_TENT_MON_NINJASK_2,
|
||||
@@ -406,7 +406,7 @@ const u16 gSlateportBattleTentTrainerMons_Dwane[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Mckenna[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Mckenna[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_CACNEA_2,
|
||||
SLATEPORT_TENT_MON_SWELLOW,
|
||||
@@ -422,7 +422,7 @@ const u16 gSlateportBattleTentTrainerMons_Mckenna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Camryn[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Camryn[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_2,
|
||||
SLATEPORT_TENT_MON_MARILL_1,
|
||||
@@ -439,7 +439,7 @@ const u16 gSlateportBattleTentTrainerMons_Camryn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Natasha[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Natasha[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
SLATEPORT_TENT_MON_DUSTOX,
|
||||
@@ -455,7 +455,7 @@ const u16 gSlateportBattleTentTrainerMons_Natasha[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Austyn[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Austyn[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ARON_2,
|
||||
SLATEPORT_TENT_MON_LOUDRED,
|
||||
@@ -472,7 +472,7 @@ const u16 gSlateportBattleTentTrainerMons_Austyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Donovan[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Donovan[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
SLATEPORT_TENT_MON_GRAVELER,
|
||||
@@ -491,7 +491,7 @@ const u16 gSlateportBattleTentTrainerMons_Donovan[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Tamia[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Tamia[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_BEAUTIFLY,
|
||||
SLATEPORT_TENT_MON_MARILL_1,
|
||||
@@ -507,7 +507,7 @@ const u16 gSlateportBattleTentTrainerMons_Tamia[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
{
|
||||
[SLATEPORT_TENT_TRAINER_JOLIE] = {
|
||||
.facilityClass = FACILITY_CLASS_AROMA_LADY,
|
||||
@@ -751,7 +751,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_
|
||||
}
|
||||
};
|
||||
|
||||
const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
{
|
||||
[SLATEPORT_TENT_MON_ZIGZAGOON_1] = {
|
||||
.species = SPECIES_ZIGZAGOON,
|
||||
@@ -1246,7 +1246,7 @@ const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
};
|
||||
|
||||
// Verdanturf Battle Tent.
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Brenna[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Brenna[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_SHROOMISH,
|
||||
VERDANTURF_TENT_MON_SWALOT,
|
||||
@@ -1256,7 +1256,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Brenna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dilan[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dilan[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_GRAVELER,
|
||||
VERDANTURF_TENT_MON_TRAPINCH,
|
||||
@@ -1266,7 +1266,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Dilan[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Eliana[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Eliana[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MAGIKARP,
|
||||
VERDANTURF_TENT_MON_BARBOACH,
|
||||
@@ -1276,7 +1276,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Eliana[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Markus[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Markus[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MAGIKARP,
|
||||
VERDANTURF_TENT_MON_BARBOACH,
|
||||
@@ -1286,7 +1286,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Markus[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_KECLEON,
|
||||
@@ -1297,7 +1297,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Desiree[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Desiree[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_WINGULL,
|
||||
VERDANTURF_TENT_MON_KECLEON,
|
||||
@@ -1307,7 +1307,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Desiree[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ronald[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ronald[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_ZIGZAGOON,
|
||||
VERDANTURF_TENT_MON_LINOONE,
|
||||
@@ -1317,7 +1317,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Ronald[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ashten[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ashten[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_ARON_1,
|
||||
VERDANTURF_TENT_MON_KECLEON,
|
||||
@@ -1327,7 +1327,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Ashten[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Gerard[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Gerard[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MARILL,
|
||||
VERDANTURF_TENT_MON_BARBOACH,
|
||||
@@ -1337,7 +1337,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Gerard[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Bradly[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Bradly[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_NUZLEAF,
|
||||
VERDANTURF_TENT_MON_TAILLOW,
|
||||
@@ -1347,7 +1347,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Bradly[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dennis[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dennis[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_NINJASK,
|
||||
VERDANTURF_TENT_MON_TRAPINCH,
|
||||
@@ -1357,7 +1357,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Dennis[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Prestin[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Prestin[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_KADABRA,
|
||||
VERDANTURF_TENT_MON_MIGHTYENA,
|
||||
@@ -1369,7 +1369,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Prestin[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MAGNEMITE,
|
||||
VERDANTURF_TENT_MON_VOLTORB,
|
||||
@@ -1379,7 +1379,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Nala[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Nala[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_ZIGZAGOON,
|
||||
VERDANTURF_TENT_MON_SHROOMISH,
|
||||
@@ -1391,7 +1391,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Nala[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Darnell[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Darnell[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_SOLROCK,
|
||||
@@ -1402,7 +1402,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Darnell[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_SOLROCK,
|
||||
VERDANTURF_TENT_MON_MARILL,
|
||||
@@ -1414,7 +1414,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Addison[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Addison[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_ZIGZAGOON,
|
||||
@@ -1424,7 +1424,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Addison[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Justine[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Justine[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_ZIGZAGOON,
|
||||
@@ -1434,7 +1434,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Justine[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Tyson[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Tyson[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MACHOP,
|
||||
VERDANTURF_TENT_MON_MAKUHITA,
|
||||
@@ -1446,7 +1446,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Tyson[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Laila[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Laila[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MACHOP,
|
||||
VERDANTURF_TENT_MON_MAKUHITA,
|
||||
@@ -1457,7 +1457,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Laila[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Waren[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Waren[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_ARON_1,
|
||||
@@ -1467,7 +1467,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Waren[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Tobias[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Tobias[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MAGIKARP,
|
||||
VERDANTURF_TENT_MON_BARBOACH,
|
||||
@@ -1477,7 +1477,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Tobias[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Josiah[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Josiah[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_WINGULL,
|
||||
VERDANTURF_TENT_MON_SWABLU,
|
||||
@@ -1487,7 +1487,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Josiah[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dion[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dion[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_NINJASK,
|
||||
VERDANTURF_TENT_MON_DUSTOX,
|
||||
@@ -1498,7 +1498,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Dion[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_LOTAD,
|
||||
VERDANTURF_TENT_MON_NUMEL_1,
|
||||
@@ -1509,7 +1509,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Lillian[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Lillian[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_GOLDEEN_2,
|
||||
VERDANTURF_TENT_MON_PELIPPER,
|
||||
@@ -1519,7 +1519,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Lillian[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Lesley[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Lesley[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_NUZLEAF,
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
@@ -1529,7 +1529,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Lesley[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Marquis[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Marquis[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_GOLDEEN_2,
|
||||
VERDANTURF_TENT_MON_PELIPPER,
|
||||
@@ -1540,7 +1540,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Marquis[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Freddy[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Freddy[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_LOTAD,
|
||||
VERDANTURF_TENT_MON_SEVIPER,
|
||||
@@ -1550,7 +1550,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Freddy[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_SWELLOW,
|
||||
VERDANTURF_TENT_MON_NUZLEAF,
|
||||
@@ -1560,7 +1560,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
{
|
||||
[VERDANTURF_TENT_TRAINER_BRENNA] = {
|
||||
.facilityClass = FACILITY_CLASS_AROMA_LADY,
|
||||
@@ -1804,7 +1804,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[NUM_BATTLE_TENT
|
||||
}
|
||||
};
|
||||
|
||||
const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
{
|
||||
[VERDANTURF_TENT_MON_POOCHYENA] = {
|
||||
.species = SPECIES_POOCHYENA,
|
||||
@@ -2124,7 +2124,7 @@ const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
};
|
||||
|
||||
// Fallarbor Battle Tent.
|
||||
const u16 gFallarborBattleTentTrainerMons_Amber[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Amber[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_SWALOT,
|
||||
FALLARBOR_TENT_MON_SHROOMISH,
|
||||
@@ -2135,7 +2135,7 @@ const u16 gFallarborBattleTentTrainerMons_Amber[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Javier[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Javier[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_SOLROCK,
|
||||
FALLARBOR_TENT_MON_TRAPINCH,
|
||||
@@ -2146,7 +2146,7 @@ const u16 gFallarborBattleTentTrainerMons_Javier[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Natalie[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Natalie[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_MAGIKARP,
|
||||
FALLARBOR_TENT_MON_PELIPPER,
|
||||
@@ -2156,7 +2156,7 @@ const u16 gFallarborBattleTentTrainerMons_Natalie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Treve[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Treve[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_WINGULL,
|
||||
FALLARBOR_TENT_MON_PELIPPER,
|
||||
@@ -2166,7 +2166,7 @@ const u16 gFallarborBattleTentTrainerMons_Treve[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Arianna[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Arianna[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_ELECTRIKE,
|
||||
FALLARBOR_TENT_MON_LINOONE_2,
|
||||
@@ -2176,7 +2176,7 @@ const u16 gFallarborBattleTentTrainerMons_Arianna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Jadyn[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Jadyn[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NUMEL,
|
||||
FALLARBOR_TENT_MON_LOUDRED,
|
||||
@@ -2187,7 +2187,7 @@ const u16 gFallarborBattleTentTrainerMons_Jadyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Gerardo[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Gerardo[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_SOLROCK,
|
||||
FALLARBOR_TENT_MON_ELECTRIKE,
|
||||
@@ -2197,7 +2197,7 @@ const u16 gFallarborBattleTentTrainerMons_Gerardo[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Jonn[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Jonn[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_ARON_1,
|
||||
FALLARBOR_TENT_MON_ARON_2,
|
||||
@@ -2207,7 +2207,7 @@ const u16 gFallarborBattleTentTrainerMons_Jonn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Esteban[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Esteban[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_MAGIKARP,
|
||||
FALLARBOR_TENT_MON_WINGULL,
|
||||
@@ -2217,7 +2217,7 @@ const u16 gFallarborBattleTentTrainerMons_Esteban[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Jameson[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Jameson[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LINOONE_1,
|
||||
FALLARBOR_TENT_MON_PLUSLE,
|
||||
@@ -2227,7 +2227,7 @@ const u16 gFallarborBattleTentTrainerMons_Jameson[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Alanzo[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Alanzo[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NINCADA,
|
||||
FALLARBOR_TENT_MON_BEAUTIFLY,
|
||||
@@ -2239,7 +2239,7 @@ const u16 gFallarborBattleTentTrainerMons_Alanzo[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Howard[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Howard[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_ELECTRIKE,
|
||||
FALLARBOR_TENT_MON_LINOONE_2,
|
||||
@@ -2249,7 +2249,7 @@ const u16 gFallarborBattleTentTrainerMons_Howard[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Conrad[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Conrad[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_ELECTRIKE,
|
||||
FALLARBOR_TENT_MON_MAGNEMITE,
|
||||
@@ -2259,7 +2259,7 @@ const u16 gFallarborBattleTentTrainerMons_Conrad[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Makenna[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Makenna[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
FALLARBOR_TENT_MON_WHISMUR,
|
||||
@@ -2269,7 +2269,7 @@ const u16 gFallarborBattleTentTrainerMons_Makenna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Brayan[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Brayan[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NUMEL,
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
@@ -2281,7 +2281,7 @@ const u16 gFallarborBattleTentTrainerMons_Brayan[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Mariana[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Mariana[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NUMEL,
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
@@ -2293,7 +2293,7 @@ const u16 gFallarborBattleTentTrainerMons_Mariana[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Sheldon[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Sheldon[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_PLUSLE,
|
||||
FALLARBOR_TENT_MON_POOCHYENA,
|
||||
@@ -2303,7 +2303,7 @@ const u16 gFallarborBattleTentTrainerMons_Sheldon[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Gianna[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Gianna[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LINOONE_1,
|
||||
FALLARBOR_TENT_MON_PLUSLE,
|
||||
@@ -2313,7 +2313,7 @@ const u16 gFallarborBattleTentTrainerMons_Gianna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Yahir[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Yahir[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
FALLARBOR_TENT_MON_MACHOKE,
|
||||
@@ -2324,7 +2324,7 @@ const u16 gFallarborBattleTentTrainerMons_Yahir[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Britney[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Britney[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
FALLARBOR_TENT_MON_MAKUHITA,
|
||||
@@ -2335,7 +2335,7 @@ const u16 gFallarborBattleTentTrainerMons_Britney[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Hecter[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Hecter[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NUMEL,
|
||||
FALLARBOR_TENT_MON_LINOONE_1,
|
||||
@@ -2346,7 +2346,7 @@ const u16 gFallarborBattleTentTrainerMons_Hecter[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Tannor[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Tannor[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_MAGIKARP,
|
||||
FALLARBOR_TENT_MON_BARBOACH,
|
||||
@@ -2356,7 +2356,7 @@ const u16 gFallarborBattleTentTrainerMons_Tannor[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Benji[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Benji[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_SWABLU,
|
||||
FALLARBOR_TENT_MON_SKARMORY,
|
||||
@@ -2366,7 +2366,7 @@ const u16 gFallarborBattleTentTrainerMons_Benji[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Rory[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Rory[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NINCADA,
|
||||
FALLARBOR_TENT_MON_DUSTOX,
|
||||
@@ -2377,7 +2377,7 @@ const u16 gFallarborBattleTentTrainerMons_Rory[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Eleanor[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Eleanor[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LINOONE_2,
|
||||
FALLARBOR_TENT_MON_WINGULL,
|
||||
@@ -2389,7 +2389,7 @@ const u16 gFallarborBattleTentTrainerMons_Eleanor[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Evelyn[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Evelyn[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_PELIPPER,
|
||||
FALLARBOR_TENT_MON_WAILMER,
|
||||
@@ -2399,7 +2399,7 @@ const u16 gFallarborBattleTentTrainerMons_Evelyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Arielle[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Arielle[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LINOONE_1,
|
||||
FALLARBOR_TENT_MON_POOCHYENA,
|
||||
@@ -2409,7 +2409,7 @@ const u16 gFallarborBattleTentTrainerMons_Arielle[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Connar[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Connar[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_MAKUHITA,
|
||||
FALLARBOR_TENT_MON_MACHOKE,
|
||||
@@ -2420,7 +2420,7 @@ const u16 gFallarborBattleTentTrainerMons_Connar[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Maurice[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Maurice[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
FALLARBOR_TENT_MON_MAGIKARP,
|
||||
@@ -2430,7 +2430,7 @@ const u16 gFallarborBattleTentTrainerMons_Maurice[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Kianna[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Kianna[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LOUDRED,
|
||||
FALLARBOR_TENT_MON_MIGHTYENA,
|
||||
@@ -2441,7 +2441,7 @@ const u16 gFallarborBattleTentTrainerMons_Kianna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const struct BattleFrontierTrainer gFallarborBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
const struct BattleFrontierTrainer gFallarborBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
{
|
||||
[FALLARBOR_TENT_TRAINER_AMBER] = {
|
||||
.facilityClass = FACILITY_CLASS_AROMA_LADY,
|
||||
@@ -2685,7 +2685,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[NUM_BATTLE_TENT_
|
||||
}
|
||||
};
|
||||
|
||||
const struct FacilityMon gFallarborBattleTentMons[NUM_FALLARBOR_TENT_MONS] =
|
||||
const struct FacilityMon gFallarborBattleTentMons[NUM_FALLARBOR_TENT_MONS] =
|
||||
{
|
||||
[FALLARBOR_TENT_MON_NUMEL] = {
|
||||
.species = SPECIES_NUMEL,
|
||||
|
||||
@@ -194,22 +194,22 @@ static const struct TrHillFloor sDataTagJPDefault_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x35, 0x35, 0x3b, 0x26, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x3b, 0x34, 0x34, 0x2b, 0x2b, 0x34, 0x33, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f, 0x08,
|
||||
0x31, 0x2b, 0x34, 0x34, 0x34, 0x2b, 0x34, 0x34, 0x3b, 0x2c, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x3b, 0x35, 0x3b, 0x2b, 0x3b, 0x35, 0x3b, 0x35, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x34, 0x3b, 0x2b, 0x3b, 0x34, 0x3b, 0x2b, 0x35, 0x2b, 0x3b, 0x3b, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x3b, 0x34, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x34, 0x3f, 0x3b, 0x3b, 0x3b, 0x3f, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x31, 0x35, 0x35, 0x3b, 0x26, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x3b, 0x34, 0x34, 0x2b, 0x2b, 0x34, 0x33, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f, 0x08,
|
||||
0x31, 0x2b, 0x34, 0x34, 0x34, 0x2b, 0x34, 0x34, 0x3b, 0x2c, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x3b, 0x35, 0x3b, 0x2b, 0x3b, 0x35, 0x3b, 0x35, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x34, 0x3b, 0x2b, 0x3b, 0x34, 0x3b, 0x2b, 0x35, 0x2b, 0x3b, 0x3b, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x3b, 0x34, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x34, 0x3f, 0x3b, 0x3b, 0x3b, 0x3f, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = { 0x0381, 0x6fc1, 0x6341, 0x6041, 0x7f41, 0x4401, 0x5541, 0x5541, 0x11c1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff },
|
||||
.coords = { COORDS_XY(8,2), COORDS_XY(8,7) },
|
||||
@@ -396,22 +396,22 @@ static const struct TrHillFloor sDataTagJPDefault_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3b, 0x35, 0x3b, 0x39, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x35, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x3f, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3e, 0x3e, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2c, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3f, 0x2b, 0x3b, 0x3b, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x2b, 0x3b, 0x08,
|
||||
0x3f, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x3f, 0x3f, 0x3b, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x08,
|
||||
0x31, 0x3f, 0x3f, 0x3f, 0x3b, 0x2b, 0x2b, 0x35, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x08,
|
||||
0x31, 0x3f, 0x3f, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x08,
|
||||
0x31, 0x3b, 0x3b, 0x3b, 0x3f, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x31, 0x3b, 0x35, 0x3b, 0x39, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x35, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x3f, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3e, 0x3e, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2c, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3f, 0x2b, 0x3b, 0x3b, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x2b, 0x3b, 0x08,
|
||||
0x3f, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x3f, 0x3f, 0x3b, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x08,
|
||||
0x31, 0x3f, 0x3f, 0x3f, 0x3b, 0x2b, 0x2b, 0x35, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x08,
|
||||
0x31, 0x3f, 0x3f, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x08,
|
||||
0x31, 0x3b, 0x3b, 0x3b, 0x3f, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = { 0x0381, 0x27c5, 0x27c5, 0x27c5, 0x27c5, 0x27c5, 0x26c5, 0x2005, 0x3efd, 0x1, 0x6ff, 0x7ff, 0x7ff, 0xffff, 0xffff, 0xffff },
|
||||
.coords = { COORDS_XY(7,6), COORDS_XY(7,10) },
|
||||
@@ -727,21 +727,21 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x35, 0x35, 0x26, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x26, 0x3A, 0x3B, 0x35, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x2C, 0x2C, 0x2C, 0x2B, 0x24, 0x24, 0x24, 0x24, 0x2C, 0x3B, 0x3B, 0x2C, 0x3B, 0x08,
|
||||
0x2D, 0x3B, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x35, 0x3B, 0x35, 0x35, 0x3B, 0x08,
|
||||
0x33, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x2C, 0x2B, 0x3B, 0x08,
|
||||
0x33, 0x35, 0x3B, 0x3B, 0x3B, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x08,
|
||||
0x34, 0x2C, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x2B, 0x32, 0x30, 0x2C, 0x3B, 0x08,
|
||||
0x31, 0x35, 0x3B, 0x3B, 0x35, 0x3B, 0x2C, 0x3B, 0x3B, 0x35, 0x2C, 0x3B, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x35, 0x3B, 0x2B, 0x32, 0x21, 0x30, 0x2C, 0x2C, 0x08,
|
||||
0x31, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x2C, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2B, 0x3B, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x08,
|
||||
0x31, 0x35, 0x35, 0x35, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x2B, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x31, 0x2B, 0x2C, 0x2C, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x08,
|
||||
0x31, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x3B, 0x3B, 0x2C, 0x32, 0x30, 0x2C, 0x32, 0x30, 0x3B, 0x35, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x08,
|
||||
0x31, 0x3B, 0x35, 0x35, 0x26, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x26, 0x3A, 0x3B, 0x35, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x2C, 0x2C, 0x2C, 0x2B, 0x24, 0x24, 0x24, 0x24, 0x2C, 0x3B, 0x3B, 0x2C, 0x3B, 0x08,
|
||||
0x2D, 0x3B, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x35, 0x3B, 0x35, 0x35, 0x3B, 0x08,
|
||||
0x33, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x2C, 0x2B, 0x3B, 0x08,
|
||||
0x33, 0x35, 0x3B, 0x3B, 0x3B, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x08,
|
||||
0x34, 0x2C, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x2B, 0x32, 0x30, 0x2C, 0x3B, 0x08,
|
||||
0x31, 0x35, 0x3B, 0x3B, 0x35, 0x3B, 0x2C, 0x3B, 0x3B, 0x35, 0x2C, 0x3B, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x35, 0x3B, 0x2B, 0x32, 0x21, 0x30, 0x2C, 0x2C, 0x08,
|
||||
0x31, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x2C, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2B, 0x3B, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x08,
|
||||
0x31, 0x35, 0x35, 0x35, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x2B, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x31, 0x2B, 0x2C, 0x2C, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x08,
|
||||
0x31, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x3B, 0x3B, 0x2C, 0x32, 0x30, 0x2C, 0x32, 0x30, 0x3B, 0x35, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x3FE5, 0x0401, 0xBDED, 0x8425, 0xDFBD, 0x0221, 0x7E7F, 0x0941, 0x7F7D, 0x0911, 0x7FF7, 0x4101, 0x79F9, 0x0803, 0xFFFF},
|
||||
@@ -1049,21 +1049,21 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0xD1, 0xD5, 0xD5, 0xD5, 0xD9, 0xD9, 0x1B, 0x1C, 0x1D, 0xC5, 0xC6, 0xCE, 0xD5, 0xDB, 0xD5, 0x08,
|
||||
0xD1, 0xCB, 0xC4, 0xC4, 0xDB, 0xDB, 0xC4, 0xC4, 0xC4, 0xCC, 0xCC, 0xCC, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xDB, 0x17, 0x17, 0x17, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xD5, 0x17, 0x17, 0x17, 0xD5, 0xD5, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0x17, 0x17, 0x1F, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xC4, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDB, 0xC4, 0xC4, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xC4, 0xC4, 0xDB, 0xC4, 0xC4, 0xC4, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0xDB, 0xD5, 0xD5, 0xD5, 0xCB, 0x08,
|
||||
0xD1, 0xC4, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xC4, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xC4, 0xC4, 0xC4, 0xC4, 0x08,
|
||||
0xD1, 0xD5, 0xD5, 0xD5, 0xD9, 0xD9, 0x1B, 0x1C, 0x1D, 0xC5, 0xC6, 0xCE, 0xD5, 0xDB, 0xD5, 0x08,
|
||||
0xD1, 0xCB, 0xC4, 0xC4, 0xDB, 0xDB, 0xC4, 0xC4, 0xC4, 0xCC, 0xCC, 0xCC, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xDB, 0x17, 0x17, 0x17, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xD5, 0x17, 0x17, 0x17, 0xD5, 0xD5, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0x17, 0x17, 0x1F, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xC4, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDB, 0xC4, 0xC4, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xC4, 0xC4, 0xDB, 0xC4, 0xC4, 0xC4, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0xDB, 0xD5, 0xD5, 0xD5, 0xCB, 0x08,
|
||||
0xD1, 0xC4, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xC4, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xC4, 0xC4, 0xC4, 0xC4, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x73FB, 0x400B, 0x400B, 0x51EB, 0x538B, 0x51BB, 0x518B, 0x51EB, 0x518B, 0x51BB, 0x5003, 0x501F, 0x101F, 0x101F, 0xFFFF},
|
||||
@@ -1370,21 +1370,21 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x35, 0x35, 0x35, 0x26, 0x26, 0x13, 0x14, 0x15, 0x38, 0x26, 0x2E, 0x35, 0x35, 0x3B, 0x08,
|
||||
0x69, 0x63, 0x64, 0x64, 0x64, 0x64, 0x71, 0x71, 0x71, 0x72, 0x64, 0x64, 0x64, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x43, 0x41, 0x40, 0x41, 0x42, 0x41, 0x41, 0x4A, 0x42, 0x41, 0x41, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x43, 0x4B, 0x43, 0x43, 0x41, 0x42, 0x42, 0x40, 0x41, 0x40, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x40, 0x42, 0x42, 0x41, 0x41, 0x42, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x42, 0x41, 0x43, 0x4B, 0x41, 0x41, 0x41, 0x40, 0x43, 0x41, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x40, 0x43, 0x41, 0x42, 0x42, 0x41, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x08,
|
||||
0x69, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x64, 0x73, 0x08,
|
||||
0x69, 0x43, 0x43, 0x41, 0x42, 0x42, 0x41, 0x43, 0x41, 0x41, 0x40, 0x42, 0x41, 0x42, 0x73, 0x08,
|
||||
0x31, 0x35, 0x35, 0x35, 0x26, 0x26, 0x13, 0x14, 0x15, 0x38, 0x26, 0x2E, 0x35, 0x35, 0x3B, 0x08,
|
||||
0x69, 0x63, 0x64, 0x64, 0x64, 0x64, 0x71, 0x71, 0x71, 0x72, 0x64, 0x64, 0x64, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x43, 0x41, 0x40, 0x41, 0x42, 0x41, 0x41, 0x4A, 0x42, 0x41, 0x41, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x43, 0x4B, 0x43, 0x43, 0x41, 0x42, 0x42, 0x40, 0x41, 0x40, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x40, 0x42, 0x42, 0x41, 0x41, 0x42, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x42, 0x41, 0x43, 0x4B, 0x41, 0x41, 0x41, 0x40, 0x43, 0x41, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x40, 0x43, 0x41, 0x42, 0x42, 0x41, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x08,
|
||||
0x69, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x64, 0x73, 0x08,
|
||||
0x69, 0x43, 0x43, 0x41, 0x42, 0x42, 0x41, 0x43, 0x41, 0x41, 0x40, 0x42, 0x41, 0x42, 0x73, 0x08,
|
||||
0x69, 0x42, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x42, 0x73, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7C3D, 0x4005, 0x4005, 0x4005, 0x4045, 0x4005, 0x4805, 0x4005, 0x4045, 0x4005, 0x4205, 0x4005, 0x4045, 0x1, 0x1},
|
||||
@@ -1684,21 +1684,21 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x24, 0x24, 0x24, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x35, 0x35, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x08,
|
||||
0x33, 0x17, 0x1F, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x34, 0x17, 0x2C, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x17, 0x17, 0x1F, 0x17, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x35, 0x1F, 0x17, 0x17, 0x1F, 0x17, 0x08,
|
||||
0x34, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x3B, 0x3B, 0x2B, 0x17, 0x08,
|
||||
0x17, 0x17, 0x17, 0x1F, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x2C, 0x17, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x2C, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x1F, 0x3B, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x2B, 0x3B, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x35, 0x35, 0x35, 0x2B, 0x17, 0x3B, 0x2C, 0x3B, 0x17, 0x08,
|
||||
0x34, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x24, 0x24, 0x24, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x35, 0x35, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x08,
|
||||
0x33, 0x17, 0x1F, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x34, 0x17, 0x2C, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x17, 0x17, 0x1F, 0x17, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x35, 0x1F, 0x17, 0x17, 0x1F, 0x17, 0x08,
|
||||
0x34, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x3B, 0x3B, 0x2B, 0x17, 0x08,
|
||||
0x17, 0x17, 0x17, 0x1F, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x2C, 0x17, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x2C, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x1F, 0x3B, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x2B, 0x3B, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x35, 0x35, 0x35, 0x2B, 0x17, 0x3B, 0x2C, 0x3B, 0x17, 0x08,
|
||||
0x34, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7C1, 0x8441, 0x8477, 0x8441, 0xA441, 0x0401, 0x1, 0x8401, 0x8465, 0x0445, 0x1441, 0x8449, 0x8449, 0x87C1, 0xFFFF},
|
||||
@@ -2005,21 +2005,21 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0x41, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x43, 0x40, 0x41, 0x41, 0x08,
|
||||
0x40, 0xFB, 0x43, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x42, 0x42, 0x42, 0xFB, 0x41, 0x08,
|
||||
0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x43, 0x43, 0xFB, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0xFB, 0x43, 0x41, 0x42, 0x40, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x40, 0x43, 0x43, 0x43, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x42, 0x41, 0xFE, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x42, 0x41, 0x43, 0x43, 0x43, 0x41, 0x40, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xFB, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, 0xFB, 0x40, 0x41, 0x08,
|
||||
0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0x41, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x43, 0x40, 0x41, 0x41, 0x08,
|
||||
0x40, 0xFB, 0x43, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x42, 0x42, 0x42, 0xFB, 0x41, 0x08,
|
||||
0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x43, 0x43, 0xFB, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0xFB, 0x43, 0x41, 0x42, 0x40, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x40, 0x43, 0x43, 0x43, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x42, 0x41, 0xFE, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x42, 0x41, 0x43, 0x43, 0x43, 0x41, 0x40, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xFB, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, 0xFB, 0x40, 0x41, 0x08,
|
||||
0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x08,
|
||||
0x40, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1},
|
||||
@@ -2345,21 +2345,21 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x9B, 0x9C, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x08,
|
||||
0x9C, 0x9B, 0x96, 0x40, 0xDB, 0xDB, 0x40, 0x96, 0x40, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x96, 0x40, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9C, 0x08,
|
||||
0x91, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x9B, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x91, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x08,
|
||||
0x91, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9C, 0x08,
|
||||
0x9C, 0x9B, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9C, 0x96, 0x08,
|
||||
0xD6, 0x96, 0x9C, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x9C, 0xD6, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0xD6, 0x9C, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x9B, 0x9C, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x08,
|
||||
0x9C, 0x9B, 0x96, 0x40, 0xDB, 0xDB, 0x40, 0x96, 0x40, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x96, 0x40, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9C, 0x08,
|
||||
0x91, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x9B, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x91, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x08,
|
||||
0x91, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9C, 0x08,
|
||||
0x9C, 0x9B, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9C, 0x96, 0x08,
|
||||
0xD6, 0x96, 0x9C, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x9C, 0xD6, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0xD6, 0x9C, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFFFF},
|
||||
@@ -2666,21 +2666,21 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x1C, 0x1D, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x84, 0x84, 0x84, 0x9A, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x1C, 0x1D, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x84, 0x84, 0x84, 0x9A, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x17, 0xBB, 0xBB, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x0381, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1},
|
||||
@@ -2978,21 +2978,21 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x5E, 0x41, 0x71, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x65, 0x40, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x42, 0x73, 0x41, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x43, 0x73, 0x43, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x08,
|
||||
0x65, 0x42, 0x73, 0x42, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x08,
|
||||
0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x43, 0x6D, 0x41, 0x73, 0x43, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x08,
|
||||
0x65, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x40, 0x73, 0x08,
|
||||
0x6C, 0x73, 0x40, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x5E, 0x41, 0x71, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x65, 0x40, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x42, 0x73, 0x41, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x43, 0x73, 0x43, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x08,
|
||||
0x65, 0x42, 0x73, 0x42, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x08,
|
||||
0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x43, 0x6D, 0x41, 0x73, 0x43, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x08,
|
||||
0x65, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x40, 0x73, 0x08,
|
||||
0x6C, 0x73, 0x40, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x1, 0x2201, 0x1, 0x8881, 0x1, 0x2223, 0x1, 0x8889, 0x1, 0x2223, 0x1, 0x8889, 0x1, 0x2223, 0xFFFF},
|
||||
@@ -3304,21 +3304,21 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0xF1, 0xF5, 0xFB, 0xF5, 0xE6, 0xE6, 0x1B, 0x14, 0x15, 0xF8, 0xF9, 0xFA, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xF9, 0xE6, 0xEE, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0x9B, 0x9B, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0x9B, 0xDB, 0xDB, 0x9B, 0xEC, 0xFB, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xF5, 0x95, 0x95, 0xF5, 0xF5, 0xF5, 0xEB, 0xEC, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xED, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xF4, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xF5, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xFB, 0xF5, 0xE6, 0xE6, 0x1B, 0x14, 0x15, 0xF8, 0xF9, 0xFA, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xF9, 0xE6, 0xEE, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0x9B, 0x9B, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0x9B, 0xDB, 0xDB, 0x9B, 0xEC, 0xFB, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xF5, 0x95, 0x95, 0xF5, 0xF5, 0xF5, 0xEB, 0xEC, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xED, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xF4, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xF5, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x5E01, 0x50FF, 0x5083, 0x503B, 0x5FEB, 0xC02B, 0x5FEB, 0x5009, 0x57FD, 0x1005, 0x7FF5, 0x15, 0x7FF5, 0x1, 0xFFFF},
|
||||
@@ -3625,21 +3625,21 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x2D, 0x3B, 0x3B, 0x3B, 0x35, 0x2C, 0x23, 0x24, 0x23, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x94, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x08,
|
||||
0x8D, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8C, 0x08,
|
||||
0x94, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x9B, 0x9B, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x9B, 0x95, 0x8F, 0x9B, 0x08,
|
||||
0x91, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x95, 0x97, 0x95, 0x97, 0x8C, 0x9B, 0x8C, 0x97, 0x95, 0x08,
|
||||
0x91, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x87, 0x95, 0x87, 0x8C, 0x08,
|
||||
0x8D, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x08,
|
||||
0x94, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x08,
|
||||
0x91, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x95, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x95, 0x8F, 0x8B, 0x8F, 0x8C, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x08,
|
||||
0x91, 0x97, 0x8C, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8B, 0x97, 0x9B, 0x08,
|
||||
0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8C, 0x9B, 0x9B, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x2D, 0x3B, 0x3B, 0x3B, 0x35, 0x2C, 0x23, 0x24, 0x23, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x94, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x08,
|
||||
0x8D, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8C, 0x08,
|
||||
0x94, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x9B, 0x9B, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x9B, 0x95, 0x8F, 0x9B, 0x08,
|
||||
0x91, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x95, 0x97, 0x95, 0x97, 0x8C, 0x9B, 0x8C, 0x97, 0x95, 0x08,
|
||||
0x91, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x87, 0x95, 0x87, 0x8C, 0x08,
|
||||
0x8D, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x08,
|
||||
0x94, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x08,
|
||||
0x91, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x95, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x95, 0x8F, 0x8B, 0x8F, 0x8C, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x08,
|
||||
0x91, 0x97, 0x8C, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8B, 0x97, 0x9B, 0x08,
|
||||
0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8C, 0x9B, 0x9B, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7C1, 0x8AA1, 0x0209, 0x5557, 0xA281, 0x81, 0x5D6D, 0x2283, 0x89, 0xDD55, 0x20A1, 0xA81, 0x7D5D, 0x9, 0xFFFF},
|
||||
@@ -3946,21 +3946,21 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x08,
|
||||
0x69, 0x46, 0x7A, 0x73, 0x73, 0x73, 0x79, 0x73, 0x73, 0x73, 0x7D, 0x73, 0x73, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x73, 0x7B, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x7A, 0x73, 0x73, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7A, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x73, 0x73, 0x73, 0x73, 0x7D, 0x7C, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0xF1, 0x46, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7A, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7C, 0x08,
|
||||
0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xFB, 0x08,
|
||||
0x7C, 0xFB, 0x7B, 0xFB, 0x7A, 0xFB, 0x79, 0xFB, 0xB3, 0xFB, 0x7D, 0xFB, 0x7E, 0xFB, 0x7D, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x08,
|
||||
0x69, 0x46, 0x7A, 0x73, 0x73, 0x73, 0x79, 0x73, 0x73, 0x73, 0x7D, 0x73, 0x73, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x73, 0x7B, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x7A, 0x73, 0x73, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7A, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x73, 0x73, 0x73, 0x73, 0x7D, 0x7C, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0xF1, 0x46, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7A, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7C, 0x08,
|
||||
0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xFB, 0x08,
|
||||
0x7C, 0xFB, 0x7B, 0xFB, 0x7A, 0xFB, 0x79, 0xFB, 0xB3, 0xFB, 0x7D, 0xFB, 0x7E, 0xFB, 0x7D, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7FFB, 0x4003, 0x5FFF, 0x4003, 0x7FFB, 0x4003, 0x7EFF, 0x4443, 0x4443, 0x4443, 0x7EFF, 0x4001, 0x7FFD, 0x1, 0xFFFF},
|
||||
@@ -4257,21 +4257,21 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0xF1, 0xFB, 0xFB, 0xFB, 0xF9, 0xF9, 0x1B, 0x1C, 0x1D, 0xE5, 0xE6, 0xEE, 0xF5, 0xFB, 0xFB, 0x08,
|
||||
0xED, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x08,
|
||||
0xF4, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xF5, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xFB, 0xF9, 0xF9, 0x1B, 0x1C, 0x1D, 0xE5, 0xE6, 0xEE, 0xF5, 0xFB, 0xFB, 0x08,
|
||||
0xED, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x08,
|
||||
0xF4, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xF5, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x3F9, 0xF041, 0x41, 0x7F5F, 0x4401, 0x4541, 0x5579, 0x5541, 0x555F, 0x5541, 0x5541, 0x557D, 0x1101, 0x1101, 0xFFFF},
|
||||
@@ -4590,21 +4590,21 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x73, 0x08, 0x4D, 0x4D, 0x4D, 0x4D, 0xD1, 0x4D, 0x4D, 0x4D, 0x4D, 0x08, 0x69, 0x73, 0x08,
|
||||
0x40, 0x3B, 0x08, 0x55, 0x55, 0x55, 0x55, 0xD1, 0x55, 0x55, 0x55, 0x55, 0x08, 0x31, 0x41, 0x08,
|
||||
0x69, 0x41, 0x08, 0xC5, 0xD9, 0xD9, 0xD9, 0x9A, 0xD9, 0xD9, 0xD9, 0xC6, 0x08, 0x41, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xCD, 0x9B, 0x73, 0x73, 0x44, 0x73, 0x73, 0x9B, 0xD5, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x41, 0x08, 0xD1, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xDB, 0xDB, 0xDB, 0x08, 0x41, 0x73, 0x08,
|
||||
0x40, 0x3B, 0x08, 0x08, 0xC7, 0xC7, 0xDB, 0xDB, 0xDB, 0xC7, 0xC7, 0x08, 0x08, 0x31, 0x41, 0x08,
|
||||
0x69, 0x3B, 0x4D, 0x4D, 0x67, 0x67, 0xDB, 0xDB, 0xDB, 0x67, 0x67, 0x4D, 0x4D, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x55, 0x55, 0xD7, 0xD7, 0xD1, 0xDB, 0xDB, 0xD7, 0xD7, 0x55, 0x55, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x73, 0x08,
|
||||
0x69, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x73, 0x08, 0x4D, 0x4D, 0x4D, 0x4D, 0xD1, 0x4D, 0x4D, 0x4D, 0x4D, 0x08, 0x69, 0x73, 0x08,
|
||||
0x40, 0x3B, 0x08, 0x55, 0x55, 0x55, 0x55, 0xD1, 0x55, 0x55, 0x55, 0x55, 0x08, 0x31, 0x41, 0x08,
|
||||
0x69, 0x41, 0x08, 0xC5, 0xD9, 0xD9, 0xD9, 0x9A, 0xD9, 0xD9, 0xD9, 0xC6, 0x08, 0x41, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xCD, 0x9B, 0x73, 0x73, 0x44, 0x73, 0x73, 0x9B, 0xD5, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x41, 0x08, 0xD1, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xDB, 0xDB, 0xDB, 0x08, 0x41, 0x73, 0x08,
|
||||
0x40, 0x3B, 0x08, 0x08, 0xC7, 0xC7, 0xDB, 0xDB, 0xDB, 0xC7, 0xC7, 0x08, 0x08, 0x31, 0x41, 0x08,
|
||||
0x69, 0x3B, 0x4D, 0x4D, 0x67, 0x67, 0xDB, 0xDB, 0xDB, 0x67, 0x67, 0x4D, 0x4D, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x55, 0x55, 0xD7, 0xD7, 0xD1, 0xDB, 0xDB, 0xD7, 0xD7, 0x55, 0x55, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x73, 0x08,
|
||||
0x69, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x0201, 0x3EF9, 0x3EF9, 0x3EF9, 0x2009, 0x3019, 0x2009, 0x3019, 0x2009, 0x3019, 0x3019, 0x3C79, 0x1, 0x1, 0xFFFF},
|
||||
@@ -4912,21 +4912,21 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x7D, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0xB3, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xB3, 0x08,
|
||||
0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x08,
|
||||
0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0x08,
|
||||
0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x7D, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0xB3, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xB3, 0x08,
|
||||
0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x08,
|
||||
0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0x08,
|
||||
0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7FFD, 0x4001, 0x5FFF, 0x4001, 0x7FFD, 0x4001, 0x5FFF, 0x4001, 0x7FFD, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFFFF},
|
||||
@@ -5234,21 +5234,21 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xD9, 0xD9, 0x1B, 0x14, 0x15, 0x98, 0x99, 0x9A, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xD5, 0xD5, 0xC3, 0xF9, 0x86, 0x8E, 0x95, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x08,
|
||||
0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCC, 0xFB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCC, 0xCC, 0xCC, 0xCC, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xD5, 0xD5, 0xD5, 0xD5, 0xFB, 0xEC, 0xFB, 0xEC, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xF5, 0xF5, 0xFB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xCC, 0xCC, 0xCB, 0xFB, 0x8C, 0x8C, 0x8C, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xD9, 0xD9, 0x1B, 0x14, 0x15, 0x98, 0x99, 0x9A, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xD5, 0xD5, 0xC3, 0xF9, 0x86, 0x8E, 0x95, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x08,
|
||||
0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCC, 0xFB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCC, 0xCC, 0xCC, 0xCC, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xD5, 0xD5, 0xD5, 0xD5, 0xFB, 0xEC, 0xFB, 0xEC, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xF5, 0xF5, 0xFB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xCC, 0xCC, 0xCB, 0xFB, 0x8C, 0x8C, 0x8C, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCC, 0xFB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x0201, 0xEE1, 0x1EF1, 0x3EF9, 0x3EF9, 0x7E7D, 0x783D, 0x2BD, 0x783D, 0x7E7D, 0x3E79, 0x3EF9, 0x1EF1, 0xEE1, 0x201},
|
||||
@@ -5548,21 +5548,21 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x08,
|
||||
0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x08,
|
||||
0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x08,
|
||||
0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x08,
|
||||
0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x08,
|
||||
0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x08,
|
||||
0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x9B, 0x9B, 0xD6, 0xD6, 0x96, 0xD6, 0xD6, 0xDB, 0x9B, 0x9B, 0x9B, 0x96, 0x08,
|
||||
0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x08,
|
||||
0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x08,
|
||||
0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x08,
|
||||
0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x08,
|
||||
0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x08,
|
||||
0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x08,
|
||||
0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x08,
|
||||
0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x08,
|
||||
0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x08,
|
||||
0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x08,
|
||||
0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x08,
|
||||
0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x9B, 0x9B, 0xD6, 0xD6, 0x96, 0xD6, 0xD6, 0xDB, 0x9B, 0x9B, 0x9B, 0x96, 0x08,
|
||||
0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x08,
|
||||
0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x08,
|
||||
0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x08,
|
||||
0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x08,
|
||||
0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x08,
|
||||
0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x08,
|
||||
0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x0101, 0x0101, 0x6C1, 0x0821, 0x16D1, 0x2829, 0x2009, 0x1, 0x2009, 0x2829, 0x16D1, 0x0821, 0x6C1, 0x0101, 0x101},
|
||||
|
||||
@@ -99,8 +99,8 @@
|
||||
#define CONTEST_OPPONENT_TREY 94
|
||||
#define CONTEST_OPPONENT_LANE 95
|
||||
|
||||
// All contest opponents have a common set of AI flags (which contains all of the actually
|
||||
// useful AI scripts, as well as some dummys) and a random combination of 2-3 dummy flags.
|
||||
// All contest opponents have a common set of AI flags (which contains all of the actually
|
||||
// useful AI scripts, as well as some dummys) and a random combination of 2-3 dummy flags.
|
||||
// Seems that like the battle AI they had more plans for this than what ended up in the final game
|
||||
#define CONTEST_AI_SET_1 (CONTEST_AI_COMMON | CONTEST_AI_DUMMY_20 | CONTEST_AI_DUMMY_21)
|
||||
#define CONTEST_AI_SET_2 (CONTEST_AI_COMMON | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25)
|
||||
@@ -1166,7 +1166,7 @@ const struct ContestPokemon gContestOpponents[] =
|
||||
.personality = 0,
|
||||
.otId = 0xFFFF
|
||||
},
|
||||
[CONTEST_OPPONENT_ARIANA] = {
|
||||
[CONTEST_OPPONENT_ARIANA] = {
|
||||
.species = SPECIES_KECLEON,
|
||||
.nickname = _("KECON"),
|
||||
.trainerName = _("ARIANA"),
|
||||
@@ -2010,7 +2010,7 @@ const struct ContestPokemon gContestOpponents[] =
|
||||
.species = SPECIES_CUBONE,
|
||||
.nickname = _("CUBIN"),
|
||||
.trainerName = _("COLTIN"),
|
||||
.trainerGfxId = OBJ_EVENT_GFX_MAN_4,
|
||||
.trainerGfxId = OBJ_EVENT_GFX_MAN_4,
|
||||
.aiFlags = CONTEST_AI_SET_2,
|
||||
.whichRank = CONTEST_RANK_HYPER,
|
||||
.aiPool_Cool = FALSE,
|
||||
|
||||
@@ -181,7 +181,7 @@ extern const u8 gText_CouldntImproveItsCondition[];
|
||||
extern const u8 gText_BadConditionResultedInWeakAppeal[];
|
||||
extern const u8 gText_MonWasUnaffected[];
|
||||
extern const u8 gText_AttractedCrowdsAttention[];
|
||||
|
||||
|
||||
// sContestConditions
|
||||
extern const u8 gText_Contest_Coolness[];
|
||||
extern const u8 gText_Contest_Beauty[];
|
||||
|
||||
+120
-120
@@ -11,7 +11,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SMALL_DESK,
|
||||
.tiles = DecorGfx_SMALL_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SMALL_DESK] =
|
||||
{
|
||||
.id = DECOR_SMALL_DESK,
|
||||
@@ -23,7 +23,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SMALL_DESK,
|
||||
.tiles = DecorGfx_SMALL_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_POKEMON_DESK] =
|
||||
{
|
||||
.id = DECOR_POKEMON_DESK,
|
||||
@@ -35,7 +35,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_POKEMON_DESK,
|
||||
.tiles = DecorGfx_POKEMON_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_HEAVY_DESK] =
|
||||
{
|
||||
.id = DECOR_HEAVY_DESK,
|
||||
@@ -47,7 +47,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_HEAVY_DESK,
|
||||
.tiles = DecorGfx_HEAVY_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RAGGED_DESK] =
|
||||
{
|
||||
.id = DECOR_RAGGED_DESK,
|
||||
@@ -59,7 +59,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RAGGED_DESK,
|
||||
.tiles = DecorGfx_RAGGED_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_COMFORT_DESK] =
|
||||
{
|
||||
.id = DECOR_COMFORT_DESK,
|
||||
@@ -71,7 +71,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_COMFORT_DESK,
|
||||
.tiles = DecorGfx_COMFORT_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PRETTY_DESK] =
|
||||
{
|
||||
.id = DECOR_PRETTY_DESK,
|
||||
@@ -83,7 +83,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PRETTY_DESK,
|
||||
.tiles = DecorGfx_PRETTY_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BRICK_DESK] =
|
||||
{
|
||||
.id = DECOR_BRICK_DESK,
|
||||
@@ -95,7 +95,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BRICK_DESK,
|
||||
.tiles = DecorGfx_BRICK_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CAMP_DESK] =
|
||||
{
|
||||
.id = DECOR_CAMP_DESK,
|
||||
@@ -107,7 +107,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CAMP_DESK,
|
||||
.tiles = DecorGfx_CAMP_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_HARD_DESK] =
|
||||
{
|
||||
.id = DECOR_HARD_DESK,
|
||||
@@ -119,7 +119,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_HARD_DESK,
|
||||
.tiles = DecorGfx_HARD_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SMALL_CHAIR] =
|
||||
{
|
||||
.id = DECOR_SMALL_CHAIR,
|
||||
@@ -131,7 +131,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SMALL_CHAIR,
|
||||
.tiles = DecorGfx_SMALL_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_POKEMON_CHAIR] =
|
||||
{
|
||||
.id = DECOR_POKEMON_CHAIR,
|
||||
@@ -143,7 +143,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_POKEMON_CHAIR,
|
||||
.tiles = DecorGfx_POKEMON_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_HEAVY_CHAIR] =
|
||||
{
|
||||
.id = DECOR_HEAVY_CHAIR,
|
||||
@@ -155,7 +155,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_HEAVY_CHAIR,
|
||||
.tiles = DecorGfx_HEAVY_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PRETTY_CHAIR] =
|
||||
{
|
||||
.id = DECOR_PRETTY_CHAIR,
|
||||
@@ -167,7 +167,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PRETTY_CHAIR,
|
||||
.tiles = DecorGfx_PRETTY_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_COMFORT_CHAIR] =
|
||||
{
|
||||
.id = DECOR_COMFORT_CHAIR,
|
||||
@@ -179,7 +179,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_COMFORT_CHAIR,
|
||||
.tiles = DecorGfx_COMFORT_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RAGGED_CHAIR] =
|
||||
{
|
||||
.id = DECOR_RAGGED_CHAIR,
|
||||
@@ -191,7 +191,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RAGGED_CHAIR,
|
||||
.tiles = DecorGfx_RAGGED_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BRICK_CHAIR] =
|
||||
{
|
||||
.id = DECOR_BRICK_CHAIR,
|
||||
@@ -203,7 +203,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BRICK_CHAIR,
|
||||
.tiles = DecorGfx_BRICK_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CAMP_CHAIR] =
|
||||
{
|
||||
.id = DECOR_CAMP_CHAIR,
|
||||
@@ -215,7 +215,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CAMP_CHAIR,
|
||||
.tiles = DecorGfx_CAMP_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_HARD_CHAIR] =
|
||||
{
|
||||
.id = DECOR_HARD_CHAIR,
|
||||
@@ -227,7 +227,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_HARD_CHAIR,
|
||||
.tiles = DecorGfx_HARD_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_PLANT] =
|
||||
{
|
||||
.id = DECOR_RED_PLANT,
|
||||
@@ -239,7 +239,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_PLANT,
|
||||
.tiles = DecorGfx_RED_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TROPICAL_PLANT] =
|
||||
{
|
||||
.id = DECOR_TROPICAL_PLANT,
|
||||
@@ -251,7 +251,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TROPICAL_PLANT,
|
||||
.tiles = DecorGfx_TROPICAL_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PRETTY_FLOWERS] =
|
||||
{
|
||||
.id = DECOR_PRETTY_FLOWERS,
|
||||
@@ -263,7 +263,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PRETTY_FLOWERS,
|
||||
.tiles = DecorGfx_PRETTY_FLOWERS,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_COLORFUL_PLANT] =
|
||||
{
|
||||
.id = DECOR_COLORFUL_PLANT,
|
||||
@@ -275,7 +275,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_COLORFUL_PLANT,
|
||||
.tiles = DecorGfx_COLORFUL_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BIG_PLANT] =
|
||||
{
|
||||
.id = DECOR_BIG_PLANT,
|
||||
@@ -287,7 +287,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BIG_PLANT,
|
||||
.tiles = DecorGfx_BIG_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GORGEOUS_PLANT] =
|
||||
{
|
||||
.id = DECOR_GORGEOUS_PLANT,
|
||||
@@ -299,7 +299,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GORGEOUS_PLANT,
|
||||
.tiles = DecorGfx_GORGEOUS_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_BRICK] =
|
||||
{
|
||||
.id = DECOR_RED_BRICK,
|
||||
@@ -311,7 +311,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_BRICK,
|
||||
.tiles = DecorGfx_RED_BRICK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_YELLOW_BRICK] =
|
||||
{
|
||||
.id = DECOR_YELLOW_BRICK,
|
||||
@@ -323,7 +323,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_YELLOW_BRICK,
|
||||
.tiles = DecorGfx_YELLOW_BRICK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLUE_BRICK] =
|
||||
{
|
||||
.id = DECOR_BLUE_BRICK,
|
||||
@@ -335,7 +335,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLUE_BRICK,
|
||||
.tiles = DecorGfx_BLUE_BRICK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_BALLOON] =
|
||||
{
|
||||
.id = DECOR_RED_BALLOON,
|
||||
@@ -347,7 +347,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_BALLOON,
|
||||
.tiles = DecorGfx_RED_BALLOON,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLUE_BALLOON] =
|
||||
{
|
||||
.id = DECOR_BLUE_BALLOON,
|
||||
@@ -359,7 +359,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLUE_BALLOON,
|
||||
.tiles = DecorGfx_BLUE_BALLOON,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_YELLOW_BALLOON] =
|
||||
{
|
||||
.id = DECOR_YELLOW_BALLOON,
|
||||
@@ -371,7 +371,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_YELLOW_BALLOON,
|
||||
.tiles = DecorGfx_YELLOW_BALLOON,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_TENT] =
|
||||
{
|
||||
.id = DECOR_RED_TENT,
|
||||
@@ -383,7 +383,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_TENT,
|
||||
.tiles = DecorGfx_RED_TENT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLUE_TENT] =
|
||||
{
|
||||
.id = DECOR_BLUE_TENT,
|
||||
@@ -395,7 +395,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLUE_TENT,
|
||||
.tiles = DecorGfx_BLUE_TENT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SOLID_BOARD] =
|
||||
{
|
||||
.id = DECOR_SOLID_BOARD,
|
||||
@@ -407,7 +407,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SOLID_BOARD,
|
||||
.tiles = DecorGfx_SOLID_BOARD,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SLIDE] =
|
||||
{
|
||||
.id = DECOR_SLIDE,
|
||||
@@ -419,7 +419,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SLIDE,
|
||||
.tiles = DecorGfx_SLIDE,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FENCE_LENGTH] =
|
||||
{
|
||||
.id = DECOR_FENCE_LENGTH,
|
||||
@@ -431,7 +431,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FENCE_LENGTH,
|
||||
.tiles = DecorGfx_FENCE_LENGTH,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FENCE_WIDTH] =
|
||||
{
|
||||
.id = DECOR_FENCE_WIDTH,
|
||||
@@ -443,7 +443,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FENCE_WIDTH,
|
||||
.tiles = DecorGfx_FENCE_WIDTH,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TIRE] =
|
||||
{
|
||||
.id = DECOR_TIRE,
|
||||
@@ -455,7 +455,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TIRE,
|
||||
.tiles = DecorGfx_TIRE,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_STAND] =
|
||||
{
|
||||
.id = DECOR_STAND,
|
||||
@@ -467,7 +467,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_STAND,
|
||||
.tiles = DecorGfx_STAND,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_MUD_BALL] =
|
||||
{
|
||||
.id = DECOR_MUD_BALL,
|
||||
@@ -479,7 +479,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_MUD_BALL,
|
||||
.tiles = DecorGfx_MUD_BALL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BREAKABLE_DOOR] =
|
||||
{
|
||||
.id = DECOR_BREAKABLE_DOOR,
|
||||
@@ -491,7 +491,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BREAKABLE_DOOR,
|
||||
.tiles = DecorGfx_BREAKABLE_DOOR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SAND_ORNAMENT] =
|
||||
{
|
||||
.id = DECOR_SAND_ORNAMENT,
|
||||
@@ -503,7 +503,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SAND_ORNAMENT,
|
||||
.tiles = DecorGfx_SAND_ORNAMENT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SILVER_SHIELD] =
|
||||
{
|
||||
.id = DECOR_SILVER_SHIELD,
|
||||
@@ -515,7 +515,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SILVER_SHIELD,
|
||||
.tiles = DecorGfx_SILVER_SHIELD,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GOLD_SHIELD] =
|
||||
{
|
||||
.id = DECOR_GOLD_SHIELD,
|
||||
@@ -527,7 +527,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GOLD_SHIELD,
|
||||
.tiles = DecorGfx_GOLD_SHIELD,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GLASS_ORNAMENT] =
|
||||
{
|
||||
.id = DECOR_GLASS_ORNAMENT,
|
||||
@@ -539,7 +539,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GLASS_ORNAMENT,
|
||||
.tiles = DecorGfx_GLASS_ORNAMENT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TV] =
|
||||
{
|
||||
.id = DECOR_TV,
|
||||
@@ -551,7 +551,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TV,
|
||||
.tiles = DecorGfx_TV,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_ROUND_TV] =
|
||||
{
|
||||
.id = DECOR_ROUND_TV,
|
||||
@@ -563,7 +563,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_ROUND_TV,
|
||||
.tiles = DecorGfx_ROUND_TV,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CUTE_TV] =
|
||||
{
|
||||
.id = DECOR_CUTE_TV,
|
||||
@@ -575,7 +575,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CUTE_TV,
|
||||
.tiles = DecorGfx_CUTE_TV,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GLITTER_MAT] =
|
||||
{
|
||||
.id = DECOR_GLITTER_MAT,
|
||||
@@ -587,7 +587,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GLITTER_MAT,
|
||||
.tiles = DecorGfx_GLITTER_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_JUMP_MAT] =
|
||||
{
|
||||
.id = DECOR_JUMP_MAT,
|
||||
@@ -599,7 +599,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_JUMP_MAT,
|
||||
.tiles = DecorGfx_JUMP_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SPIN_MAT] =
|
||||
{
|
||||
.id = DECOR_SPIN_MAT,
|
||||
@@ -611,7 +611,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SPIN_MAT,
|
||||
.tiles = DecorGfx_SPIN_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_C_LOW_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_C_LOW_NOTE_MAT,
|
||||
@@ -623,7 +623,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_C_LOW_NOTE_MAT,
|
||||
.tiles = DecorGfx_C_LOW_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_D_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_D_NOTE_MAT,
|
||||
@@ -635,7 +635,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_D_NOTE_MAT,
|
||||
.tiles = DecorGfx_D_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_E_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_E_NOTE_MAT,
|
||||
@@ -647,7 +647,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_E_NOTE_MAT,
|
||||
.tiles = DecorGfx_E_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_F_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_F_NOTE_MAT,
|
||||
@@ -659,7 +659,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_F_NOTE_MAT,
|
||||
.tiles = DecorGfx_F_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_G_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_G_NOTE_MAT,
|
||||
@@ -671,7 +671,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_G_NOTE_MAT,
|
||||
.tiles = DecorGfx_G_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_A_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_A_NOTE_MAT,
|
||||
@@ -683,7 +683,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_A_NOTE_MAT,
|
||||
.tiles = DecorGfx_A_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_B_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_B_NOTE_MAT,
|
||||
@@ -695,7 +695,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_B_NOTE_MAT,
|
||||
.tiles = DecorGfx_B_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_C_HIGH_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_C_HIGH_NOTE_MAT,
|
||||
@@ -707,7 +707,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_C_HIGH_NOTE_MAT,
|
||||
.tiles = DecorGfx_C_HIGH_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SURF_MAT] =
|
||||
{
|
||||
.id = DECOR_SURF_MAT,
|
||||
@@ -719,7 +719,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SURF_MAT,
|
||||
.tiles = DecorGfx_SURF_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_THUNDER_MAT] =
|
||||
{
|
||||
.id = DECOR_THUNDER_MAT,
|
||||
@@ -731,7 +731,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_THUNDER_MAT,
|
||||
.tiles = DecorGfx_THUNDER_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FIRE_BLAST_MAT] =
|
||||
{
|
||||
.id = DECOR_FIRE_BLAST_MAT,
|
||||
@@ -743,7 +743,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FIRE_BLAST_MAT,
|
||||
.tiles = DecorGfx_FIRE_BLAST_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_POWDER_SNOW_MAT] =
|
||||
{
|
||||
.id = DECOR_POWDER_SNOW_MAT,
|
||||
@@ -755,7 +755,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_POWDER_SNOW_MAT,
|
||||
.tiles = DecorGfx_POWDER_SNOW_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_ATTRACT_MAT] =
|
||||
{
|
||||
.id = DECOR_ATTRACT_MAT,
|
||||
@@ -767,7 +767,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_ATTRACT_MAT,
|
||||
.tiles = DecorGfx_ATTRACT_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FISSURE_MAT] =
|
||||
{
|
||||
.id = DECOR_FISSURE_MAT,
|
||||
@@ -779,7 +779,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FISSURE_MAT,
|
||||
.tiles = DecorGfx_FISSURE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SPIKES_MAT] =
|
||||
{
|
||||
.id = DECOR_SPIKES_MAT,
|
||||
@@ -791,7 +791,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SPIKES_MAT,
|
||||
.tiles = DecorGfx_SPIKES_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BALL_POSTER] =
|
||||
{
|
||||
.id = DECOR_BALL_POSTER,
|
||||
@@ -803,7 +803,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BALL_POSTER,
|
||||
.tiles = DecorGfx_BALL_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GREEN_POSTER] =
|
||||
{
|
||||
.id = DECOR_GREEN_POSTER,
|
||||
@@ -815,7 +815,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GREEN_POSTER,
|
||||
.tiles = DecorGfx_GREEN_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_POSTER] =
|
||||
{
|
||||
.id = DECOR_RED_POSTER,
|
||||
@@ -827,7 +827,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_POSTER,
|
||||
.tiles = DecorGfx_RED_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLUE_POSTER] =
|
||||
{
|
||||
.id = DECOR_BLUE_POSTER,
|
||||
@@ -839,7 +839,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLUE_POSTER,
|
||||
.tiles = DecorGfx_BLUE_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CUTE_POSTER] =
|
||||
{
|
||||
.id = DECOR_CUTE_POSTER,
|
||||
@@ -851,7 +851,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CUTE_POSTER,
|
||||
.tiles = DecorGfx_CUTE_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PIKA_POSTER] =
|
||||
{
|
||||
.id = DECOR_PIKA_POSTER,
|
||||
@@ -863,7 +863,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PIKA_POSTER,
|
||||
.tiles = DecorGfx_PIKA_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_LONG_POSTER] =
|
||||
{
|
||||
.id = DECOR_LONG_POSTER,
|
||||
@@ -875,7 +875,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_LONG_POSTER,
|
||||
.tiles = DecorGfx_LONG_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SEA_POSTER] =
|
||||
{
|
||||
.id = DECOR_SEA_POSTER,
|
||||
@@ -887,7 +887,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SEA_POSTER,
|
||||
.tiles = DecorGfx_SEA_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SKY_POSTER] =
|
||||
{
|
||||
.id = DECOR_SKY_POSTER,
|
||||
@@ -899,7 +899,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SKY_POSTER,
|
||||
.tiles = DecorGfx_SKY_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_KISS_POSTER] =
|
||||
{
|
||||
.id = DECOR_KISS_POSTER,
|
||||
@@ -911,7 +911,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_KISS_POSTER,
|
||||
.tiles = DecorGfx_KISS_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PICHU_DOLL] =
|
||||
{
|
||||
.id = DECOR_PICHU_DOLL,
|
||||
@@ -923,7 +923,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PICHU_DOLL,
|
||||
.tiles = DecorGfx_PICHU_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PIKACHU_DOLL] =
|
||||
{
|
||||
.id = DECOR_PIKACHU_DOLL,
|
||||
@@ -935,7 +935,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PIKACHU_DOLL,
|
||||
.tiles = DecorGfx_PIKACHU_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_MARILL_DOLL] =
|
||||
{
|
||||
.id = DECOR_MARILL_DOLL,
|
||||
@@ -947,7 +947,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_MARILL_DOLL,
|
||||
.tiles = DecorGfx_MARILL_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TOGEPI_DOLL] =
|
||||
{
|
||||
.id = DECOR_TOGEPI_DOLL,
|
||||
@@ -959,7 +959,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TOGEPI_DOLL,
|
||||
.tiles = DecorGfx_TOGEPI_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CYNDAQUIL_DOLL] =
|
||||
{
|
||||
.id = DECOR_CYNDAQUIL_DOLL,
|
||||
@@ -971,7 +971,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CYNDAQUIL_DOLL,
|
||||
.tiles = DecorGfx_CYNDAQUIL_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CHIKORITA_DOLL] =
|
||||
{
|
||||
.id = DECOR_CHIKORITA_DOLL,
|
||||
@@ -983,7 +983,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CHIKORITA_DOLL,
|
||||
.tiles = DecorGfx_CHIKORITA_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TOTODILE_DOLL] =
|
||||
{
|
||||
.id = DECOR_TOTODILE_DOLL,
|
||||
@@ -995,7 +995,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TOTODILE_DOLL,
|
||||
.tiles = DecorGfx_TOTODILE_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_JIGGLYPUFF_DOLL] =
|
||||
{
|
||||
.id = DECOR_JIGGLYPUFF_DOLL,
|
||||
@@ -1007,7 +1007,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_JIGGLYPUFF_DOLL,
|
||||
.tiles = DecorGfx_JIGGLYPUFF_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_MEOWTH_DOLL] =
|
||||
{
|
||||
.id = DECOR_MEOWTH_DOLL,
|
||||
@@ -1019,7 +1019,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_MEOWTH_DOLL,
|
||||
.tiles = DecorGfx_MEOWTH_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CLEFAIRY_DOLL] =
|
||||
{
|
||||
.id = DECOR_CLEFAIRY_DOLL,
|
||||
@@ -1031,7 +1031,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CLEFAIRY_DOLL,
|
||||
.tiles = DecorGfx_CLEFAIRY_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_DITTO_DOLL] =
|
||||
{
|
||||
.id = DECOR_DITTO_DOLL,
|
||||
@@ -1043,7 +1043,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_DITTO_DOLL,
|
||||
.tiles = DecorGfx_DITTO_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SMOOCHUM_DOLL] =
|
||||
{
|
||||
.id = DECOR_SMOOCHUM_DOLL,
|
||||
@@ -1055,7 +1055,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SMOOCHUM_DOLL,
|
||||
.tiles = DecorGfx_SMOOCHUM_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TREECKO_DOLL] =
|
||||
{
|
||||
.id = DECOR_TREECKO_DOLL,
|
||||
@@ -1067,7 +1067,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TREECKO_DOLL,
|
||||
.tiles = DecorGfx_TREECKO_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TORCHIC_DOLL] =
|
||||
{
|
||||
.id = DECOR_TORCHIC_DOLL,
|
||||
@@ -1079,7 +1079,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TORCHIC_DOLL,
|
||||
.tiles = DecorGfx_TORCHIC_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_MUDKIP_DOLL] =
|
||||
{
|
||||
.id = DECOR_MUDKIP_DOLL,
|
||||
@@ -1091,7 +1091,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_MUDKIP_DOLL,
|
||||
.tiles = DecorGfx_MUDKIP_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_DUSKULL_DOLL] =
|
||||
{
|
||||
.id = DECOR_DUSKULL_DOLL,
|
||||
@@ -1103,7 +1103,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_DUSKULL_DOLL,
|
||||
.tiles = DecorGfx_DUSKULL_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_WYNAUT_DOLL] =
|
||||
{
|
||||
.id = DECOR_WYNAUT_DOLL,
|
||||
@@ -1115,7 +1115,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_WYNAUT_DOLL,
|
||||
.tiles = DecorGfx_WYNAUT_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BALTOY_DOLL] =
|
||||
{
|
||||
.id = DECOR_BALTOY_DOLL,
|
||||
@@ -1127,7 +1127,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BALTOY_DOLL,
|
||||
.tiles = DecorGfx_BALTOY_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_KECLEON_DOLL] =
|
||||
{
|
||||
.id = DECOR_KECLEON_DOLL,
|
||||
@@ -1139,7 +1139,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_KECLEON_DOLL,
|
||||
.tiles = DecorGfx_KECLEON_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_AZURILL_DOLL] =
|
||||
{
|
||||
.id = DECOR_AZURILL_DOLL,
|
||||
@@ -1151,7 +1151,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_AZURILL_DOLL,
|
||||
.tiles = DecorGfx_AZURILL_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SKITTY_DOLL] =
|
||||
{
|
||||
.id = DECOR_SKITTY_DOLL,
|
||||
@@ -1163,7 +1163,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SKITTY_DOLL,
|
||||
.tiles = DecorGfx_SKITTY_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SWABLU_DOLL] =
|
||||
{
|
||||
.id = DECOR_SWABLU_DOLL,
|
||||
@@ -1175,7 +1175,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SWABLU_DOLL,
|
||||
.tiles = DecorGfx_SWABLU_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GULPIN_DOLL] =
|
||||
{
|
||||
.id = DECOR_GULPIN_DOLL,
|
||||
@@ -1187,7 +1187,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GULPIN_DOLL,
|
||||
.tiles = DecorGfx_GULPIN_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_LOTAD_DOLL] =
|
||||
{
|
||||
.id = DECOR_LOTAD_DOLL,
|
||||
@@ -1199,7 +1199,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_LOTAD_DOLL,
|
||||
.tiles = DecorGfx_LOTAD_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SEEDOT_DOLL] =
|
||||
{
|
||||
.id = DECOR_SEEDOT_DOLL,
|
||||
@@ -1211,7 +1211,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SEEDOT_DOLL,
|
||||
.tiles = DecorGfx_SEEDOT_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PIKA_CUSHION] =
|
||||
{
|
||||
.id = DECOR_PIKA_CUSHION,
|
||||
@@ -1223,7 +1223,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PIKA_CUSHION,
|
||||
.tiles = DecorGfx_PIKA_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_ROUND_CUSHION] =
|
||||
{
|
||||
.id = DECOR_ROUND_CUSHION,
|
||||
@@ -1235,7 +1235,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_ROUND_CUSHION,
|
||||
.tiles = DecorGfx_ROUND_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_KISS_CUSHION] =
|
||||
{
|
||||
.id = DECOR_KISS_CUSHION,
|
||||
@@ -1247,7 +1247,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_KISS_CUSHION,
|
||||
.tiles = DecorGfx_KISS_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_ZIGZAG_CUSHION] =
|
||||
{
|
||||
.id = DECOR_ZIGZAG_CUSHION,
|
||||
@@ -1259,7 +1259,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_ZIGZAG_CUSHION,
|
||||
.tiles = DecorGfx_ZIGZAG_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SPIN_CUSHION] =
|
||||
{
|
||||
.id = DECOR_SPIN_CUSHION,
|
||||
@@ -1271,7 +1271,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SPIN_CUSHION,
|
||||
.tiles = DecorGfx_SPIN_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_DIAMOND_CUSHION] =
|
||||
{
|
||||
.id = DECOR_DIAMOND_CUSHION,
|
||||
@@ -1283,7 +1283,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_DIAMOND_CUSHION,
|
||||
.tiles = DecorGfx_DIAMOND_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BALL_CUSHION] =
|
||||
{
|
||||
.id = DECOR_BALL_CUSHION,
|
||||
@@ -1295,7 +1295,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BALL_CUSHION,
|
||||
.tiles = DecorGfx_BALL_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GRASS_CUSHION] =
|
||||
{
|
||||
.id = DECOR_GRASS_CUSHION,
|
||||
@@ -1307,7 +1307,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GRASS_CUSHION,
|
||||
.tiles = DecorGfx_GRASS_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FIRE_CUSHION] =
|
||||
{
|
||||
.id = DECOR_FIRE_CUSHION,
|
||||
@@ -1319,7 +1319,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FIRE_CUSHION,
|
||||
.tiles = DecorGfx_FIRE_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_WATER_CUSHION] =
|
||||
{
|
||||
.id = DECOR_WATER_CUSHION,
|
||||
@@ -1331,7 +1331,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_WATER_CUSHION,
|
||||
.tiles = DecorGfx_WATER_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SNORLAX_DOLL] =
|
||||
{
|
||||
.id = DECOR_SNORLAX_DOLL,
|
||||
@@ -1343,7 +1343,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SNORLAX_DOLL,
|
||||
.tiles = DecorGfx_SNORLAX_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RHYDON_DOLL] =
|
||||
{
|
||||
.id = DECOR_RHYDON_DOLL,
|
||||
@@ -1355,7 +1355,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RHYDON_DOLL,
|
||||
.tiles = DecorGfx_RHYDON_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_LAPRAS_DOLL] =
|
||||
{
|
||||
.id = DECOR_LAPRAS_DOLL,
|
||||
@@ -1367,7 +1367,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_LAPRAS_DOLL,
|
||||
.tiles = DecorGfx_LAPRAS_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_VENUSAUR_DOLL] =
|
||||
{
|
||||
.id = DECOR_VENUSAUR_DOLL,
|
||||
@@ -1379,7 +1379,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_VENUSAUR_DOLL,
|
||||
.tiles = DecorGfx_VENUSAUR_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CHARIZARD_DOLL] =
|
||||
{
|
||||
.id = DECOR_CHARIZARD_DOLL,
|
||||
@@ -1391,7 +1391,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CHARIZARD_DOLL,
|
||||
.tiles = DecorGfx_CHARIZARD_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLASTOISE_DOLL] =
|
||||
{
|
||||
.id = DECOR_BLASTOISE_DOLL,
|
||||
@@ -1403,7 +1403,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLASTOISE_DOLL,
|
||||
.tiles = DecorGfx_BLASTOISE_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_WAILMER_DOLL] =
|
||||
{
|
||||
.id = DECOR_WAILMER_DOLL,
|
||||
@@ -1415,7 +1415,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_WAILMER_DOLL,
|
||||
.tiles = DecorGfx_WAILMER_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_REGIROCK_DOLL] =
|
||||
{
|
||||
.id = DECOR_REGIROCK_DOLL,
|
||||
@@ -1427,7 +1427,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_REGIROCK_DOLL,
|
||||
.tiles = DecorGfx_REGIROCK_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_REGICE_DOLL] =
|
||||
{
|
||||
.id = DECOR_REGICE_DOLL,
|
||||
@@ -1439,7 +1439,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_REGICE_DOLL,
|
||||
.tiles = DecorGfx_REGICE_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_REGISTEEL_DOLL] =
|
||||
{
|
||||
.id = DECOR_REGISTEEL_DOLL,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const u32 *const gDecorIconTable[][2] =
|
||||
const u32 *const gDecorIconTable[][2] =
|
||||
{
|
||||
[DECOR_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
[DECOR_SMALL_DESK] = {NULL, NULL},
|
||||
|
||||
@@ -29,8 +29,8 @@ static const struct SpriteFrameImage sPicTable_ShadowExtraLarge[] = {
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_8x8,
|
||||
.anims = sAnimTable_Shadow,
|
||||
.images = sPicTable_ShadowSmall,
|
||||
@@ -39,8 +39,8 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_16x8,
|
||||
.anims = sAnimTable_Shadow,
|
||||
.images = sPicTable_ShadowMedium,
|
||||
@@ -49,8 +49,8 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_32x8,
|
||||
.anims = sAnimTable_Shadow,
|
||||
.images = sPicTable_ShadowLarge,
|
||||
@@ -59,8 +59,8 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_64x32,
|
||||
.anims = sAnimTable_Shadow,
|
||||
.images = sPicTable_ShadowExtraLarge,
|
||||
@@ -92,7 +92,7 @@ static const union AnimCmd *const sAnimTable_TallGrass[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_TallGrass,
|
||||
@@ -128,7 +128,7 @@ static const union AnimCmd *const sAnimTable_Ripple[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_Ripple,
|
||||
@@ -161,7 +161,7 @@ static const union AnimCmd *const sAnimTable_Ash[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_Ash,
|
||||
@@ -209,8 +209,8 @@ static const union AnimCmd *const sAnimTable_SurfBlob[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_32x32,
|
||||
.anims = sAnimTable_SurfBlob,
|
||||
.images = sPicTable_SurfBlob,
|
||||
@@ -266,8 +266,8 @@ static const union AnimCmd *const sAnimTable_Arrow[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_Arrow,
|
||||
.images = sPicTable_Arrow,
|
||||
@@ -295,7 +295,7 @@ static const union AnimCmd *const sAnimTable_GroundImpactDust[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x8,
|
||||
.anims = sAnimTable_GroundImpactDust,
|
||||
@@ -326,7 +326,7 @@ static const union AnimCmd *const sAnimTable_JumpTallGrass[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpTallGrass = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x8,
|
||||
.anims = sAnimTable_JumpTallGrass,
|
||||
@@ -374,7 +374,7 @@ static const union AnimCmd *const sAnimTable_SandFootprints[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_SandFootprints,
|
||||
@@ -422,7 +422,7 @@ static const union AnimCmd *const sAnimTable_DeepSandFootprints[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_DeepSandFootprints,
|
||||
@@ -500,7 +500,7 @@ static const union AnimCmd *const sAnimTable_BikeTireTracks[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_BikeTireTracks,
|
||||
@@ -531,7 +531,7 @@ static const union AnimCmd *const sAnimTable_JumpBigSplash[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpBigSplash = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_JumpBigSplash,
|
||||
@@ -572,7 +572,7 @@ static const union AnimCmd *const sAnimTable_Splash[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x8,
|
||||
.anims = sAnimTable_Splash,
|
||||
@@ -601,7 +601,7 @@ static const union AnimCmd *const sAnimTable_JumpSmallSplash[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpSmallSplash = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x8,
|
||||
.anims = sAnimTable_JumpSmallSplash,
|
||||
@@ -635,7 +635,7 @@ static const union AnimCmd *const sAnimTable_LongGrass[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_LongGrass,
|
||||
@@ -670,7 +670,7 @@ static const union AnimCmd *const sAnimTable_JumpLongGrass[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpLongGrass = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_JumpLongGrass,
|
||||
@@ -711,7 +711,7 @@ static const union AnimCmd *const sAnimTable_UnusedGrass[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_UnusedGrass,
|
||||
@@ -744,7 +744,7 @@ static const union AnimCmd *const sAnimTable_UnusedGrass2[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass2 = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_UnusedGrass2,
|
||||
@@ -775,7 +775,7 @@ static const union AnimCmd *const sAnimTable_UnusedSand[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedSand = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_UnusedSand,
|
||||
@@ -804,7 +804,7 @@ static const union AnimCmd *const sAnimTable_SandPile[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SandPile = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x8,
|
||||
.anims = sAnimTable_SandPile,
|
||||
@@ -837,7 +837,7 @@ static const union AnimCmd *const sAnimTable_WaterSurfacing[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_WaterSurfacing = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_WaterSurfacing,
|
||||
@@ -882,7 +882,7 @@ static const union AffineAnimCmd *const sAffineAnims_ReflectionDistortion[] =
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ReflectionDistortion = {
|
||||
.tileTag = 0x0,
|
||||
.paletteTag = 0xFFFF,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gDummyOamData,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
@@ -930,8 +930,8 @@ static const union AnimCmd *const sAnimTable_Sparkle[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Sparkle = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_Sparkle,
|
||||
.images = sPicTable_Sparkle,
|
||||
@@ -974,8 +974,8 @@ static const union AnimCmd *const sAnimTable_TreeDisguise[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_16x32,
|
||||
.anims = sAnimTable_TreeDisguise,
|
||||
.images = sPicTable_TreeDisguise,
|
||||
@@ -1018,8 +1018,8 @@ static const union AnimCmd *const sAnimTable_MountainDisguise[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_16x32,
|
||||
.anims = sAnimTable_MountainDisguise,
|
||||
.images = sPicTable_MountainDisguise,
|
||||
@@ -1038,8 +1038,8 @@ static const struct SpriteFrameImage sPicTable_SandDisguisePlaceholder[] = {
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_16x32,
|
||||
.anims = sAnimTable_TreeDisguise,
|
||||
.images = sPicTable_SandDisguisePlaceholder,
|
||||
@@ -1063,8 +1063,8 @@ static const union AnimCmd *const sAnimTable_Bird[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_32x32,
|
||||
.anims = sAnimTable_Bird,
|
||||
.images = sPicTable_Bird,
|
||||
@@ -1090,7 +1090,7 @@ static const union AnimCmd *const sAnimTable_ShortGrass[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_ShortGrass,
|
||||
@@ -1115,7 +1115,7 @@ static const union AnimCmd *const sAnimTable_HotSpringsWater[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_HotSpringsWater,
|
||||
@@ -1149,12 +1149,12 @@ static const union AnimCmd *const sAnimTable_AshPuff[] =
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff =
|
||||
{
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_AshPuff,
|
||||
.images = sPicTable_AshPuff,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_AshPuff,
|
||||
.images = sPicTable_AshPuff,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_AshPuff
|
||||
};
|
||||
|
||||
@@ -1183,14 +1183,14 @@ static const union AnimCmd *const sAnimTable_AshLaunch[] =
|
||||
sAnim_AshLaunch,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch =
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch =
|
||||
{
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_AshLaunch,
|
||||
.images = sPicTable_AshLaunch,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_AshLaunch,
|
||||
.images = sPicTable_AshLaunch,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_AshLaunch
|
||||
};
|
||||
|
||||
@@ -1224,7 +1224,7 @@ static const union AnimCmd *const sAnimTable_Bubbles[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
||||
.oam = &gObjectEventBaseOam_16x32,
|
||||
.anims = sAnimTable_Bubbles,
|
||||
@@ -1252,7 +1252,7 @@ static const union AnimCmd *const sAnimTable_SmallSparkle[] =
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle = {
|
||||
.tileTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_SMALL_SPARKLE,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_SmallSparkle,
|
||||
@@ -1277,8 +1277,8 @@ const struct SpriteFrameImage sPicTable_RayquazaSpotlightEffect[] = {
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gObjectEventBaseOam_32x32,
|
||||
.anims = sAnimTable_RayquazaSpotlightEffect,
|
||||
.images = sPicTable_RayquazaSpotlightEffect,
|
||||
|
||||
@@ -24,7 +24,7 @@ const u32 gRaySceneTakesFlight_Bg_Tilemap[] = INCBIN_U32("graphics/rayquaz
|
||||
|
||||
// Scene 3 (RAY_ANIM_DESCENDS)
|
||||
const u32 gRaySceneDescends_Rayquaza_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/scene_3/rayquaza.4bpp.lz");
|
||||
// for some reason there are an extra 0xC bytes at the end of the original rayquaza_tail.4bpp, so in order to produce the correct lz,
|
||||
// for some reason there are an extra 0xC bytes at the end of the original rayquaza_tail.4bpp, so in order to produce the correct lz,
|
||||
// we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software.
|
||||
const u32 gRaySceneDescends_RayquazaTail_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/scene_3/rayquaza_tail_fix.4bpp.lz");
|
||||
const u32 gRaySceneDescends_Bg_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/scene_3/bg.4bpp.lz");
|
||||
|
||||
@@ -192,10 +192,9 @@ const u32 *const gItemIconTable[][2] =
|
||||
[ITEM_LANSAT_BERRY] = {gItemIcon_LansatBerry, gItemIconPalette_LansatBerry},
|
||||
[ITEM_STARF_BERRY] = {gItemIcon_StarfBerry, gItemIconPalette_StarfBerry},
|
||||
[ITEM_ENIGMA_BERRY] = {gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry},
|
||||
// ????????
|
||||
[ITEM_0B0] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
[ITEM_0B1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
[ITEM_0B2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
[ITEM_UNUSED_BERRY_1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
[ITEM_UNUSED_BERRY_2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
[ITEM_UNUSED_BERRY_3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
// Hold items
|
||||
[ITEM_BRIGHT_POWDER] = {gItemIcon_BrightPowder, gItemIconPalette_BrightPowder},
|
||||
[ITEM_WHITE_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb},
|
||||
|
||||
+3
-3
@@ -2148,7 +2148,7 @@ const struct Item gItems[] =
|
||||
.battleUseFunc = ItemUseInBattle_EnigmaBerry,
|
||||
},
|
||||
|
||||
[ITEM_0B0] =
|
||||
[ITEM_UNUSED_BERRY_1] =
|
||||
{
|
||||
.name = _("????????"),
|
||||
.itemId = ITEM_NONE,
|
||||
@@ -2159,7 +2159,7 @@ const struct Item gItems[] =
|
||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||
},
|
||||
|
||||
[ITEM_0B1] =
|
||||
[ITEM_UNUSED_BERRY_2] =
|
||||
{
|
||||
.name = _("????????"),
|
||||
.itemId = ITEM_NONE,
|
||||
@@ -2170,7 +2170,7 @@ const struct Item gItems[] =
|
||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||
},
|
||||
|
||||
[ITEM_0B2] =
|
||||
[ITEM_UNUSED_BERRY_3] =
|
||||
{
|
||||
.name = _("????????"),
|
||||
.itemId = ITEM_NONE,
|
||||
|
||||
+18
-18
@@ -20,7 +20,7 @@ static const u16 sLilycoveLadyGfxId[] =
|
||||
};
|
||||
|
||||
// Quiz Lady data
|
||||
static const u16 sQuizLadyQuestion1[] =
|
||||
static const u16 sQuizLadyQuestion1[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_STORES,
|
||||
@@ -33,9 +33,9 @@ static const u16 sQuizLadyQuestion1[] =
|
||||
EC_WORD_POKENAV
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion2[] =
|
||||
static const u16 sQuizLadyQuestion2[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_ISN_T,
|
||||
EC_WORD_A,
|
||||
EC_WORD_GAME,
|
||||
@@ -46,7 +46,7 @@ static const u16 sQuizLadyQuestion2[] =
|
||||
EC_WORD_DARK
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion3[] =
|
||||
static const u16 sQuizLadyQuestion3[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_HOW,
|
||||
EC_WORD_DO,
|
||||
@@ -59,7 +59,7 @@ static const u16 sQuizLadyQuestion3[] =
|
||||
EC_WORD_CUTE_CHARM
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion4[] =
|
||||
static const u16 sQuizLadyQuestion4[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_IS,
|
||||
@@ -72,7 +72,7 @@ static const u16 sQuizLadyQuestion4[] =
|
||||
EC_WORD_MACHINE
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion5[] =
|
||||
static const u16 sQuizLadyQuestion5[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_ITEM,
|
||||
@@ -85,7 +85,7 @@ static const u16 sQuizLadyQuestion5[] =
|
||||
EC_WORD_PHONE
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion6[] =
|
||||
static const u16 sQuizLadyQuestion6[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_WILL,
|
||||
@@ -98,7 +98,7 @@ static const u16 sQuizLadyQuestion6[] =
|
||||
EC_WORD_SWIFT_SWIM
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion7[] =
|
||||
static const u16 sQuizLadyQuestion7[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_OF,
|
||||
@@ -111,20 +111,20 @@ static const u16 sQuizLadyQuestion7[] =
|
||||
EC_WORD_ROCK
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion8[] =
|
||||
static const u16 sQuizLadyQuestion8[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_WILL,
|
||||
EC_MOVE2(BLOCK),
|
||||
EC_WORD_ESCAPE,
|
||||
EC_WORD_QUES,
|
||||
EC_EMPTY_WORD,
|
||||
EC_EMPTY_WORD,
|
||||
EC_WORD_RUN_AWAY,
|
||||
EC_WORD_SHADOW_TAG,
|
||||
EC_WORD_WONDER_GUARD
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion9[] =
|
||||
static const u16 sQuizLadyQuestion9[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_WILL,
|
||||
@@ -137,7 +137,7 @@ static const u16 sQuizLadyQuestion9[] =
|
||||
EC_WORD_SHED_SKIN
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion10[] =
|
||||
static const u16 sQuizLadyQuestion10[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_GOES,
|
||||
@@ -150,7 +150,7 @@ static const u16 sQuizLadyQuestion10[] =
|
||||
EC_WORD_POKENAV
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion11[] =
|
||||
static const u16 sQuizLadyQuestion11[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_STORES,
|
||||
@@ -163,7 +163,7 @@ static const u16 sQuizLadyQuestion11[] =
|
||||
EC_WORD_TELEVISION
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion12[] =
|
||||
static const u16 sQuizLadyQuestion12[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_MACHINE,
|
||||
@@ -176,7 +176,7 @@ static const u16 sQuizLadyQuestion12[] =
|
||||
EC_WORD_TELEVISION
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion13[] =
|
||||
static const u16 sQuizLadyQuestion13[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_A,
|
||||
EC_WORD_POKEMON,
|
||||
@@ -189,7 +189,7 @@ static const u16 sQuizLadyQuestion13[] =
|
||||
EC_WORD_LETTER
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion14[] =
|
||||
static const u16 sQuizLadyQuestion14[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_STEEL,
|
||||
EC_WORD_IS,
|
||||
@@ -202,7 +202,7 @@ static const u16 sQuizLadyQuestion14[] =
|
||||
EC_EMPTY_WORD
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion15[] =
|
||||
static const u16 sQuizLadyQuestion15[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_DARK,
|
||||
EC_WORD_IS,
|
||||
@@ -215,7 +215,7 @@ static const u16 sQuizLadyQuestion15[] =
|
||||
EC_EMPTY_WORD
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion16[] =
|
||||
static const u16 sQuizLadyQuestion16[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_GHOST,
|
||||
EC_WORD_IS,
|
||||
|
||||
@@ -559,7 +559,7 @@ const u8 *const gBerryTreeObjectEventGraphicsIdTablePointers[] = {
|
||||
[ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable,
|
||||
[ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable,
|
||||
// 3 unused berries.
|
||||
[ITEM_0B0 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable,
|
||||
[ITEM_0B1 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable,
|
||||
[ITEM_0B2 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable,
|
||||
[ITEM_UNUSED_BERRY_1 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable,
|
||||
[ITEM_UNUSED_BERRY_2 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable,
|
||||
[ITEM_UNUSED_BERRY_3 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable,
|
||||
};
|
||||
|
||||
@@ -950,7 +950,7 @@ static const union AnimCmd sAnim_RayquazaFaceEast[] =
|
||||
};
|
||||
|
||||
// Though they correspond to facing/walking movements, Rayquaza doesn't have
|
||||
// equivalent images aside from flying up. Its other frames aside from the 'normal'
|
||||
// equivalent images aside from flying up. Its other frames aside from the 'normal'
|
||||
// frame are for the sequence where it awakens on Sky Pillar.
|
||||
// The corresponding facing/walking movements are commented alongside
|
||||
static const union AnimCmd *const sAnimTable_Rayquaza[] = {
|
||||
|
||||
@@ -1,245 +1,245 @@
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = {0xFFFF, OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_QuintyPlump, sPicTable_QuintyPlump, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_NinjaBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Twin, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleGirl, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RichBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_FatMan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman4, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cook, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_LinkReceptionist, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldMan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Camper, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Picnicker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman5, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Youngster, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BugCatcher, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PsychicM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SchoolKidM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maniac, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HexManiac, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Standard, sPicTable_RayquazaStill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BlackBelt, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Beauty, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lass, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Gentleman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sailor, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Fisherman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Hiker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Nurse, sPicTable_Nurse, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ItemBall, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, NULL, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ProfBirch, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man4, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man5, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_CuttableTree, sPicTable_CuttableTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MartEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Teala, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BreakableRock, sPicTable_BreakableRock, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PushableBoulder, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = {0xFFFF, OBJ_EVENT_PAL_TAG_TRUCK, OBJ_EVENT_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_48x48, sAnimTable_Inanimate, sPicTable_Truck, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = {0xFFFF, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = {0xFFFF, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BirchsBag, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = {0xFFFF, OBJ_EVENT_PAL_TAG_ZIGZAGOON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = {0xFFFF, OBJ_EVENT_PAL_TAG_POOCHYENA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Poochyena, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Artist, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cameraman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = {0xFFFF, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = {0xFFFF, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayUnderwater, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = {0xFFFF, OBJ_EVENT_PAL_TAG_MOVING_BOX, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MovingBox, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = {0xFFFF, OBJ_EVENT_PAL_TAG_CABLE_CAR, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Inanimate, sPicTable_CableCar, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_DevonEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sidney, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Phoebe, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Glacia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Drake, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Roxanne, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brawly, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wattson, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Flannery, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Norman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Winona, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Liza, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tate, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wallace, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Steven, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wally, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_BrendanFishing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_MayFishing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = {0xFFFF, OBJ_EVENT_PAL_TAG_SSTIDAL, OBJ_EVENT_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_96x40, sAnimTable_Standard, sPicTable_SSTidal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = {0xFFFF, OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, OBJ_EVENT_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_88x32, sAnimTable_Standard, sPicTable_SubmarineShadow, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PichuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikachuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MarillDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TogepiDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TotodileDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MeowthDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ClefairyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DittoDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SmoochumDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TreeckoDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TorchicDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MudkipDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DuskullDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WynautDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BaltoyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KecleonDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_AzurillDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SkittyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SwabluDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GulpinDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LotadDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SeedotDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikaCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_RoundCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KissCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ZigzagCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SpinCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DiamondCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BallCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GrassCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_FireCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WaterCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_GameboyKid, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ContestJudge, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanWatering, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayWatering, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_BrendanDecorating, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_MayDecorating, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Archie, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maxie, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreSide, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_GroudonSide, sPicTable_GroudonSide, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_Fossil, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Skitty, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep = {0xFFFF, OBJ_EVENT_PAL_TAG_KYOGRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep = {0xFFFF, OBJ_EVENT_PAL_TAG_GROUDON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Rayquaza, sPicTable_Rayquaza, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Zigzagoon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Pikachu, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azumarill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Wingull, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberMSwimming, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azurill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mom, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Juan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scott, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_Statue, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Kirlia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Dusclops, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = {0xFFFF, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Red, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = {0xFFFF, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Leaf, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sudowoodo, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mew, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = {0xFFFF, OBJ_EVENT_PAL_TAG_DEOXYS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Deoxys, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = {0xFFFF, OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BirthIslandStone, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Anabel, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tucker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Greta, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Spenser, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Noland, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lucy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brandon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = {0xFFFF, OBJ_EVENT_PAL_TAG_RS_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = {0xFFFF, OBJ_EVENT_PAL_TAG_RS_MAY, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireMay, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = {0xFFFF, OBJ_EVENT_PAL_TAG_LUGIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Lugia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = {0xFFFF, OBJ_EVENT_PAL_TAG_HO_OH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_HoOh, sPicTable_HoOh, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = {TAG_NONE, OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_QuintyPlump, sPicTable_QuintyPlump, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_NinjaBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Twin, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleGirl, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RichBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_FatMan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman4, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cook, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_LinkReceptionist, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldMan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Camper, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Picnicker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman5, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Youngster, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BugCatcher, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PsychicM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SchoolKidM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maniac, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HexManiac, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Standard, sPicTable_RayquazaStill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BlackBelt, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Beauty, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lass, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Gentleman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sailor, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Fisherman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Hiker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Nurse, sPicTable_Nurse, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ItemBall, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, NULL, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ProfBirch, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man4, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man5, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_CuttableTree, sPicTable_CuttableTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MartEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Teala, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BreakableRock, sPicTable_BreakableRock, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PushableBoulder, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = {TAG_NONE, OBJ_EVENT_PAL_TAG_TRUCK, OBJ_EVENT_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_48x48, sAnimTable_Inanimate, sPicTable_Truck, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = {TAG_NONE, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = {TAG_NONE, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BirchsBag, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = {TAG_NONE, OBJ_EVENT_PAL_TAG_ZIGZAGOON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = {TAG_NONE, OBJ_EVENT_PAL_TAG_POOCHYENA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Poochyena, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Artist, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cameraman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = {TAG_NONE, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = {TAG_NONE, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayUnderwater, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = {TAG_NONE, OBJ_EVENT_PAL_TAG_MOVING_BOX, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MovingBox, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = {TAG_NONE, OBJ_EVENT_PAL_TAG_CABLE_CAR, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Inanimate, sPicTable_CableCar, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_DevonEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sidney, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Phoebe, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Glacia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Drake, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Roxanne, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brawly, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wattson, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Flannery, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Norman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Winona, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Liza, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tate, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wallace, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Steven, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wally, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_BrendanFishing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_MayFishing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = {TAG_NONE, OBJ_EVENT_PAL_TAG_SSTIDAL, OBJ_EVENT_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_96x40, sAnimTable_Standard, sPicTable_SSTidal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = {TAG_NONE, OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, OBJ_EVENT_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_88x32, sAnimTable_Standard, sPicTable_SubmarineShadow, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PichuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikachuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MarillDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TogepiDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TotodileDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MeowthDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ClefairyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DittoDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SmoochumDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TreeckoDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TorchicDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MudkipDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DuskullDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WynautDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BaltoyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KecleonDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_AzurillDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SkittyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SwabluDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GulpinDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LotadDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SeedotDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikaCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_RoundCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KissCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ZigzagCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SpinCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DiamondCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BallCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GrassCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_FireCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WaterCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_GameboyKid, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ContestJudge, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanWatering, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayWatering, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_BrendanDecorating, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_MayDecorating, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Archie, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maxie, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreSide, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_GroudonSide, sPicTable_GroudonSide, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_Fossil, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Skitty, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep = {TAG_NONE, OBJ_EVENT_PAL_TAG_KYOGRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep = {TAG_NONE, OBJ_EVENT_PAL_TAG_GROUDON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Rayquaza, sPicTable_Rayquaza, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Zigzagoon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Pikachu, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azumarill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Wingull, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberMSwimming, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azurill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mom, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Juan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scott, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_Statue, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Kirlia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Dusclops, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = {TAG_NONE, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Red, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = {TAG_NONE, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Leaf, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sudowoodo, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mew, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = {TAG_NONE, OBJ_EVENT_PAL_TAG_DEOXYS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Deoxys, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = {TAG_NONE, OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BirthIslandStone, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Anabel, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tucker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Greta, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Spenser, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Noland, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lucy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brandon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = {TAG_NONE, OBJ_EVENT_PAL_TAG_RS_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = {TAG_NONE, OBJ_EVENT_PAL_TAG_RS_MAY, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireMay, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = {TAG_NONE, OBJ_EVENT_PAL_TAG_LUGIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Lugia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = {TAG_NONE, OBJ_EVENT_PAL_TAG_HO_OH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_HoOh, sPicTable_HoOh, gDummySpriteAffineAnimTable};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+17
-17
@@ -37,9 +37,9 @@ enum
|
||||
|
||||
static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
|
||||
{
|
||||
[PARTY_BOX_LEFT_COLUMN] =
|
||||
[PARTY_BOX_LEFT_COLUMN] =
|
||||
{
|
||||
BlitBitmapToPartyWindow_LeftColumn,
|
||||
BlitBitmapToPartyWindow_LeftColumn,
|
||||
{
|
||||
//The below are the x, y, width, and height for each of the following info
|
||||
24, 11, 40, 13, // Nickname
|
||||
@@ -48,12 +48,12 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
|
||||
38, 37, 24, 8, // HP
|
||||
53, 37, 24, 8, // Max HP
|
||||
24, 35, 48, 3 // HP bar
|
||||
},
|
||||
},
|
||||
12, 34, 64, 16 // Description text (e.g. NO USE)
|
||||
},
|
||||
[PARTY_BOX_RIGHT_COLUMN] =
|
||||
[PARTY_BOX_RIGHT_COLUMN] =
|
||||
{
|
||||
BlitBitmapToPartyWindow_RightColumn,
|
||||
BlitBitmapToPartyWindow_RightColumn,
|
||||
{
|
||||
// See above comment
|
||||
22, 3, 40, 13, // Nickname
|
||||
@@ -62,7 +62,7 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
|
||||
102, 12, 24, 8, // HP
|
||||
117, 12, 24, 8, // Max HP
|
||||
88, 10, 48, 3 // HP bar
|
||||
},
|
||||
},
|
||||
77, 4, 64, 16 // Description text
|
||||
},
|
||||
};
|
||||
@@ -73,7 +73,7 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
|
||||
// Pokemon icon (x, y), held item (x, y), status condition (x, y), menu pokeball (x, y)
|
||||
static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
|
||||
{
|
||||
[PARTY_LAYOUT_SINGLE] =
|
||||
[PARTY_LAYOUT_SINGLE] =
|
||||
{
|
||||
{ 16, 40, 20, 50, 50, 52, 16, 34},
|
||||
{104, 18, 108, 28, 136, 27, 102, 25},
|
||||
@@ -82,7 +82,7 @@ static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
|
||||
{104, 90, 108, 100, 136, 99, 102, 97},
|
||||
{104, 114, 108, 124, 136, 123, 102, 121},
|
||||
},
|
||||
[PARTY_LAYOUT_DOUBLE] =
|
||||
[PARTY_LAYOUT_DOUBLE] =
|
||||
{
|
||||
{16, 24, 20, 34, 50, 36, 16, 18},
|
||||
{16, 80, 20, 90, 50, 92, 16, 74},
|
||||
@@ -91,7 +91,7 @@ static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
|
||||
{104, 82, 108, 92, 136, 91, 102, 89},
|
||||
{104, 114, 108, 124, 136, 123, 102, 121},
|
||||
},
|
||||
[PARTY_LAYOUT_MULTI] =
|
||||
[PARTY_LAYOUT_MULTI] =
|
||||
{
|
||||
{16, 24, 20, 34, 50, 36, 16, 18},
|
||||
{16, 80, 20, 90, 50, 92, 16, 74},
|
||||
@@ -100,7 +100,7 @@ static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
|
||||
{104, 82, 106, 92, 136, 91, 102, 89},
|
||||
{104, 106, 106, 116, 136, 115, 102, 113},
|
||||
},
|
||||
[PARTY_LAYOUT_MULTI_SHOWCASE] =
|
||||
[PARTY_LAYOUT_MULTI_SHOWCASE] =
|
||||
{
|
||||
{16, 32, 20, 42, 50, 44, 16, 26},
|
||||
{104, 34, 106, 44, 136, 43, 102, 41},
|
||||
@@ -1171,14 +1171,14 @@ static const struct SpriteTemplate sSpriteTemplate_StatusIcons =
|
||||
// Mask for the partners party in a multi battle. TRUE if in the partners party, FALSE otherwise
|
||||
// The 7th slot is Cancel, and the 8th slot is unreachable
|
||||
// Used only to determine whether or not to show the Deoxys form icon sprite
|
||||
static const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] =
|
||||
static const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] =
|
||||
{
|
||||
FALSE,
|
||||
TRUE,
|
||||
FALSE,
|
||||
FALSE,
|
||||
TRUE,
|
||||
TRUE,
|
||||
FALSE,
|
||||
TRUE,
|
||||
FALSE,
|
||||
FALSE,
|
||||
TRUE,
|
||||
TRUE,
|
||||
FALSE
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
static const struct CityMapEntry sPokenavCityMaps[NUM_CITY_MAPS] =
|
||||
static const struct CityMapEntry sPokenavCityMaps[NUM_CITY_MAPS] =
|
||||
{
|
||||
{
|
||||
.mapSecId = MAPSEC_LITTLEROOT_TOWN,
|
||||
|
||||
+21
-21
@@ -110,35 +110,35 @@ static const struct MenuAction MultichoiceList_Mechadoll1_Q1[] =
|
||||
{gTrickHouse_Mechadoll_Taillow},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Azurill},
|
||||
{gTrickHouse_Mechadoll_Lotad},
|
||||
{gTrickHouse_Mechadoll_Wingull},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Dustox},
|
||||
{gTrickHouse_Mechadoll_Zubat},
|
||||
{gTrickHouse_Mechadoll_Nincada},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Ralts},
|
||||
{gTrickHouse_Mechadoll_Zigzagoon},
|
||||
{gTrickHouse_Mechadoll_Slakoth},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Poochyena2},
|
||||
{gTrickHouse_Mechadoll_Shroomish},
|
||||
{gTrickHouse_Mechadoll_Zigzagoon2},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Poochyena3},
|
||||
{gTrickHouse_Mechadoll_Zubat2},
|
||||
@@ -152,56 +152,56 @@ static const struct MenuAction MultichoiceList_Mechadoll3_Q1[] =
|
||||
{gTrickHouse_Mechadoll_SamePrice},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_60Yen},
|
||||
{gTrickHouse_Mechadoll_55Yen},
|
||||
{gTrickHouse_Mechadoll_Nothing},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_CostMore},
|
||||
{gTrickHouse_Mechadoll_CostLess},
|
||||
{gTrickHouse_Mechadoll_SamePrice2},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Male},
|
||||
{gTrickHouse_Mechadoll_Female},
|
||||
{gTrickHouse_Mechadoll_Neither},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_ElderlyMen},
|
||||
{gTrickHouse_Mechadoll_ElderlyLadies},
|
||||
{gTrickHouse_Mechadoll_SameNumber},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_None},
|
||||
{gTrickHouse_Mechadoll_One},
|
||||
{gTrickHouse_Mechadoll_Two},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Two2},
|
||||
{gTrickHouse_Mechadoll_Three},
|
||||
{gTrickHouse_Mechadoll_Four},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Six},
|
||||
{gTrickHouse_Mechadoll_Seven},
|
||||
{gTrickHouse_Mechadoll_Eight},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Six2},
|
||||
{gTrickHouse_Mechadoll_Seven2},
|
||||
@@ -934,14 +934,14 @@ const u8 *const gStdStrings[] =
|
||||
[STDSTRING_BATTLE_PYRAMID] = gText_BattlePyramid,
|
||||
};
|
||||
|
||||
static const u8 sLinkServicesMultichoiceIds[] =
|
||||
{
|
||||
MULTI_CABLE_CLUB_NO_RECORD_MIX,
|
||||
MULTI_WIRELESS_NO_RECORD_BERRY,
|
||||
MULTI_CABLE_CLUB_WITH_RECORD_MIX,
|
||||
MULTI_WIRELESS_NO_BERRY,
|
||||
MULTI_WIRELESS_NO_RECORD,
|
||||
MULTI_WIRELESS_ALL_SERVICES
|
||||
static const u8 sLinkServicesMultichoiceIds[] =
|
||||
{
|
||||
MULTI_CABLE_CLUB_NO_RECORD_MIX,
|
||||
MULTI_WIRELESS_NO_RECORD_BERRY,
|
||||
MULTI_CABLE_CLUB_WITH_RECORD_MIX,
|
||||
MULTI_WIRELESS_NO_BERRY,
|
||||
MULTI_WIRELESS_NO_RECORD,
|
||||
MULTI_WIRELESS_ALL_SERVICES
|
||||
};
|
||||
|
||||
static const u8 *const sPCNameStrings[] =
|
||||
|
||||
@@ -46,7 +46,7 @@ const u8 gGiftRibbonDescriptionPart2_LovedPokemon[] = _("for a loved POKéMON.")
|
||||
const u8 gGiftRibbonDescriptionPart1_LoveForPokemon[] = _("RIBBON that shows");
|
||||
const u8 gGiftRibbonDescriptionPart2_LoveForPokemon[] = _("love for POKéMON.");
|
||||
|
||||
const u8 *const gGiftRibbonDescriptionPointers[MAX_GIFT_RIBBON][2] =
|
||||
const u8 *const gGiftRibbonDescriptionPointers[MAX_GIFT_RIBBON][2] =
|
||||
{
|
||||
{gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Champion},
|
||||
{gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Champion},
|
||||
|
||||
@@ -388,7 +388,7 @@ const u8 gText_MatchCallChampion_Wallace_Pokemon[] = _("I prefer POKéMON of gra
|
||||
const u8 gText_MatchCallChampion_Wallace_Intro1[] = _("I represent beauty as");
|
||||
const u8 gText_MatchCallChampion_Wallace_Intro2[] = _("well as intelligence.");
|
||||
|
||||
const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] =
|
||||
const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] =
|
||||
{
|
||||
[REMATCH_ROSE] = MCFLAVOR(AromaLady_Rose),
|
||||
[REMATCH_ANDRES] = MCFLAVOR(RuinManiac_Andres),
|
||||
|
||||
@@ -24,7 +24,7 @@ static const u8 sSassyNatureName[] = _("SASSY");
|
||||
static const u8 sCarefulNatureName[] = _("CAREFUL");
|
||||
static const u8 sQuirkyNatureName[] = _("QUIRKY");
|
||||
|
||||
const u8 *const gNatureNamePointers[NUM_NATURES] =
|
||||
const u8 *const gNatureNamePointers[NUM_NATURES] =
|
||||
{
|
||||
[NATURE_HARDY] = sHardyNatureName,
|
||||
[NATURE_LONELY] = sLonelyNatureName,
|
||||
|
||||
@@ -18,7 +18,7 @@ const u8 gRibbonDescriptionPart2_Artist[] = _("as a super sketch model.");
|
||||
const u8 gRibbonDescriptionPart1_Effort[] = _("RIBBON awarded for");
|
||||
const u8 gRibbonDescriptionPart2_Effort[] = _("being a hard worker.");
|
||||
|
||||
const u8 *const gRibbonDescriptionPointers[][2] =
|
||||
const u8 *const gRibbonDescriptionPointers[][2] =
|
||||
{
|
||||
[CHAMPION_RIBBON] = {gRibbonDescriptionPart1_Champion, gRibbonDescriptionPart2_Champion},
|
||||
[COOL_RIBBON_NORMAL] = {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_NormalRank},
|
||||
|
||||
+29
-29
@@ -1,4 +1,4 @@
|
||||
#define GFXTAG_MENU_TEXT 200 // Used as a base tag in CB2_CreateTradeMenu and CB2_ReturnToTradeMenu
|
||||
#define GFXTAG_MENU_TEXT 200 // Used as a base tag in CB2_CreateTradeMenu and CB2_ReturnToTradeMenu
|
||||
#define GFXTAG_CURSOR 300
|
||||
#define GFXTAG_LINK_MON_GLOW 5550
|
||||
#define GFXTAG_LINK_MON_SHADOW 5552
|
||||
@@ -395,7 +395,7 @@ static const struct MenuAction sSelectTradeMonActions[] =
|
||||
{sText_Trade2, Task_DrawSelectionTrade}
|
||||
};
|
||||
|
||||
static const u8 *const sTradeMessages[] =
|
||||
static const u8 *const sTradeMessages[] =
|
||||
{
|
||||
[TRADE_MSG_STANDBY] = sText_CommunicationStandby,
|
||||
[TRADE_MSG_CANCELED] = sText_TheTradeHasBeenCanceled,
|
||||
@@ -408,8 +408,8 @@ static const u8 *const sTradeMessages[] =
|
||||
[TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED] = gText_OtherTrainersPkmnCantBeTraded
|
||||
};
|
||||
|
||||
static const u8 sTradeTextColors[] =
|
||||
{
|
||||
static const u8 sTradeTextColors[] =
|
||||
{
|
||||
TEXT_COLOR_TRANSPARENT, //bg color
|
||||
TEXT_COLOR_WHITE, //fg color
|
||||
TEXT_COLOR_DARK_GRAY //shadow color
|
||||
@@ -1003,67 +1003,67 @@ static const union AffineAnimCmd *const sAffineAnims_CrossingMonPics[] =
|
||||
|
||||
static const struct InGameTrade sIngameTrades[] =
|
||||
{
|
||||
[INGAME_TRADE_SEEDOT] =
|
||||
[INGAME_TRADE_SEEDOT] =
|
||||
{
|
||||
.nickname = _("DOTS"),
|
||||
.nickname = _("DOTS"),
|
||||
.species = SPECIES_SEEDOT,
|
||||
.ivs = {5, 4, 5, 4, 4, 4},
|
||||
.abilityNum = 1,
|
||||
.abilityNum = 1,
|
||||
.otId = 38726,
|
||||
.conditions = {30, 5, 5, 5, 5},
|
||||
.personality = 0x84,
|
||||
.heldItem = ITEM_CHESTO_BERRY,
|
||||
.heldItem = ITEM_CHESTO_BERRY,
|
||||
.mailNum = -1,
|
||||
.otName = _("KOBE"),
|
||||
.otGender = MALE,
|
||||
.otName = _("KOBE"),
|
||||
.otGender = MALE,
|
||||
.sheen = 10,
|
||||
.requestedSpecies = SPECIES_RALTS
|
||||
},
|
||||
[INGAME_TRADE_PLUSLE] =
|
||||
},
|
||||
[INGAME_TRADE_PLUSLE] =
|
||||
{
|
||||
.nickname = _("PLUSES"),
|
||||
.nickname = _("PLUSES"),
|
||||
.species = SPECIES_PLUSLE,
|
||||
.ivs = {4, 4, 4, 5, 5, 4},
|
||||
.abilityNum = 0,
|
||||
.abilityNum = 0,
|
||||
.otId = 73996,
|
||||
.conditions = {5, 5, 30, 5, 5},
|
||||
.personality = 0x6F,
|
||||
.heldItem = ITEM_WOOD_MAIL,
|
||||
.heldItem = ITEM_WOOD_MAIL,
|
||||
.mailNum = 0,
|
||||
.otName = _("ROMAN"),
|
||||
.otGender = MALE,
|
||||
.otName = _("ROMAN"),
|
||||
.otGender = MALE,
|
||||
.sheen = 10,
|
||||
.requestedSpecies = SPECIES_VOLBEAT
|
||||
},
|
||||
[INGAME_TRADE_HORSEA] =
|
||||
},
|
||||
[INGAME_TRADE_HORSEA] =
|
||||
{
|
||||
.nickname = _("SEASOR"),
|
||||
.species = SPECIES_HORSEA,
|
||||
.ivs = {5, 4, 4, 4, 5, 4},
|
||||
.abilityNum = 0,
|
||||
.abilityNum = 0,
|
||||
.otId = 46285,
|
||||
.conditions = {5, 5, 5, 5, 30},
|
||||
.personality = 0x7F,
|
||||
.heldItem = ITEM_WAVE_MAIL,
|
||||
.heldItem = ITEM_WAVE_MAIL,
|
||||
.mailNum = 1,
|
||||
.otName = _("SKYLAR"),
|
||||
.otGender = MALE,
|
||||
.otName = _("SKYLAR"),
|
||||
.otGender = MALE,
|
||||
.sheen = 10,
|
||||
.requestedSpecies = SPECIES_BAGON
|
||||
},
|
||||
[INGAME_TRADE_MEOWTH] =
|
||||
},
|
||||
[INGAME_TRADE_MEOWTH] =
|
||||
{
|
||||
.nickname = _("MEOWOW"),
|
||||
.species = SPECIES_MEOWTH,
|
||||
.ivs = {4, 5, 4, 5, 4, 4},
|
||||
.abilityNum = 0,
|
||||
.abilityNum = 0,
|
||||
.otId = 91481,
|
||||
.conditions = {5, 5, 5, 30, 5},
|
||||
.personality = 0x8B,
|
||||
.heldItem = ITEM_RETRO_MAIL,
|
||||
.heldItem = ITEM_RETRO_MAIL,
|
||||
.mailNum = 2,
|
||||
.otName = _("ISIS"),
|
||||
.otGender = FEMALE,
|
||||
.otName = _("ISIS"),
|
||||
.otGender = FEMALE,
|
||||
.sheen = 10,
|
||||
.requestedSpecies = SPECIES_SKITTY
|
||||
}
|
||||
|
||||
+48
-48
@@ -52,14 +52,14 @@ static const u8 *const sPlayersNeededOrModeTexts[][5] = {
|
||||
{
|
||||
sText_1PlayerNeeded,
|
||||
sText_2PlayerMode
|
||||
},
|
||||
},
|
||||
// 4 players required
|
||||
{
|
||||
sText_3PlayersNeeded,
|
||||
sText_2PlayersNeeded,
|
||||
sText_1PlayerNeeded,
|
||||
sText_4PlayerMode
|
||||
},
|
||||
},
|
||||
// 2-5 players required
|
||||
{
|
||||
sText_1PlayerNeeded,
|
||||
@@ -67,7 +67,7 @@ static const u8 *const sPlayersNeededOrModeTexts[][5] = {
|
||||
sText_3PlayerMode,
|
||||
sText_4PlayerMode,
|
||||
sText_5PlayerMode
|
||||
},
|
||||
},
|
||||
// 3-5 players required
|
||||
{
|
||||
sText_2PlayersNeeded,
|
||||
@@ -75,7 +75,7 @@ static const u8 *const sPlayersNeededOrModeTexts[][5] = {
|
||||
sText_3PlayerMode,
|
||||
sText_4PlayerMode,
|
||||
sText_5PlayerMode
|
||||
},
|
||||
},
|
||||
// 2-4 players required
|
||||
{
|
||||
sText_1PlayerNeeded,
|
||||
@@ -369,7 +369,7 @@ static const u8 *const sBattleReactionTexts[GENDER_COUNT][4] = {
|
||||
sText_UsedGoodMoveMale,
|
||||
sText_BattleSurpriseMale,
|
||||
sText_SwitchedMonsMale
|
||||
},
|
||||
},
|
||||
{
|
||||
sText_YoureToughFemale,
|
||||
sText_UsedGoodMoveFemale,
|
||||
@@ -393,7 +393,7 @@ static const u8 *const sChatReactionTexts[GENDER_COUNT][4] = {
|
||||
sText_ThatsFunnyMale,
|
||||
sText_RandomChatMale1,
|
||||
sText_RandomChatMale2
|
||||
},
|
||||
},
|
||||
{
|
||||
sText_LearnedSomethingFemale,
|
||||
sText_ThatsFunnyFemale,
|
||||
@@ -411,7 +411,7 @@ static const u8 *const sTrainerCardReactionTexts[GENDER_COUNT][2] = {
|
||||
{
|
||||
sText_ShowedTrainerCardMale1,
|
||||
sText_ShowedTrainerCardMale2
|
||||
},
|
||||
},
|
||||
{
|
||||
sText_ShowedTrainerCardFemale1,
|
||||
sText_ShowedTrainerCardFemale2
|
||||
@@ -427,7 +427,7 @@ static const u8 *const sTradeReactionTexts[GENDER_COUNT][4] = {
|
||||
{
|
||||
sText_MaleTraded1,
|
||||
sText_MaleTraded2
|
||||
},
|
||||
},
|
||||
{
|
||||
sText_FemaleTraded1,
|
||||
sText_FemaleTraded2
|
||||
@@ -495,7 +495,7 @@ ALIGNED(4) static const u8 sText_ChooseLeaderToughContest[] = _("TOUGHNESS CONTE
|
||||
ALIGNED(4) static const u8 sText_ChooseLeaderBattleTowerLv50[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER.");
|
||||
ALIGNED(4) static const u8 sText_ChooseLeaderBattleTowerOpenLv[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER.");
|
||||
|
||||
static const u8 *const sChooseTrainerTexts[NUM_LINK_GROUP_TYPES] =
|
||||
static const u8 *const sChooseTrainerTexts[NUM_LINK_GROUP_TYPES] =
|
||||
{
|
||||
[LINK_GROUP_SINGLE_BATTLE] = sText_ChooseTrainerSingleBattle,
|
||||
[LINK_GROUP_DOUBLE_BATTLE] = sText_ChooseTrainerDoubleBattle,
|
||||
@@ -1027,29 +1027,29 @@ ALIGNED(4) static const u8 sAcceptedActivityIds_BerryPicking[] = {ACTIVITY_BE
|
||||
ALIGNED(4) static const u8 sAcceptedActivityIds_WonderCard[] = {ACTIVITY_WONDER_CARD, 0xff};
|
||||
ALIGNED(4) static const u8 sAcceptedActivityIds_WonderNews[] = {ACTIVITY_WONDER_NEWS, 0xff};
|
||||
ALIGNED(4) static const u8 sAcceptedActivityIds_Resume[] = {
|
||||
IN_UNION_ROOM | ACTIVITY_NONE,
|
||||
IN_UNION_ROOM | ACTIVITY_BATTLE_SINGLE,
|
||||
IN_UNION_ROOM | ACTIVITY_TRADE,
|
||||
IN_UNION_ROOM | ACTIVITY_CHAT,
|
||||
IN_UNION_ROOM | ACTIVITY_CARD,
|
||||
IN_UNION_ROOM | ACTIVITY_ACCEPT,
|
||||
IN_UNION_ROOM | ACTIVITY_DECLINE,
|
||||
IN_UNION_ROOM | ACTIVITY_NPCTALK,
|
||||
IN_UNION_ROOM | ACTIVITY_PLYRTALK,
|
||||
IN_UNION_ROOM | ACTIVITY_NONE,
|
||||
IN_UNION_ROOM | ACTIVITY_BATTLE_SINGLE,
|
||||
IN_UNION_ROOM | ACTIVITY_TRADE,
|
||||
IN_UNION_ROOM | ACTIVITY_CHAT,
|
||||
IN_UNION_ROOM | ACTIVITY_CARD,
|
||||
IN_UNION_ROOM | ACTIVITY_ACCEPT,
|
||||
IN_UNION_ROOM | ACTIVITY_DECLINE,
|
||||
IN_UNION_ROOM | ACTIVITY_NPCTALK,
|
||||
IN_UNION_ROOM | ACTIVITY_PLYRTALK,
|
||||
0xff
|
||||
};
|
||||
ALIGNED(4) static const u8 sAcceptedActivityIds_Init[] = {ACTIVITY_SEARCH, 0xff};
|
||||
ALIGNED(4) static const u8 sAcceptedActivityIds_Unk11[] = {
|
||||
ACTIVITY_BATTLE_SINGLE,
|
||||
ACTIVITY_BATTLE_DOUBLE,
|
||||
ACTIVITY_BATTLE_MULTI,
|
||||
ACTIVITY_TRADE,
|
||||
ACTIVITY_POKEMON_JUMP,
|
||||
ACTIVITY_BERRY_CRUSH,
|
||||
ACTIVITY_BERRY_PICK,
|
||||
ACTIVITY_WONDER_CARD,
|
||||
ACTIVITY_WONDER_NEWS,
|
||||
ACTIVITY_SPIN_TRADE,
|
||||
ACTIVITY_BATTLE_SINGLE,
|
||||
ACTIVITY_BATTLE_DOUBLE,
|
||||
ACTIVITY_BATTLE_MULTI,
|
||||
ACTIVITY_TRADE,
|
||||
ACTIVITY_POKEMON_JUMP,
|
||||
ACTIVITY_BERRY_CRUSH,
|
||||
ACTIVITY_BERRY_PICK,
|
||||
ACTIVITY_WONDER_CARD,
|
||||
ACTIVITY_WONDER_NEWS,
|
||||
ACTIVITY_SPIN_TRADE,
|
||||
0xff
|
||||
};
|
||||
ALIGNED(4) static const u8 sAcceptedActivityIds_RecordCorner[] = {ACTIVITY_RECORD_CORNER, 0xff};
|
||||
@@ -1087,28 +1087,28 @@ static const u8 *const sAcceptedActivityIds[NUM_LINK_GROUP_TYPES] = {
|
||||
[LINK_GROUP_BATTLE_TOWER_OPEN] = sAcceptedActivityIds_BattleTowerOpen
|
||||
};
|
||||
|
||||
static const u8 sLinkGroupToURoomActivity[NUM_LINK_GROUP_TYPES + 2] =
|
||||
static const u8 sLinkGroupToURoomActivity[NUM_LINK_GROUP_TYPES + 2] =
|
||||
{
|
||||
[LINK_GROUP_SINGLE_BATTLE] = ACTIVITY_BATTLE_SINGLE,
|
||||
[LINK_GROUP_DOUBLE_BATTLE] = ACTIVITY_BATTLE_DOUBLE,
|
||||
[LINK_GROUP_MULTI_BATTLE] = ACTIVITY_BATTLE_MULTI,
|
||||
[LINK_GROUP_TRADE] = ACTIVITY_TRADE,
|
||||
[LINK_GROUP_POKEMON_JUMP] = ACTIVITY_POKEMON_JUMP,
|
||||
[LINK_GROUP_BERRY_CRUSH] = ACTIVITY_BERRY_CRUSH,
|
||||
[LINK_GROUP_BERRY_PICKING] = ACTIVITY_BERRY_PICK,
|
||||
[LINK_GROUP_SINGLE_BATTLE] = ACTIVITY_BATTLE_SINGLE,
|
||||
[LINK_GROUP_DOUBLE_BATTLE] = ACTIVITY_BATTLE_DOUBLE,
|
||||
[LINK_GROUP_MULTI_BATTLE] = ACTIVITY_BATTLE_MULTI,
|
||||
[LINK_GROUP_TRADE] = ACTIVITY_TRADE,
|
||||
[LINK_GROUP_POKEMON_JUMP] = ACTIVITY_POKEMON_JUMP,
|
||||
[LINK_GROUP_BERRY_CRUSH] = ACTIVITY_BERRY_CRUSH,
|
||||
[LINK_GROUP_BERRY_PICKING] = ACTIVITY_BERRY_PICK,
|
||||
[LINK_GROUP_WONDER_CARD] = ACTIVITY_WONDER_CARD,
|
||||
[LINK_GROUP_WONDER_NEWS] = ACTIVITY_WONDER_NEWS,
|
||||
[LINK_GROUP_UNION_ROOM_RESUME] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_UNION_ROOM_INIT] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_UNK_11] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_RECORD_CORNER] = ACTIVITY_RECORD_CORNER,
|
||||
[LINK_GROUP_BERRY_BLENDER] = ACTIVITY_BERRY_BLENDER,
|
||||
[LINK_GROUP_UNK_14] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_WONDER_NEWS] = ACTIVITY_WONDER_NEWS,
|
||||
[LINK_GROUP_UNION_ROOM_RESUME] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_UNION_ROOM_INIT] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_UNK_11] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_RECORD_CORNER] = ACTIVITY_RECORD_CORNER,
|
||||
[LINK_GROUP_BERRY_BLENDER] = ACTIVITY_BERRY_BLENDER,
|
||||
[LINK_GROUP_UNK_14] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_COOL_CONTEST] = ACTIVITY_CONTEST_COOL,
|
||||
[LINK_GROUP_BEAUTY_CONTEST] = ACTIVITY_CONTEST_BEAUTY,
|
||||
[LINK_GROUP_CUTE_CONTEST] = ACTIVITY_CONTEST_CUTE,
|
||||
[LINK_GROUP_SMART_CONTEST] = ACTIVITY_CONTEST_SMART,
|
||||
[LINK_GROUP_TOUGH_CONTEST] = ACTIVITY_CONTEST_TOUGH,
|
||||
[LINK_GROUP_BATTLE_TOWER] = ACTIVITY_BATTLE_TOWER,
|
||||
[LINK_GROUP_BEAUTY_CONTEST] = ACTIVITY_CONTEST_BEAUTY,
|
||||
[LINK_GROUP_CUTE_CONTEST] = ACTIVITY_CONTEST_CUTE,
|
||||
[LINK_GROUP_SMART_CONTEST] = ACTIVITY_CONTEST_SMART,
|
||||
[LINK_GROUP_TOUGH_CONTEST] = ACTIVITY_CONTEST_TOUGH,
|
||||
[LINK_GROUP_BATTLE_TOWER] = ACTIVITY_BATTLE_TOWER,
|
||||
[LINK_GROUP_BATTLE_TOWER_OPEN] = ACTIVITY_BATTLE_TOWER_OPEN
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user