Merge branch 'master' into tag-none

This commit is contained in:
GriffinR
2021-09-24 10:17:34 -04:00
committed by GitHub
469 changed files with 27059 additions and 27106 deletions
+5 -5
View File
@@ -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++)
{
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -3464,7 +3464,7 @@ static void AnimOrbitScatter_Step(struct Sprite *sprite)
{
sprite->x2 += sprite->data[0];
sprite->y2 += sprite->data[1];
if (sprite->x + sprite->x2 + 16 > ((u32)DISPLAY_WIDTH + 32)
if (sprite->x + sprite->x2 + 16 > ((u32)DISPLAY_WIDTH + 32)
|| sprite->y + sprite->y2 > DISPLAY_HEIGHT || sprite->y + sprite->y2 < -16)
DestroyAnimSprite(sprite);
}
+1 -1
View File
@@ -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;
+3 -3
View File
@@ -658,7 +658,7 @@ void AnimFireRing(struct Sprite *sprite)
}
static void AnimFireRing_Step1(struct Sprite *sprite)
{
{
UpdateFireRingCircleOffset(sprite);
if (++sprite->data[0] == 0x12)
@@ -718,7 +718,7 @@ 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)
{
@@ -1091,7 +1091,7 @@ static void AnimWillOWispOrb(struct Sprite *sprite)
case 2:
sprite->x2 = Sin(sprite->data[2], sprite->data[4]);
sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
if (++sprite->data[3] == 31)
{
sprite->x += sprite->x2;
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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];
+3 -3
View File
@@ -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)
{
@@ -763,7 +763,7 @@ void UnusedAnimTask_8115F94(u8 taskId)
paletteIndex = IndexOfSpritePaletteTag(gSprites[gHealthboxSpriteIds[attackerBattler]].template->paletteTag);
selectedPalettes |= (1 << paletteIndex) << 16;
}
if (gTasks[taskId].data[3] & 0x100)
selectedPalettes |= (1 << attackerBattler) << 16;
@@ -956,7 +956,7 @@ static void AnimHitSplatHandleInvert(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest())
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
AnimHitSplatBasic(sprite);
}
+3 -3
View File
@@ -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;
@@ -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)
{
+29 -29
View File
@@ -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
};
+2 -2
View File
@@ -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);
}
+19 -19
View File
@@ -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
},
};
+4 -4
View File
@@ -1139,8 +1139,8 @@ 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->x2 += sprite->sDirection;
@@ -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++;
@@ -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)
{
+1 -1
View File
@@ -1549,7 +1549,7 @@ static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yD
s16 randomSomethingY;
s16 randomSomethingX;
u8 spriteId;
something = sprite->data[0] / 2;
combinedX = sprite->x + sprite->x2;
combinedY = sprite->y + sprite->y2;
+15 -15
View File
@@ -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]].x2 == 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]]);
+4 -4
View File
@@ -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;
+2 -2
View File
@@ -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]]);
+2 -2
View File
@@ -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]]);
+1 -1
View File
@@ -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;
+6 -6
View File
@@ -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
};
+5 -5
View File
@@ -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++)
@@ -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();
@@ -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;
+2 -2
View File
@@ -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)
+151 -151
View File
@@ -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,
@@ -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
@@ -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;
@@ -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);
}
+3 -3
View File
@@ -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())
+2 -2
View File
@@ -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
View File
@@ -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
};
+7 -7
View File
@@ -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);
}
@@ -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,7 +866,7 @@ static void Task_ClosePyramidBag(u8 taskId)
if (!gPaletteFade.active)
{
DestroyListMenuTask(tListTaskId, &gPyramidBagMenuState.scrollPosition, &gPyramidBagMenuState.cursorPosition);
// 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)
@@ -937,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;
+7 -7
View File
@@ -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
};
@@ -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)
@@ -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];
+14 -14
View File
@@ -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
View File
@@ -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
+290 -290
View File
@@ -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
};
+6 -6
View File
@@ -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;
+31 -31
View File
@@ -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
@@ -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;
+152 -152
View File
@@ -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
@@ -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++)
{
@@ -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];
@@ -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 & 0xFF00) != 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
View File
@@ -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
View File
@@ -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
},
};
+1 -1
View File
@@ -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
+2 -2
View File
@@ -896,7 +896,7 @@ static void CreateCableCarSprites(void)
gSprites[spriteId].oam.priority = 2;
gSprites[spriteId].x2 = -gSprites[spriteId].centerToCornerVecX;
gSprites[spriteId].y2 = -gSprites[spriteId].centerToCornerVecY;
// Randomly choose which direction the NPC is going
if (!GOING_DOWN)
{
@@ -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
View File
@@ -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();
+11 -11
View File
@@ -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;
@@ -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)
@@ -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.
@@ -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
View File
@@ -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;
+3 -3
View File
@@ -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
View File
@@ -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:
+5 -5
View File
@@ -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]++;
}
+4 -4
View File
@@ -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++)
{
+7 -7
View File
@@ -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)
{
@@ -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);
@@ -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
View File
@@ -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)
+9 -9
View File
@@ -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
+96 -96
View File
@@ -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,
+272 -272
View File
@@ -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},
+4 -4
View File
@@ -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,
+1 -1
View File
@@ -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
View File
@@ -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 -1
View File
@@ -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},
+13 -13
View File
@@ -1149,12 +1149,12 @@ static const union AnimCmd *const sAnimTable_AshPuff[] =
const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff =
{
.tileTag = TAG_NONE,
.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 = TAG_NONE,
.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
};
+1 -1
View File
@@ -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");
+18 -18
View File
@@ -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,
+1 -1
View File
@@ -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[] = {
File diff suppressed because it is too large Load Diff
+17 -17
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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[] =
+1 -1
View File
@@ -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},
+1 -1
View File
@@ -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),
+1 -1
View File
@@ -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,
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -54,14 +54,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,
@@ -69,7 +69,7 @@ static const u8 *const sPlayersNeededOrModeTexts[][5] = {
sText_3PlayerMode,
sText_4PlayerMode,
sText_5PlayerMode
},
},
// 3-5 players required
{
sText_2PlayersNeeded,
@@ -77,7 +77,7 @@ static const u8 *const sPlayersNeededOrModeTexts[][5] = {
sText_3PlayerMode,
sText_4PlayerMode,
sText_5PlayerMode
},
},
// 2-4 players required
{
sText_1PlayerNeeded,
@@ -368,7 +368,7 @@ const u8 *const sBattleReactionTexts[GENDER_COUNT][4] = {
sText_UsedGoodMoveMale,
sText_BattleSurpriseMale,
sText_SwitchedMonsMale
},
},
{
sText_YoureToughFemale,
sText_UsedGoodMoveFemale,
@@ -392,7 +392,7 @@ const u8 *const sChatReactionTexts[GENDER_COUNT][4] = {
sText_ThatsFunnyMale,
sText_RandomChatMale1,
sText_RandomChatMale2
},
},
{
sText_LearnedSomethingFemale,
sText_ThatsFunnyFemale,
@@ -410,7 +410,7 @@ const u8 *const sTrainerCardReactionTexts[GENDER_COUNT][2] = {
{
sText_ShowedTrainerCardMale1,
sText_ShowedTrainerCardMale2
},
},
{
sText_ShowedTrainerCardFemale1,
sText_ShowedTrainerCardFemale2
@@ -426,7 +426,7 @@ const u8 *const sTradeReactionTexts[GENDER_COUNT][4] = {
{
sText_MaleTraded1,
sText_MaleTraded2
},
},
{
sText_FemaleTraded1,
sText_FemaleTraded2
@@ -485,7 +485,7 @@ ALIGNED(4) const u8 sText_ChooseLeaderToughContest[] = _("TOUGHNESS CONTEST!\nPl
ALIGNED(4) const u8 sText_ChooseLeaderBattleTowerLv50[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER.");
ALIGNED(4) 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,
@@ -1016,29 +1016,29 @@ ALIGNED(4) const u8 sAcceptedActivityIds_BerryPicking[] = {ACTIVITY_BERRY_PIC
ALIGNED(4) const u8 sAcceptedActivityIds_WonderCard[] = {ACTIVITY_WONDER_CARD2, 0xff};
ALIGNED(4) const u8 sAcceptedActivityIds_WonderNews[] = {ACTIVITY_WONDER_NEWS2, 0xff};
ALIGNED(4) 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) const u8 sAcceptedActivityIds_Init[] = {ACTIVITY_SEARCH, 0xff};
ALIGNED(4) 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_CARD2,
ACTIVITY_WONDER_NEWS2,
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_CARD2,
ACTIVITY_WONDER_NEWS2,
ACTIVITY_SPIN_TRADE,
0xff
};
ALIGNED(4) const u8 sAcceptedActivityIds_RecordCorner[] = {ACTIVITY_RECORD_CORNER, 0xff};
@@ -1076,28 +1076,28 @@ 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_CARD2,
[LINK_GROUP_WONDER_NEWS] = ACTIVITY_WONDER_NEWS2,
[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_NEWS2,
[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
};
+1 -1
View File
@@ -920,7 +920,7 @@ static bool8 TryProduceOrHatchEgg(struct DayCare *daycare)
SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &eggCycles);
}
else
else
{
gSpecialVar_0x8004 = i;
return TRUE;
+14 -14
View File
@@ -24,29 +24,29 @@
Information about a Dewford trend is stored in a struct DewfordTrend.
In addition to the two easy chat words that make up the trend's phrase,
each trend has a few randomly generated values associated with it.
- rand:
- rand:
This is a 16 bit value generated once when the phrase is created.
It's used in calculations for Feebas tiles, Slot Machines, and Match Call.
- trendiness / maxTrendiness:
- trendiness / maxTrendiness:
Initialized as a random value between 30-127 inclusive. This is used to
compare how trendy one phrase is vs another. If a submitted phrase is
less trendy than the current one it won't be accepted. If the trend is
"boring" (see below) it will lose trendiness over time until it reaches 0,
"boring" (see below) it will lose trendiness over time until it reaches 0,
at which point it will stop being boring and gain trendiness until it
reaches maxTrendiness (then it becomes boring again and the cycle repeats).
- gainingTrendiness:
- gainingTrendiness:
This is a flag that determines whether a phrase should be gaining or losing
trendiness. An NPC in Dewford Hall will comment on whether the current phrase
is "boring" or not, and if it is gaining trendiness (or if it is still trendier
than the last phrase) it is not boring. This field will always be TRUE for any
than the last phrase) it is not boring. This field will always be TRUE for any
new phrase submitted after the 1st submission.
## Saving trends ##
Each time a potential trendy phrase is submitted, it is saved in gSaveBlock1Ptr->dewfordTrends[].
Up to SAVED_TRENDS_COUNT (5) trends may be saved at one time. The trends in this array are kept
in sorted order from most trendy to least trendy. The current trendy phrase is always at
gSaveBlock1Ptr->dewfordTrends[0]. If the player mixes records with another player, their own
trends are replaced with their mixing partner's, unless the phrase is the same, in which case
Each time a potential trendy phrase is submitted, it is saved in gSaveBlock1Ptr->dewfordTrends[].
Up to SAVED_TRENDS_COUNT (5) trends may be saved at one time. The trends in this array are kept
in sorted order from most trendy to least trendy. The current trendy phrase is always at
gSaveBlock1Ptr->dewfordTrends[0]. If the player mixes records with another player, their own
trends are replaced with their mixing partner's, unless the phrase is the same, in which case
the version with a higher trendiness value is used (see ReceiveDewfordTrendData).
## TV Show ##
@@ -247,7 +247,7 @@ void ReceiveDewfordTrendData(struct DewfordTrend *linkedTrends, size_t size, u8
players = GetLinkPlayerCount();
for (i = 0; i < players; i++)
memcpy(&linkedTrendsBuffer[i * SAVED_TRENDS_COUNT], (u8 *)linkedTrends + i * size, SAVED_TRENDS_SIZE);
// Determine which of the received trends should be saved.
// savedTrendsBuffer starts empty, and when finished will contain
// which of the linked trends to save in the saveblock.
@@ -279,7 +279,7 @@ void ReceiveDewfordTrendData(struct DewfordTrend *linkedTrends, size_t size, u8
}
}
SortTrends(savedTrendsBuffer, numTrends, SORT_MODE_FULL);
// Overwrite current saved trends with new saved trends
src = savedTrendsBuffer;
dst = gSaveBlock1Ptr->dewfordTrends;
@@ -301,7 +301,7 @@ void BufferTrendyPhraseString(void)
void IsTrendyPhraseBoring(void)
{
bool16 result = FALSE;
do
{
if (gSaveBlock1Ptr->dewfordTrends[0].trendiness - gSaveBlock1Ptr->dewfordTrends[1].trendiness > 1)
@@ -312,7 +312,7 @@ void IsTrendyPhraseBoring(void)
break;
result = TRUE;
} while (0);
gSpecialVar_Result = result;
}
+129 -129
View File
@@ -139,7 +139,7 @@ enum {
#define NUM_STATUS_SQUARES 10
// Berries fall in predefined columns.
// Berries fall in predefined columns.
// A total of 10 are available, though fewer will be used with < 5 players
// The 11th column is a repeat of the 1st column wrapped around, so only
// the values 0-9 are unique 'valid' columns
@@ -342,20 +342,20 @@ static void HandleWaitPlayAgainInput(void);
static void ResetPickState(void);
static u32 GetHighestScore(void);
static void SendPacket_ReadyToStart(bool32);
static void SendPacket_GameState(struct DodrioGame_Player *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
static void SendPacket_GameState(struct DodrioGame_Player *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
u8 , bool32 , bool32 );
static bool32 RecvPacket_GameState(u32,
struct DodrioGame_Player *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
static bool32 RecvPacket_GameState(u32,
struct DodrioGame_Player *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
struct DodrioGame_PlayerCommData *,
u8 *, bool32 *, bool32 *);
static void SendPacket_PickState(u8);
static bool32 RecvPacket_PickState(u32, u8 *);
@@ -422,11 +422,11 @@ static void StopGfxFuncs(void);
static void GfxIdle(void);
// For each player, the array is a list of all the columns starting with the column to their left
// Only the range of active columns is read from the array (dependent on the number of players),
// Only the range of active columns is read from the array (dependent on the number of players),
// so the arrays are spaced such that the numbers in the center are where the data that's read starts and end.
static const u8 sActiveColumnMap[MAX_RFU_PLAYERS][MAX_RFU_PLAYERS][NUM_BERRY_COLUMNS] =
{
{ // 1 player (never used), columns 4-6.
{ // 1 player (never used), columns 4-6.
// Sometimes read to get default order regardless of the current number of players
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
},
@@ -526,7 +526,7 @@ static const u8 sPlayerIdAtColumn[MAX_RFU_PLAYERS][NUM_BERRY_COLUMNS] =
{
{__, __, __, __, 1, 1, 1, __, __, __, __}, // 1 player
{__, __, __, 0, 0, 1, 1, 0, __, __, __}, // 2 players
{__, __, 2, 2, 0, 0, 1, 1, 1, __, __}, // 3 players
{__, __, 2, 2, 0, 0, 1, 1, 1, __, __}, // 3 players
{__, 3, 3, 0, 0, 1, 1, 2, 2, 3, __}, // 4 players
{ 3, 3, 4, 4, 0, 0, 1, 1, 2, 2, 3}, // 5 players
};
@@ -592,15 +592,15 @@ ALIGNED(4)
static const u8 sPrizeBerryIds[][10] =
{
{ // Possible prizes with 3 players
ITEM_TO_BERRY(ITEM_RAZZ_BERRY) - 1,
ITEM_TO_BERRY(ITEM_BLUK_BERRY) - 1,
ITEM_TO_BERRY(ITEM_NANAB_BERRY) - 1,
ITEM_TO_BERRY(ITEM_WEPEAR_BERRY) - 1,
ITEM_TO_BERRY(ITEM_PINAP_BERRY) - 1,
ITEM_TO_BERRY(ITEM_PINAP_BERRY) - 1,
ITEM_TO_BERRY(ITEM_WEPEAR_BERRY) - 1,
ITEM_TO_BERRY(ITEM_NANAB_BERRY) - 1,
ITEM_TO_BERRY(ITEM_BLUK_BERRY) - 1,
ITEM_TO_BERRY(ITEM_RAZZ_BERRY) - 1,
ITEM_TO_BERRY(ITEM_BLUK_BERRY) - 1,
ITEM_TO_BERRY(ITEM_NANAB_BERRY) - 1,
ITEM_TO_BERRY(ITEM_WEPEAR_BERRY) - 1,
ITEM_TO_BERRY(ITEM_PINAP_BERRY) - 1,
ITEM_TO_BERRY(ITEM_PINAP_BERRY) - 1,
ITEM_TO_BERRY(ITEM_WEPEAR_BERRY) - 1,
ITEM_TO_BERRY(ITEM_NANAB_BERRY) - 1,
ITEM_TO_BERRY(ITEM_BLUK_BERRY) - 1,
ITEM_TO_BERRY(ITEM_RAZZ_BERRY) - 1
},
{ // Possible prizes with 4 players
@@ -864,7 +864,7 @@ static void InitCountdown(void)
default:
sGame->startCountdown = TRUE;
SetGameFunc(FUNC_COUNTDOWN);
break;
break;
}
}
@@ -912,7 +912,7 @@ static void WaitGameStart(void)
case 0:
if (sGame->startGame)
SetGameFunc(FUNC_PLAY_GAME);
break;
break;
}
}
@@ -1468,15 +1468,15 @@ static void RecvLinkData_Gameplay(void)
u8 i;
u8 numPlayers = sGame->numPlayers;
sGame->players[0].receivedGameStatePacket = RecvPacket_GameState(0,
&sGame->players[0],
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
&sGame->numGraySquares,
&sGame->berriesFalling,
sGame->players[0].receivedGameStatePacket = RecvPacket_GameState(0,
&sGame->players[0],
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
&sGame->numGraySquares,
&sGame->berriesFalling,
&sGame->allReadyToEnd);
sGame->clearRecvCmds = TRUE;
@@ -1545,15 +1545,15 @@ static void RecvLinkData_ReadyToEnd(void)
u8 i;
u8 numPlayers = sGame->numPlayers;
sGame->players[0].receivedGameStatePacket = RecvPacket_GameState(0,
&sGame->players[0],
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
&sGame->numGraySquares,
&sGame->berriesFalling,
sGame->players[0].receivedGameStatePacket = RecvPacket_GameState(0,
&sGame->players[0],
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
&sGame->numGraySquares,
&sGame->berriesFalling,
&sGame->allReadyToEnd);
sGame->clearRecvCmds = TRUE;
@@ -1605,25 +1605,25 @@ static void SendLinkData_Leader(void)
switch (sGame->funcId)
{
case FUNC_PLAY_GAME:
SendPacket_GameState(&sGame->player,
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
sGame->numGraySquares,
sGame->berriesFalling,
SendPacket_GameState(&sGame->player,
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
sGame->numGraySquares,
sGame->berriesFalling,
sGame->allReadyToEnd);
break;
case FUNC_WAIT_END_GAME:
SendPacket_GameState(&sGame->player,
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
sGame->numGraySquares,
sGame->berriesFalling,
SendPacket_GameState(&sGame->player,
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
sGame->numGraySquares,
sGame->berriesFalling,
sGame->allReadyToEnd);
break;
}
@@ -1634,27 +1634,27 @@ static void RecvLinkData_Member(void)
switch (sGame->funcId)
{
case FUNC_PLAY_GAME:
RecvPacket_GameState(sGame->multiplayerId,
&sGame->players[sGame->multiplayerId],
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
&sGame->numGraySquares,
&sGame->berriesFalling,
RecvPacket_GameState(sGame->multiplayerId,
&sGame->players[sGame->multiplayerId],
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
&sGame->numGraySquares,
&sGame->berriesFalling,
&sGame->allReadyToEnd);
break;
case FUNC_WAIT_END_GAME:
RecvPacket_GameState(sGame->multiplayerId,
&sGame->players[sGame->multiplayerId],
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
&sGame->numGraySquares,
&sGame->berriesFalling,
RecvPacket_GameState(sGame->multiplayerId,
&sGame->players[sGame->multiplayerId],
&sGame->players[0].comm,
&sGame->players[1].comm,
&sGame->players[2].comm,
&sGame->players[3].comm,
&sGame->players[4].comm,
&sGame->numGraySquares,
&sGame->berriesFalling,
&sGame->allReadyToEnd);
break;
}
@@ -1728,7 +1728,7 @@ static void HandleSound_Member(void)
u8 i;
if (sGame->players[sGame->multiplayerId].comm.pickState == PICK_NONE)
{
if (sGame->players[sGame->multiplayerId].comm.ateBerry != TRUE
if (sGame->players[sGame->multiplayerId].comm.ateBerry != TRUE
&& sGame->players[sGame->multiplayerId].comm.missedBerry != TRUE)
sGame->playingPickSound = 0;
}
@@ -1885,7 +1885,7 @@ static void HandlePickBerries(void)
column = sActiveColumnMap[0][0][j];
// Attempt has already been checked
if (sGame->playersAttemptingPick[column][0] == i
if (sGame->playersAttemptingPick[column][0] == i
|| sGame->playersAttemptingPick[column][1] == i)
break;
@@ -1929,14 +1929,14 @@ static void HandlePickBerries(void)
if (++sGame->eatTimer[column] >= 6)
{
sGame->eatTimer[column] = 0;
if (sGame->playersAttemptingPick[column][0] == PLAYER_NONE
if (sGame->playersAttemptingPick[column][0] == PLAYER_NONE
&& sGame->playersAttemptingPick[column][1] == PLAYER_NONE)
{
// No players attempting to pick this berry
continue;
}
else if (sGame->playersAttemptingPick[column][0] != PLAYER_NONE
else if (sGame->playersAttemptingPick[column][0] != PLAYER_NONE
&& sGame->playersAttemptingPick[column][1] == PLAYER_NONE)
{
// One player attempting to pick this berry
@@ -2003,7 +2003,7 @@ static bool32 TryPickBerry(u8 playerId, u8 pickState, u8 column)
pick = 2;
break;
}
// Check if berry is within range to be picked
if (berries->fallDist[column] == EAT_FALL_DIST - 1 || berries->fallDist[column] == EAT_FALL_DIST)
{
@@ -2054,7 +2054,7 @@ static void UpdateFallingBerries(void)
if (sGame->berryState[i] == BERRYSTATE_NONE || sGame->berryState[i] == BERRYSTATE_PICKED)
{
sGame->berriesFalling = TRUE;
if (game->player.berries.fallDist[i] >= MAX_FALL_DIST)
{
// Berry hit the ground
@@ -2591,9 +2591,9 @@ static void ResetForPlayAgainPrompt(void)
}
static const s16 sBerryScoreMultipliers[] = {
[BERRY_BLUE] = 10,
[BERRY_GREEN] = 30,
[BERRY_GOLD] = 50,
[BERRY_BLUE] = 10,
[BERRY_GREEN] = 30,
[BERRY_GOLD] = 50,
[BERRY_MISSED] = 50 // Subtracted
};
@@ -2788,7 +2788,7 @@ static u32 SetScoreResults(void)
u8 numPlayers = sGame->numPlayers;
GetHighestScore(); // Useless call
if (GetHighestScore() == 0)
{
// No one scored any points, put everyone in last place with a score of 0.
@@ -2810,7 +2810,7 @@ static u32 SetScoreResults(void)
{
u32 score = GetScoreByRanking(ranking);
u8 curRanking = nextRanking;
// Find all players with the score for this ranking.
// Increment nextRanking but not curRanking to allow
// for ties
@@ -3028,19 +3028,19 @@ static const u16 sDebug_BerryResults[MAX_RFU_PLAYERS][4] =
[BERRY_GREEN] = 0,
[BERRY_GOLD] = 90,
[BERRY_MISSED] = MAX_BERRIES
},
},
{
[BERRY_BLUE] = MAX_BERRIES,
[BERRY_GREEN] = MAX_BERRIES,
[BERRY_GOLD] = 70,
[BERRY_MISSED] = MAX_BERRIES
},
},
{
[BERRY_BLUE] = MAX_BERRIES,
[BERRY_GREEN] = 0,
[BERRY_GOLD] = MAX_BERRIES,
[BERRY_MISSED] = 0
},
},
{
[BERRY_BLUE] = MAX_BERRIES,
[BERRY_GREEN] = MAX_BERRIES,
@@ -3048,7 +3048,7 @@ static const u16 sDebug_BerryResults[MAX_RFU_PLAYERS][4] =
[BERRY_MISSED] = 0
},
{
[BERRY_BLUE] = MAX_BERRIES,
[BERRY_BLUE] = MAX_BERRIES,
[BERRY_GREEN] = MAX_BERRIES,
[BERRY_GOLD] = MAX_BERRIES,
[BERRY_MISSED] = 0
@@ -3159,14 +3159,14 @@ struct GameStatePacket
bool8 missedBerry_Player5:1;
};
static void SendPacket_GameState(struct DodrioGame_Player *player,
struct DodrioGame_PlayerCommData *player1,
struct DodrioGame_PlayerCommData *player2,
struct DodrioGame_PlayerCommData *player3,
struct DodrioGame_PlayerCommData *player4,
struct DodrioGame_PlayerCommData *player5,
u8 numGraySquares,
bool32 berriesFalling,
static void SendPacket_GameState(struct DodrioGame_Player *player,
struct DodrioGame_PlayerCommData *player1,
struct DodrioGame_PlayerCommData *player2,
struct DodrioGame_PlayerCommData *player3,
struct DodrioGame_PlayerCommData *player4,
struct DodrioGame_PlayerCommData *player5,
u8 numGraySquares,
bool32 berriesFalling,
bool32 allReadyToEnd)
{
struct GameStatePacket packet;
@@ -3219,15 +3219,15 @@ static void SendPacket_GameState(struct DodrioGame_Player *player,
Rfu_SendPacket(&packet);
}
static bool32 RecvPacket_GameState(u32 playerId,
struct DodrioGame_Player *player,
struct DodrioGame_PlayerCommData *player1,
struct DodrioGame_PlayerCommData *player2,
struct DodrioGame_PlayerCommData *player3,
struct DodrioGame_PlayerCommData *player4,
struct DodrioGame_PlayerCommData *player5,
u8 *numGraySquares,
bool32 *berriesFalling,
static bool32 RecvPacket_GameState(u32 playerId,
struct DodrioGame_Player *player,
struct DodrioGame_PlayerCommData *player1,
struct DodrioGame_PlayerCommData *player2,
struct DodrioGame_PlayerCommData *player3,
struct DodrioGame_PlayerCommData *player4,
struct DodrioGame_PlayerCommData *player5,
u8 *numGraySquares,
bool32 *berriesFalling,
bool32 *allReadyToEnd)
{
struct GameStatePacket *packet;
@@ -3503,7 +3503,7 @@ static const u8 sActiveColumnMap_Duplicate[MAX_RFU_PLAYERS][MAX_RFU_PLAYERS][NUM
{6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6},
{8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8},
},
};
};
// Unused duplicate of sDodrioHeadToColumnMap
static const u8 sDodrioHeadToColumnMap_Duplicate[MAX_RFU_PLAYERS][MAX_RFU_PLAYERS][3] =
@@ -4117,7 +4117,7 @@ static void UpdateStatusBarAnim(u8 numEmpty)
StartSpriteAnim(&gSprites[sStatusBar->spriteIds[i]], STATUS_YELLOW);
}
}
// Set remaining squares gray
for (; i < NUM_STATUS_SQUARES; i++)
StartSpriteAnim(&gSprites[sStatusBar->spriteIds[i]], STATUS_GRAY);
@@ -4132,15 +4132,15 @@ static void SetStatusBarInvisibility(bool8 invisible)
}
static const u8 sUnusedSounds[] = {
SE_M_CHARM,
SE_NOTE_C,
SE_NOTE_D,
SE_NOTE_E,
SE_NOTE_F,
SE_NOTE_G,
SE_NOTE_A,
SE_NOTE_B,
SE_NOTE_C_HIGH,
SE_M_CHARM,
SE_NOTE_C,
SE_NOTE_D,
SE_NOTE_E,
SE_NOTE_F,
SE_NOTE_G,
SE_NOTE_A,
SE_NOTE_B,
SE_NOTE_C_HIGH,
SE_RG_CARD_OPEN
};
@@ -4286,9 +4286,9 @@ static void SpriteCB_Cloud(struct Sprite *sprite)
}
}
static const s16 sCloudStartCoords[NUM_CLOUDS][2] =
static const s16 sCloudStartCoords[NUM_CLOUDS][2] =
{
{230, 55},
{230, 55},
{ 30, 74}
};
@@ -4790,8 +4790,8 @@ static void ShowResults(void)
ConvertIntToDecimalStringN(gStringVar4, berriesPicked, STR_CONV_MODE_LEFT_ALIGN, 4);
width = GetStringWidth(1, gStringVar4, -1);
// If player got the most of a berry type, highlight their number in red
// If player got the most of a berry type, highlight their number in red
if (maxBerriesPicked == berriesPicked && maxBerriesPicked != 0)
AddTextPrinterParameterized3(sGfx->windowIds[1], 1, sResultsXCoords[j] - width, sResultsYCoords[i], sTextColorTable[COLORID_RED], -1, gStringVar4);
else
@@ -4974,7 +4974,7 @@ static void Msg_WantToPlayAgain(void)
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_No, 8, 17, -1, NULL);
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_SelectorArrow2, 0, ((y - 1) * 16) + 1, -1, NULL);
CopyWindowToVram(sGfx->windowIds[WIN_YES_NO], 3);
// Increment state only if A or B button have been pressed.
if (JOY_NEW(A_BUTTON))
{
+13 -13
View File
@@ -857,7 +857,7 @@ static const struct WindowTemplate sEasyChatYesNoWindowTemplate = {
static const u8 sText_Clear17[] = _("{CLEAR 17}");
static const u8 *const sEasyChatKeyboardAlphabet[NUM_ALPHABET_ROWS] =
static const u8 *const sEasyChatKeyboardAlphabet[NUM_ALPHABET_ROWS] =
{
gText_EasyChatKeyboard_ABCDEFothers,
gText_EasyChatKeyboard_GHIJKL,
@@ -2908,7 +2908,7 @@ static void GetQuizTitle(u8 *dst)
u8 name[32];
struct SaveBlock1 *saveBlock1 = gSaveBlock1Ptr;
DynamicPlaceholderTextUtil_Reset();
// Buffer author's name
if (StringLength(saveBlock1->lilycoveLady.quiz.playerName) != 0)
{
@@ -4118,7 +4118,7 @@ static void BufferFrameTilemap(u16 *tilemap)
// These frames fill the screen, no need to draw top/bottom edges
right = sPhraseFrameDimensions[frameId].left + sPhraseFrameDimensions[frameId].width;
bottom = sPhraseFrameDimensions[frameId].top + sPhraseFrameDimensions[frameId].height;
// Draw middle section
for (y = sPhraseFrameDimensions[frameId].top; y < bottom; y++)
{
@@ -4516,7 +4516,7 @@ static void BufferLowerWindowFrame(int left, int top, int width, int height)
bottom = top + height - 1;
x = left;
y = top;
// Draw top edge
tilemap[y * 32 + x] = FRAME_OFFSET_GREEN + FRAME_TILE_TOP_L_CORNER;
x++;
@@ -4688,7 +4688,7 @@ static void UpdateRectangleCursorPos(void)
s8 column;
s8 row;
if (sScreenControl->rectangleCursorSpriteRight
if (sScreenControl->rectangleCursorSpriteRight
&& sScreenControl->rectangleCursorSpriteLeft)
{
GetKeyboardCursorColAndRow(&column, &row);
@@ -5532,16 +5532,16 @@ void InitEasyChatPhrases(void)
for (i = 0; i < ARRAY_COUNT(sDefaultProfileWords); i++)
gSaveBlock1Ptr->easyChatProfile[i] = sDefaultProfileWords[i];
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
gSaveBlock1Ptr->easyChatBattleStart[i] = sDefaultBattleStartWords[i];
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
gSaveBlock1Ptr->easyChatBattleWon[i] = sDefaultBattleWonWords[i];
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
gSaveBlock1Ptr->easyChatBattleLost[i] = sDefaultBattleLostWords[i];
for (i = 0; i < MAIL_COUNT; i++)
{
for (j = 0; j < MAIL_WORDS_COUNT; j++)
@@ -5585,11 +5585,11 @@ static void SetUnlockedEasyChatGroups(void)
sWordData->numUnlockedGroups = 0;
if (GetNationalPokedexCount(FLAG_GET_SEEN))
sWordData->unlockedGroupIds[sWordData->numUnlockedGroups++] = EC_GROUP_POKEMON;
// These groups are unlocked automatically
for (i = EC_GROUP_TRAINER; i <= EC_GROUP_ADJECTIVES; i++)
sWordData->unlockedGroupIds[sWordData->numUnlockedGroups++] = i;
if (FlagGet(FLAG_SYS_GAME_CLEAR))
{
sWordData->unlockedGroupIds[sWordData->numUnlockedGroups++] = EC_GROUP_EVENTS;
@@ -5627,7 +5627,7 @@ static u8 *BufferEasyChatWordGroupName(u8 *dest, u8 groupId, u16 totalChars)
*str = CHAR_SPACE;
str++;
}
*str = EOS;
return str;
}
@@ -5646,7 +5646,7 @@ static u8 *CopyEasyChatWordPadded(u8 *dest, u16 easyChatWord, u16 totalChars)
*str = CHAR_SPACE;
str++;
}
*str = EOS;
return str;
}
+1 -1
View File
@@ -745,7 +745,7 @@ int EReaderHandleTransfer(u8 mode, size_t size, const void * data, void * recvBu
}
return (sSendRecvMgr.xferState << EREADER_XFER_SHIFT)
| (sSendRecvMgr.cancellationReason << EREADER_CANCEL_SHIFT)
| (sSendRecvMgr.cancellationReason << EREADER_CANCEL_SHIFT)
| (sSendRecvMgr.checksumResult << EREADER_CHECKSUM_SHIFT);
}
+1 -1
View File
@@ -240,7 +240,7 @@ static bool32 sub_81D5064(u16 *arg0, u16 arg1)
*arg0 = 0;
return TRUE;
}
return FALSE;
}
+3 -3
View File
@@ -1891,7 +1891,7 @@ const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId)
{
graphicsId = OBJ_EVENT_GFX_NINJA_BOY;
}
return gObjectEventGraphicsInfoPointers[graphicsId];
}
@@ -7497,7 +7497,7 @@ static void ObjectEventUpdateMetatileBehaviors(struct ObjectEvent *objEvent)
static void GetGroundEffectFlags_Reflection(struct ObjectEvent *objEvent, u32 *flags)
{
u32 reflectionFlags[NUM_REFLECTION_TYPES - 1] = {
u32 reflectionFlags[NUM_REFLECTION_TYPES - 1] = {
[REFL_TYPE_ICE - 1] = GROUND_EFFECT_FLAG_ICE_REFLECTION,
[REFL_TYPE_WATER - 1] = GROUND_EFFECT_FLAG_WATER_REFLECTION
};
@@ -7715,7 +7715,7 @@ static u8 ObjectEventGetNearbyReflectionType(struct ObjectEvent *objEvent)
RETURN_REFLECTION_TYPE_AT(objEvent->previousCoords.x - j, objEvent->previousCoords.y + one + i)
}
}
return REFL_TYPE_NONE;
}
+1 -1
View File
@@ -82,7 +82,7 @@ static const u8 sText_ShedinjaJapaneseName[] = _("ヌケニン");
// The below table is used by Task_UpdateBgPalette to control the speed at which the bg color updates.
// The first two values are indexes into sBgAnim_PalIndexes (indirectly, via sBgAnimPal), and are
// the start and end of the range of colors in sBgAnim_PalIndexes it will move through incrementally
// before starting over. It will repeat this cycle x number of times, where x = the 3rd value,
// before starting over. It will repeat this cycle x number of times, where x = the 3rd value,
// delaying each increment by y, where y = the 4th value.
// Once it has cycled x number of times, it will move to the next array in this table.
static const u8 sBgAnim_PaletteControl[][4] =
+3 -3
View File
@@ -307,7 +307,7 @@ static void door_build_blockdef(u16 *a, u16 b, const u8 *c)
static void DrawCurrentDoorAnimFrame(const struct DoorGraphics *gfx, u32 x, u32 y, const u8 *pal)
{
u16 arr[24];
if (gfx->size == 2)
{
door_build_blockdef(&arr[8], 0x3F0, pal);
@@ -524,7 +524,7 @@ bool8 FieldIsDoorAnimationRunning(void)
u32 GetDoorSoundEffect(u32 x, u32 y)
{
int sound = GetDoorSoundType(sDoorAnimGraphicsTable, x, y);
if (sound == DOOR_SOUND_NORMAL)
return SE_DOOR;
else if (sound == DOOR_SOUND_SLIDING)
@@ -540,7 +540,7 @@ static bool8 ShouldUseMultiCorridorDoor(void)
{
if (FlagGet(FLAG_ENABLE_MULTI_CORRIDOR_DOOR))
{
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR))
{
return TRUE;
+47 -47
View File
@@ -407,35 +407,35 @@ static const struct SpriteFrameImage sPicTable_HofMonitorSmall[] =
static const struct Subsprite sSubsprites_PokecenterMonitor[] =
{
{
.x = -12,
.y = -8,
.shape = SPRITE_SHAPE(16x8),
.x = -12,
.y = -8,
.shape = SPRITE_SHAPE(16x8),
.size = SPRITE_SIZE(16x8),
.tileOffset = 0,
.tileOffset = 0,
.priority = 2
},
{
.x = 4,
.x = 4,
.y = -8,
.shape = SPRITE_SHAPE(8x8),
.size = SPRITE_SIZE(8x8),
.tileOffset = 2,
.priority = 2
},
{
.x = -12,
.y = 0,
.shape = SPRITE_SHAPE(16x8),
.size = SPRITE_SIZE(16x8),
.tileOffset = 3,
.shape = SPRITE_SHAPE(8x8),
.size = SPRITE_SIZE(8x8),
.tileOffset = 2,
.priority = 2
},
{
.x = 4,
.y = 0,
.shape = SPRITE_SHAPE(8x8),
.size = SPRITE_SIZE(8x8),
.tileOffset = 5,
.x = -12,
.y = 0,
.shape = SPRITE_SHAPE(16x8),
.size = SPRITE_SIZE(16x8),
.tileOffset = 3,
.priority = 2
},
{
.x = 4,
.y = 0,
.shape = SPRITE_SHAPE(8x8),
.size = SPRITE_SIZE(8x8),
.tileOffset = 5,
.priority = 2
}
};
@@ -445,35 +445,35 @@ static const struct SubspriteTable sSubspriteTable_PokecenterMonitor = subsprite
static const struct Subsprite sSubsprites_HofMonitorBig[] =
{
{
.x = -32,
.y = -8,
.shape = SPRITE_SHAPE(32x8),
.x = -32,
.y = -8,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
.tileOffset = 0,
.tileOffset = 0,
.priority = 2
},
{
.x = 0,
.y = -8,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.y = -8,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
.tileOffset = 4,
.tileOffset = 4,
.priority = 2
},
{
.x = -32,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.x = -32,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
.tileOffset = 8,
.tileOffset = 8,
.priority = 2
},
{
.x = 0,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
.tileOffset = 12,
.tileOffset = 12,
.priority = 2
}
};
@@ -937,19 +937,19 @@ void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b)
{
int curRed, curGreen, curBlue;
u16 color = gPlttBufferUnfaded[i];
curRed = (color & RGB_RED);
curGreen = (color & RGB_GREEN) >> 5;
curBlue = (color & RGB_BLUE) >> 10;
curRed += (((0x1F - curRed) * r) >> 4);
curGreen += (((0x1F - curGreen) * g) >> 4);
curBlue += (((0x1F - curBlue) * b) >> 4);
color = curRed;
color |= (curGreen << 5);
color |= (curBlue << 10);
gPlttBufferFaded[i] = color;
}
@@ -958,19 +958,19 @@ void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b)
{
int curRed, curGreen, curBlue;
u16 color = gPlttBufferUnfaded[i];
curRed = (color & RGB_RED);
curGreen = (color & RGB_GREEN) >> 5;
curBlue = (color & RGB_BLUE) >> 10;
curRed -= ((curRed * r) >> 4);
curGreen -= ((curGreen * g) >> 4);
curBlue -= ((curBlue * b) >> 4);
color = curRed;
color |= (curGreen << 5);
color |= (curBlue << 10);
gPlttBufferFaded[i] = color;
}
@@ -1715,7 +1715,7 @@ static bool8 EscalatorWarpIn_Init(struct Task *task)
// If dest is down escalator tile, player is riding up
behavior = TRUE;
task->tState = 3; // jump to EscalatorWarpIn_Up_Init
}
}
else // MB_UP_ESCALATOR
{
// If dest is up escalator tile, player is riding down
@@ -2265,7 +2265,7 @@ static void EscapeRopeWarpOutEffect_Spin(struct Task *task)
gFieldCallback = FieldCallback_EscapeRopeWarpIn;
SetMainCallback2(CB2_LoadMap);
DestroyTask(FindTaskIdByFunc(Task_EscapeRopeWarpOut));
}
}
else if (task->tSpinDelay == 0 || (--task->tSpinDelay) == 0)
{
ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(spinDirections[objectEvent->facingDirection]));
+14 -14
View File
@@ -37,7 +37,7 @@ static u32 ShowDisguiseFieldEffect(u8, u8, u8);
#define sReflectionObjEventId data[0]
#define sReflectionObjEventLocalId data[1]
#define sReflectionVerticalOffset data[2]
#define sReflectionVerticalOffset data[2]
#define sIsStillReflection data[7]
void SetUpReflection(struct ObjectEvent *objectEvent, struct Sprite *sprite, bool8 stillReflection)
@@ -337,8 +337,8 @@ void UpdateTallGrassFieldEffect(struct Sprite *sprite)
mapGroup = sprite->sMapGroup;
metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->sX, sprite->sY);
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|| !MetatileBehavior_IsTallGrass(metatileBehavior)
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|| !MetatileBehavior_IsTallGrass(metatileBehavior)
|| (sprite->sObjectMoved && sprite->animEnded))
{
FieldEffectStop(sprite, FLDEFF_TALL_GRASS);
@@ -347,8 +347,8 @@ void UpdateTallGrassFieldEffect(struct Sprite *sprite)
{
// Check if the object that triggered the effect has moved away
objectEvent = &gObjectEvents[objectEventId];
if ((objectEvent->currentCoords.x != sprite->sX
|| objectEvent->currentCoords.y != sprite->sY)
if ((objectEvent->currentCoords.x != sprite->sX
|| objectEvent->currentCoords.y != sprite->sY)
&& (objectEvent->previousCoords.x != sprite->sX
|| objectEvent->previousCoords.y != sprite->sY))
sprite->sObjectMoved = TRUE;
@@ -391,10 +391,10 @@ u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s
if (gSprites[i].inUse)
{
sprite = &gSprites[i];
if (sprite->callback == UpdateTallGrassFieldEffect
&& (x == sprite->sX && y == sprite->sY)
&& localId == (u8)(sprite->sLocalId)
&& mapNum == (sprite->sMapNum & 0xFF)
if (sprite->callback == UpdateTallGrassFieldEffect
&& (x == sprite->sX && y == sprite->sY)
&& localId == (u8)(sprite->sLocalId)
&& mapNum == (sprite->sMapNum & 0xFF)
&& mapGroup == sprite->sMapGroup)
return i;
}
@@ -452,8 +452,8 @@ void UpdateLongGrassFieldEffect(struct Sprite *sprite)
mapNum = sprite->sMapNum;
mapGroup = sprite->sMapGroup;
metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]);
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|| !MetatileBehavior_IsLongGrass(metatileBehavior)
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|| !MetatileBehavior_IsLongGrass(metatileBehavior)
|| (sprite->sObjectMoved && sprite->animEnded))
{
FieldEffectStop(sprite, FLDEFF_LONG_GRASS);
@@ -462,9 +462,9 @@ void UpdateLongGrassFieldEffect(struct Sprite *sprite)
{
// Check if the object that triggered the effect has moved away
objectEvent = &gObjectEvents[objectEventId];
if ((objectEvent->currentCoords.x != sprite->data[1]
|| objectEvent->currentCoords.y != sprite->data[2])
&& (objectEvent->previousCoords.x != sprite->data[1]
if ((objectEvent->currentCoords.x != sprite->data[1]
|| objectEvent->currentCoords.y != sprite->data[2])
&& (objectEvent->previousCoords.x != sprite->data[1]
|| objectEvent->previousCoords.y != sprite->data[2]))
sprite->sObjectMoved = TRUE;
+1 -1
View File
@@ -105,7 +105,7 @@ static bool8 ForceShowFieldAutoScrollMessage(const u8 *str)
return TRUE;
}
// Same as ShowFieldMessage, but instead of accepting a
// Same as ShowFieldMessage, but instead of accepting a
// string arg it just prints whats already in gStringVar4
bool8 ShowFieldMessageFromBuffer(void)
{
+8 -8
View File
@@ -1687,7 +1687,7 @@ static bool8 (*const sFishingStateFuncs[])(struct Task *) =
{
Fishing_Init,
Fishing_GetRodOut,
Fishing_WaitBeforeDots,
Fishing_WaitBeforeDots,
Fishing_InitDots, // FISHING_START_ROUND
Fishing_ShowDots,
Fishing_CheckForBite,
@@ -1729,13 +1729,13 @@ static bool8 Fishing_GetRodOut(struct Task *task)
{
struct ObjectEvent *playerObjEvent;
const s16 minRounds1[] = {
[OLD_ROD] = 1,
[GOOD_ROD] = 1,
[OLD_ROD] = 1,
[GOOD_ROD] = 1,
[SUPER_ROD] = 1
};
const s16 minRounds2[] = {
[OLD_ROD] = 1,
[GOOD_ROD] = 3,
[OLD_ROD] = 1,
[GOOD_ROD] = 3,
[SUPER_ROD] = 6
};
@@ -1865,8 +1865,8 @@ static bool8 Fishing_GotBite(struct Task *task)
static bool8 Fishing_WaitForA(struct Task *task)
{
const s16 reelTimeouts[3] = {
[OLD_ROD] = 36,
[GOOD_ROD] = 33,
[OLD_ROD] = 36,
[GOOD_ROD] = 33,
[SUPER_ROD] = 30
};
@@ -2100,7 +2100,7 @@ static void Task_DoPlayerSpinExit(u8 taskId)
tState++;
case 1: // Spin while rising
TrySpinPlayerForWarp(object, &tSpinDelayTimer);
// Rise and accelerate
tCurY -= tSpeed;
tSpeed += 3;
+4 -4
View File
@@ -33,15 +33,15 @@ enum
//. rodata
static const s8 gTruckCamera_HorizontalTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0};
static const u8 sSSTidalSailEastMovementScript[] =
static const u8 sSSTidalSailEastMovementScript[] =
{
MOVEMENT_ACTION_WALK_FAST_RIGHT,
MOVEMENT_ACTION_WALK_FAST_RIGHT,
MOVEMENT_ACTION_STEP_END
};
static const u8 sSSTidalSailWestMovementScript[] =
static const u8 sSSTidalSailWestMovementScript[] =
{
MOVEMENT_ACTION_WALK_FAST_LEFT,
MOVEMENT_ACTION_WALK_FAST_LEFT,
MOVEMENT_ACTION_STEP_END
};
+165 -165
View File
@@ -521,9 +521,9 @@ void SpawnLinkPartnerObjectEvent(void)
s16 x = 0;
s16 y = 0;
u8 movementTypes[] = {
MOVEMENT_TYPE_FACE_UP,
MOVEMENT_TYPE_FACE_LEFT,
MOVEMENT_TYPE_FACE_DOWN,
MOVEMENT_TYPE_FACE_UP,
MOVEMENT_TYPE_FACE_LEFT,
MOVEMENT_TYPE_FACE_DOWN,
MOVEMENT_TYPE_FACE_RIGHT
};
s8 coordOffsets[][2] = {
@@ -1422,8 +1422,8 @@ bool8 Special_AreLeadMonEVsMaxedOut(void)
u8 TryUpdateRusturfTunnelState(void)
{
if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED)
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL)
if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED)
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL)
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL))
{
if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1))
@@ -1710,7 +1710,7 @@ void OffsetCameraForBattle(void)
SetCameraPanning(8, 0);
}
const struct WindowTemplate gElevatorFloor_WindowTemplate =
const struct WindowTemplate gElevatorFloor_WindowTemplate =
{
.bg = 0,
.tilemapLeft = 21,
@@ -2020,27 +2020,27 @@ void BufferVarsForIVRater(void)
bool8 UsedPokemonCenterWarp(void)
{
static const u16 sPokemonCenters[] =
{
MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
MAP_DEWFORD_TOWN_POKEMON_CENTER_1F,
MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F,
MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F,
MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F,
MAP_PETALBURG_CITY_POKEMON_CENTER_1F,
MAP_SLATEPORT_CITY_POKEMON_CENTER_1F,
MAP_MAUVILLE_CITY_POKEMON_CENTER_1F,
MAP_RUSTBORO_CITY_POKEMON_CENTER_1F,
MAP_FORTREE_CITY_POKEMON_CENTER_1F,
MAP_LILYCOVE_CITY_POKEMON_CENTER_1F,
MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F,
MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F,
MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F,
MAP_UNION_ROOM,
0xFFFF
static const u16 sPokemonCenters[] =
{
MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
MAP_DEWFORD_TOWN_POKEMON_CENTER_1F,
MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F,
MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F,
MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F,
MAP_PETALBURG_CITY_POKEMON_CENTER_1F,
MAP_SLATEPORT_CITY_POKEMON_CENTER_1F,
MAP_MAUVILLE_CITY_POKEMON_CENTER_1F,
MAP_RUSTBORO_CITY_POKEMON_CENTER_1F,
MAP_FORTREE_CITY_POKEMON_CENTER_1F,
MAP_LILYCOVE_CITY_POKEMON_CENTER_1F,
MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F,
MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F,
MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F,
MAP_UNION_ROOM,
0xFFFF
};
int i;
@@ -2073,71 +2073,71 @@ void UpdateFrontierManiac(u16 daysSince)
void ShowFrontierManiacMessage(void)
{
static const u8 *const sFrontierManiacMessages[][FRONTIER_MANIAC_MESSAGE_COUNT] =
static const u8 *const sFrontierManiacMessages[][FRONTIER_MANIAC_MESSAGE_COUNT] =
{
[FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] =
{
BattleFrontier_Lounge2_Text_SalonMaidenIsThere,
BattleFrontier_Lounge2_Text_SalonMaidenSilverMons,
BattleFrontier_Lounge2_Text_SalonMaidenGoldMons
{
BattleFrontier_Lounge2_Text_SalonMaidenIsThere,
BattleFrontier_Lounge2_Text_SalonMaidenSilverMons,
BattleFrontier_Lounge2_Text_SalonMaidenGoldMons
},
[FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] =
{
BattleFrontier_Lounge2_Text_DoubleBattleAdvice1,
BattleFrontier_Lounge2_Text_DoubleBattleAdvice2,
BattleFrontier_Lounge2_Text_DoubleBattleAdvice3
{
BattleFrontier_Lounge2_Text_DoubleBattleAdvice1,
BattleFrontier_Lounge2_Text_DoubleBattleAdvice2,
BattleFrontier_Lounge2_Text_DoubleBattleAdvice3
},
[FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] =
{
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
BattleFrontier_Lounge2_Text_MultiBattleAdvice
[FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] =
{
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
BattleFrontier_Lounge2_Text_MultiBattleAdvice
},
[FRONTIER_MANIAC_BATTLE_TOWER_LINK] =
{
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice
{
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice
},
[FRONTIER_MANIAC_BATTLE_DOME] =
{
BattleFrontier_Lounge2_Text_DomeAceIsThere,
BattleFrontier_Lounge2_Text_DomeAceSilverMons,
BattleFrontier_Lounge2_Text_DomeAceGoldMons
{
BattleFrontier_Lounge2_Text_DomeAceIsThere,
BattleFrontier_Lounge2_Text_DomeAceSilverMons,
BattleFrontier_Lounge2_Text_DomeAceGoldMons
},
[FRONTIER_MANIAC_BATTLE_FACTORY] =
{
BattleFrontier_Lounge2_Text_FactoryHeadIsThere,
BattleFrontier_Lounge2_Text_FactoryHeadSilverMons,
BattleFrontier_Lounge2_Text_FactoryHeadGoldMons
{
BattleFrontier_Lounge2_Text_FactoryHeadIsThere,
BattleFrontier_Lounge2_Text_FactoryHeadSilverMons,
BattleFrontier_Lounge2_Text_FactoryHeadGoldMons
},
[FRONTIER_MANIAC_BATTLE_PALACE] =
{
BattleFrontier_Lounge2_Text_PalaceMavenIsThere,
BattleFrontier_Lounge2_Text_PalaceMavenSilverMons,
BattleFrontier_Lounge2_Text_PalaceMavenGoldMons
{
BattleFrontier_Lounge2_Text_PalaceMavenIsThere,
BattleFrontier_Lounge2_Text_PalaceMavenSilverMons,
BattleFrontier_Lounge2_Text_PalaceMavenGoldMons
},
[FRONTIER_MANIAC_BATTLE_ARENA] =
{
BattleFrontier_Lounge2_Text_ArenaTycoonIsThere,
BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons,
BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons
{
BattleFrontier_Lounge2_Text_ArenaTycoonIsThere,
BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons,
BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons
},
[FRONTIER_MANIAC_BATTLE_PIKE] =
{
BattleFrontier_Lounge2_Text_PikeQueenIsThere,
BattleFrontier_Lounge2_Text_PikeQueenSilverMons,
BattleFrontier_Lounge2_Text_PikeQueenGoldMons
[FRONTIER_MANIAC_BATTLE_PIKE] =
{
BattleFrontier_Lounge2_Text_PikeQueenIsThere,
BattleFrontier_Lounge2_Text_PikeQueenSilverMons,
BattleFrontier_Lounge2_Text_PikeQueenGoldMons
},
[FRONTIER_MANIAC_BATTLE_PYRAMID] =
{
BattleFrontier_Lounge2_Text_PyramidKingIsThere,
BattleFrontier_Lounge2_Text_PyramidKingSilverMons,
BattleFrontier_Lounge2_Text_PyramidKingGoldMons
{
BattleFrontier_Lounge2_Text_PyramidKingIsThere,
BattleFrontier_Lounge2_Text_PyramidKingSilverMons,
BattleFrontier_Lounge2_Text_PyramidKingGoldMons
},
};
static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] =
static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] =
{
[FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = { 21, 56 },
[FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = { 21, 35 },
@@ -2161,7 +2161,7 @@ void ShowFrontierManiacMessage(void)
case FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES:
case FRONTIER_MANIAC_BATTLE_TOWER_MULTIS:
case FRONTIER_MANIAC_BATTLE_TOWER_LINK:
if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
>= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN])
{
winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50];
@@ -2172,7 +2172,7 @@ void ShowFrontierManiacMessage(void)
}
break;
case FRONTIER_MANIAC_BATTLE_DOME:
if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
>= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
{
winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
@@ -2183,7 +2183,7 @@ void ShowFrontierManiacMessage(void)
}
break;
case FRONTIER_MANIAC_BATTLE_FACTORY:
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
>= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
{
winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
@@ -2194,7 +2194,7 @@ void ShowFrontierManiacMessage(void)
}
break;
case FRONTIER_MANIAC_BATTLE_PALACE:
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
>= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
{
winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
@@ -2205,7 +2205,7 @@ void ShowFrontierManiacMessage(void)
}
break;
case FRONTIER_MANIAC_BATTLE_ARENA:
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]
>= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN])
{
winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50];
@@ -2216,7 +2216,7 @@ void ShowFrontierManiacMessage(void)
}
break;
case FRONTIER_MANIAC_BATTLE_PIKE:
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]
>= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN])
{
winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50];
@@ -2227,7 +2227,7 @@ void ShowFrontierManiacMessage(void)
}
break;
case FRONTIER_MANIAC_BATTLE_PYRAMID:
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]
>= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN])
{
winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
@@ -2429,13 +2429,13 @@ void ShowScrollableMultichoice(void)
}
}
static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH] =
static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH] =
{
[SCROLL_MULTI_NONE] =
[SCROLL_MULTI_NONE] =
{
gText_Exit
},
[SCROLL_MULTI_GLASS_WORKSHOP_VENDOR] =
[SCROLL_MULTI_GLASS_WORKSHOP_VENDOR] =
{
gText_BlueFlute,
gText_YellowFlute,
@@ -2446,7 +2446,7 @@ static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]
gText_PrettyDesk,
gText_Exit
},
[SCROLL_MULTI_POKEMON_FAN_CLUB_RATER] =
[SCROLL_MULTI_POKEMON_FAN_CLUB_RATER] =
{
gText_0Pts,
gText_10Pts,
@@ -2461,7 +2461,7 @@ static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]
gText_100Pts,
gText_QuestionMark
},
[SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] =
[SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] =
{
gText_KissPoster16BP,
gText_KissCushion32BP,
@@ -2535,7 +2535,7 @@ static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]
gText_ExchangeService,
gText_Exit
},
[SCROLL_MULTI_BF_MOVE_TUTOR_1] =
[SCROLL_MULTI_BF_MOVE_TUTOR_1] =
{
gText_Softboiled16BP,
gText_SeismicToss24BP,
@@ -2549,7 +2549,7 @@ static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]
gText_SwordsDance48BP,
gText_Exit
},
[SCROLL_MULTI_BF_MOVE_TUTOR_2] =
[SCROLL_MULTI_BF_MOVE_TUTOR_2] =
{
gText_DefenseCurl16BP,
gText_Snore24BP,
@@ -2896,7 +2896,7 @@ void UpdateFrontierGambler(u16 daysSince)
void ShowFrontierGamblerLookingMessage(void)
{
static const u8 *const sFrontierGamblerLookingMessages[] =
static const u8 *const sFrontierGamblerLookingMessages[] =
{
BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle,
BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble,
@@ -2919,7 +2919,7 @@ void ShowFrontierGamblerLookingMessage(void)
void ShowFrontierGamblerGoMessage(void)
{
static const u8 *const sFrontierGamblerGoMessages[] =
static const u8 *const sFrontierGamblerGoMessages[] =
{
BattleFrontier_Lounge3_Text_GetToBattleTowerSingle,
BattleFrontier_Lounge3_Text_GetToBattleTowerDouble,
@@ -2940,19 +2940,19 @@ void ShowFrontierGamblerGoMessage(void)
void FrontierGamblerSetWonOrLost(bool8 won)
{
static const u16 sFrontierChallenges[] =
static const u16 sFrontierChallenges[] =
{
FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_DOUBLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_ARENA, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PIKE, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_ARENA, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PIKE, FRONTIER_MODE_SINGLES),
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PYRAMID, FRONTIER_MODE_SINGLES)
};
@@ -3140,31 +3140,31 @@ static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused)
}
static const u16 sBattleFrontier_TutorMoves1[] =
{
MOVE_SOFT_BOILED,
MOVE_SEISMIC_TOSS,
MOVE_DREAM_EATER,
MOVE_MEGA_PUNCH,
MOVE_MEGA_KICK,
MOVE_BODY_SLAM,
MOVE_ROCK_SLIDE,
MOVE_COUNTER,
MOVE_THUNDER_WAVE,
MOVE_SWORDS_DANCE
{
MOVE_SOFT_BOILED,
MOVE_SEISMIC_TOSS,
MOVE_DREAM_EATER,
MOVE_MEGA_PUNCH,
MOVE_MEGA_KICK,
MOVE_BODY_SLAM,
MOVE_ROCK_SLIDE,
MOVE_COUNTER,
MOVE_THUNDER_WAVE,
MOVE_SWORDS_DANCE
};
static const u16 sBattleFrontier_TutorMoves2[] =
{
MOVE_DEFENSE_CURL,
MOVE_SNORE,
MOVE_MUD_SLAP,
MOVE_SWIFT,
MOVE_ICY_WIND,
MOVE_ENDURE,
MOVE_PSYCH_UP,
MOVE_ICE_PUNCH,
MOVE_THUNDER_PUNCH,
MOVE_FIRE_PUNCH
{
MOVE_DEFENSE_CURL,
MOVE_SNORE,
MOVE_MUD_SLAP,
MOVE_SWIFT,
MOVE_ICY_WIND,
MOVE_ENDURE,
MOVE_PSYCH_UP,
MOVE_ICE_PUNCH,
MOVE_THUNDER_PUNCH,
MOVE_FIRE_PUNCH
};
void BufferBattleFrontierTutorMoveName(void)
@@ -3181,7 +3181,7 @@ void BufferBattleFrontierTutorMoveName(void)
static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection)
{
static const struct WindowTemplate sBattleFrontierTutor_WindowTemplate =
static const struct WindowTemplate sBattleFrontierTutor_WindowTemplate =
{
.bg = 0,
.tilemapLeft = 1,
@@ -3205,7 +3205,7 @@ static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection)
static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection)
{
static const u8 *const sBattleFrontier_TutorMoveDescriptions1[] =
static const u8 *const sBattleFrontier_TutorMoveDescriptions1[] =
{
BattleFrontier_Lounge7_Text_SoftboiledDesc,
BattleFrontier_Lounge7_Text_SeismicTossDesc,
@@ -3220,7 +3220,7 @@ static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection)
gText_Exit,
};
static const u8 *const sBattleFrontier_TutorMoveDescriptions2[] =
static const u8 *const sBattleFrontier_TutorMoveDescriptions2[] =
{
BattleFrontier_Lounge7_Text_DefenseCurlDesc,
BattleFrontier_Lounge7_Text_SnoreDesc,
@@ -3335,20 +3335,20 @@ void sub_813AF48(void)
}
// Undefine Scrollable Multichoice task data macros
#undef tMaxItemsOnScreen
#undef tNumItems
#undef tLeft
#undef tTop
#undef tWidth
#undef tHeight
#undef tKeepOpenAfterSelect
#undef tScrollOffset
#undef tSelectedRow
#undef tScrollMultiId
#undef tScrollArrowId
#undef tWindowId
#undef tListTaskId
#undef tTaskId
#undef tMaxItemsOnScreen
#undef tNumItems
#undef tLeft
#undef tTop
#undef tWidth
#undef tHeight
#undef tKeepOpenAfterSelect
#undef tScrollOffset
#undef tSelectedRow
#undef tScrollMultiId
#undef tScrollArrowId
#undef tWindowId
#undef tListTaskId
#undef tTaskId
void DoDeoxysRockInteraction(void)
{
@@ -3730,7 +3730,7 @@ bool32 ShouldDistributeEonTicket(void)
{
if (!VarGet(VAR_DISTRIBUTE_EON_TICKET))
return FALSE;
return TRUE;
}
@@ -3794,17 +3794,17 @@ static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId)
gSpecialVar_0x8005 = gBlockRecvBuffer[1][0];
ResetBlockReceivedFlag(1);
if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE)
{
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_BOTH_RETIRE;
}
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_CONTINUE
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_CONTINUE
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE)
{
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_MEMBER_RETIRE;
}
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_CONTINUE)
{
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_LEADER_RETIRE;
@@ -4026,13 +4026,13 @@ bool8 InPokemonCenter(void)
}
/* Summary of the Lilycove Trainer Fan Club, because it's a little messy
## The Fan Club room itself
There are initially 4 members of the Fan Club (+ an interviewer), none of whom are fans of the player
After becoming the champion there will be 8 members of the Fan Club, 3 of whom are automatically fans of the player
After this point, if a club member is a fan of the player they will sit at the front table and comment on the player
If they are not fans of the player, they will sit at the far table and can make comments about a different trainer (see BufferFanClubTrainerName)
## Gaining/losing fans
After every link battle the player will gain a fan if they won, or lose a fan if they lost
If the player has at least 3 fans, this is the only way to gain fans
@@ -4101,16 +4101,16 @@ void UpdateTrainerFanClubGameClear(void)
}
// If the player has < 3 fans, gain a new fan whenever the counter reaches 20+
// Defeating Drake or participating in a Contest increments the counter by 2
// Defeating Drake or participating in a Contest increments the counter by 2
// Participating at Battle Tower or in a Secret Base battle increments the counter by 1
u8 TryGainNewFanFromCounter(u8 incrementId)
{
static const u8 sCounterIncrements[] =
{
[FANCOUNTER_DEFEATED_DRAKE] = 2,
[FANCOUNTER_BATTLED_AT_BASE] = 1,
[FANCOUNTER_FINISHED_CONTEST] = 2,
[FANCOUNTER_USED_BATTLE_TOWER] = 1
static const u8 sCounterIncrements[] =
{
[FANCOUNTER_DEFEATED_DRAKE] = 2,
[FANCOUNTER_BATTLED_AT_BASE] = 1,
[FANCOUNTER_FINISHED_CONTEST] = 2,
[FANCOUNTER_USED_BATTLE_TOWER] = 1
};
if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2)
@@ -4143,16 +4143,16 @@ u8 TryGainNewFanFromCounter(u8 incrementId)
// If all the members are already fans of the player then this redundantly sets the first fan in the list to be a fan
static u16 PlayerGainRandomTrainerFan(void)
{
static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
{
FANCLUB_MEMBER1,
FANCLUB_MEMBER2,
FANCLUB_MEMBER3,
FANCLUB_MEMBER4,
FANCLUB_MEMBER5,
static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
{
FANCLUB_MEMBER1,
FANCLUB_MEMBER2,
FANCLUB_MEMBER3,
FANCLUB_MEMBER4,
FANCLUB_MEMBER5,
FANCLUB_MEMBER6,
FANCLUB_MEMBER7,
FANCLUB_MEMBER8
FANCLUB_MEMBER7,
FANCLUB_MEMBER8
};
u8 i;
@@ -4179,16 +4179,16 @@ static u16 PlayerGainRandomTrainerFan(void)
// If no fan was lost while looping, the last current fan in the list will stop being a fan
static u16 PlayerLoseRandomTrainerFan(void)
{
static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
{
FANCLUB_MEMBER1,
FANCLUB_MEMBER6,
FANCLUB_MEMBER7,
FANCLUB_MEMBER4,
FANCLUB_MEMBER3,
FANCLUB_MEMBER5,
FANCLUB_MEMBER8,
FANCLUB_MEMBER2
static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
{
FANCLUB_MEMBER1,
FANCLUB_MEMBER6,
FANCLUB_MEMBER7,
FANCLUB_MEMBER4,
FANCLUB_MEMBER3,
FANCLUB_MEMBER5,
FANCLUB_MEMBER8,
FANCLUB_MEMBER2
};
u8 i;
+2 -2
View File
@@ -110,8 +110,8 @@ void (*const gWeatherPalStateFuncs[])(void) =
{
[WEATHER_PAL_STATE_CHANGING_WEATHER] = UpdateWeatherGammaShift,
[WEATHER_PAL_STATE_SCREEN_FADING_IN] = FadeInScreenWithWeather,
[WEATHER_PAL_STATE_SCREEN_FADING_OUT] = DoNothing,
[WEATHER_PAL_STATE_IDLE] = DoNothing,
[WEATHER_PAL_STATE_SCREEN_FADING_OUT] = DoNothing,
[WEATHER_PAL_STATE_IDLE] = DoNothing,
};
// This table specifies which of the gamma shift tables should be
+2 -2
View File
@@ -71,7 +71,7 @@ static void SetEscalatorMetatile(u8 taskId, const s16 *metatileIds, u16 metatile
s16 i;
s16 j;
// Check all the escalator sections and only progress the selected one to the next stage
// Check all the escalator sections and only progress the selected one to the next stage
if (!gTasks[taskId].tGoingUp)
{
for (i = 0; i < 3; i++)
@@ -178,7 +178,7 @@ void StopEscalator(void)
bool8 IsEscalatorMoving(void)
{
if (gTasks[sEscalatorAnim_TaskId].tDrawingEscalator == FALSE
if (gTasks[sEscalatorAnim_TaskId].tDrawingEscalator == FALSE
&& gTasks[sEscalatorAnim_TaskId].tTransitionStage == LAST_ESCALATOR_STAGE)
return FALSE;
else
+6 -6
View File
@@ -178,9 +178,9 @@ static const u32 sUnusedData[] = INCBIN_U32("graphics/frontier
static const u32 sBattleRecord_Tilemap[] = INCBIN_U32("graphics/frontier_pass/record_frame.bin.lz");
static const u32 sMapAndCard_Zooming_Tilemap[] = INCBIN_U32("graphics/frontier_pass/small_map_and_card_affine.bin.lz");
static const s16 sBgAffineCoords[][2] =
static const s16 sBgAffineCoords[][2] =
{
[CURSOR_AREA_MAP - 1] = {216, 32},
[CURSOR_AREA_MAP - 1] = {216, 32},
[CURSOR_AREA_CARD - 1] = {216, 128}
};
@@ -1099,7 +1099,7 @@ static void Task_PassAreaZoom(u8 taskId)
tScaleY += tScaleSpeedY;
sPassGfx->scaleX = MathUtil_Inv16(tScaleX);
sPassGfx->scaleY = MathUtil_Inv16(tScaleY);
// Check if zoom hasn't reached target
if (!tZoomOut)
{
@@ -1117,7 +1117,7 @@ static void Task_PassAreaZoom(u8 taskId)
sPassGfx->zooming = FALSE;
if (UpdatePaletteFade())
return;
if (!tZoomOut)
{
// Zoomed in and faded out, switch to map or trainer card
@@ -1174,7 +1174,7 @@ static void ShowAndPrintWindows(void)
static void PrintAreaDescription(u8 cursorArea)
{
FillWindowPixelBuffer(WINDOW_DESCRIPTION, PIXEL_FILL(0));
if (cursorArea == CURSOR_AREA_RECORD && !sPassData->hasBattleRecord)
AddTextPrinterParameterized3(WINDOW_DESCRIPTION, 1, 2, 0, sTextColors[1], 0, sPassAreaDescriptions[CURSOR_AREA_NOTHING]);
else if (cursorArea != CURSOR_AREA_NOTHING)
@@ -1256,7 +1256,7 @@ static void UpdateAreaHighlight(u8 cursorArea, u8 previousCursorArea)
return;
break;
}
// If moving on to highlightable area, highlight it
switch (cursorArea)
{
+1 -1
View File
@@ -2397,7 +2397,7 @@ void ClearRankingHallRecords(void)
{
for (k = 0; k < 3; k++)
{
CopyTrainerId(gSaveBlock2Ptr->hallRecords1P[i][j][k].id, ZERO);
CopyTrainerId(gSaveBlock2Ptr->hallRecords1P[i][j][k].id, ZERO);
gSaveBlock2Ptr->hallRecords1P[i][j][k].name[0] = EOS;
gSaveBlock2Ptr->hallRecords1P[i][j][k].winStreak = 0;
}
+8 -12
View File
@@ -355,7 +355,6 @@ const u16 gBattleInterface_BallStatusBarPal[] = INCBIN_U16("graphics/battle_inte
const u16 gBattleInterface_BallDisplayPal[] = INCBIN_U16("graphics/battle_interface/ball_display.gbapal");
//Originally an array?
const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpbar.4bpp",
"graphics/battle_interface/expbar.4bpp",
"graphics/battle_interface/status_psn.4bpp",
@@ -365,17 +364,14 @@ const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpb
"graphics/battle_interface/status_brn.4bpp",
"graphics/battle_interface/misc.4bpp",
"graphics/battle_interface/hpbar_anim.4bpp",
"graphics/battle_interface/misc_frameend.4bpp");
const u8 gBattleInterface_BallDisplayGfx[] = INCBIN_U8("graphics/battle_interface/ball_display.4bpp");
//Originally an array?
const u8 gUnknown_08C1249C[] = INCBIN_U8("graphics/battle_interface/ball_display_unused_extra.4bpp");
const u8 gBattleInterfaceGfx_Status2[] = INCBIN_U8("graphics/battle_interface/status2.4bpp"); // these three duplicate sets of graphics are for the opponent pokemon
const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/status3.4bpp"); // and are also for use in double battles. they use dynamic palettes so
const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now
const u8 gBattleInterfaceGfx_FrameEnd[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend.4bpp");
const u8 gBattleInterfaceGfx_FrameEnd_Bar[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp");
"graphics/battle_interface/misc_frameend.4bpp",
"graphics/battle_interface/ball_display.4bpp",
"graphics/battle_interface/ball_display_unused_extra.4bpp",
"graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent pokemon
"graphics/battle_interface/status3.4bpp", // and are also for use in double battles. they use dynamic palettes so
"graphics/battle_interface/status4.4bpp", // coloring them is an extreme headache and wont be done for now
"graphics/battle_interface/healthbox_doubles_frameend.4bpp",
"graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp");
const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz");
const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz");
+25 -25
View File
@@ -298,21 +298,21 @@ static const union AnimCmd sAnim_WhiteConfettiC[] =
static const union AnimCmd * const sAnims_Confetti[] =
{
sAnim_PinkConfettiA,
sAnim_RedConfettiA,
sAnim_BlueConfettiA,
sAnim_PinkConfettiA,
sAnim_RedConfettiA,
sAnim_BlueConfettiA,
sAnim_RedConfettiB,
sAnim_BlueConfettiB,
sAnim_YellowConfettiA,
sAnim_WhiteConfettiA,
sAnim_BlueConfettiB,
sAnim_YellowConfettiA,
sAnim_WhiteConfettiA,
sAnim_GreenConfettiA,
sAnim_PinkConfettiB,
sAnim_BlueConfettiC,
sAnim_YellowConfettiB,
sAnim_PinkConfettiB,
sAnim_BlueConfettiC,
sAnim_YellowConfettiB,
sAnim_WhiteConfettiB,
sAnim_GreenConfettiB,
sAnim_PinkConfettiC,
sAnim_RedConfettiC,
sAnim_GreenConfettiB,
sAnim_PinkConfettiC,
sAnim_RedConfettiC,
sAnim_YellowConfettiC,
sAnim_WhiteConfettiC
};
@@ -334,17 +334,17 @@ static const u32 sHallOfFame_Gfx[] = INCBIN_U32("graphics/misc/japanese_hof.4bpp
static const struct HallofFameMon sDummyFameMon =
{
.tid = 0x3EA03EA,
.personality = 0,
.species = SPECIES_NONE,
.lvl = 0,
.tid = 0x3EA03EA,
.personality = 0,
.species = SPECIES_NONE,
.lvl = 0,
.nick = {0}
};
// Unused, order of party slots on Hall of Fame screen
static const u8 sHallOfFame_SlotOrder[] = {
2, 1, 3,
6, 4, 5,
2, 1, 3,
6, 4, 5,
0, 0
};
@@ -662,7 +662,7 @@ static void Task_Hof_DoConfetti(u8 taskId)
if (gTasks[taskId].tFrameCount != 0)
{
gTasks[taskId].tFrameCount--;
// Create new confetti every 4th frame for the first 290 frames
// For the last 110 frames wait for the existing confetti to fall offscreen
if ((gTasks[taskId].tFrameCount & 3) == 0 && gTasks[taskId].tFrameCount > 110)
@@ -1507,12 +1507,12 @@ static void Task_DoDomeConfetti(u8 taskId)
if (tTimer != 0 && tTimer % 3 == 0)
{
// Create new confetti every 3 frames
id = ConfettiUtil_AddNew(&sOamData_Confetti,
TAG_CONFETTI,
TAG_CONFETTI,
Random() % DISPLAY_WIDTH,
-(Random() % 8),
Random() % ARRAY_COUNT(sAnims_Confetti),
id = ConfettiUtil_AddNew(&sOamData_Confetti,
TAG_CONFETTI,
TAG_CONFETTI,
Random() % DISPLAY_WIDTH,
-(Random() % 8),
Random() % ARRAY_COUNT(sAnims_Confetti),
id);
if (id != 0xFF)
{
+3 -3
View File
@@ -733,11 +733,11 @@ static u16 QuantizePixel_BlurHard(u16 *prevPixel, u16 *curPixel, u16 *nextPixel)
red = GET_R(*curPixel);
green = GET_G(*curPixel);
blue = GET_B(*curPixel);
prevAvg = (GET_R(*prevPixel) + GET_G(*prevPixel) + GET_B(*prevPixel)) / 3;
curAvg = (GET_R(*curPixel) + GET_G(*curPixel) + GET_B(*curPixel)) / 3;
nextAvg = (GET_R(*nextPixel) + GET_G(*nextPixel) + GET_B(*nextPixel)) / 3;
if (prevAvg == curAvg && nextAvg == curAvg)
return *curPixel;
@@ -1096,7 +1096,7 @@ static u16 QuantizePixel_PrimaryColors(u16* color)
u16 red = GET_R(*color);
u16 green = GET_G(*color);
u16 blue = GET_B(*color);
if (red < 12 && green < 11 && blue < 11)
return 1;
+11 -11
View File
@@ -1421,7 +1421,7 @@ static void Task_Scene2_BikeRide(u8 taskId)
gIntroCredits_MovingSceneryState = INTROCRED_SCENERY_FROZEN;
DestroyTask(gTasks[taskId].tBgAnimTaskId);
}
if (gIntroFrameCounter > TIMER_END_SCENE_2)
{
// Fade out to next scene
@@ -1671,7 +1671,7 @@ static void SpriteCB_Manectric(struct Sprite *sprite)
sprite->x -= 2;
if (gIntroFrameCounter != TIMER_MANECTRIC_RUN_CIRCULAR)
break;
// Initialize circular pattern running
sprite->y -= 12;
sprite->sSinIdx = 0x80;
@@ -2205,7 +2205,7 @@ static void Task_Scene3_Kyogre(u8 taskId)
}
}
#undef tScreenX
#undef tScreenX
#undef tScreenY
#undef tZoom
#undef tDelay
@@ -2219,7 +2219,7 @@ static void Task_Scene3_Kyogre(u8 taskId)
#define sUnk data[7] // Never read
// taskId is used inconsistently for these two functions.
// The sprite callback for the bubbles will always read it, unless delay is 0 to
// The sprite callback for the bubbles will always read it, unless delay is 0 to
// start (it never is), but the first function is often passed 0 instead of a
// taskId, and the second function doesn't take/assign a taskId at all.
// The only time an actual taskId is given is when it actually needs the
@@ -2233,9 +2233,9 @@ static void CreateKyogreBubbleSprites_Body(u8 taskId)
for (i = 0; i < NUM_BUBBLES_IN_SET; i++)
{
spriteId = CreateSprite(&sSpriteTemplate_Bubbles,
sKyogreBubbleData[i][0],
sKyogreBubbleData[i][1],
spriteId = CreateSprite(&sSpriteTemplate_Bubbles,
sKyogreBubbleData[i][0],
sKyogreBubbleData[i][1],
i);
gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].sTaskId = taskId;
@@ -2252,14 +2252,14 @@ static void CreateKyogreBubbleSprites_Fins(void)
for (i = 0; i < NUM_BUBBLES_IN_SET; i++)
{
spriteId = CreateSprite(&sSpriteTemplate_Bubbles,
sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][0],
sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][1],
spriteId = CreateSprite(&sSpriteTemplate_Bubbles,
sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][0],
sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][1],
i);
gSprites[spriteId].invisible = TRUE;
#ifdef BUGFIX
gSprites[spriteId].sDelay = sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][2];
#else
#else
gSprites[spriteId].sDelay = sKyogreBubbleData[i][2]; // Using the wrong set of delays here
#endif
gSprites[spriteId].sUnk = 64;
+2 -2
View File
@@ -13,7 +13,7 @@
and the credit sequence, where the player bikes along a grassy path.
These graphics are placed in graphics/intro/scene_2 to keep
all of the intro graphics files together, though it includes
all of the intro graphics files together, though it includes
the related graphics that are used only by the credits.
*/
@@ -1039,7 +1039,7 @@ static void SpriteCB_MovingScenery(struct Sprite *sprite)
{
s32 x;
s16 state = gIntroCredits_MovingSceneryState;
if (state != INTROCRED_SCENERY_FROZEN)
{
switch (state)
+18 -18
View File
@@ -76,20 +76,20 @@ enum {
enum {
ACTION_USE,
ACTION_TOSS,
ACTION_REGISTER,
ACTION_GIVE,
ACTION_CANCEL,
ACTION_TOSS,
ACTION_REGISTER,
ACTION_GIVE,
ACTION_CANCEL,
ACTION_BATTLE_USE,
ACTION_CHECK,
ACTION_WALK,
ACTION_DESELECT,
ACTION_CHECK_TAG,
ACTION_CONFIRM,
ACTION_SHOW,
ACTION_GIVE_FAVOR_LADY,
ACTION_CONFIRM_QUIZ_LADY,
ACTION_DUMMY,
ACTION_CHECK,
ACTION_WALK,
ACTION_DESELECT,
ACTION_CHECK_TAG,
ACTION_CONFIRM,
ACTION_SHOW,
ACTION_GIVE_FAVOR_LADY,
ACTION_CONFIRM_QUIZ_LADY,
ACTION_DUMMY,
};
enum {
@@ -669,7 +669,7 @@ void VBlankCB_BagMenuRun(void)
static void CB2_Bag(void)
{
while(MenuHelpers_CallLinkSomething() != TRUE && SetupBagMenu() != TRUE && MenuHelpers_LinkSomething() != TRUE)
while(MenuHelpers_CallLinkSomething() != TRUE && SetupBagMenu() != TRUE && MenuHelpers_LinkSomething() != TRUE)
{};
}
@@ -1084,7 +1084,7 @@ static void Task_CloseBagMenu(u8 taskId)
if (!gPaletteFade.active)
{
DestroyListMenuTask(tListTaskId, &gBagPosition.scrollPosition[gBagPosition.pocket], &gBagPosition.cursorPosition[gBagPosition.pocket]);
// 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 (gBagMenu->newScreenCallback != NULL)
@@ -1417,11 +1417,11 @@ static void DrawPocketIndicatorSquare(u8 x, bool8 isCurrentPocket)
static bool8 CanSwapItems(void)
{
// Swaps can only be done from the field or in battle (as opposed to while selling items, for example)
if (gBagPosition.location == ITEMMENULOCATION_FIELD
if (gBagPosition.location == ITEMMENULOCATION_FIELD
|| gBagPosition.location == ITEMMENULOCATION_BATTLE)
{
// TMHMs and berries are numbered, and so may not be swapped
if (gBagPosition.pocket != TMHM_POCKET
if (gBagPosition.pocket != TMHM_POCKET
&& gBagPosition.pocket != BERRIES_POCKET)
return TRUE;
}
@@ -2564,7 +2564,7 @@ static void PrintTMHMMoveData(u16 itemId)
{
moveId = ItemIdToBattleMoveId(itemId);
BlitMenuInfoIcon(WIN_TMHM_INFO, gBattleMoves[moveId].type + 1, 0, 0);
// Print TMHM power
if (gBattleMoves[moveId].power <= 1)
{
+1 -1
View File
@@ -509,7 +509,7 @@ static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 itemDistanceX, s16 ite
}
else
{
if (oldItemAbsX + oldItemAbsY == newItemAbsX + newItemAbsY
if (oldItemAbsX + oldItemAbsY == newItemAbsX + newItemAbsY
&& (oldItemAbsY > newItemAbsY || (oldItemAbsY == newItemAbsY && tItemDistanceY < itemDistanceY)))
{
// If items are equal distance, use whichever is closer on the Y axis or further south
+1 -1
View File
@@ -161,7 +161,7 @@ u16 rfu_initializeAPI(u32 *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p
gRfuSlotStatusNI[i] = &gRfuSlotStatusNI[i - 1][1];
gRfuSlotStatusUNI[i] = &gRfuSlotStatusUNI[i - 1][1];
}
// remaining space in API buffer is used for `struct RfuIntrStruct`.
// remaining space in API buffer is used for `struct RfuIntrStruct`.
gRfuFixed->STWIBuffer = (struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1];
STWI_init_all((struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1], sioIntrTable_p, copyInterruptToRam);
rfu_STC_clearAPIVariables();
+3 -3
View File
@@ -40,7 +40,7 @@ void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, b
gSTWIStatus->error = 0;
gSTWIStatus->recoveryCount = 0;
gSTWIStatus->sending = 0;
REG_RCNT = 0x100; // TODO: mystery bit?
REG_RCNT = 0x100; // TODO: mystery bit?
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS;
STWI_init_Callback_M();
STWI_init_Callback_S();
@@ -118,7 +118,7 @@ void STWI_init_Callback_S(void)
STWI_set_Callback_S(NULL);
}
// The callback can take 2 or 3 arguments.
// The callback can take 2 or 3 arguments.
void STWI_set_Callback_M(void *callbackM)
{
gSTWIStatus->callbackM = callbackM;
@@ -594,7 +594,7 @@ static s32 STWI_start_Command(void)
{
u16 imeTemp;
// equivalent to gSTWIStatus->txPacket->rfuPacket32.command,
// equivalent to gSTWIStatus->txPacket->rfuPacket32.command,
// but the cast here is required to avoid register issue
*(u32 *)gSTWIStatus->txPacket->rfuPacket8.data = 0x99660000 | (gSTWIStatus->reqLength << 8) | gSTWIStatus->reqActiveCommand;
REG_SIODATA32 = gSTWIStatus->txPacket->rfuPacket32.command;
+102 -144
View File
@@ -65,15 +65,15 @@ void InitLilycoveLady(void)
id >>= 1;
switch (id)
{
case LILYCOVE_LADY_QUIZ:
InitLilycoveQuizLady();
break;
case LILYCOVE_LADY_FAVOR:
InitLilycoveFavorLady();
break;
case LILYCOVE_LADY_CONTEST:
InitLilycoveContestLady();
break;
case LILYCOVE_LADY_QUIZ:
InitLilycoveQuizLady();
break;
case LILYCOVE_LADY_FAVOR:
InitLilycoveFavorLady();
break;
case LILYCOVE_LADY_CONTEST:
InitLilycoveContestLady();
break;
}
}
@@ -81,15 +81,15 @@ void ResetLilycoveLadyForRecordMix(void)
{
switch (GetLilycoveLadyId())
{
case LILYCOVE_LADY_QUIZ:
ResetQuizLadyForRecordMix();
break;
case LILYCOVE_LADY_FAVOR:
ResetFavorLadyForRecordMix();
break;
case LILYCOVE_LADY_CONTEST:
ResetContestLadyForRecordMix();
break;
case LILYCOVE_LADY_QUIZ:
ResetQuizLadyForRecordMix();
break;
case LILYCOVE_LADY_FAVOR:
ResetFavorLadyForRecordMix();
break;
case LILYCOVE_LADY_CONTEST:
ResetContestLadyForRecordMix();
break;
}
}
@@ -100,15 +100,15 @@ void InitLilycoveLadyRandomly(void)
switch (lady)
{
case LILYCOVE_LADY_QUIZ:
InitLilycoveQuizLady();
break;
case LILYCOVE_LADY_FAVOR:
InitLilycoveFavorLady();
break;
case LILYCOVE_LADY_CONTEST:
InitLilycoveContestLady();
break;
case LILYCOVE_LADY_QUIZ:
InitLilycoveQuizLady();
break;
case LILYCOVE_LADY_FAVOR:
InitLilycoveFavorLady();
break;
case LILYCOVE_LADY_CONTEST:
InitLilycoveContestLady();
break;
}
}
@@ -119,10 +119,10 @@ void Script_GetLilycoveLadyId(void)
static u8 GetNumAcceptedItems(const u16 *itemsArray)
{
u8 items;
u8 numItems;
for (items = 0; *itemsArray != ITEM_NONE; items ++, itemsArray ++);
return items;
for (numItems = 0; *itemsArray != ITEM_NONE; numItems++, itemsArray++);
return numItems;
}
static void FavorLadyPickFavorAndBestItem(void)
@@ -160,17 +160,11 @@ u8 GetFavorLadyState(void)
{
sFavorLadyPtr = &gSaveBlock1Ptr->lilycoveLady.favor;
if (sFavorLadyPtr->state == LILYCOVE_LADY_STATE_PRIZE)
{
return LILYCOVE_LADY_STATE_PRIZE;
}
else if (sFavorLadyPtr->state == LILYCOVE_LADY_STATE_COMPLETED)
{
return LILYCOVE_LADY_STATE_COMPLETED;
}
else
{
return LILYCOVE_LADY_STATE_READY;
}
}
static const u8 *GetFavorLadyRequest(u8 idx)
@@ -209,7 +203,7 @@ void BufferFavorLadyItemName(void)
static void SetFavorLadyPlayerName(const u8 *src, u8 *dest)
{
memset(dest, 0xFF, 8);
memset(dest, EOS, PLAYER_NAME_LENGTH + 1);
StringCopy7(dest, src);
}
@@ -254,9 +248,7 @@ static bool8 DoesFavorLadyLikeItem(u16 itemId)
sFavorLadyPtr->numItemsGiven++;
sFavorLadyPtr->likedItem = TRUE;
if (sFavorLadyPtr->bestItem == itemId)
{
sFavorLadyPtr->numItemsGiven = LILYCOVE_LADY_GIFT_THRESHOLD;
}
break;
}
sFavorLadyPtr->likedItem = FALSE;
@@ -312,9 +304,7 @@ static void QuizLadyPickQuestion(void)
questionId = Random() % ARRAY_COUNT(sQuizLadyQuizQuestions);
for (i = 0; i < QUIZ_QUESTION_LEN; i ++)
{
sQuizLadyPtr->question[i] = sQuizLadyQuizQuestions[questionId][i];
}
sQuizLadyPtr->correctAnswer = sQuizLadyQuizAnswers[questionId];
sQuizLadyPtr->prize = sQuizLadyPrizes[questionId];
sQuizLadyPtr->questionId = questionId;
@@ -328,16 +318,16 @@ static void InitLilycoveQuizLady(void)
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
sQuizLadyPtr->id = LILYCOVE_LADY_QUIZ;
sQuizLadyPtr->state = LILYCOVE_LADY_STATE_READY;
for (i = 0; i < QUIZ_QUESTION_LEN; i ++)
{
sQuizLadyPtr->question[i] = -1;
}
sQuizLadyPtr->correctAnswer = -1;
sQuizLadyPtr->playerAnswer = -1;
sQuizLadyPtr->question[i] = EC_EMPTY_WORD;
sQuizLadyPtr->correctAnswer = EC_EMPTY_WORD;
sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD;
for (i = 0; i < TRAINER_ID_LENGTH; i ++)
{
sQuizLadyPtr->playerTrainerId[i] = 0;
}
sQuizLadyPtr->prize = ITEM_NONE;
sQuizLadyPtr->waitingForChallenger = FALSE;
sQuizLadyPtr->prevQuestionId = ARRAY_COUNT(sQuizLadyQuizQuestions);
@@ -351,48 +341,37 @@ static void ResetQuizLadyForRecordMix(void)
sQuizLadyPtr->id = LILYCOVE_LADY_QUIZ;
sQuizLadyPtr->state = LILYCOVE_LADY_STATE_READY;
sQuizLadyPtr->waitingForChallenger = FALSE;
sQuizLadyPtr->playerAnswer = -1;
sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD;
}
u8 GetQuizLadyState(void)
{
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
if (sQuizLadyPtr->state == LILYCOVE_LADY_STATE_PRIZE)
{
return LILYCOVE_LADY_STATE_PRIZE;
}
else if (sQuizLadyPtr->state == LILYCOVE_LADY_STATE_COMPLETED)
{
return LILYCOVE_LADY_STATE_COMPLETED;
}
else
{
return LILYCOVE_LADY_STATE_READY;
}
}
u8 GetQuizAuthor(void)
{
int i;
int j;
s32 i, j;
u8 authorNameId;
struct LilycoveLadyQuiz *quiz;
struct LilycoveLadyQuiz *quiz = &gSaveBlock1Ptr->lilycoveLady.quiz;
quiz = &gSaveBlock1Ptr->lilycoveLady.quiz;
if (IsEasyChatAnswerUnlocked(quiz->correctAnswer) == FALSE)
{
i = quiz->questionId;
do
{
if (++ i >= (int)(ARRAY_COUNT(sQuizLadyQuizQuestions)))
{
if (++i >= (int)ARRAY_COUNT(sQuizLadyQuizQuestions))
i = 0;
}
} while (IsEasyChatAnswerUnlocked(sQuizLadyQuizAnswers[i]) == FALSE);
for (j = 0; j < QUIZ_QUESTION_LEN; j ++)
{
for (j = 0; j < QUIZ_QUESTION_LEN; j++)
quiz->question[j] = sQuizLadyQuizQuestions[i][j];
}
quiz->correctAnswer = sQuizLadyQuizAnswers[i];
quiz->prize = sQuizLadyPrizes[i];
quiz->questionId = i;
@@ -400,17 +379,11 @@ u8 GetQuizAuthor(void)
}
authorNameId = BufferQuizAuthorName();
if (authorNameId == QUIZ_AUTHOR_NAME_LADY)
{
return QUIZ_AUTHOR_LADY;
}
else if (authorNameId == QUIZ_AUTHOR_NAME_OTHER_PLAYER || IsQuizTrainerIdNotPlayer())
{
return QUIZ_AUTHOR_OTHER_PLAYER;
}
else
{
return QUIZ_AUTHOR_PLAYER;
}
}
static u8 BufferQuizAuthorName(void)
@@ -434,7 +407,7 @@ static u8 BufferQuizAuthorName(void)
if (nameLen == GetPlayerNameLength(gSaveBlock2Ptr->playerName))
{
u8 *name = sQuizLadyPtr->playerName;
for (i = 0; i < nameLen; i ++)
for (i = 0; i < nameLen; i++)
{
name = sQuizLadyPtr->playerName;
if (name[i] != gSaveBlock2Ptr->playerName[i])
@@ -456,7 +429,7 @@ static bool8 IsQuizTrainerIdNotPlayer(void)
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
notPlayer = FALSE;
for (i = 0; i < TRAINER_ID_LENGTH; i ++)
for (i = 0; i < TRAINER_ID_LENGTH; i++)
{
if (sQuizLadyPtr->playerTrainerId[i] != gSaveBlock2Ptr->playerTrainerId[i])
{
@@ -472,7 +445,7 @@ static u8 GetPlayerNameLength(const u8 *playerName)
u8 len;
const u8 *ptr;
for (len = 0, ptr = playerName; *ptr != EOS; len ++, ptr ++);
for (len = 0, ptr = playerName; *ptr != EOS; len++, ptr++);
return len;
}
@@ -517,7 +490,7 @@ void BufferQuizPrizeItem(void)
gSpecialVar_0x8005 = sQuizLadyPtr->prize;
}
void SetQuizLadyState_Complete(void)
void SetQuizLadyState_Complete(void)
{
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
sQuizLadyPtr->state = LILYCOVE_LADY_STATE_COMPLETED;
@@ -532,7 +505,7 @@ void SetQuizLadyState_GivePrize(void)
void ClearQuizLadyPlayerAnswer(void)
{
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
sQuizLadyPtr->playerAnswer = -1;
sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD;
}
void Script_QuizLadyOpenBagMenu(void)
@@ -544,13 +517,9 @@ void QuizLadyPickNewQuestion(void)
{
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
if (BufferQuizAuthorNameAndCheckIfLady())
{
sQuizLadyPtr->prevQuestionId = sQuizLadyPtr->questionId;
}
else
{
sQuizLadyPtr->prevQuestionId = ARRAY_COUNT(sQuizLadyQuizQuestions);
}
QuizLadyPickQuestion();
}
@@ -559,11 +528,9 @@ void ClearQuizLadyQuestionAndAnswer(void)
u8 i;
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
for (i = 0; i < QUIZ_QUESTION_LEN; i ++)
{
sQuizLadyPtr->question[i] = -1;
}
sQuizLadyPtr->correctAnswer = -1;
for (i = 0; i < QUIZ_QUESTION_LEN; i++)
sQuizLadyPtr->question[i] = EC_EMPTY_WORD;
sQuizLadyPtr->correctAnswer = EC_EMPTY_WORD;
}
void QuizLadySetCustomQuestion(void)
@@ -583,10 +550,8 @@ void QuizLadyRecordCustomQuizData(void)
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
sQuizLadyPtr->prize = gSpecialVar_ItemId;
for (i = 0; i < TRAINER_ID_LENGTH; i ++)
{
for (i = 0; i < TRAINER_ID_LENGTH; i++)
sQuizLadyPtr->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
}
StringCopy7(sQuizLadyPtr->playerName, gSaveBlock2Ptr->playerName);
sQuizLadyPtr->language = gGameLanguage;
}
@@ -614,21 +579,18 @@ void QuizLadyClearQuestionForRecordMix(const LilycoveLady *lilycoveLady)
u8 i;
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
if (lilycoveLady->quiz.prevQuestionId < ARRAY_COUNT(sQuizLadyQuizQuestions)
if (lilycoveLady->quiz.prevQuestionId < ARRAY_COUNT(sQuizLadyQuizQuestions)
&& sQuizLadyPtr->id == LILYCOVE_LADY_QUIZ)
{
for (i = 0; i < 4; i ++)
for (i = 0; i < 4; i++)
{
if (lilycoveLady->quiz.prevQuestionId != sQuizLadyPtr->questionId)
{
break;
}
sQuizLadyPtr->questionId = Random() % ARRAY_COUNT(sQuizLadyQuizQuestions);
}
if (lilycoveLady->quiz.prevQuestionId == sQuizLadyPtr->questionId)
{
sQuizLadyPtr->questionId = (sQuizLadyPtr->questionId + 1) % (int)(ARRAY_COUNT(sQuizLadyQuizQuestions));
}
sQuizLadyPtr->questionId = (sQuizLadyPtr->questionId + 1) % (int)ARRAY_COUNT(sQuizLadyQuizQuestions);
sQuizLadyPtr->prevQuestionId = lilycoveLady->quiz.prevQuestionId;
}
}
@@ -656,11 +618,10 @@ static void ResetContestLadyForRecordMix(void)
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
sContestLadyPtr->id = LILYCOVE_LADY_CONTEST;
sContestLadyPtr->givenPokeblock = FALSE;
if (sContestLadyPtr->numGoodPokeblocksGiven == LILYCOVE_LADY_GIFT_THRESHOLD
if (sContestLadyPtr->numGoodPokeblocksGiven == LILYCOVE_LADY_GIFT_THRESHOLD
|| sContestLadyPtr->numOtherPokeblocksGiven == LILYCOVE_LADY_GIFT_THRESHOLD)
{
ResetContestLadyContestData();
}
}
static void ContestLadySavePlayerNameIfHighSheen(u8 sheen)
@@ -683,41 +644,41 @@ bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock)
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
switch (sContestLadyPtr->category)
{
case CONTEST_CATEGORY_COOL:
if (pokeblock->spicy != 0)
{
sheen = pokeblock->spicy;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_BEAUTY:
if (pokeblock->dry != 0)
{
sheen = pokeblock->dry;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_CUTE:
if (pokeblock->sweet != 0)
{
sheen = pokeblock->sweet;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_SMART:
if (pokeblock->bitter != 0)
{
sheen = pokeblock->bitter;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_TOUGH:
if (pokeblock->sour != 0)
{
sheen = pokeblock->sour;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_COOL:
if (pokeblock->spicy != 0)
{
sheen = pokeblock->spicy;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_BEAUTY:
if (pokeblock->dry != 0)
{
sheen = pokeblock->dry;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_CUTE:
if (pokeblock->sweet != 0)
{
sheen = pokeblock->sweet;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_SMART:
if (pokeblock->bitter != 0)
{
sheen = pokeblock->bitter;
correctFlavor = TRUE;
}
break;
case CONTEST_CATEGORY_TOUGH:
if (pokeblock->sour != 0)
{
sheen = pokeblock->sour;
correctFlavor = TRUE;
}
break;
}
if (correctFlavor == TRUE)
{
@@ -731,18 +692,18 @@ bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock)
return correctFlavor;
}
static void BufferContestLadyCategoryAndMonName(u8 *dest1, u8 *dest2)
static void BufferContestLadyCategoryAndMonName(u8 *category, u8 *nickname)
{
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
StringCopy(dest1, sContestLadyCategoryNames[sContestLadyPtr->category]);
StringCopy10(dest2, sContestLadyMonNames[sContestLadyPtr->category]);
StringCopy(category, sContestLadyCategoryNames[sContestLadyPtr->category]);
StringCopy10(nickname, sContestLadyMonNames[sContestLadyPtr->category]);
}
void BufferContestLadyMonName(u8 *dest1, u8 *dest2)
void BufferContestLadyMonName(u8 *category, u8 *nickname)
{
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
*dest1 = sContestLadyPtr->category;
StringCopy(dest2, sContestLadyMonNames[sContestLadyPtr->category]);
*category = sContestLadyPtr->category;
StringCopy(nickname, sContestLadyMonNames[sContestLadyPtr->category]);
}
void BufferContestLadyPlayerName(u8 *dest)
@@ -779,9 +740,7 @@ bool8 HasPlayerGivenContestLadyPokeblock(void)
{
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
if (sContestLadyPtr->givenPokeblock == TRUE)
{
return TRUE;
}
return FALSE;
}
@@ -790,11 +749,10 @@ bool8 ShouldContestLadyShowGoOnAir(void)
bool8 putOnAir = FALSE;
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
if (sContestLadyPtr->numGoodPokeblocksGiven >= LILYCOVE_LADY_GIFT_THRESHOLD
if (sContestLadyPtr->numGoodPokeblocksGiven >= LILYCOVE_LADY_GIFT_THRESHOLD
|| sContestLadyPtr->numOtherPokeblocksGiven >= LILYCOVE_LADY_GIFT_THRESHOLD)
{
putOnAir = TRUE;
}
return putOnAir;
}
+4 -4
View File
@@ -764,7 +764,7 @@ static int AreAnyLinkPlayersUsingVersions(u32 version1, u32 version2)
nPlayers = GetLinkPlayerCount();
for (i = 0; i < nPlayers; i++)
{
if ((gLinkPlayers[i].version & 0xFF) == version1
if ((gLinkPlayers[i].version & 0xFF) == version1
|| (gLinkPlayers[i].version & 0xFF) == version2)
return 1;
}
@@ -873,7 +873,7 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int minPlayers, int maxPlayers)
sPlayerDataExchangeStatus = EXCHANGE_DIFF_SELECTIONS;
linkType1 = gLinkPlayers[GetMultiplayerId()].linkType;
linkType2 = gLinkPlayers[GetMultiplayerId() ^ 1].linkType;
if ((linkType1 == LINKTYPE_BATTLE_TOWER_50 && linkType2 == LINKTYPE_BATTLE_TOWER_OPEN)
if ((linkType1 == LINKTYPE_BATTLE_TOWER_50 && linkType2 == LINKTYPE_BATTLE_TOWER_OPEN)
|| (linkType1 == LINKTYPE_BATTLE_TOWER_OPEN && linkType2 == LINKTYPE_BATTLE_TOWER_50))
{
// 3 below indicates partner made different level mode selection
@@ -1350,7 +1350,7 @@ void CheckLinkPlayersMatchSaved(void)
for (i = 0; i < gSavedLinkPlayerCount; i++)
{
if (sSavedLinkPlayers[i].trainerId != gLinkPlayers[i].trainerId
if (sSavedLinkPlayers[i].trainerId != gLinkPlayers[i].trainerId
|| StringCompare(sSavedLinkPlayers[i].name, gLinkPlayers[i].name) != 0)
{
gLinkErrorOccurred = TRUE;
@@ -1777,7 +1777,7 @@ void LinkPlayerFromBlock(u32 who)
*player = block->linkPlayer;
ConvertLinkPlayerName(player);
if (strcmp(block->magic1, sASCIIGameFreakInc) != 0
if (strcmp(block->magic1, sASCIIGameFreakInc) != 0
|| strcmp(block->magic2, sASCIIGameFreakInc) != 0)
SetMainCallback2(CB2_LinkError);
}

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