Merge remote-tracking branch 'upstream/master' into pan-constants
This commit is contained in:
+2380
File diff suppressed because it is too large
Load Diff
@@ -2191,7 +2191,7 @@ static void BattleAICmd_if_level_cond(void)
|
||||
|
||||
static void BattleAICmd_if_target_taunted(void)
|
||||
{
|
||||
if (gDisableStructs[gBattlerTarget].tauntTimer1 != 0)
|
||||
if (gDisableStructs[gBattlerTarget].tauntTimer != 0)
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
|
||||
else
|
||||
gAIScriptPtr += 5;
|
||||
@@ -2199,7 +2199,7 @@ static void BattleAICmd_if_target_taunted(void)
|
||||
|
||||
static void BattleAICmd_if_target_not_taunted(void)
|
||||
{
|
||||
if (gDisableStructs[gBattlerTarget].tauntTimer1 == 0)
|
||||
if (gDisableStructs[gBattlerTarget].tauntTimer == 0)
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
|
||||
else
|
||||
gAIScriptPtr += 5;
|
||||
|
||||
@@ -17,7 +17,7 @@ static bool8 ShouldUseItem(void);
|
||||
static bool8 ShouldSwitchIfPerishSong(void)
|
||||
{
|
||||
if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG
|
||||
&& gDisableStructs[gActiveBattler].perishSongTimer1 == 0)
|
||||
&& gDisableStructs[gActiveBattler].perishSongTimer == 0)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
|
||||
BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0);
|
||||
|
||||
+12
-15
@@ -16,9 +16,6 @@
|
||||
#include "palette.h"
|
||||
#include "main.h"
|
||||
|
||||
// sprites start at 10000 and thus must be subtracted of 10000 to account for the true index.
|
||||
#define GET_TRUE_SPRITE_INDEX(i) ((i - 10000))
|
||||
|
||||
#define ANIM_SPRITE_INDEX_COUNT 8
|
||||
|
||||
extern u16 gBattle_WIN0H;
|
||||
@@ -33,8 +30,8 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM;
|
||||
extern struct MusicPlayerInfo gMPlayInfo_SE1;
|
||||
extern struct MusicPlayerInfo gMPlayInfo_SE2;
|
||||
|
||||
extern const u16 gUnknown_082C8D64[];
|
||||
extern const u8 * const gBattleAnims_Moves[];
|
||||
extern const u16 gMovesWithQuietBGM[];
|
||||
extern const u8 *const gBattleAnims_Moves[];
|
||||
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
|
||||
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
|
||||
extern const struct BattleAnimBackground gBattleAnimBackgroundTable[];
|
||||
@@ -110,7 +107,7 @@ EWRAM_DATA bool8 gAnimScriptActive = FALSE;
|
||||
EWRAM_DATA u8 gAnimVisualTaskCount = 0;
|
||||
EWRAM_DATA u8 gAnimSoundTaskCount = 0;
|
||||
EWRAM_DATA struct DisableStruct *gAnimDisableStructPtr = NULL;
|
||||
EWRAM_DATA u32 gAnimMoveDmg = 0;
|
||||
EWRAM_DATA s32 gAnimMoveDmg = 0;
|
||||
EWRAM_DATA u16 gAnimMovePower = 0;
|
||||
EWRAM_DATA static u16 sAnimSpriteIndexArray[ANIM_SPRITE_INDEX_COUNT] = {0};
|
||||
EWRAM_DATA u8 gAnimFriendship = 0;
|
||||
@@ -237,7 +234,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
|
||||
else
|
||||
{
|
||||
for (i = 0; i < 4; i++)
|
||||
gAnimBattlerSpecies[i] = gContestResources->field_18->field_0;
|
||||
gAnimBattlerSpecies[i] = gContestResources->field_18->unk0;
|
||||
}
|
||||
|
||||
if (!isMoveAnim)
|
||||
@@ -260,9 +257,9 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
|
||||
|
||||
if (isMoveAnim)
|
||||
{
|
||||
for (i = 0; gUnknown_082C8D64[i] != 0xFFFF; i++)
|
||||
for (i = 0; gMovesWithQuietBGM[i] != 0xFFFF; i++)
|
||||
{
|
||||
if (tableId == gUnknown_082C8D64[i])
|
||||
if (tableId == gMovesWithQuietBGM[i])
|
||||
{
|
||||
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 128);
|
||||
break;
|
||||
@@ -684,7 +681,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
}
|
||||
|
||||
sub_80A6B30(&unknownStruct);
|
||||
CpuFill16(0, unknownStruct.unk0, 0x1000);
|
||||
CpuFill16(0, unknownStruct.bgTiles, 0x1000);
|
||||
CpuFill16(0xFF, unknownStruct.unk4, 0x800);
|
||||
|
||||
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 2);
|
||||
@@ -694,7 +691,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
|
||||
gBattle_BG1_X = -(gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x) + 0x20;
|
||||
if (IsContest() && IsSpeciesNotUnown(gContestResources->field_18->field_0))
|
||||
if (IsContest() && IsSpeciesNotUnown(gContestResources->field_18->unk0))
|
||||
gBattle_BG1_X--;
|
||||
|
||||
gBattle_BG1_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20;
|
||||
@@ -712,7 +709,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
else
|
||||
battlerPosition = GetBattlerPosition(battlerId);
|
||||
|
||||
sub_8118FBC(1, 0, 0, battlerPosition, unknownStruct.unk8, unknownStruct.unk0, unknownStruct.unk4, unknownStruct.unkA);
|
||||
sub_8118FBC(1, 0, 0, battlerPosition, unknownStruct.unk8, unknownStruct.bgTiles, unknownStruct.unk4, unknownStruct.tilesOffset);
|
||||
|
||||
if (IsContest())
|
||||
sub_80A46A0();
|
||||
@@ -722,7 +719,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
RequestDma3Fill(0, (void*)(VRAM + 0x6000), 0x2000, 1);
|
||||
RequestDma3Fill(0, (void*)(VRAM + 0xF000), 0x1000, 1);
|
||||
sub_80A6B90(&unknownStruct, 2);
|
||||
CpuFill16(0, unknownStruct.unk0 + 0x1000, 0x1000);
|
||||
CpuFill16(0, unknownStruct.bgTiles + 0x1000, 0x1000);
|
||||
CpuFill16(0, unknownStruct.unk4 + 0x400, 0x800);
|
||||
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);
|
||||
SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1);
|
||||
@@ -742,7 +739,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20);
|
||||
CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + 0x120), 0x20);
|
||||
|
||||
sub_8118FBC(2, 0, 0, GetBattlerPosition(battlerId), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA);
|
||||
sub_8118FBC(2, 0, 0, GetBattlerPosition(battlerId), unknownStruct.unk8, unknownStruct.bgTiles + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.tilesOffset);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -752,7 +749,7 @@ static void sub_80A46A0(void)
|
||||
struct UnknownAnimStruct2 unknownStruct;
|
||||
u16 *ptr;
|
||||
|
||||
if (IsSpeciesNotUnown(gContestResources->field_18->field_0))
|
||||
if (IsSpeciesNotUnown(gContestResources->field_18->unk0))
|
||||
{
|
||||
sub_80A6B30(&unknownStruct);
|
||||
ptr = unknownStruct.unk4;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,360 @@
|
||||
#include "global.h"
|
||||
#include "battle.h"
|
||||
#include "battle_anim.h"
|
||||
#include "constants/battle_anim.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "util.h"
|
||||
#include "decompress.h"
|
||||
#include "palette.h"
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "trig.h"
|
||||
#include "gpu_regs.h"
|
||||
|
||||
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
|
||||
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
|
||||
extern const u8 *const gBattleAnims_StatusConditions[];
|
||||
extern const struct OamData gUnknown_08524904;
|
||||
extern const struct OamData gUnknown_08524A3C;
|
||||
|
||||
extern void sub_8116EB4(u8 taskId);
|
||||
|
||||
// This file's functions.
|
||||
static void sub_80A9DB4(u8 taskId);
|
||||
static void sub_80A9FD0(u8 taskId);
|
||||
static void sub_80AA020(u8 taskId);
|
||||
static void sub_80AA0D0(u8 taskId);
|
||||
static void sub_80AA124(u8 taskId);
|
||||
static void Task_DoStatusAnimation(u8 taskId);
|
||||
static void sub_80A9E44(struct Sprite *sprite);
|
||||
static void sub_80A9E78(struct Sprite *sprite);
|
||||
|
||||
// const rom data
|
||||
static const struct Subsprite gUnknown_0853EF30[] =
|
||||
{
|
||||
{.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2},
|
||||
{.x = -16, .y = 48, .shape = ST_OAM_H_RECTANGLE, .size = 3, .tileOffset = 64, .priority = 2},
|
||||
{.x = 48, .y = -16, .shape = ST_OAM_V_RECTANGLE, .size = 3, .tileOffset = 96, .priority = 2},
|
||||
{.x = 48, .y = 48, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 128, .priority = 2},
|
||||
};
|
||||
|
||||
static const struct SubspriteTable gUnknown_0853EF40[] =
|
||||
{
|
||||
{ARRAY_COUNT(gUnknown_0853EF30), gUnknown_0853EF30},
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_0853EF48 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ICE_CUBE,
|
||||
.paletteTag = ANIM_TAG_ICE_CUBE,
|
||||
.oam = &gUnknown_08524A3C,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy,
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_0853EF60 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_136,
|
||||
.paletteTag = ANIM_TAG_136,
|
||||
.oam = &gUnknown_08524904,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_80A9E44,
|
||||
};
|
||||
|
||||
// code
|
||||
u8 sub_80A9C70(u8 battlerId, bool8 b)
|
||||
{
|
||||
u8 battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
u8 taskId = CreateTask(sub_80A9DB4, 10);
|
||||
u8 spriteId2;
|
||||
u8 i;
|
||||
|
||||
LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_136)]);
|
||||
LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_136)]);
|
||||
gTasks[taskId].data[0] = battlerId;
|
||||
if (b)
|
||||
{
|
||||
gTasks[taskId].data[1] = RGB_RED;
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
spriteId2 = CreateSprite(&gUnknown_0853EF60, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y + 32, 0);
|
||||
gSprites[spriteId2].data[0] = i * 51;
|
||||
gSprites[spriteId2].data[1] = -256;
|
||||
gSprites[spriteId2].invisible = TRUE;
|
||||
if (i > 4)
|
||||
gSprites[spriteId2].data[6] = 21;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[1] = RGB_BLUE;
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
spriteId2 = CreateSprite(&gUnknown_0853EF60, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y - 32, 0);
|
||||
gSprites[spriteId2].data[0] = i * 51;
|
||||
gSprites[spriteId2].data[1] = 256;
|
||||
gSprites[spriteId2].invisible = TRUE;
|
||||
if (i > 4)
|
||||
gSprites[spriteId2].data[6] = 21;
|
||||
}
|
||||
}
|
||||
gSprites[spriteId2].data[7] = 1;
|
||||
return taskId;
|
||||
}
|
||||
|
||||
static void sub_80A9DB4(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[2] == 2)
|
||||
{
|
||||
gTasks[taskId].data[2] = 0;
|
||||
BlendPalette(0x100 + gTasks[taskId].data[0] * 16, 16, gTasks[taskId].data[4], gTasks[taskId].data[1]);
|
||||
if (gTasks[taskId].data[5] == 0)
|
||||
{
|
||||
gTasks[taskId].data[4]++;
|
||||
if (gTasks[taskId].data[4] > 8)
|
||||
gTasks[taskId].data[5] ^= 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
u16 var = gTasks[taskId].data[4];
|
||||
|
||||
gTasks[taskId].data[4]--;
|
||||
if (gTasks[taskId].data[4] < 0)
|
||||
{
|
||||
gTasks[taskId].data[4] = var;
|
||||
gTasks[taskId].data[5] ^= 1;
|
||||
gTasks[taskId].data[3]++;
|
||||
if (gTasks[taskId].data[3] == 2)
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[2]++;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A9E44(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[6] == 0)
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
sprite->callback = sub_80A9E78;
|
||||
sub_80A9E78(sprite);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[6]--;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A9E78(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Cos(sprite->data[0], 32);
|
||||
sprite->pos2.y = Sin(sprite->data[0], 8);
|
||||
if (sprite->data[0] < 128)
|
||||
sprite->subpriority = 29;
|
||||
else
|
||||
sprite->subpriority = 31;
|
||||
sprite->data[0] = (sprite->data[0] + 8) & 0xFF;
|
||||
sprite->data[5] += sprite->data[1];
|
||||
sprite->pos2.y += sprite->data[5] >> 8;
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[2] == 52)
|
||||
{
|
||||
if (sprite->data[7])
|
||||
DestroySpriteAndFreeResources(sprite);
|
||||
else
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A9EF4(u8 taskId)
|
||||
{
|
||||
s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32;
|
||||
s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_3) - 36;
|
||||
u8 spriteId;
|
||||
|
||||
if (IsContest())
|
||||
x -= 6;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
|
||||
spriteId = CreateSprite(&gUnknown_0853EF48, x, y, 4);
|
||||
if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF)
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
SetSubspriteTables(&gSprites[spriteId], gUnknown_0853EF40);
|
||||
gTasks[taskId].data[15] = spriteId;
|
||||
gTasks[taskId].func = sub_80A9FD0;
|
||||
}
|
||||
|
||||
static void sub_80A9FD0(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[1]++;
|
||||
if (gTasks[taskId].data[1] == 10)
|
||||
{
|
||||
gTasks[taskId].func = sub_80AA020;
|
||||
gTasks[taskId].data[1] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 var = gTasks[taskId].data[1];
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var));
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80AA020(u8 taskId)
|
||||
{
|
||||
u8 palIndex = IndexOfSpritePaletteTag(ANIM_TAG_ICE_CUBE);
|
||||
|
||||
if (gTasks[taskId].data[1]++ > 13)
|
||||
{
|
||||
gTasks[taskId].data[2]++;
|
||||
if (gTasks[taskId].data[2] == 3)
|
||||
{
|
||||
u16 temp;
|
||||
|
||||
temp = gPlttBufferFaded[0x100 + palIndex * 16 + 13];
|
||||
gPlttBufferFaded[0x100 + palIndex * 16 + 13] = gPlttBufferFaded[0x100 + palIndex * 16 + 14];
|
||||
gPlttBufferFaded[0x100 + palIndex * 16 + 14] = gPlttBufferFaded[0x100 + palIndex * 16 + 15];
|
||||
gPlttBufferFaded[0x100 + palIndex * 16 + 15] = temp;
|
||||
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].data[3]++;
|
||||
if (gTasks[taskId].data[3] == 3)
|
||||
{
|
||||
gTasks[taskId].data[3] = 0;
|
||||
gTasks[taskId].data[1] = 0;
|
||||
gTasks[taskId].data[4]++;
|
||||
if (gTasks[taskId].data[4] == 2)
|
||||
{
|
||||
gTasks[taskId].data[1] = 9;
|
||||
gTasks[taskId].func = sub_80AA0D0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80AA0D0(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[1]--;
|
||||
if (gTasks[taskId].data[1] == -1)
|
||||
{
|
||||
gTasks[taskId].func = sub_80AA124;
|
||||
gTasks[taskId].data[1] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 var = gTasks[taskId].data[1];
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var));
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80AA124(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[1]++;
|
||||
if (gTasks[taskId].data[1] == 37)
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[15];
|
||||
|
||||
FreeSpriteOamMatrix(&gSprites[spriteId]);
|
||||
DestroySprite(&gSprites[spriteId]);
|
||||
}
|
||||
else if (gTasks[taskId].data[1] == 39)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
#define CASE(by, stat) case (STAT_ANIM_##by + stat - 1)
|
||||
|
||||
void AnimTask_StatsChange(u8 taskId)
|
||||
{
|
||||
bool16 goesDown = FALSE;
|
||||
s16 animStatId = 0;
|
||||
bool16 sharply = FALSE;
|
||||
|
||||
switch (gBattleSpritesDataPtr->animationData->animArg)
|
||||
{
|
||||
CASE(PLUS1, STAT_ATK): goesDown = FALSE; animStatId = 0; break;
|
||||
CASE(PLUS1, STAT_DEF): goesDown = FALSE; animStatId = 1; break;
|
||||
CASE(PLUS1, STAT_SPEED): goesDown = FALSE; animStatId = 3; break;
|
||||
CASE(PLUS1, STAT_SPATK): goesDown = FALSE; animStatId = 5; break;
|
||||
CASE(PLUS1, STAT_SPDEF): goesDown = FALSE; animStatId = 6; break;
|
||||
CASE(PLUS1, STAT_ACC): goesDown = FALSE; animStatId = 2; break;
|
||||
CASE(PLUS1, STAT_EVASION): goesDown = FALSE; animStatId = 4; break;
|
||||
|
||||
CASE(MINUS1, STAT_ATK): goesDown = TRUE; animStatId = 0; break;
|
||||
CASE(MINUS1, STAT_DEF): goesDown = TRUE; animStatId = 1; break;
|
||||
CASE(MINUS1, STAT_SPEED): goesDown = TRUE; animStatId = 3; break;
|
||||
CASE(MINUS1, STAT_SPATK): goesDown = TRUE; animStatId = 5; break;
|
||||
CASE(MINUS1, STAT_SPDEF): goesDown = TRUE; animStatId = 6; break;
|
||||
CASE(MINUS1, STAT_ACC): goesDown = TRUE; animStatId = 2; break;
|
||||
CASE(MINUS1, STAT_EVASION): goesDown = TRUE; animStatId = 4; break;
|
||||
|
||||
CASE(PLUS2, STAT_ATK): goesDown = FALSE; animStatId = 0; sharply = TRUE; break;
|
||||
CASE(PLUS2, STAT_DEF): goesDown = FALSE; animStatId = 1; sharply = TRUE; break;
|
||||
CASE(PLUS2, STAT_SPEED): goesDown = FALSE; animStatId = 3; sharply = TRUE; break;
|
||||
CASE(PLUS2, STAT_SPATK): goesDown = FALSE; animStatId = 5; sharply = TRUE; break;
|
||||
CASE(PLUS2, STAT_SPDEF): goesDown = FALSE; animStatId = 6; sharply = TRUE; break;
|
||||
CASE(PLUS2, STAT_ACC): goesDown = FALSE; animStatId = 2; sharply = TRUE; break;
|
||||
CASE(PLUS2, STAT_EVASION): goesDown = FALSE; animStatId = 4; sharply = TRUE; break;
|
||||
|
||||
CASE(MINUS2, STAT_ATK): goesDown = TRUE; animStatId = 0; sharply = TRUE; break;
|
||||
CASE(MINUS2, STAT_DEF): goesDown = TRUE; animStatId = 1; sharply = TRUE; break;
|
||||
CASE(MINUS2, STAT_SPEED): goesDown = TRUE; animStatId = 3; sharply = TRUE; break;
|
||||
CASE(MINUS2, STAT_SPATK): goesDown = TRUE; animStatId = 5; sharply = TRUE; break;
|
||||
CASE(MINUS2, STAT_SPDEF): goesDown = TRUE; animStatId = 6; sharply = TRUE; break;
|
||||
CASE(MINUS2, STAT_ACC): goesDown = TRUE; animStatId = 2; sharply = TRUE; break;
|
||||
CASE(MINUS2, STAT_EVASION): goesDown = TRUE; animStatId = 4; sharply = TRUE; break;
|
||||
|
||||
case STAT_ANIM_MULTIPLE_PLUS1: goesDown = FALSE; animStatId = 0xFF; sharply = FALSE; break;
|
||||
case STAT_ANIM_MULTIPLE_PLUS2: goesDown = FALSE; animStatId = 0xFF; sharply = TRUE; break;
|
||||
case STAT_ANIM_MULTIPLE_MINUS1: goesDown = TRUE; animStatId = 0xFF; sharply = FALSE; break;
|
||||
case STAT_ANIM_MULTIPLE_MINUS2: goesDown = TRUE; animStatId = 0xFF; sharply = TRUE; break;
|
||||
|
||||
default:
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
|
||||
gBattleAnimArgs[0] = goesDown;
|
||||
gBattleAnimArgs[1] = animStatId;
|
||||
gBattleAnimArgs[2] = 0;
|
||||
gBattleAnimArgs[3] = 0;
|
||||
gBattleAnimArgs[4] = sharply;
|
||||
gTasks[taskId].func = sub_8116EB4;
|
||||
sub_8116EB4(taskId);
|
||||
}
|
||||
|
||||
#undef CASE
|
||||
|
||||
void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
gBattleAnimAttacker = battlerId;
|
||||
gBattleAnimTarget = battlerId;
|
||||
LaunchBattleAnimation(gBattleAnims_StatusConditions, statusAnimId, 0);
|
||||
taskId = CreateTask(Task_DoStatusAnimation, 10);
|
||||
gTasks[taskId].data[0] = battlerId;
|
||||
}
|
||||
|
||||
static void Task_DoStatusAnimation(u8 taskId)
|
||||
{
|
||||
gAnimScriptCallback();
|
||||
if (!gAnimScriptActive)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].data[0]].statusAnimActive = FALSE;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -131,7 +131,7 @@ void sub_8158D8C(u8 taskId)
|
||||
if (IsContest())
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
species = gContestResources->field_18->field_0;
|
||||
species = gContestResources->field_18->unk0;
|
||||
else
|
||||
DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task.
|
||||
}
|
||||
@@ -177,7 +177,7 @@ void sub_8158E9C(u8 taskId)
|
||||
if (IsContest())
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
species = gContestResources->field_18->field_0;
|
||||
species = gContestResources->field_18->unk0;
|
||||
else
|
||||
DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task.
|
||||
}
|
||||
@@ -281,7 +281,7 @@ void sub_81590B8(u8 taskId)
|
||||
pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
|
||||
|
||||
if (IsContest())
|
||||
species = gContestResources->field_18->field_0;
|
||||
species = gContestResources->field_18->unk0;
|
||||
else
|
||||
species = gAnimBattlerSpecies[gBattleAnimAttacker];
|
||||
|
||||
|
||||
@@ -2710,7 +2710,7 @@ static void PlayerHandleExpUpdate(void)
|
||||
{
|
||||
u8 monId = gBattleBufferA[gActiveBattler][1];
|
||||
|
||||
if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_MON_LEVEL)
|
||||
if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_LEVEL)
|
||||
{
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1597,7 +1597,7 @@ static void PlayerPartnerHandleExpUpdate(void)
|
||||
{
|
||||
u8 monId = gBattleBufferA[gActiveBattler][1];
|
||||
|
||||
if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_MON_LEVEL)
|
||||
if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_LEVEL)
|
||||
{
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "battle.h"
|
||||
#include "battle_controllers.h"
|
||||
#include "cable_club.h"
|
||||
#include "link.h"
|
||||
#include "task.h"
|
||||
#include "battle_ai_script_commands.h"
|
||||
@@ -18,7 +19,6 @@ extern u8 gUnknown_02022D0A;
|
||||
|
||||
static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {};
|
||||
|
||||
extern void task00_08081A90(u8 taskId); // cable_club
|
||||
extern void sub_81B8D64(u8 battlerId, u8 arg1); // party_menu
|
||||
|
||||
// this file's funcionts
|
||||
|
||||
+2
-2
@@ -68,7 +68,7 @@ extern bool8 sub_81A3610(void);
|
||||
extern u16 sub_81A4FF0(u8);
|
||||
extern u8 GetFrontierTrainerFrontSpriteId(u16);
|
||||
extern u8 GetFrontierOpponentClass(u16);
|
||||
extern void sub_80F94E8(void);
|
||||
extern void ReducePlayerPartyToThree(void);
|
||||
|
||||
extern u8 gUnknown_0203CEF8[];
|
||||
extern u16 gBattle_BG0_X;
|
||||
@@ -6132,7 +6132,7 @@ static void sub_8194E44(void)
|
||||
|
||||
static void sub_8194EB4(void)
|
||||
{
|
||||
sub_80F94E8();
|
||||
ReducePlayerPartyToThree();
|
||||
}
|
||||
|
||||
static void sub_8194EC0(void)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include "pokemon_summary_screen.h"
|
||||
#include "sound.h"
|
||||
#include "pokedex.h"
|
||||
#include "blend_palette.h"
|
||||
#include "util.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "decompress.h"
|
||||
#include "data2.h"
|
||||
#include "palette.h"
|
||||
#include "blend_palette.h"
|
||||
#include "contest.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/rgb.h"
|
||||
@@ -29,7 +28,7 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2;
|
||||
extern struct MusicPlayerInfo gMPlayInfo_BGM;
|
||||
|
||||
extern const u8 gUnknown_0831C604[];
|
||||
extern const u8 * const gBattleAnims_VariousTable[];
|
||||
extern const u8 * const gBattleAnims_General[];
|
||||
extern const u8 * const gBattleAnims_Special[];
|
||||
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
|
||||
extern const struct CompressedSpriteSheet gMonBackPicTable[];
|
||||
@@ -437,7 +436,7 @@ bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 de
|
||||
gBattleAnimAttacker = atkBattler;
|
||||
gBattleAnimTarget = defBattler;
|
||||
gBattleSpritesDataPtr->animationData->animArg = argument;
|
||||
LaunchBattleAnimation(gBattleAnims_VariousTable, tableId, FALSE);
|
||||
LaunchBattleAnimation(gBattleAnims_General, tableId, FALSE);
|
||||
taskId = CreateTask(Task_ClearBitWhenBattleTableAnimDone, 10);
|
||||
gTasks[taskId].tBattlerId = activeBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].animFromTableActive = 1;
|
||||
@@ -899,14 +898,14 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform
|
||||
if (IsContest())
|
||||
{
|
||||
position = 0;
|
||||
targetSpecies = gContestResources->field_18->field_2;
|
||||
personalityValue = gContestResources->field_18->field_8;
|
||||
otId = gContestResources->field_18->field_C;
|
||||
targetSpecies = gContestResources->field_18->unk2;
|
||||
personalityValue = gContestResources->field_18->unk8;
|
||||
otId = gContestResources->field_18->unkC;
|
||||
|
||||
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[targetSpecies],
|
||||
gMonSpritesGfxPtr->sprites[0],
|
||||
targetSpecies,
|
||||
gContestResources->field_18->field_10);
|
||||
gContestResources->field_18->unk10);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -2342,7 +2342,7 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
|
||||
&gBattleSpritesDataPtr->battleBars[battlerId].currValue,
|
||||
array, B_EXPBAR_PIXELS / 8);
|
||||
level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_LEVEL);
|
||||
if (level == MAX_MON_LEVEL)
|
||||
if (level == MAX_LEVEL)
|
||||
{
|
||||
for (i = 0; i < 8; i++)
|
||||
array[i] = 0;
|
||||
|
||||
+39
-39
@@ -3061,14 +3061,14 @@ static void BattleStartClearSetData(void)
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
*((u8 *)gBattleStruct->mirrorMoves + i) = 0;
|
||||
*((u8 *)gBattleStruct->lastTakenMove + i) = 0;
|
||||
*((u8 *)gBattleStruct->usedHeldItems + i) = 0;
|
||||
*((u8 *)gBattleStruct->choicedMove + i) = 0;
|
||||
*((u8 *)gBattleStruct->changedItems + i) = 0;
|
||||
*(i + 0 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(i + 1 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(i + 2 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(i + 3 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(i + 0 * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(i + 1 * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(i + 2 * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(i + 3 * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
@@ -3153,8 +3153,8 @@ void SwitchInClearSetData(void)
|
||||
{
|
||||
gDisableStructs[gActiveBattler].substituteHP = disableStructCopy.substituteHP;
|
||||
gDisableStructs[gActiveBattler].battlerWithSureHit = disableStructCopy.battlerWithSureHit;
|
||||
gDisableStructs[gActiveBattler].perishSongTimer1 = disableStructCopy.perishSongTimer1;
|
||||
gDisableStructs[gActiveBattler].perishSongTimer2 = disableStructCopy.perishSongTimer2;
|
||||
gDisableStructs[gActiveBattler].perishSongTimer = disableStructCopy.perishSongTimer;
|
||||
gDisableStructs[gActiveBattler].perishSongTimerStartValue = disableStructCopy.perishSongTimerStartValue;
|
||||
gDisableStructs[gActiveBattler].battlerPreventingEscape = disableStructCopy.battlerPreventingEscape;
|
||||
}
|
||||
|
||||
@@ -3168,16 +3168,16 @@ void SwitchInClearSetData(void)
|
||||
gLastPrintedMoves[gActiveBattler] = 0;
|
||||
gLastHitBy[gActiveBattler] = 0xFF;
|
||||
|
||||
*(gBattleStruct->mirrorMoves + gActiveBattler * 2 + 0) = 0;
|
||||
*(gBattleStruct->mirrorMoves + gActiveBattler * 2 + 1) = 0;
|
||||
*(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 0) = 0;
|
||||
*(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 1) = 0;
|
||||
*(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
*(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
*(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
*(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
|
||||
gBattleStruct->field_92 &= ~(gBitTable[gActiveBattler]);
|
||||
|
||||
@@ -3185,11 +3185,11 @@ void SwitchInClearSetData(void)
|
||||
{
|
||||
if (i != gActiveBattler && GetBattlerSide(i) != GetBattlerSide(gActiveBattler))
|
||||
{
|
||||
*(gBattleStruct->mirrorMoves + i * 2 + 0) = 0;
|
||||
*(gBattleStruct->mirrorMoves + i * 2 + 1) = 0;
|
||||
*(gBattleStruct->lastTakenMove + i * 2 + 0) = 0;
|
||||
*(gBattleStruct->lastTakenMove + i * 2 + 1) = 0;
|
||||
}
|
||||
*(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
}
|
||||
|
||||
*(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 0) = 0;
|
||||
@@ -3263,16 +3263,16 @@ void FaintClearSetData(void)
|
||||
*(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 0) = 0;
|
||||
*(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 1) = 0;
|
||||
|
||||
*(gBattleStruct->mirrorMoves + gActiveBattler * 2 + 0) = 0;
|
||||
*(gBattleStruct->mirrorMoves + gActiveBattler * 2 + 1) = 0;
|
||||
*(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 0) = 0;
|
||||
*(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 1) = 0;
|
||||
*(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
*(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
*(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
*(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
|
||||
gBattleStruct->field_92 &= ~(gBitTable[gActiveBattler]);
|
||||
|
||||
@@ -3280,11 +3280,11 @@ void FaintClearSetData(void)
|
||||
{
|
||||
if (i != gActiveBattler && GetBattlerSide(i) != GetBattlerSide(gActiveBattler))
|
||||
{
|
||||
*(gBattleStruct->mirrorMoves + i * 2 + 0) = 0;
|
||||
*(gBattleStruct->mirrorMoves + i * 2 + 1) = 0;
|
||||
*(gBattleStruct->lastTakenMove + i * 2 + 0) = 0;
|
||||
*(gBattleStruct->lastTakenMove + i * 2 + 1) = 0;
|
||||
}
|
||||
*(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
|
||||
*(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0;
|
||||
*(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0;
|
||||
*(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0;
|
||||
}
|
||||
|
||||
gBattleResources->flags->flags[gActiveBattler] = 0;
|
||||
@@ -4879,10 +4879,10 @@ static void TurnValuesCleanUp(bool8 var0)
|
||||
if (gDisableStructs[gActiveBattler].isFirstTurn)
|
||||
gDisableStructs[gActiveBattler].isFirstTurn--;
|
||||
|
||||
if (gDisableStructs[gActiveBattler].rechargeCounter)
|
||||
if (gDisableStructs[gActiveBattler].rechargeTimer)
|
||||
{
|
||||
gDisableStructs[gActiveBattler].rechargeCounter--;
|
||||
if (gDisableStructs[gActiveBattler].rechargeCounter == 0)
|
||||
gDisableStructs[gActiveBattler].rechargeTimer--;
|
||||
if (gDisableStructs[gActiveBattler].rechargeTimer == 0)
|
||||
gBattleMons[gActiveBattler].status2 &= ~(STATUS2_RECHARGE);
|
||||
}
|
||||
}
|
||||
@@ -5318,7 +5318,7 @@ static void HandleAction_UseMove(void)
|
||||
gCurrentMove = gChosenMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos];
|
||||
gDisableStructs[gBattlerAttacker].encoredMove = MOVE_NONE;
|
||||
gDisableStructs[gBattlerAttacker].encoredMovePos = 0;
|
||||
gDisableStructs[gBattlerAttacker].encoreTimer1 = 0;
|
||||
gDisableStructs[gBattlerAttacker].encoreTimer = 0;
|
||||
*(gBattleStruct->moveTarget + gBattlerAttacker) = GetMoveTarget(gCurrentMove, 0);
|
||||
}
|
||||
else if (gBattleMons[gBattlerAttacker].moves[gCurrMovePos] != gChosenMoveByBattler[gBattlerAttacker])
|
||||
|
||||
@@ -396,7 +396,7 @@ void sub_81C4F98(u8 a0, void (*callback)(void))
|
||||
|
||||
gPyramidBagResources->callback2 = NULL;
|
||||
gPyramidBagResources->unk814 = 0xFF;
|
||||
gPyramidBagResources->scrollArrowSpriteId = 0xFF;
|
||||
gPyramidBagResources->scrollIndicatorsTaskId = 0xFF;
|
||||
|
||||
memset(gPyramidBagResources->itemsSpriteIds, 0xFF, sizeof(gPyramidBagResources->itemsSpriteIds));
|
||||
memset(gPyramidBagResources->windowIds, 0xFF, sizeof(gPyramidBagResources->windowIds));
|
||||
@@ -664,16 +664,16 @@ static void PrintItemDescription(s32 listMenuId)
|
||||
|
||||
static void AddScrollArrow(void)
|
||||
{
|
||||
if (gPyramidBagResources->scrollArrowSpriteId == 0xFF)
|
||||
gPyramidBagResources->scrollArrowSpriteId = AddScrollIndicatorArrowPairParameterized(2, 172, 12, 148, gPyramidBagResources->listMenuCount - gPyramidBagResources->listMenuMaxShown, 0xB5E, 0xB5E, &gPyramidBagCursorData.scrollPosition);
|
||||
if (gPyramidBagResources->scrollIndicatorsTaskId == 0xFF)
|
||||
gPyramidBagResources->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized(2, 172, 12, 148, gPyramidBagResources->listMenuCount - gPyramidBagResources->listMenuMaxShown, 0xB5E, 0xB5E, &gPyramidBagCursorData.scrollPosition);
|
||||
}
|
||||
|
||||
static void RemoveScrollArrow(void)
|
||||
{
|
||||
if (gPyramidBagResources->scrollArrowSpriteId != 0xFF)
|
||||
if (gPyramidBagResources->scrollIndicatorsTaskId != 0xFF)
|
||||
{
|
||||
RemoveScrollIndicatorArrowPair(gPyramidBagResources->scrollArrowSpriteId);
|
||||
gPyramidBagResources->scrollArrowSpriteId = 0xFF;
|
||||
RemoveScrollIndicatorArrowPair(gPyramidBagResources->scrollIndicatorsTaskId);
|
||||
gPyramidBagResources->scrollIndicatorsTaskId = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "constants/battle_move_effects.h"
|
||||
#include "constants/battle_script_commands.h"
|
||||
#include "battle_message.h"
|
||||
#include "battle_anim.h"
|
||||
#include "battle_ai_script_commands.h"
|
||||
#include "battle_scripts.h"
|
||||
#include "constants/moves.h"
|
||||
@@ -1228,7 +1229,7 @@ static void atk03_ppreduce(void)
|
||||
if (gBattleControllerExecFlags)
|
||||
return;
|
||||
|
||||
if (!gSpecialStatuses[gBattlerAttacker].flag20)
|
||||
if (!gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure)
|
||||
{
|
||||
switch (gBattleMoves[gCurrentMove].target)
|
||||
{
|
||||
@@ -1857,7 +1858,7 @@ static void atk0B_healthbarupdate(void)
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
|
||||
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0)
|
||||
gBattleResults.unk5_0 = 1;
|
||||
gBattleResults.playerMonWasDamaged = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2729,7 +2730,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
break;
|
||||
case MOVE_EFFECT_RECHARGE:
|
||||
gBattleMons[gEffectBattler].status2 |= STATUS2_RECHARGE;
|
||||
gDisableStructs[gEffectBattler].rechargeCounter = 2;
|
||||
gDisableStructs[gEffectBattler].rechargeTimer = 2;
|
||||
gLockedMoves[gEffectBattler] = gCurrentMove;
|
||||
gBattlescriptCurrInstr++;
|
||||
break;
|
||||
@@ -2762,7 +2763,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
| BATTLE_TYPE_LINK
|
||||
| BATTLE_TYPE_x2000000
|
||||
| BATTLE_TYPE_SECRET_BASE))
|
||||
&& (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]))
|
||||
&& (gWishFutureKnock.knockedOffMons[side] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]))
|
||||
{
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
@@ -2884,7 +2885,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
|
||||
gLastUsedItem = gBattleMons[gEffectBattler].item;
|
||||
gBattleMons[gEffectBattler].item = 0;
|
||||
gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBattler]];
|
||||
gWishFutureKnock.knockedOffMons[side] |= gBitTable[gBattlerPartyIndexes[gEffectBattler]];
|
||||
|
||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||
gBattlescriptCurrInstr = BattleScript_KnockedOff;
|
||||
@@ -3346,7 +3347,7 @@ static void atk23_getexp(void)
|
||||
gBattleScripting.atk23_state = 5;
|
||||
gBattleMoveDamage = 0; // used for exp
|
||||
}
|
||||
else if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) == MAX_MON_LEVEL)
|
||||
else if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) == MAX_LEVEL)
|
||||
{
|
||||
*(&gBattleStruct->sentInPokes) >>= 1;
|
||||
gBattleScripting.atk23_state = 5;
|
||||
@@ -3381,17 +3382,17 @@ static void atk23_getexp(void)
|
||||
// check if the pokemon doesn't belong to the player
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gBattleStruct->expGetterMonId >= 3)
|
||||
{
|
||||
i = 0x149;
|
||||
i = STRINGID_EMPTYSTRING4;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleMoveDamage = (gBattleMoveDamage * 150) / 100;
|
||||
i = 0x14A;
|
||||
i = STRINGID_ABOOSTED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
i = 0x149;
|
||||
i = STRINGID_EMPTYSTRING4;
|
||||
}
|
||||
|
||||
// get exp getter battlerId
|
||||
@@ -3429,7 +3430,7 @@ static void atk23_getexp(void)
|
||||
if (gBattleControllerExecFlags == 0)
|
||||
{
|
||||
gBattleBufferB[gBattleStruct->expGetterBattlerId][0] = 0;
|
||||
if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_MON_LEVEL)
|
||||
if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_LEVEL)
|
||||
{
|
||||
gBattleResources->statsBeforeLvlUp->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP);
|
||||
gBattleResources->statsBeforeLvlUp->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK);
|
||||
@@ -4381,16 +4382,16 @@ static void atk47_setgraphicalstatchangevalues(void)
|
||||
switch (GET_STAT_BUFF_VALUE2(gBattleScripting.statChanger))
|
||||
{
|
||||
case SET_STAT_BUFF_VALUE(1): // +1
|
||||
value = 0xF;
|
||||
value = STAT_ANIM_PLUS1;
|
||||
break;
|
||||
case SET_STAT_BUFF_VALUE(2): // +2
|
||||
value = 0x27;
|
||||
value = STAT_ANIM_PLUS2;
|
||||
break;
|
||||
case SET_STAT_BUFF_VALUE(1) | STAT_BUFF_NEGATIVE: // -1
|
||||
value = 0x16;
|
||||
value = STAT_ANIM_MINUS1;
|
||||
break;
|
||||
case SET_STAT_BUFF_VALUE(2) | STAT_BUFF_NEGATIVE: // -2
|
||||
value = 0x2E;
|
||||
value = STAT_ANIM_MINUS2;
|
||||
break;
|
||||
}
|
||||
gBattleScripting.animArg1 = GET_STAT_BUFF_ID(gBattleScripting.statChanger) + value - 1;
|
||||
@@ -4412,9 +4413,9 @@ static void atk48_playstatchangeanimation(void)
|
||||
{
|
||||
s16 startingStatAnimId;
|
||||
if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO)
|
||||
startingStatAnimId = 0x2D;
|
||||
startingStatAnimId = STAT_ANIM_MINUS2 - 1;
|
||||
else
|
||||
startingStatAnimId = 0x15;
|
||||
startingStatAnimId = STAT_ANIM_MINUS1 - 1;
|
||||
|
||||
while (statsToCheck != 0)
|
||||
{
|
||||
@@ -4447,18 +4448,18 @@ static void atk48_playstatchangeanimation(void)
|
||||
if (changeableStatsCount > 1) // more than one stat, so the color is gray
|
||||
{
|
||||
if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO)
|
||||
statAnimId = 0x3A;
|
||||
statAnimId = STAT_ANIM_MULTIPLE_MINUS2;
|
||||
else
|
||||
statAnimId = 0x39;
|
||||
statAnimId = STAT_ANIM_MULTIPLE_MINUS1;
|
||||
}
|
||||
}
|
||||
else // goes up
|
||||
{
|
||||
s16 startingStatAnimId;
|
||||
if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO)
|
||||
startingStatAnimId = 0x26;
|
||||
startingStatAnimId = STAT_ANIM_PLUS2 - 1;
|
||||
else
|
||||
startingStatAnimId = 0xE;
|
||||
startingStatAnimId = STAT_ANIM_PLUS1 - 1;
|
||||
|
||||
while (statsToCheck != 0)
|
||||
{
|
||||
@@ -4473,9 +4474,9 @@ static void atk48_playstatchangeanimation(void)
|
||||
if (changeableStatsCount > 1) // more than one stat, so the color is gray
|
||||
{
|
||||
if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO)
|
||||
statAnimId = 0x38;
|
||||
statAnimId = STAT_ANIM_MULTIPLE_PLUS2;
|
||||
else
|
||||
statAnimId = 0x37;
|
||||
statAnimId = STAT_ANIM_MULTIPLE_PLUS1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4751,16 +4752,16 @@ static void atk49_moveend(void)
|
||||
{
|
||||
u8 target, attacker;
|
||||
|
||||
*(gBattleStruct->mirrorMoves + gBattlerTarget * 2 + 0) = gChosenMove;
|
||||
*(gBattleStruct->mirrorMoves + gBattlerTarget * 2 + 1) = gChosenMove >> 8;
|
||||
*(gBattleStruct->lastTakenMove + gBattlerTarget * 2 + 0) = gChosenMove;
|
||||
*(gBattleStruct->lastTakenMove + gBattlerTarget * 2 + 1) = gChosenMove >> 8;
|
||||
|
||||
target = gBattlerTarget;
|
||||
attacker = gBattlerAttacker;
|
||||
*(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = gChosenMove;
|
||||
*(attacker * 2 + target * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = gChosenMove;
|
||||
|
||||
target = gBattlerTarget;
|
||||
attacker = gBattlerAttacker;
|
||||
*(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = gChosenMove >> 8;
|
||||
*(attacker * 2 + target * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = gChosenMove >> 8;
|
||||
}
|
||||
gBattleScripting.atk49_state++;
|
||||
break;
|
||||
@@ -4947,7 +4948,7 @@ static void atk4D_switchindataupdate(void)
|
||||
|
||||
// check knocked off item
|
||||
i = GetBattlerSide(gActiveBattler);
|
||||
if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]])
|
||||
if (gWishFutureKnock.knockedOffMons[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]])
|
||||
{
|
||||
gBattleMons[gActiveBattler].item = 0;
|
||||
}
|
||||
@@ -6936,8 +6937,8 @@ static void atk7C_trymirrormove(void)
|
||||
{
|
||||
if (i != gBattlerAttacker)
|
||||
{
|
||||
move = *(i * 2 + gBattlerAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0)
|
||||
| (*(i * 2 + gBattlerAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) << 8);
|
||||
move = *(i * 2 + gBattlerAttacker * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0)
|
||||
| (*(i * 2 + gBattlerAttacker * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) << 8);
|
||||
|
||||
if (move != 0 && move != 0xFFFF)
|
||||
{
|
||||
@@ -6947,8 +6948,8 @@ static void atk7C_trymirrormove(void)
|
||||
}
|
||||
}
|
||||
|
||||
move = *(gBattleStruct->mirrorMoves + gBattlerAttacker * 2 + 0)
|
||||
| (*(gBattleStruct->mirrorMoves + gBattlerAttacker * 2 + 1) << 8);
|
||||
move = *(gBattleStruct->lastTakenMove + gBattlerAttacker * 2 + 0)
|
||||
| (*(gBattleStruct->lastTakenMove + gBattlerAttacker * 2 + 1) << 8);
|
||||
|
||||
if (move != 0 && move != 0xFFFF)
|
||||
{
|
||||
@@ -6967,7 +6968,7 @@ static void atk7C_trymirrormove(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gSpecialStatuses[gBattlerAttacker].flag20 = 1;
|
||||
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
}
|
||||
@@ -8032,7 +8033,7 @@ static void atk9B_transformdataexecution(void)
|
||||
|
||||
gBattleMons[gBattlerAttacker].status2 |= STATUS2_TRANSFORMED;
|
||||
gDisableStructs[gBattlerAttacker].disabledMove = 0;
|
||||
gDisableStructs[gBattlerAttacker].disableTimer1 = 0;
|
||||
gDisableStructs[gBattlerAttacker].disableTimer = 0;
|
||||
gDisableStructs[gBattlerAttacker].transformedMonPersonality = gBattleMons[gBattlerTarget].personality;
|
||||
gDisableStructs[gBattlerAttacker].unk18_b = 0;
|
||||
|
||||
@@ -8206,7 +8207,7 @@ static void atkA1_counterdamagecalculator(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gSpecialStatuses[gBattlerAttacker].flag20 = 1;
|
||||
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
}
|
||||
@@ -8229,7 +8230,7 @@ static void atkA2_mirrorcoatdamagecalculator(void) // a copy of atkA1 with the p
|
||||
}
|
||||
else
|
||||
{
|
||||
gSpecialStatuses[gBattlerAttacker].flag20 = 1;
|
||||
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
}
|
||||
@@ -8249,8 +8250,8 @@ static void atkA3_disablelastusedattack(void)
|
||||
PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerTarget].moves[i])
|
||||
|
||||
gDisableStructs[gBattlerTarget].disabledMove = gBattleMons[gBattlerTarget].moves[i];
|
||||
gDisableStructs[gBattlerTarget].disableTimer1 = (Random() & 3) + 2;
|
||||
gDisableStructs[gBattlerTarget].disableTimer2 = gDisableStructs[gBattlerTarget].disableTimer1; // used to save the random amount of turns?
|
||||
gDisableStructs[gBattlerTarget].disableTimer = (Random() & 3) + 2;
|
||||
gDisableStructs[gBattlerTarget].disableTimerStartValue = gDisableStructs[gBattlerTarget].disableTimer; // used to save the random amount of turns?
|
||||
gBattlescriptCurrInstr += 5;
|
||||
}
|
||||
else
|
||||
@@ -8281,8 +8282,8 @@ static void atkA4_trysetencore(void)
|
||||
{
|
||||
gDisableStructs[gBattlerTarget].encoredMove = gBattleMons[gBattlerTarget].moves[i];
|
||||
gDisableStructs[gBattlerTarget].encoredMovePos = i;
|
||||
gDisableStructs[gBattlerTarget].encoreTimer1 = (Random() & 3) + 3;
|
||||
gDisableStructs[gBattlerTarget].encoreTimer2 = gDisableStructs[gBattlerTarget].encoreTimer1;
|
||||
gDisableStructs[gBattlerTarget].encoreTimer = (Random() & 3) + 3;
|
||||
gDisableStructs[gBattlerTarget].encoreTimerStartValue = gDisableStructs[gBattlerTarget].encoreTimer;
|
||||
gBattlescriptCurrInstr += 5;
|
||||
}
|
||||
else
|
||||
@@ -8726,7 +8727,7 @@ static void atkB0_trysetspikes(void)
|
||||
|
||||
if (gSideTimers[targetSide].spikesAmount == 3)
|
||||
{
|
||||
gSpecialStatuses[gBattlerAttacker].flag20 = 1;
|
||||
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
else
|
||||
@@ -8758,8 +8759,8 @@ static void atkB2_trysetperishsong(void)
|
||||
else
|
||||
{
|
||||
gStatuses3[i] |= STATUS3_PERISH_SONG;
|
||||
gDisableStructs[i].perishSongTimer1 = 3;
|
||||
gDisableStructs[i].perishSongTimer2 = 3;
|
||||
gDisableStructs[i].perishSongTimer = 3;
|
||||
gDisableStructs[i].perishSongTimerStartValue = 3;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8784,19 +8785,19 @@ static void atkB3_rolloutdamagecalculation(void)
|
||||
|
||||
if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) // first hit
|
||||
{
|
||||
gDisableStructs[gBattlerAttacker].rolloutCounter1 = 5;
|
||||
gDisableStructs[gBattlerAttacker].rolloutCounter2 = 5;
|
||||
gDisableStructs[gBattlerAttacker].rolloutTimer = 5;
|
||||
gDisableStructs[gBattlerAttacker].rolloutTimerStartValue = 5;
|
||||
gBattleMons[gBattlerAttacker].status2 |= STATUS2_MULTIPLETURNS;
|
||||
gLockedMoves[gBattlerAttacker] = gCurrentMove;
|
||||
}
|
||||
if (--gDisableStructs[gBattlerAttacker].rolloutCounter1 == 0) // last hit
|
||||
if (--gDisableStructs[gBattlerAttacker].rolloutTimer == 0) // last hit
|
||||
{
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_MULTIPLETURNS);
|
||||
}
|
||||
|
||||
gDynamicBasePower = gBattleMoves[gCurrentMove].power;
|
||||
|
||||
for (i = 1; i < (5 - gDisableStructs[gBattlerAttacker].rolloutCounter1); i++)
|
||||
for (i = 1; i < (5 - gDisableStructs[gBattlerAttacker].rolloutTimer); i++)
|
||||
gDynamicBasePower *= 2;
|
||||
|
||||
if (gBattleMons[gBattlerAttacker].status2 & STATUS2_DEFENSE_CURL)
|
||||
@@ -9319,8 +9320,8 @@ static void atkCA_setforcedtarget(void) // follow me
|
||||
static void atkCB_setcharge(void)
|
||||
{
|
||||
gStatuses3[gBattlerAttacker] |= STATUS3_CHARGED_UP;
|
||||
gDisableStructs[gBattlerAttacker].chargeTimer1 = 2;
|
||||
gDisableStructs[gBattlerAttacker].chargeTimer2 = 2;
|
||||
gDisableStructs[gBattlerAttacker].chargeTimer = 2;
|
||||
gDisableStructs[gBattlerAttacker].chargeTimerStartValue = 2;
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
@@ -9372,9 +9373,9 @@ static void atkCF_jumpifnodamage(void)
|
||||
|
||||
static void atkD0_settaunt(void)
|
||||
{
|
||||
if (gDisableStructs[gBattlerTarget].tauntTimer1 == 0)
|
||||
if (gDisableStructs[gBattlerTarget].tauntTimer == 0)
|
||||
{
|
||||
gDisableStructs[gBattlerTarget].tauntTimer1 = 2;
|
||||
gDisableStructs[gBattlerTarget].tauntTimer = 2;
|
||||
gDisableStructs[gBattlerTarget].tauntTimer2 = 2;
|
||||
gBattlescriptCurrInstr += 5;
|
||||
}
|
||||
@@ -9426,8 +9427,8 @@ static void atkD2_tryswapitems(void) // trick
|
||||
| BATTLE_TYPE_FRONTIER
|
||||
| BATTLE_TYPE_SECRET_BASE
|
||||
| BATTLE_TYPE_x2000000))
|
||||
&& (gWishFutureKnock.knockedOffPokes[sideAttacker] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]
|
||||
|| gWishFutureKnock.knockedOffPokes[sideTarget] & gBitTable[gBattlerPartyIndexes[gBattlerTarget]]))
|
||||
&& (gWishFutureKnock.knockedOffMons[sideAttacker] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]
|
||||
|| gWishFutureKnock.knockedOffMons[sideTarget] & gBitTable[gBattlerPartyIndexes[gBattlerTarget]]))
|
||||
{
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
@@ -9750,7 +9751,7 @@ static void atkDE_asistattackselect(void)
|
||||
static void atkDF_trysetmagiccoat(void)
|
||||
{
|
||||
gBattlerTarget = gBattlerAttacker;
|
||||
gSpecialStatuses[gBattlerAttacker].flag20 = 1;
|
||||
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
|
||||
if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn
|
||||
{
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
@@ -9764,7 +9765,7 @@ static void atkDF_trysetmagiccoat(void)
|
||||
|
||||
static void atkE0_trysetsnatch(void) // snatch
|
||||
{
|
||||
gSpecialStatuses[gBattlerAttacker].flag20 = 1;
|
||||
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
|
||||
if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn
|
||||
{
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
|
||||
+7
-7
@@ -56,8 +56,8 @@ extern bool8 InBattlePyramid(void);
|
||||
extern bool8 InBattlePike(void);
|
||||
extern bool32 InTrainerHill(void);
|
||||
extern bool32 FieldPoisonEffectIsRunning(void);
|
||||
extern void prev_quest_postbuffer_cursor_backup_reset(void);
|
||||
extern void ResetPoisonStepCounter(void);
|
||||
extern void RestartWildEncounterImmunitySteps(void);
|
||||
extern void ClearPoisonStepCounter(void);
|
||||
extern void sub_81BE72C(void);
|
||||
extern void sub_808BCF4(void);
|
||||
extern void sub_80EECC8(void);
|
||||
@@ -354,8 +354,8 @@ static void Task_BattleStart(u8 taskId)
|
||||
{
|
||||
overworld_free_bg_tilemaps();
|
||||
SetMainCallback2(CB2_InitBattle);
|
||||
prev_quest_postbuffer_cursor_backup_reset();
|
||||
ResetPoisonStepCounter();
|
||||
RestartWildEncounterImmunitySteps();
|
||||
ClearPoisonStepCounter();
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
break;
|
||||
@@ -642,7 +642,7 @@ u8 BattleSetup_GetTerrainId(void)
|
||||
case MAP_TYPE_ROUTE:
|
||||
break;
|
||||
case MAP_TYPE_UNDERGROUND:
|
||||
if (MetatileBehavior_IsMB_0B(tileBehavior))
|
||||
if (MetatileBehavior_IsIndoorEncounter(tileBehavior))
|
||||
return BATTLE_TERRAIN_BUILDING;
|
||||
if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
|
||||
return BATTLE_TERRAIN_POND;
|
||||
@@ -921,8 +921,8 @@ static void CB2_StartFirstBattle(void)
|
||||
gMain.savedCallback = CB2_EndFirstBattle;
|
||||
FreeAllWindowBuffers();
|
||||
SetMainCallback2(CB2_InitBattle);
|
||||
prev_quest_postbuffer_cursor_backup_reset();
|
||||
ResetPoisonStepCounter();
|
||||
RestartWildEncounterImmunitySteps();
|
||||
ClearPoisonStepCounter();
|
||||
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
|
||||
IncrementGameStat(GAME_STAT_WILD_BATTLES);
|
||||
sub_80EECC8();
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "gpu_regs.h"
|
||||
#include "decompress.h"
|
||||
#include "bg.h"
|
||||
#include "blend_palette.h"
|
||||
#include "util.h"
|
||||
|
||||
struct TransitionData
|
||||
{
|
||||
|
||||
+1
-1
@@ -659,7 +659,7 @@ void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruc
|
||||
tvPtr->side[atkSide].usedMoveSlot = moveSlot;
|
||||
AddMovePoints(0, moveSlot, gBattleMoves[move].effect, 0);
|
||||
AddPointsBasedOnWeather(weatherFlags, move, moveSlot);
|
||||
if (disableStructPtr->chargeTimer1 != 0)
|
||||
if (disableStructPtr->chargeTimer != 0)
|
||||
AddMovePoints(7, move, moveSlot, 0);
|
||||
|
||||
if (move == MOVE_WISH)
|
||||
|
||||
+19
-19
@@ -216,7 +216,7 @@ void CancelMultiTurnMoves(u8 battler)
|
||||
|
||||
gStatuses3[battler] &= ~(STATUS3_SEMI_INVULNERABLE);
|
||||
|
||||
gDisableStructs[battler].rolloutCounter1 = 0;
|
||||
gDisableStructs[battler].rolloutTimer = 0;
|
||||
gDisableStructs[battler].furyCutterCounter = 0;
|
||||
}
|
||||
|
||||
@@ -345,7 +345,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
|
||||
}
|
||||
}
|
||||
|
||||
if (gDisableStructs[gActiveBattler].tauntTimer1 != 0 && gBattleMoves[move].power == 0)
|
||||
if (gDisableStructs[gActiveBattler].tauntTimer != 0 && gBattleMoves[move].power == 0)
|
||||
{
|
||||
gCurrentMove = move;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
|
||||
@@ -436,11 +436,11 @@ u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check)
|
||||
unusableMoves |= gBitTable[i];
|
||||
if (gBattleMons[battlerId].moves[i] == gLastMoves[battlerId] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battlerId].status2 & STATUS2_TORMENT)
|
||||
unusableMoves |= gBitTable[i];
|
||||
if (gDisableStructs[battlerId].tauntTimer1 && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battlerId].moves[i]].power == 0)
|
||||
if (gDisableStructs[battlerId].tauntTimer && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battlerId].moves[i]].power == 0)
|
||||
unusableMoves |= gBitTable[i];
|
||||
if (GetImprisonedMovesCount(battlerId, gBattleMons[battlerId].moves[i]) && check & MOVE_LIMITATION_IMPRISION)
|
||||
unusableMoves |= gBitTable[i];
|
||||
if (gDisableStructs[battlerId].encoreTimer1 && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i])
|
||||
if (gDisableStructs[battlerId].encoreTimer && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i])
|
||||
unusableMoves |= gBitTable[i];
|
||||
if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != gBattleMons[battlerId].moves[i])
|
||||
unusableMoves |= gBitTable[i];
|
||||
@@ -1018,7 +1018,7 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
gBattleStruct->turnEffectsTracker++;
|
||||
break;
|
||||
case ENDTURN_DISABLE: // disable
|
||||
if (gDisableStructs[gActiveBattler].disableTimer1 != 0)
|
||||
if (gDisableStructs[gActiveBattler].disableTimer != 0)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < 4; i++)
|
||||
@@ -1029,9 +1029,9 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
if (i == 4) // pokemon does not have the disabled move anymore
|
||||
{
|
||||
gDisableStructs[gActiveBattler].disabledMove = 0;
|
||||
gDisableStructs[gActiveBattler].disableTimer1 = 0;
|
||||
gDisableStructs[gActiveBattler].disableTimer = 0;
|
||||
}
|
||||
else if (--gDisableStructs[gActiveBattler].disableTimer1 == 0) // disable ends
|
||||
else if (--gDisableStructs[gActiveBattler].disableTimer == 0) // disable ends
|
||||
{
|
||||
gDisableStructs[gActiveBattler].disabledMove = 0;
|
||||
BattleScriptExecute(BattleScript_DisabledNoMore);
|
||||
@@ -1041,18 +1041,18 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
gBattleStruct->turnEffectsTracker++;
|
||||
break;
|
||||
case ENDTURN_ENCORE: // encore
|
||||
if (gDisableStructs[gActiveBattler].encoreTimer1 != 0)
|
||||
if (gDisableStructs[gActiveBattler].encoreTimer != 0)
|
||||
{
|
||||
if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore
|
||||
{
|
||||
gDisableStructs[gActiveBattler].encoredMove = 0;
|
||||
gDisableStructs[gActiveBattler].encoreTimer1 = 0;
|
||||
gDisableStructs[gActiveBattler].encoreTimer = 0;
|
||||
}
|
||||
else if (--gDisableStructs[gActiveBattler].encoreTimer1 == 0
|
||||
else if (--gDisableStructs[gActiveBattler].encoreTimer == 0
|
||||
|| gBattleMons[gActiveBattler].pp[gDisableStructs[gActiveBattler].encoredMovePos] == 0)
|
||||
{
|
||||
gDisableStructs[gActiveBattler].encoredMove = 0;
|
||||
gDisableStructs[gActiveBattler].encoreTimer1 = 0;
|
||||
gDisableStructs[gActiveBattler].encoreTimer = 0;
|
||||
BattleScriptExecute(BattleScript_EncoredNoMore);
|
||||
effect++;
|
||||
}
|
||||
@@ -1065,13 +1065,13 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
gBattleStruct->turnEffectsTracker++;
|
||||
break;
|
||||
case ENDTURN_CHARGE: // charge
|
||||
if (gDisableStructs[gActiveBattler].chargeTimer1 && --gDisableStructs[gActiveBattler].chargeTimer1 == 0)
|
||||
if (gDisableStructs[gActiveBattler].chargeTimer && --gDisableStructs[gActiveBattler].chargeTimer == 0)
|
||||
gStatuses3[gActiveBattler] &= ~STATUS3_CHARGED_UP;
|
||||
gBattleStruct->turnEffectsTracker++;
|
||||
break;
|
||||
case ENDTURN_TAUNT: // taunt
|
||||
if (gDisableStructs[gActiveBattler].tauntTimer1)
|
||||
gDisableStructs[gActiveBattler].tauntTimer1--;
|
||||
if (gDisableStructs[gActiveBattler].tauntTimer)
|
||||
gDisableStructs[gActiveBattler].tauntTimer--;
|
||||
gBattleStruct->turnEffectsTracker++;
|
||||
break;
|
||||
case ENDTURN_YAWN: // yawn
|
||||
@@ -1167,8 +1167,8 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
|
||||
gBattleStruct->wishPerishSongBattlerId++;
|
||||
if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG)
|
||||
{
|
||||
PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBattler].perishSongTimer1);
|
||||
if (gDisableStructs[gActiveBattler].perishSongTimer1 == 0)
|
||||
PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBattler].perishSongTimer);
|
||||
if (gDisableStructs[gActiveBattler].perishSongTimer == 0)
|
||||
{
|
||||
gStatuses3[gActiveBattler] &= ~STATUS3_PERISH_SONG;
|
||||
gBattleMoveDamage = gBattleMons[gActiveBattler].hp;
|
||||
@@ -1176,7 +1176,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gDisableStructs[gActiveBattler].perishSongTimer1--;
|
||||
gDisableStructs[gActiveBattler].perishSongTimer--;
|
||||
gBattlescriptCurrInstr = BattleScript_PerishSongCountGoesDown;
|
||||
}
|
||||
BattleScriptExecute(gBattlescriptCurrInstr);
|
||||
@@ -1420,7 +1420,7 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
if (gBattleMons[gBattlerAttacker].status2 & STATUS2_RECHARGE)
|
||||
{
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RECHARGE);
|
||||
gDisableStructs[gBattlerAttacker].rechargeCounter = 0;
|
||||
gDisableStructs[gBattlerAttacker].rechargeTimer = 0;
|
||||
CancelMultiTurnMoves(gBattlerAttacker);
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedMustRecharge;
|
||||
gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE;
|
||||
@@ -1453,7 +1453,7 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
gBattleStruct->atkCancellerTracker++;
|
||||
break;
|
||||
case CANCELLER_TAUNTED: // taunt
|
||||
if (gDisableStructs[gBattlerAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0)
|
||||
if (gDisableStructs[gBattlerAttacker].tauntTimer && gBattleMoves[gCurrentMove].power == 0)
|
||||
{
|
||||
gProtectStructs[gBattlerAttacker].usedTauntedMove = 1;
|
||||
CancelMultiTurnMoves(gBattlerAttacker);
|
||||
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
extern u8 EventObjectGetBerryTreeId(u8 eventObjectId);
|
||||
extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
|
||||
extern void CB2_ChooseBerry(void);
|
||||
extern const u8* GetEventObjectScriptPointerForComparison(void);
|
||||
extern const u8* GetEventObjectScriptPointerPlayerFacing(void);
|
||||
extern bool8 IsBerryTreeSparkling(u8, u8, u8);
|
||||
|
||||
extern u16 gSpecialVar_ItemId;
|
||||
@@ -930,7 +930,7 @@ bool32 EventObjectInteractionWaterBerryTree(void)
|
||||
|
||||
bool8 IsPlayerFacingPlantedBerryTree(void)
|
||||
{
|
||||
if (GetEventObjectScriptPointerForComparison() == BerryTreeScript
|
||||
if (GetEventObjectScriptPointerPlayerFacing() == BerryTreeScript
|
||||
&& GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == 0)
|
||||
return TRUE;
|
||||
else
|
||||
@@ -939,7 +939,7 @@ bool8 IsPlayerFacingPlantedBerryTree(void)
|
||||
|
||||
bool8 TryToWaterBerryTree(void)
|
||||
{
|
||||
if (GetEventObjectScriptPointerForComparison() != BerryTreeScript)
|
||||
if (GetEventObjectScriptPointerPlayerFacing() != BerryTreeScript)
|
||||
return FALSE;
|
||||
else
|
||||
return EventObjectInteractionWaterBerryTree();
|
||||
|
||||
+4
-4
@@ -18,7 +18,7 @@ extern u8 sub_808B980(u8 direction);
|
||||
extern u8 sub_808B9BC(u8 direction);
|
||||
extern u8 sub_808B9A4(u8 direction);
|
||||
extern u8 sub_808C1B4(u8 direction);
|
||||
extern u8 npc_use_some_d2s(u8 direction);
|
||||
extern u8 sub_808B9D4(u8 direction);
|
||||
extern void Overworld_ClearSavedMusic(void);
|
||||
extern void Overworld_PlaySpecialMapMusic(void);
|
||||
|
||||
@@ -575,7 +575,7 @@ static void AcroBikeTransition_Moving(u8 direction)
|
||||
}
|
||||
else
|
||||
{
|
||||
PlayerGoSpeed3(direction);
|
||||
PlayerRideWaterCurrent(direction);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -768,7 +768,7 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction)
|
||||
PlayerEndWheelie(direction);
|
||||
return;
|
||||
}
|
||||
npc_use_some_d2s(direction);
|
||||
sub_808B9D4(direction);
|
||||
}
|
||||
|
||||
void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys)
|
||||
@@ -968,7 +968,7 @@ bool8 IsBikingDisallowedByPlayer(void)
|
||||
s16 x, y;
|
||||
u8 tileBehavior;
|
||||
|
||||
if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4)))
|
||||
if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_UNDERWATER)))
|
||||
{
|
||||
PlayerGetDestCoords(&x, &y);
|
||||
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "palette.h"
|
||||
|
||||
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor)
|
||||
{
|
||||
u16 i;
|
||||
for (i = 0; i < numEntries; i++)
|
||||
{
|
||||
u16 index = i + palOffset;
|
||||
struct PlttData *data1 = (struct PlttData *)&gPlttBufferUnfaded[index];
|
||||
s8 r = data1->r;
|
||||
s8 g = data1->g;
|
||||
s8 b = data1->b;
|
||||
struct PlttData *data2 = (struct PlttData *)&blendColor;
|
||||
gPlttBufferFaded[index] = ((r + (((data2->r - r) * coeff) >> 4)) << 0)
|
||||
| ((g + (((data2->g - g) * coeff) >> 4)) << 5)
|
||||
| ((b + (((data2->b - b) * coeff) >> 4)) << 10);
|
||||
}
|
||||
}
|
||||
+1299
File diff suppressed because it is too large
Load Diff
+1
-2
@@ -10,7 +10,6 @@
|
||||
#include "constants/flags.h"
|
||||
#include "battle.h"
|
||||
#include "battle_anim.h"
|
||||
#include "blend_palette.h"
|
||||
#include "contest.h"
|
||||
#include "data2.h"
|
||||
#include "decompress.h"
|
||||
@@ -2535,7 +2534,7 @@ u8 sub_80DB174(u16 species, u32 otId, u32 personality, u32 index)
|
||||
LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x120, 0x20);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, 0);
|
||||
|
||||
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x70, sub_80A600C(2, species, 0), 30);
|
||||
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x70, GetBattlerSpriteFinal_Y(2, species, FALSE), 30);
|
||||
gSprites[spriteId].oam.paletteNum = 2;
|
||||
gSprites[spriteId].oam.priority = 2;
|
||||
gSprites[spriteId].subpriority = sub_80A82E4(2);
|
||||
|
||||
@@ -71,36 +71,36 @@ const u16 gEventObjectPalette4[] = INCBIN_U16("graphics/event_objects/palettes/f
|
||||
const u16 gEventObjectPalette5[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_05.gbapal");
|
||||
const u16 gEventObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_06.gbapal");
|
||||
const u16 gEventObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_07.gbapal");
|
||||
const u32 gEventObjectPic_LittleBoy1[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1.4bpp");
|
||||
const u32 gEventObjectPic_LittleGirl1[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1.4bpp");
|
||||
const u32 gEventObjectPic_NinjaBoy[] = INCBIN_U32("graphics/event_objects/pics/people/ninja_boy.4bpp");
|
||||
const u32 gEventObjectPic_Twin[] = INCBIN_U32("graphics/event_objects/pics/people/twin.4bpp");
|
||||
const u32 gEventObjectPic_Boy1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1.4bpp");
|
||||
const u32 gEventObjectPic_Girl1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1.4bpp");
|
||||
const u32 gEventObjectPic_Boy2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2.4bpp");
|
||||
const u32 gEventObjectPic_Girl2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2.4bpp");
|
||||
const u32 gEventObjectPic_LittleBoy2[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2.4bpp");
|
||||
const u32 gEventObjectPic_LittleGirl2[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2.4bpp");
|
||||
const u32 gEventObjectPic_LittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy.4bpp");
|
||||
const u32 gEventObjectPic_LittleGirl[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl.4bpp");
|
||||
const u32 gEventObjectPic_Boy3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3.4bpp");
|
||||
const u32 gEventObjectPic_Girl3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3.4bpp");
|
||||
const u32 gEventObjectPic_Boy4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4.4bpp");
|
||||
const u32 gEventObjectPic_RichBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rich_boy.4bpp");
|
||||
const u32 gEventObjectPic_Woman1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1.4bpp");
|
||||
const u32 gEventObjectPic_FatMan[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man.4bpp");
|
||||
const u32 gEventObjectPic_Woman2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2.4bpp");
|
||||
const u32 gEventObjectPic_PokefanF[] = INCBIN_U32("graphics/event_objects/pics/people/pokefan_f.4bpp");
|
||||
const u32 gEventObjectPic_Man1[] = INCBIN_U32("graphics/event_objects/pics/people/man_1.4bpp");
|
||||
const u32 gEventObjectPic_Woman3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3.4bpp");
|
||||
const u32 gEventObjectPic_OldMan1[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1.4bpp");
|
||||
const u32 gEventObjectPic_OldWoman1[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1.4bpp");
|
||||
const u32 gEventObjectPic_Woman2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2.4bpp");
|
||||
const u32 gEventObjectPic_ExpertM[] = INCBIN_U32("graphics/event_objects/pics/people/expert_m.4bpp");
|
||||
const u32 gEventObjectPic_ExpertF[] = INCBIN_U32("graphics/event_objects/pics/people/expert_f.4bpp");
|
||||
const u32 gEventObjectPic_Man2[] = INCBIN_U32("graphics/event_objects/pics/people/man_2.4bpp");
|
||||
const u32 gEventObjectPic_Woman3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3.4bpp");
|
||||
const u32 gEventObjectPic_PokefanM[] = INCBIN_U32("graphics/event_objects/pics/people/pokefan_m.4bpp");
|
||||
const u32 gEventObjectPic_Woman4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4.4bpp");
|
||||
const u32 gEventObjectPic_Man3[] = INCBIN_U32("graphics/event_objects/pics/people/man_3.4bpp");
|
||||
const u32 gEventObjectPic_Woman5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5.4bpp");
|
||||
const u32 gEventObjectPic_Cook[] = INCBIN_U32("graphics/event_objects/pics/people/cook.4bpp");
|
||||
const u32 gEventObjectPic_Woman6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6.4bpp");
|
||||
const u32 gEventObjectPic_OldMan2[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_2.4bpp");
|
||||
const u32 gEventObjectPic_OldWoman2[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2.4bpp");
|
||||
const u32 gEventObjectPic_LinkReceptionist[] = INCBIN_U32("graphics/event_objects/pics/people/link_receptionist.4bpp");
|
||||
const u32 gEventObjectPic_OldMan[] = INCBIN_U32("graphics/event_objects/pics/people/old_man.4bpp");
|
||||
const u32 gEventObjectPic_OldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman.4bpp");
|
||||
const u32 gEventObjectPic_Camper[] = INCBIN_U32("graphics/event_objects/pics/people/camper.4bpp");
|
||||
const u32 gEventObjectPic_Picnicker[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker.4bpp");
|
||||
const u32 gEventObjectPic_Man4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4.4bpp");
|
||||
const u32 gEventObjectPic_Woman7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7.4bpp");
|
||||
const u32 gEventObjectPic_Man3[] = INCBIN_U32("graphics/event_objects/pics/people/man_3.4bpp");
|
||||
const u32 gEventObjectPic_Woman5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5.4bpp");
|
||||
const u32 gEventObjectPic_Youngster[] = INCBIN_U32("graphics/event_objects/pics/people/youngster.4bpp");
|
||||
const u32 gEventObjectPic_BugCatcher[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher.4bpp");
|
||||
const u32 gEventObjectPic_PsychicM[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m.4bpp");
|
||||
@@ -124,8 +124,8 @@ const u32 gEventObjectPic_TuberM[] = INCBIN_U32("graphics/event_objects/pics/peo
|
||||
const u32 gEventObjectPic_Hiker[] = INCBIN_U32("graphics/event_objects/pics/people/hiker.4bpp");
|
||||
const u32 gEventObjectPic_CyclingTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m.4bpp");
|
||||
const u32 gEventObjectPic_CyclingTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f.4bpp");
|
||||
const u32 gEventObjectPic_Man4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4.4bpp");
|
||||
const u32 gEventObjectPic_Man5[] = INCBIN_U32("graphics/event_objects/pics/people/man_5.4bpp");
|
||||
const u32 gEventObjectPic_Man6[] = INCBIN_U32("graphics/event_objects/pics/people/man_6.4bpp");
|
||||
const u32 gEventObjectPic_Nurse[] = INCBIN_U32("graphics/event_objects/pics/people/nurse.4bpp");
|
||||
const u32 gEventObjectPic_ItemBall[] = INCBIN_U32("graphics/event_objects/pics/misc/item_ball.4bpp");
|
||||
const u32 gEventObjectPic_ProfBirch[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch.4bpp");
|
||||
@@ -139,7 +139,7 @@ const u32 gEventObjectPic_Teala[] = INCBIN_U32("graphics/event_objects/pics/peop
|
||||
const u32 gEventObjectPic_Artist[] = INCBIN_U32("graphics/event_objects/pics/people/artist.4bpp");
|
||||
const u32 gEventObjectPic_Cameraman[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman.4bpp");
|
||||
const u32 gEventObjectPic_Scientist2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2.4bpp");
|
||||
const u32 gEventObjectPic_Man7[] = INCBIN_U32("graphics/event_objects/pics/people/man_7.4bpp");
|
||||
const u32 gEventObjectPic_DevonEmployee[] = INCBIN_U32("graphics/event_objects/pics/people/devon_employee.4bpp");
|
||||
const u32 gEventObjectPic_AquaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_m.4bpp");
|
||||
const u32 gEventObjectPic_AquaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_f.4bpp");
|
||||
const u32 gEventObjectPic_MagmaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_m.4bpp");
|
||||
@@ -162,8 +162,8 @@ const u32 gEventObjectPic_Wally[] = INCBIN_U32("graphics/event_objects/pics/peop
|
||||
const u32 gEventObjectPic_RubySapphireLittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rs_little_boy.4bpp");
|
||||
const u32 gEventObjectPic_HotSpringsOldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman.4bpp");
|
||||
const u32 gEventObjectPic_LatiasLatios[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios.4bpp");
|
||||
const u32 gEventObjectPic_Boy5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_5.4bpp");
|
||||
const u32 gEventObjectPic_ContestOldMan[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man.4bpp");
|
||||
const u32 gEventObjectPic_GameboyKid[] = INCBIN_U32("graphics/event_objects/pics/people/gameboy_kid.4bpp");
|
||||
const u32 gEventObjectPic_ContestJudge[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge.4bpp");
|
||||
const u32 gEventObjectPic_Archie[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/archie.4bpp");
|
||||
const u32 gEventObjectPic_Maxie[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/maxie.4bpp");
|
||||
const u32 gEventObjectPic_Kyogre[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre.4bpp");
|
||||
|
||||
@@ -7,36 +7,36 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike =
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump = {0xFFFF, EVENT_OBJ_PAL_TAG_12, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_QuintyPlump, gEventObjectPicTable_QuintyPlump, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy1 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy1, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl1 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl1, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_NinjaBoy = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_NinjaBoy, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Twin = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Twin, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy1, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl1, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy2 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl2 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy3, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl3, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy4 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy4, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RichBoy = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RichBoy, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman1, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_FatMan, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PokefanF = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PokefanF, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man1, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman3, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan1 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman1 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman1, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ExpertM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ExpertM, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ExpertF = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ExpertF, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman4, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man3, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman5, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman3, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PokefanM = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PokefanM, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman4, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cook, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman6 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman6, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan2 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkReceptionist = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LinkReceptionist, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Camper, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Picnicker, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man4, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman7 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman7, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man3, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman5, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Youngster, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BugCatcher, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PsychicM, gDummySpriteAffineAnimTable};
|
||||
@@ -66,8 +66,8 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTree = {0xFFF
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ProfBirch, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man5, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man6 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man6, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man4, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man5, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterM, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterF, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
@@ -118,7 +118,7 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater = {0
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox = {0xFFFF, EVENT_OBJ_PAL_TAG_19, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MovingBox, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar = {0xFFFF, EVENT_OBJ_PAL_TAG_20, EVENT_OBJ_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CableCar, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist2, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man7 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man7, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DevonEmployee = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_DevonEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberM, gDummySpriteAffineAnimTable};
|
||||
@@ -191,8 +191,8 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll = {0
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy5 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy5, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestOldMan = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ContestOldMan, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GameboyKid = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GameboyKid, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestJudge = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ContestJudge, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanWatering, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayWatering, gDummySpriteAffineAnimTable};
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BrendanDecorating, gDummySpriteAffineAnimTable};
|
||||
|
||||
@@ -6,36 +6,36 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy1;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl1;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_NinjaBoy;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Twin;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy4;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RichBoy;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PokefanF;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan1;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman1;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ExpertM;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ExpertF;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PokefanM;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman6;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkReceptionist;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman7;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM;
|
||||
@@ -66,8 +66,8 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStag
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man6;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard;
|
||||
@@ -117,7 +117,7 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man7;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DevonEmployee;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM;
|
||||
@@ -190,8 +190,8 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy5;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestOldMan;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GameboyKid;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestJudge;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering;
|
||||
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating;
|
||||
@@ -255,36 +255,36 @@ const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] =
|
||||
&gEventObjectGraphicsInfo_BrendanSurfing,
|
||||
&gEventObjectGraphicsInfo_BrendanFieldMove,
|
||||
&gEventObjectGraphicsInfo_QuintyPlump,
|
||||
&gEventObjectGraphicsInfo_LittleBoy1,
|
||||
&gEventObjectGraphicsInfo_LittleGirl1,
|
||||
&gEventObjectGraphicsInfo_NinjaBoy,
|
||||
&gEventObjectGraphicsInfo_Twin,
|
||||
&gEventObjectGraphicsInfo_Boy1,
|
||||
&gEventObjectGraphicsInfo_Girl1,
|
||||
&gEventObjectGraphicsInfo_Boy2,
|
||||
&gEventObjectGraphicsInfo_Girl2,
|
||||
&gEventObjectGraphicsInfo_LittleBoy2,
|
||||
&gEventObjectGraphicsInfo_LittleGirl2,
|
||||
&gEventObjectGraphicsInfo_LittleBoy,
|
||||
&gEventObjectGraphicsInfo_LittleGirl,
|
||||
&gEventObjectGraphicsInfo_Boy3,
|
||||
&gEventObjectGraphicsInfo_Girl3,
|
||||
&gEventObjectGraphicsInfo_Boy4,
|
||||
&gEventObjectGraphicsInfo_RichBoy,
|
||||
&gEventObjectGraphicsInfo_Woman1,
|
||||
&gEventObjectGraphicsInfo_FatMan,
|
||||
&gEventObjectGraphicsInfo_Woman2,
|
||||
&gEventObjectGraphicsInfo_PokefanF,
|
||||
&gEventObjectGraphicsInfo_Man1,
|
||||
&gEventObjectGraphicsInfo_Woman3,
|
||||
&gEventObjectGraphicsInfo_OldMan1,
|
||||
&gEventObjectGraphicsInfo_OldWoman1,
|
||||
&gEventObjectGraphicsInfo_Woman2,
|
||||
&gEventObjectGraphicsInfo_ExpertM,
|
||||
&gEventObjectGraphicsInfo_ExpertF,
|
||||
&gEventObjectGraphicsInfo_Man2,
|
||||
&gEventObjectGraphicsInfo_Woman3,
|
||||
&gEventObjectGraphicsInfo_PokefanM,
|
||||
&gEventObjectGraphicsInfo_Woman4,
|
||||
&gEventObjectGraphicsInfo_Man3,
|
||||
&gEventObjectGraphicsInfo_Woman5,
|
||||
&gEventObjectGraphicsInfo_Cook,
|
||||
&gEventObjectGraphicsInfo_Woman6,
|
||||
&gEventObjectGraphicsInfo_OldMan2,
|
||||
&gEventObjectGraphicsInfo_OldWoman2,
|
||||
&gEventObjectGraphicsInfo_LinkReceptionist,
|
||||
&gEventObjectGraphicsInfo_OldMan,
|
||||
&gEventObjectGraphicsInfo_OldWoman,
|
||||
&gEventObjectGraphicsInfo_Camper,
|
||||
&gEventObjectGraphicsInfo_Picnicker,
|
||||
&gEventObjectGraphicsInfo_Man4,
|
||||
&gEventObjectGraphicsInfo_Woman7,
|
||||
&gEventObjectGraphicsInfo_Man3,
|
||||
&gEventObjectGraphicsInfo_Woman5,
|
||||
&gEventObjectGraphicsInfo_Youngster,
|
||||
&gEventObjectGraphicsInfo_BugCatcher,
|
||||
&gEventObjectGraphicsInfo_PsychicM,
|
||||
@@ -315,8 +315,8 @@ const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] =
|
||||
&gEventObjectGraphicsInfo_BerryTreeLateStages,
|
||||
&gEventObjectGraphicsInfo_BrendanAcroBike,
|
||||
&gEventObjectGraphicsInfo_ProfBirch,
|
||||
&gEventObjectGraphicsInfo_Man4,
|
||||
&gEventObjectGraphicsInfo_Man5,
|
||||
&gEventObjectGraphicsInfo_Man6,
|
||||
&gEventObjectGraphicsInfo_ReporterM,
|
||||
&gEventObjectGraphicsInfo_ReporterF,
|
||||
&gEventObjectGraphicsInfo_Bard,
|
||||
@@ -366,7 +366,7 @@ const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] =
|
||||
&gEventObjectGraphicsInfo_MovingBox,
|
||||
&gEventObjectGraphicsInfo_CableCar,
|
||||
&gEventObjectGraphicsInfo_Scientist2,
|
||||
&gEventObjectGraphicsInfo_Man7,
|
||||
&gEventObjectGraphicsInfo_DevonEmployee,
|
||||
&gEventObjectGraphicsInfo_AquaMemberM,
|
||||
&gEventObjectGraphicsInfo_AquaMemberF,
|
||||
&gEventObjectGraphicsInfo_MagmaMemberM,
|
||||
@@ -439,8 +439,8 @@ const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] =
|
||||
&gEventObjectGraphicsInfo_BigRegisteelDoll,
|
||||
&gEventObjectGraphicsInfo_Latias,
|
||||
&gEventObjectGraphicsInfo_Latios,
|
||||
&gEventObjectGraphicsInfo_Boy5,
|
||||
&gEventObjectGraphicsInfo_ContestOldMan,
|
||||
&gEventObjectGraphicsInfo_GameboyKid,
|
||||
&gEventObjectGraphicsInfo_ContestJudge,
|
||||
&gEventObjectGraphicsInfo_BrendanWatering,
|
||||
&gEventObjectGraphicsInfo_MayWatering,
|
||||
&gEventObjectGraphicsInfo_BrendanDecorating,
|
||||
|
||||
@@ -109,28 +109,28 @@ const struct SpriteFrameImage gEventObjectPicTable_QuintyPlump[] = {
|
||||
overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 6),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_LittleBoy1[] = {
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 0),
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 1),
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 2),
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 3),
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 4),
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 5),
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 6),
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 7),
|
||||
overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_NinjaBoy[] = {
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 0),
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 1),
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 2),
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 3),
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 4),
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 5),
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 6),
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 7),
|
||||
overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_LittleGirl1[] = {
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Twin[] = {
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Twin, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Boy1[] = {
|
||||
@@ -181,28 +181,28 @@ const struct SpriteFrameImage gEventObjectPicTable_Girl2[] = {
|
||||
overworld_frame(gEventObjectPic_Girl2, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_LittleBoy2[] = {
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 0),
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 1),
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 2),
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 3),
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 4),
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 5),
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 6),
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 7),
|
||||
overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_LittleBoy[] = {
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 0),
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 1),
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 2),
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 3),
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 4),
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 5),
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 6),
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 7),
|
||||
overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_LittleGirl2[] = {
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 0),
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 1),
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 2),
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 3),
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 4),
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 5),
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 6),
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 7),
|
||||
overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_LittleGirl[] = {
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 0),
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 1),
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 2),
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 3),
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 4),
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 5),
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 6),
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 7),
|
||||
overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Boy3[] = {
|
||||
@@ -229,16 +229,16 @@ const struct SpriteFrameImage gEventObjectPicTable_Girl3[] = {
|
||||
overworld_frame(gEventObjectPic_Girl3, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Boy4[] = {
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Boy4, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_RichBoy[] = {
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_RichBoy, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman1[] = {
|
||||
@@ -265,16 +265,16 @@ const struct SpriteFrameImage gEventObjectPicTable_FatMan[] = {
|
||||
overworld_frame(gEventObjectPic_FatMan, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman2[] = {
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_PokefanF[] = {
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_PokefanF, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man1[] = {
|
||||
@@ -289,40 +289,40 @@ const struct SpriteFrameImage gEventObjectPicTable_Man1[] = {
|
||||
overworld_frame(gEventObjectPic_Man1, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman3[] = {
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman2[] = {
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Woman2, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_OldMan1[] = {
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_OldMan1, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_ExpertM[] = {
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_ExpertM, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_OldWoman1[] = {
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_ExpertF[] = {
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_ExpertF, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man2[] = {
|
||||
@@ -337,6 +337,30 @@ const struct SpriteFrameImage gEventObjectPicTable_Man2[] = {
|
||||
overworld_frame(gEventObjectPic_Man2, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman3[] = {
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Woman3, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_PokefanM[] = {
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_PokefanM, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman4[] = {
|
||||
overworld_frame(gEventObjectPic_Woman4, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman4, 2, 4, 1),
|
||||
@@ -349,30 +373,6 @@ const struct SpriteFrameImage gEventObjectPicTable_Woman4[] = {
|
||||
overworld_frame(gEventObjectPic_Woman4, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man3[] = {
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman5[] = {
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Cook[] = {
|
||||
overworld_frame(gEventObjectPic_Cook, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Cook, 2, 4, 1),
|
||||
@@ -385,40 +385,40 @@ const struct SpriteFrameImage gEventObjectPicTable_Cook[] = {
|
||||
overworld_frame(gEventObjectPic_Cook, 2, 4, 2),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman6[] = {
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Woman6, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_LinkReceptionist[] = {
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_OldMan2[] = {
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_OldMan2, 2, 4, 2),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_OldMan[] = {
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_OldMan, 2, 4, 2),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_OldWoman2[] = {
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_OldWoman[] = {
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_OldWoman, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Camper[] = {
|
||||
@@ -445,28 +445,28 @@ const struct SpriteFrameImage gEventObjectPicTable_Picnicker[] = {
|
||||
overworld_frame(gEventObjectPic_Picnicker, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man4[] = {
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man3[] = {
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Man3, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman7[] = {
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Woman7, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Woman5[] = {
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Woman5, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Youngster[] = {
|
||||
@@ -762,6 +762,18 @@ const struct SpriteFrameImage gEventObjectPicTable_ProfBirch[] = {
|
||||
overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man4[] = {
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Man4, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man5[] = {
|
||||
overworld_frame(gEventObjectPic_Man5, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Man5, 2, 4, 1),
|
||||
@@ -774,18 +786,6 @@ const struct SpriteFrameImage gEventObjectPicTable_Man5[] = {
|
||||
overworld_frame(gEventObjectPic_Man5, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man6[] = {
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Man6, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_ReporterM[] = {
|
||||
overworld_frame(gEventObjectPic_ReporterM, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_ReporterM, 2, 4, 1),
|
||||
@@ -1122,16 +1122,16 @@ const struct SpriteFrameImage gEventObjectPicTable_Scientist2[] = {
|
||||
overworld_frame(gEventObjectPic_Scientist2, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Man7[] = {
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_Man7, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_DevonEmployee[] = {
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_AquaMemberM[] = {
|
||||
@@ -1632,28 +1632,28 @@ const struct SpriteFrameImage gEventObjectPicTable_LatiasLatios[] = {
|
||||
overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 2),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_Boy5[] = {
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_Boy5, 2, 4, 2),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_GameboyKid[] = {
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 2),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_ContestOldMan[] = {
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 8),
|
||||
const struct SpriteFrameImage gEventObjectPicTable_ContestJudge[] = {
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 0),
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 1),
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 2),
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 3),
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 4),
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 5),
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 6),
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 7),
|
||||
overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 8),
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gEventObjectPicTable_BrendanWatering[] = {
|
||||
|
||||
@@ -32,13 +32,13 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowExtraLarge[] = {
|
||||
obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge),
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, oamc_shadow};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, oamc_shadow};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, oamc_shadow};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_TallGrass[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 0),
|
||||
@@ -63,7 +63,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TallGrass[] =
|
||||
gFieldEffectObjectImageAnim_850CA84,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_Ripple[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 0),
|
||||
@@ -116,7 +116,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ash[] =
|
||||
gFieldEffectObjectImageAnim_850CB48,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8155460};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, UpdateAshFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 0),
|
||||
@@ -156,7 +156,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] =
|
||||
gFieldEffectObjectImageAnim_850CBAC,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8155658};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_Arrow[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 0),
|
||||
@@ -289,7 +289,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SandFootprints[] =
|
||||
gFieldEffectObjectImageAnim_850CD30,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8154C60};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_DeepSandFootprints[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_DeepSandFootprints, 2, 2, 0),
|
||||
@@ -329,7 +329,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_DeepSandFootprints[]
|
||||
gFieldEffectObjectImageAnim_850CD8C,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8154C60};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeTireTracks[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 0),
|
||||
@@ -399,7 +399,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeTireTracks[] =
|
||||
gFieldEffectObjectImageAnim_850CE18,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8154C60};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopBigSplash[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 2, 2, 0),
|
||||
@@ -455,7 +455,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Splash[] =
|
||||
gFieldEffectObjectImageAnim_850CEC8,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, sub_8154D90};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopSmallSplash[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 2, 1, 0),
|
||||
@@ -502,7 +502,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_LongGrass[] =
|
||||
gFieldEffectObjectImageAnim_850CF70,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown16[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 0),
|
||||
@@ -631,7 +631,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown29[] =
|
||||
gFieldEffectObjectImageAnim_850D160,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, sub_81559BC};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown20[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_Unknown20, 2, 2, 0),
|
||||
@@ -769,7 +769,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TreeDisguise[] =
|
||||
gFieldEffectObjectImageAnim_850D384,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_8155C88};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_MountainDisguise[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 0),
|
||||
@@ -805,7 +805,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_MountainDisguise[] =
|
||||
gFieldEffectObjectImageAnim_850D404,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_8155C88};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 0),
|
||||
@@ -817,7 +817,7 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder
|
||||
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 6),
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, sub_8155C88};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_Bird[] = {
|
||||
obj_frame_tiles(gFieldEffectObjectPic_Bird),
|
||||
@@ -853,7 +853,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_ShortGrass[] =
|
||||
gFieldEffectObjectImageAnim_850D4D0,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, sub_8154A10};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_HotSpringsWater[] = {
|
||||
obj_frame_tiles(gFieldEffectObjectPic_HotSpringsWater),
|
||||
@@ -870,7 +870,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_HotSpringsWater[] =
|
||||
gFieldEffectObjectImageAnim_850D500,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8155158};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_JumpOutOfAsh[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 0),
|
||||
@@ -953,7 +953,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bubbles[] =
|
||||
gFieldEffectObjectImageAnim_850D624,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8155AEC};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect};
|
||||
|
||||
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown35[] = {
|
||||
overworld_frame(gFieldEffectObjectPic_Unknown35, 2, 2, 0),
|
||||
@@ -973,7 +973,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown35[] =
|
||||
gFieldEffectObjectImageAnim_850D674,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, sub_8155E50};
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect};
|
||||
|
||||
const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F};
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
:(n <= 36) ? ((n + 14) * CUBE(n) / 50) \
|
||||
: (((n / 2) + 32) * CUBE(n) / 50)
|
||||
|
||||
const u32 gExperienceTables[][MAX_MON_LEVEL + 1] =
|
||||
const u32 gExperienceTables[][MAX_LEVEL + 1] =
|
||||
{
|
||||
{ // Medium Fast
|
||||
0, // 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const struct MonCoords gUnknown_083021D8[] =
|
||||
const struct MonCoords gMonBackPicCoords[] =
|
||||
{
|
||||
{0x88, 0x00}, // SPECIES_NONE
|
||||
{0x64, 0x10}, // SPECIES_BULBASAUR
|
||||
|
||||
+3
-3
@@ -241,7 +241,7 @@ static void ApplyDaycareExperience(struct Pokemon *mon)
|
||||
bool8 firstMove;
|
||||
u16 learnedMove;
|
||||
|
||||
for (i = 0; i < MAX_MON_LEVEL; i++)
|
||||
for (i = 0; i < MAX_LEVEL; i++)
|
||||
{
|
||||
// Add the mon's gained daycare experience level by level until it can't level up anymore.
|
||||
if (TryIncrementMonLevel(mon))
|
||||
@@ -278,7 +278,7 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon)
|
||||
species = GetBoxMonData(&daycareMon->mon, MON_DATA_SPECIES);
|
||||
BoxMonToMon(&daycareMon->mon, &pokemon);
|
||||
|
||||
if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_MON_LEVEL)
|
||||
if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL)
|
||||
{
|
||||
experience = GetMonData(&pokemon, MON_DATA_EXP) + daycareMon->steps;
|
||||
SetMonData(&pokemon, MON_DATA_EXP, &experience);
|
||||
@@ -949,7 +949,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
|
||||
return FALSE; // no hatching
|
||||
}
|
||||
|
||||
bool8 DoEggActions_CheckHatch(void)
|
||||
bool8 ShouldEggHatch(void)
|
||||
{
|
||||
return _DoEggActions_CheckHatch(&gSaveBlock1Ptr->daycare);
|
||||
}
|
||||
|
||||
+11
-11
@@ -1171,7 +1171,7 @@ void sub_8127B90(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decor)
|
||||
{
|
||||
decLeft = mapX + j;
|
||||
behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decor].tiles[i * decWidth + j]);
|
||||
if (MetatileBehavior_IsMB_B9(behavior) == TRUE || (gDecorations[decor].permission != DECORPERM_PASS_FLOOR && (behavior >> 12)))
|
||||
if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decor].permission != DECORPERM_PASS_FLOOR && (behavior >> 12)))
|
||||
{
|
||||
flags = 0xc00;
|
||||
}
|
||||
@@ -1179,7 +1179,7 @@ void sub_8127B90(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decor)
|
||||
{
|
||||
flags = 0x000;
|
||||
}
|
||||
if (gDecorations[decor].permission != DECORPERM_NA_WALL && MetatileBehavior_IsMB_B7(MapGridGetMetatileBehaviorAt(decLeft, decBottom)) == TRUE)
|
||||
if (gDecorations[decor].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(decLeft, decBottom)) == TRUE)
|
||||
{
|
||||
v0 = 1;
|
||||
}
|
||||
@@ -1446,7 +1446,7 @@ void sub_8128414(u8 taskId)
|
||||
|
||||
bool8 sub_8128484(u8 behaviorAt, u16 behaviorBy)
|
||||
{
|
||||
if (MetatileBehavior_IsMB_B3(behaviorAt) != TRUE || behaviorBy != 0)
|
||||
if (MetatileBehavior_IsBlockDecoration(behaviorAt) != TRUE || behaviorBy != 0)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1464,9 +1464,9 @@ bool8 sub_81284AC(u8 taskId, s16 x, s16 y, u16 decor)
|
||||
|
||||
bool8 sub_81284F4(u16 behaviorAt, const struct Decoration *decoration)
|
||||
{
|
||||
if (MetatileBehavior_IsMB_B3(behaviorAt) != TRUE)
|
||||
if (MetatileBehavior_IsBlockDecoration(behaviorAt) != TRUE)
|
||||
{
|
||||
if (decoration->id == DECOR_SOLID_BOARD && MetatileBehavior_IsMB_C2(behaviorAt) == TRUE)
|
||||
if (decoration->id == DECOR_SOLID_BOARD && MetatileBehavior_IsSecretBaseHole(behaviorAt) == TRUE)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1548,7 +1548,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
|
||||
curX = gTasks[taskId].data[0] + j;
|
||||
behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
|
||||
behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & 0xf000;
|
||||
if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsMB_B7(behaviorAt))
|
||||
if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1570,7 +1570,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
|
||||
for (j=0; j<mapX; j++)
|
||||
{
|
||||
curX = gTasks[taskId].data[0] + j;
|
||||
if (!MetatileBehavior_IsMB_B7(MapGridGetMetatileBehaviorAt(curX, curY)))
|
||||
if (!MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(curX, curY)))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1589,14 +1589,14 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
|
||||
behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
|
||||
if (decoration->shape == DECORSHAPE_1x2)
|
||||
{
|
||||
if (!MetatileBehavior_IsMB_C3(behaviorAt))
|
||||
if (!MetatileBehavior_IsLargeMatCenter(behaviorAt))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else if (!MetatileBehavior_IsMB_B5(behaviorAt))
|
||||
else if (!MetatileBehavior_IsSecretBaseLargeMatEdge(behaviorAt))
|
||||
{
|
||||
if (!MetatileBehavior_IsMB_C3(behaviorAt))
|
||||
if (!MetatileBehavior_IsLargeMatCenter(behaviorAt))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2385,7 +2385,7 @@ void sub_8129C74(u8 taskId)
|
||||
{
|
||||
data = gTasks[taskId].data;
|
||||
behavior = MapGridGetMetatileBehaviorAt(data[0], data[1]);
|
||||
if (MetatileBehavior_IsSecretBasePC(behavior) == TRUE || MetatileBehavior_IsMB_C5(behavior) == TRUE)
|
||||
if (MetatileBehavior_IsSecretBasePC(behavior) == TRUE || MetatileBehavior_IsPlayerRoomPCOn(behavior) == TRUE)
|
||||
{
|
||||
gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE;
|
||||
gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy;
|
||||
|
||||
+1
-1
@@ -352,7 +352,7 @@ void easy_chat_input_maybe(void)
|
||||
words = &gSaveBlock1Ptr->lilycoveLady.quiz.unk_014;
|
||||
break;
|
||||
case 19:
|
||||
words = (u16 *)&gSaveBlock2Ptr->field_DC[0].field_0[0x28];
|
||||
words = gSaveBlock2Ptr->apprentices[0].easyChatWords;
|
||||
break;
|
||||
case 20:
|
||||
words = sub_801B058();
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
#include "pokenav.h"
|
||||
#include "random.h"
|
||||
#include "rom_818CFC8.h"
|
||||
#include "rom_81BE66C.h"
|
||||
#include "sprite.h"
|
||||
#include "trainer_see.h"
|
||||
#include "util.h"
|
||||
@@ -1868,7 +1867,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
|
||||
if (eventObject->movementType == 0x0b)
|
||||
{
|
||||
SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId);
|
||||
eventObject->warpArrowSpriteId = sub_8154228();
|
||||
eventObject->warpArrowSpriteId = CreateWarpArrowSprite();
|
||||
}
|
||||
if (subspriteTables != NULL)
|
||||
{
|
||||
@@ -2024,7 +2023,7 @@ const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId)
|
||||
}
|
||||
if (graphicsId >= NUM_OBJECT_GRAPHICS_INFO)
|
||||
{
|
||||
graphicsId = EVENT_OBJ_GFX_LITTLE_BOY_1;
|
||||
graphicsId = EVENT_OBJ_GFX_NINJA_BOY;
|
||||
}
|
||||
return gEventObjectGraphicsInfoPointers[graphicsId];
|
||||
}
|
||||
@@ -2638,10 +2637,10 @@ void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat)
|
||||
switch (decorCat)
|
||||
{
|
||||
case DECORCAT_DOLL:
|
||||
OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_2766A2);
|
||||
OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower1);
|
||||
break;
|
||||
case DECORCAT_CUSHION:
|
||||
OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_2766A6);
|
||||
OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -7721,7 +7720,7 @@ static void GetGroundEffectFlags_Tracks(struct EventObject *eventObj, u32 *flags
|
||||
*flags |= GROUND_EFFECT_FLAG_DEEP_SAND;
|
||||
}
|
||||
else if (MetatileBehavior_IsSandOrDeepSand(eventObj->previousMetatileBehavior)
|
||||
|| MetatileBehavior_IsUnusedFootprintMetatile(eventObj->previousMetatileBehavior))
|
||||
|| MetatileBehavior_IsFootprints(eventObj->previousMetatileBehavior))
|
||||
{
|
||||
*flags |= GROUND_EFFECT_FLAG_SAND;
|
||||
}
|
||||
@@ -8206,7 +8205,7 @@ void GroundEffect_JumpOnTallGrass(struct EventObject *eventObj, struct Sprite *s
|
||||
gFieldEffectArguments[3] = 2;
|
||||
FieldEffectStart(FLDEFF_JUMP_TALL_GRASS);
|
||||
|
||||
spriteId = sub_81546C8(
|
||||
spriteId = FindTallGrassFieldEffectSpriteId(
|
||||
eventObj->localId, eventObj->mapNum, eventObj->mapGroup, eventObj->currentCoords.x, eventObj->currentCoords.y);
|
||||
|
||||
if (spriteId == MAX_SPRITES)
|
||||
@@ -8843,14 +8842,14 @@ void sub_8097B78(u8 var1, u8 var2)
|
||||
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(var2));
|
||||
}
|
||||
|
||||
void sub_8097BB4(u8 var1, u8 var2)
|
||||
void sub_8097BB4(u8 var1, u8 graphicsId)
|
||||
{
|
||||
int spriteId = sub_8097B2C(var1);
|
||||
|
||||
if(spriteId != MAX_SPRITES)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[spriteId];
|
||||
const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(var2);
|
||||
const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId);
|
||||
u16 tileNum = sprite->oam.tileNum;
|
||||
|
||||
sprite->oam = *gfxInfo->oam;
|
||||
|
||||
@@ -25,8 +25,9 @@
|
||||
#include "gpu_regs.h"
|
||||
#include "bg.h"
|
||||
#include "link.h"
|
||||
#include "blend_palette.h"
|
||||
#include "util.h"
|
||||
#include "trig.h"
|
||||
#include "data2.h"
|
||||
|
||||
struct EvoInfo
|
||||
{
|
||||
@@ -48,8 +49,6 @@ extern u16 gBattle_BG2_X;
|
||||
extern u16 gBattle_BG2_Y;
|
||||
extern u16 gBattle_BG3_X;
|
||||
extern u16 gBattle_BG3_Y;
|
||||
extern bool8 gAffineAnimsDisabled;
|
||||
extern const u8 gSpeciesNames[][11];
|
||||
|
||||
#define sEvoCursorPos gBattleCommunication[1] // when learning a new move
|
||||
#define sEvoGraphicsTaskID gBattleCommunication[2]
|
||||
@@ -60,12 +59,9 @@ extern const struct CompressedSpriteSheet gMonFrontPicTable[];
|
||||
// strings
|
||||
extern const u8 gText_CommunicationStandby5[];
|
||||
|
||||
extern void sub_80356D0(void);
|
||||
extern void sub_807B154(void);
|
||||
extern void sub_807F19C(void);
|
||||
extern void sub_807B140(void);
|
||||
extern void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
|
||||
extern void Overworld_PlaySpecialMapMusic(void);
|
||||
extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move);
|
||||
extern u8 sub_81C1B94(void);
|
||||
extern void sub_807F1A8(u8 arg0, const u8 *arg1, u8 arg2);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Executable
+1776
File diff suppressed because it is too large
Load Diff
@@ -131,7 +131,7 @@ void HideFieldMessageBox(void)
|
||||
gUnknown_020375BC = 0;
|
||||
}
|
||||
|
||||
u8 textbox_any_visible(void)
|
||||
u8 GetFieldMessageBoxMode(void)
|
||||
{
|
||||
return gUnknown_020375BC;
|
||||
}
|
||||
|
||||
+1599
-128
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -111,7 +111,7 @@ void sub_80F972C(void)
|
||||
ScriptContext1_Stop();
|
||||
}
|
||||
|
||||
unsigned int overworld_poison(void)
|
||||
int DoPoisonFieldEffect(void)
|
||||
{
|
||||
int i;
|
||||
unsigned int hp;
|
||||
|
||||
@@ -3668,7 +3668,7 @@ bool32 sub_813B374(void)
|
||||
}
|
||||
}
|
||||
|
||||
bool32 sub_813B3B0(void)
|
||||
bool8 sub_813B3B0(void)
|
||||
{
|
||||
static const u8 gUnknown_085B3410[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c };
|
||||
|
||||
|
||||
+2
-2
@@ -627,11 +627,11 @@ static void PerStepCallback_8069F64(u8 taskId)
|
||||
{
|
||||
if (MapGridGetMetatileIdAt(x, y) == 0x20a)
|
||||
{
|
||||
ash(x, y, 0x212, 4);
|
||||
StartAshFieldEffect(x, y, 0x212, 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
ash(x, y, 0x206, 4);
|
||||
StartAshFieldEffect(x, y, 0x206, 4);
|
||||
}
|
||||
if (CheckBagHasItem(ITEM_SOOT_SACK, 1))
|
||||
{
|
||||
|
||||
+7
-8
@@ -1,26 +1,25 @@
|
||||
#include "global.h"
|
||||
#include "fldeff_cut.h"
|
||||
#include "event_obj_lock.h"
|
||||
#include "event_object_movement.h"
|
||||
#include "field_camera.h"
|
||||
#include "field_effect.h"
|
||||
#include "event_object_movement.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "fieldmap.h"
|
||||
#include "event_obj_lock.h"
|
||||
#include "fldeff_cut.h"
|
||||
#include "malloc.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "party_menu.h"
|
||||
#include "overworld.h"
|
||||
#include "party_menu.h"
|
||||
#include "rom6.h"
|
||||
#include "script.h"
|
||||
#include "sound.h"
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "trig.h"
|
||||
#include "malloc.h"
|
||||
#include "constants/abilities.h"
|
||||
#include "constants/event_objects.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/abilities.h"
|
||||
|
||||
extern bool8 CheckObjectGraphicsInFrontOfPlayer(u8);
|
||||
extern u8 oei_task_add(void);
|
||||
extern void ScriptUnfreezeEventObjects(void);
|
||||
extern bool8 IsMewPlayingHideAndSeek(void);
|
||||
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
#include "global.h"
|
||||
#include "task.h"
|
||||
#include "fieldmap.h"
|
||||
#include "field_camera.h"
|
||||
#include "field_player_avatar.h"
|
||||
|
||||
static EWRAM_DATA u8 sEscalatorAnim_TaskId = 0;
|
||||
|
||||
void sub_80E12E8(u8 taskId, const s16 *list, u16 c)
|
||||
{
|
||||
s16 r5 = gTasks[taskId].data[4] - 1;
|
||||
s16 r3 = gTasks[taskId].data[5] - 1;
|
||||
s16 r4 = gTasks[taskId].data[1];
|
||||
s16 y;
|
||||
s16 x;
|
||||
|
||||
if (gTasks[taskId].data[2] == 0)
|
||||
{
|
||||
for (y = 0; y < 3; y++)
|
||||
{
|
||||
for (x = 0; x < 3; x++)
|
||||
{
|
||||
s16 metatileId = MapGridGetMetatileIdAt(r5 + x, r3 + y);
|
||||
|
||||
if (list[r4] == metatileId)
|
||||
{
|
||||
if (r4 != 2)
|
||||
MapGridSetMetatileIdAt(r5 + x, r3 + y, c | list[r4 + 1]);
|
||||
else
|
||||
MapGridSetMetatileIdAt(r5 + x, r3 + y, c | list[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (y = 0; y < 3; y++)
|
||||
{
|
||||
for (x = 0; x < 3; x++)
|
||||
{
|
||||
s16 metatileId = MapGridGetMetatileIdAt(r5 + x, r3 + y);
|
||||
|
||||
if (list[2 - r4] == metatileId)
|
||||
{
|
||||
if (r4 != 2)
|
||||
MapGridSetMetatileIdAt(r5 + x, r3 + y, c | list[1 - r4]);
|
||||
else
|
||||
MapGridSetMetatileIdAt(r5 + x, r3 + y, c | list[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static const u16 gUnknown_08589ABA[] = {0x284, 0x282, 0x280};
|
||||
static const u16 gUnknown_08589AC0[] = {0x285, 0x283, 0x281};
|
||||
static const u16 gUnknown_08589AC6[] = {0x28C, 0x28A, 0x288};
|
||||
static const u16 gUnknown_08589ACC[] = {0x28D, 0x28B, 0x289};
|
||||
static const u16 gUnknown_08589AD2[] = {0x2A0, 0x2A2, 0x2A4};
|
||||
static const u16 gUnknown_08589AD8[] = {0x2A1, 0x2A3, 0x2A5};
|
||||
static const u16 gUnknown_08589ADE[] = {0x2A8, 0x2AA, 0x2AC};
|
||||
|
||||
void sub_80E1444(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
data[3] = 1;
|
||||
|
||||
switch (data[0])
|
||||
{
|
||||
case 0:
|
||||
sub_80E12E8(taskId, gUnknown_08589ABA, 0);
|
||||
break;
|
||||
case 1:
|
||||
sub_80E12E8(taskId, gUnknown_08589AC0, 0);
|
||||
break;
|
||||
case 2:
|
||||
sub_80E12E8(taskId, gUnknown_08589AC6, 0xC00);
|
||||
break;
|
||||
case 3:
|
||||
sub_80E12E8(taskId, gUnknown_08589ACC, 0);
|
||||
break;
|
||||
case 4:
|
||||
sub_80E12E8(taskId, gUnknown_08589AD2, 0xC00);
|
||||
break;
|
||||
case 5:
|
||||
sub_80E12E8(taskId, gUnknown_08589AD8, 0);
|
||||
break;
|
||||
case 6:
|
||||
sub_80E12E8(taskId, gUnknown_08589ADE, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
data[0] = (data[0] + 1) & 7;
|
||||
if (!data[0])
|
||||
{
|
||||
DrawWholeMapView();
|
||||
data[1] = (data[1] + 1) % 3;
|
||||
data[3] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
u8 sub_80E150C(u16 var)
|
||||
{
|
||||
u8 taskId = CreateTask(sub_80E1444, 0);
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
PlayerGetDestCoords(&data[4], &data[5]);
|
||||
data[0] = 0;
|
||||
data[1] = 0;
|
||||
data[2] = var;
|
||||
sub_80E1444(taskId);
|
||||
return taskId;
|
||||
}
|
||||
|
||||
void sub_80E1558(u8 var)
|
||||
{
|
||||
sEscalatorAnim_TaskId = sub_80E150C(var);
|
||||
}
|
||||
|
||||
void sub_80E1570(void)
|
||||
{
|
||||
DestroyTask(sEscalatorAnim_TaskId);
|
||||
}
|
||||
|
||||
bool8 sub_80E1584(void)
|
||||
{
|
||||
if (gTasks[sEscalatorAnim_TaskId].data[3] == 0 && gTasks[sEscalatorAnim_TaskId].data[1] == 2)
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
}
|
||||
@@ -35,7 +35,7 @@ void hm2_sweet_scent(void)
|
||||
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
||||
}
|
||||
|
||||
bool8 FldEff_SweetScent()
|
||||
bool8 FldEff_SweetScent(void)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
#include "bg.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/game_stat.h"
|
||||
#include "blend_palette.h"
|
||||
#include "util.h"
|
||||
#include "string_util.h"
|
||||
#include "m4a.h"
|
||||
#include "international_string_util.h"
|
||||
|
||||
+50
-53
@@ -22,9 +22,10 @@
|
||||
#include "graphics.h"
|
||||
#include "sound.h"
|
||||
#include "constants/species.h"
|
||||
#include "blend_palette.h"
|
||||
#include "util.h"
|
||||
#include "title_screen.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/battle_anim.h"
|
||||
|
||||
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
|
||||
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
|
||||
@@ -118,7 +119,7 @@ static const struct SpriteTemplate gUnknown_085E4AB8 =
|
||||
};
|
||||
static const u8 gUnknown_085E4AD0[][2] =
|
||||
{
|
||||
{0x7C, 0x28},
|
||||
{0x7C, 0x28},
|
||||
{0x66, 0x1E},
|
||||
{0x4D, 0x1E},
|
||||
{0x36, 0x0F},
|
||||
@@ -664,25 +665,25 @@ static const s16 gUnknown_085E4E94[][2] =
|
||||
{5, 20},
|
||||
{3, 28},
|
||||
};
|
||||
static const union AffineAnimCmd gUnknown_085E4ED8[] =
|
||||
static const union AffineAnimCmd gUnknown_085E4ED8[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(128, 128, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
static const union AffineAnimCmd gUnknown_085E4EE8[] =
|
||||
static const union AffineAnimCmd gUnknown_085E4EE8[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(128, 128, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(16, 16, 0, 16),
|
||||
AFFINEANIMCMD_FRAME(-16, -16, 0, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
static const union AffineAnimCmd gUnknown_085E4F08[] =
|
||||
static const union AffineAnimCmd gUnknown_085E4F08[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(8, 8, 0, 48),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
static const union AffineAnimCmd gUnknown_085E4F20[] =
|
||||
static const union AffineAnimCmd gUnknown_085E4F20[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(2, 2, 0, 48),
|
||||
@@ -695,7 +696,7 @@ static const union AffineAnimCmd *const gUnknown_085E4F38[] =
|
||||
gUnknown_085E4F08,
|
||||
gUnknown_085E4F20,
|
||||
};
|
||||
static const u16 gUnknown_085E4F48[] =
|
||||
static const u16 gUnknown_085E4F48[] =
|
||||
{
|
||||
0x100, 0xC0, 0x80, 0x40, 0x00, 0x40, 0x80, 0xC0, 0x100
|
||||
};
|
||||
@@ -1086,10 +1087,10 @@ static void Task_IntroWaterDrops(u8 taskId)
|
||||
|
||||
if (gIntroFrameCounter == 256)
|
||||
CreateTask(Task_IntroWaterDrops_2, 0);
|
||||
|
||||
|
||||
if (gIntroFrameCounter == 368)
|
||||
CreateWaterDrop(48, 0, 0x400, 5, 0x70, TRUE);
|
||||
|
||||
|
||||
if (gIntroFrameCounter == 384)
|
||||
CreateWaterDrop(200, 60, 0x400, 9, 0x80, TRUE);
|
||||
|
||||
@@ -1113,7 +1114,7 @@ static void Task_IntroWaterDrops_3(u8 taskId)
|
||||
s16 *data = gTasks[taskId].data;
|
||||
if (++data[2] & 1)
|
||||
data[3]++;
|
||||
|
||||
|
||||
switch (data[0])
|
||||
{
|
||||
case 0:
|
||||
@@ -1127,7 +1128,7 @@ static void Task_IntroWaterDrops_3(u8 taskId)
|
||||
data[0] = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (data[3] > 0x3C)
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@@ -1206,25 +1207,25 @@ static void Task_IntroStartBikeRide(u8 taskId)
|
||||
LoadCompressedObjectPic(gIntro2BrendanSpriteSheet);
|
||||
else
|
||||
LoadCompressedObjectPic(gIntro2MaySpriteSheet);
|
||||
|
||||
|
||||
LoadCompressedObjectPic(gIntro2BicycleSpriteSheet);
|
||||
LoadCompressedObjectPic(gIntro2FlygonSpriteSheet);
|
||||
|
||||
|
||||
for (spriteId = 0; spriteId < 3; spriteId++)
|
||||
{
|
||||
LoadCompressedObjectPic(&gUnknown_085E4AE8[spriteId]);
|
||||
}
|
||||
|
||||
|
||||
LoadSpritePalettes(gUnknown_085F530C);
|
||||
LoadSpritePalettes(gUnknown_085E4B08);
|
||||
CreateSprite(&gUnknown_085E4BDC, 0x110, 0x80, 0);
|
||||
CreateSprite(&gUnknown_085E4BA4, 0x120, 0x6E, 1);
|
||||
|
||||
|
||||
if (gUnknown_0203BCC8 == 0)
|
||||
spriteId = intro_create_brendan_sprite(0x110, 100);
|
||||
else
|
||||
spriteId = intro_create_may_sprite(0x110, 100);
|
||||
|
||||
|
||||
gSprites[spriteId].callback = sub_816F9D4;
|
||||
gSprites[spriteId].anims = gUnknown_085E4DC4;
|
||||
gTasks[taskId].data[1] = spriteId;
|
||||
@@ -1243,7 +1244,7 @@ static void Task_IntroHandleBikeAndFlygonMovement(u8 taskId)
|
||||
{
|
||||
s16 a;
|
||||
u16 sine;
|
||||
|
||||
|
||||
if (gIntroFrameCounter == 1856)
|
||||
{
|
||||
gUnknown_0203BD28 = 2;
|
||||
@@ -1427,7 +1428,7 @@ static void sub_816D9C0(struct Sprite *sprite)
|
||||
case 4:
|
||||
if (sprite->animEnded)
|
||||
sprite->pos1.x += 4;
|
||||
|
||||
|
||||
if (sprite->pos1.x > 336)
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
@@ -1506,7 +1507,7 @@ static void Task_IntroLoadPart3Graphics(u8 taskId)
|
||||
static void Task_IntroSpinAndZoomPokeball(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[0] += 0x400;
|
||||
|
||||
|
||||
if (gTasks[taskId].data[1] <= 0x6BF)
|
||||
{
|
||||
gTasks[taskId].data[1] += gTasks[taskId].data[2];
|
||||
@@ -1516,9 +1517,9 @@ static void Task_IntroSpinAndZoomPokeball(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].func = Task_IntroWaitToSetupPart3LegendsFight;
|
||||
}
|
||||
|
||||
|
||||
sub_816F2A8(0x78, 0x50, 0x10000 / gTasks[taskId].data[1], gTasks[taskId].data[0]);
|
||||
|
||||
|
||||
if (gIntroFrameCounter == 28)
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA);
|
||||
}
|
||||
@@ -1531,8 +1532,6 @@ static void Task_IntroWaitToSetupPart3LegendsFight(u8 taskId)
|
||||
|
||||
static void Task_IntroLoadPart1Graphics3(u8 taskId)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
intro_reset_and_hide_bgs();
|
||||
@@ -1543,8 +1542,8 @@ static void Task_IntroLoadPart1Graphics3(u8 taskId)
|
||||
LZDecompressVram(gIntro3GroudonTilemap, (void *)(VRAM + 0xC000));
|
||||
LZDecompressVram(gIntro3LegendBgGfx, (void *)(VRAM + 0x4000));
|
||||
LZDecompressVram(gIntro3GroudonBgTilemap, (void *)(VRAM + 0xE000));
|
||||
LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[0x3A]);
|
||||
LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[0x3A]);
|
||||
LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_058)]);
|
||||
LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_058)]);
|
||||
CpuCopy16(gIntro3BgPal, gPlttBufferUnfaded, sizeof(gIntro3BgPal));
|
||||
gTasks[taskId].func = Task_IntroLoadPart1Graphics4;
|
||||
}
|
||||
@@ -1584,12 +1583,10 @@ static void Task_IntroLoadPart1Graphics4(u8 taskId)
|
||||
|
||||
static void Task_IntroLoadPart1Graphics5(u8 taskId)
|
||||
{
|
||||
u16 foo = gTasks[taskId].data[0];
|
||||
|
||||
if (gTasks[taskId].data[0] != 32)
|
||||
{
|
||||
gTasks[taskId].data[0] += 4;
|
||||
SetGpuReg(REG_OFFSET_WIN0V, (gTasks[taskId].data[0] * 256) - (foo -= 0x9C));
|
||||
SetGpuReg(REG_OFFSET_WIN0V, (gTasks[taskId].data[0] * 256) - (gTasks[taskId].data[0] - 160));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1613,7 +1610,7 @@ static void Task_IntroLoadPart1Graphics7(u8 taskId)
|
||||
static void Task_IntroLoadPart1Graphics8(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
|
||||
data[5]++;
|
||||
if ((u16)(data[0] - 1) < 7 && data[5] % 2 == 0)
|
||||
data[4] ^= 3;
|
||||
@@ -1720,7 +1717,7 @@ static void sub_816E190(u8 a0)
|
||||
{
|
||||
int i;
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
spriteId = CreateSprite(gUnknown_08596C10, gUnknown_085E4C64[i][0], 0xA0, i);
|
||||
@@ -1737,7 +1734,7 @@ static void sub_816E1F8(struct Sprite *sprite)
|
||||
sprite->data[3]++;
|
||||
if (sprite->data[3] % 2 == 0)
|
||||
sprite->pos2.y ^= 3;
|
||||
|
||||
|
||||
switch(sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
@@ -1752,7 +1749,7 @@ static void sub_816E1F8(struct Sprite *sprite)
|
||||
sprite->pos1.x -= 2;
|
||||
else
|
||||
sprite->pos1.x += 2;
|
||||
|
||||
|
||||
if (sprite->pos1.y < 0x50)
|
||||
sprite->pos1.y -= 2;
|
||||
else
|
||||
@@ -1783,9 +1780,9 @@ static void Task_IntroLoadPart1Graphics9(u8 taskId)
|
||||
static void Task_IntroFadeIn0(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
|
||||
sub_816F2A8(data[1], data[2], data[3], 0);
|
||||
|
||||
|
||||
switch (data[0])
|
||||
{
|
||||
case 0:
|
||||
@@ -1928,7 +1925,7 @@ static void sub_816E6D4(u8 a0)
|
||||
{
|
||||
int i;
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&gUnknown_085E4D14, gUnknown_085E4CA8[i][0], gUnknown_085E4CA8[i][1], i);
|
||||
@@ -1943,7 +1940,7 @@ static void sub_816E74C(void)
|
||||
{
|
||||
int i;
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&gUnknown_085E4D14, gUnknown_085E4CA8[i + 6][0], gUnknown_085E4CA8[i + 6][1], i);
|
||||
@@ -1980,7 +1977,7 @@ static void sub_816E7B4(struct Sprite *sprite)
|
||||
sprite->pos1.x -= 3;
|
||||
else
|
||||
sprite->pos1.x += 3;
|
||||
|
||||
|
||||
if (sprite->pos1.y < 80)
|
||||
sprite->pos1.y -= 3;
|
||||
else
|
||||
@@ -2053,10 +2050,10 @@ static void Task_IntroFadeIn3(u8 taskId)
|
||||
static void Task_IntroFadeIn4(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
|
||||
SetGpuReg(REG_OFFSET_BG0HOFS, (data[6] >> 8));
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, -(data[6] >> 8));
|
||||
|
||||
|
||||
switch (data[0])
|
||||
{
|
||||
case 0:
|
||||
@@ -2070,7 +2067,7 @@ static void Task_IntroFadeIn4(u8 taskId)
|
||||
case 1:
|
||||
if (data[6] == 0x2800)
|
||||
BeginNormalPaletteFade(0x0000FFFE, 3, 0, 16, RGB(9, 10, 10));
|
||||
|
||||
|
||||
if (data[6] != 0)
|
||||
data[6] -= 0x80;
|
||||
else if (!gPaletteFade.active)
|
||||
@@ -2103,7 +2100,7 @@ static void Task_IntroFadeIn6(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
switch (data[0])
|
||||
{
|
||||
case 0:
|
||||
@@ -2141,7 +2138,7 @@ static void sub_816EC6C(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->animEnded)
|
||||
sprite->invisible = TRUE;
|
||||
|
||||
|
||||
switch(sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
@@ -2171,7 +2168,7 @@ static void sub_816EC6C(struct Sprite *sprite)
|
||||
static void Task_IntroFadeIn7(u8 taskId)
|
||||
{
|
||||
u8 newTaskId;
|
||||
|
||||
|
||||
LoadCompressedObjectPic(gUnknown_085E5048);
|
||||
LoadSpritePalettes(gUnknown_085E5058);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0
|
||||
@@ -2194,12 +2191,12 @@ static void Task_IntroFadeIn7(u8 taskId)
|
||||
static void Task_IntroFadeIn8(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (data[7] % 2 == 0)
|
||||
data[6] ^= 2;
|
||||
|
||||
|
||||
data[7]++;
|
||||
|
||||
|
||||
switch(data[0])
|
||||
{
|
||||
case 0:
|
||||
@@ -2248,9 +2245,9 @@ static void sub_816EEA8(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
|
||||
data[2]++;
|
||||
|
||||
|
||||
switch(data[0])
|
||||
{
|
||||
case 0:
|
||||
@@ -2377,7 +2374,7 @@ static void Task_IntroWaterDrops_1(u8 taskId)
|
||||
if (gTasks[taskId].data[1] != 0)
|
||||
{
|
||||
u8 tmp;
|
||||
|
||||
|
||||
gTasks[taskId].data[1]--;
|
||||
tmp = gTasks[taskId].data[1] / 2;
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, gUnknown_0853FF70[tmp]);
|
||||
@@ -2420,7 +2417,7 @@ static void Task_IntroWaterDrops_2(u8 taskId)
|
||||
if (gTasks[taskId].data[1] < 62)
|
||||
{
|
||||
u8 tmp;
|
||||
|
||||
|
||||
gTasks[taskId].data[1]++;
|
||||
tmp = gTasks[taskId].data[1] / 2;
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, gUnknown_0853FF70[tmp]);
|
||||
@@ -2903,7 +2900,7 @@ static u8 sub_816FDB8(s16 a0, s16 a1, s16 a2)
|
||||
{
|
||||
u16 i;
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&gUnknown_085E4F5C, gUnknown_085E4E94[i][1] + a0, a1 - 4, 0);
|
||||
@@ -2926,7 +2923,7 @@ static u8 sub_816FDB8(s16 a0, s16 a1, s16 a2)
|
||||
static void sub_816FEDC(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[7]++;
|
||||
|
||||
|
||||
if (sprite->data[0] != 0)
|
||||
{
|
||||
s16 sin1;
|
||||
@@ -2944,7 +2941,7 @@ static void sub_816FEDC(struct Sprite *sprite)
|
||||
|
||||
SetOamMatrix(1, a, b, c, d);
|
||||
}
|
||||
|
||||
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
|
||||
+2
-1
@@ -46,6 +46,7 @@
|
||||
#include "text_window.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "window.h"
|
||||
#include "apprentice.h"
|
||||
|
||||
void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());
|
||||
void CB2_Bag(void);
|
||||
@@ -2203,7 +2204,7 @@ void unknown_ItemMenu_Show(u8 taskId)
|
||||
|
||||
void bag_menu_leave_maybe_3(void)
|
||||
{
|
||||
gFieldCallback = sub_819FA50;
|
||||
gFieldCallback = Apprentice_EnableBothScriptContexts;
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
||||
|
||||
+12
-12
@@ -19,10 +19,10 @@ struct CompressedTilesPal
|
||||
const u8 *pal;
|
||||
};
|
||||
|
||||
extern void sub_80D5860(struct Sprite *sprite);
|
||||
extern void sub_80D58F8(struct Sprite *sprite);
|
||||
extern void sub_80D5968(struct Sprite *sprite);
|
||||
extern void sub_80D5A94(struct Sprite *sprite);
|
||||
extern void DoHorizontalLunge(struct Sprite *sprite);
|
||||
extern void DoVerticalDip(struct Sprite *sprite);
|
||||
extern void SlideMonToOriginalPos(struct Sprite *sprite);
|
||||
extern void SlideMonToOffset(struct Sprite *sprite);
|
||||
extern void sub_80D5B48(struct Sprite *sprite);
|
||||
|
||||
// this file's functions
|
||||
@@ -414,7 +414,7 @@ static const struct SpriteTemplate gUnknown_0857FE10 =
|
||||
.callback = SpriteCallbackDummy,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0857FE28 =
|
||||
const struct SpriteTemplate gHorizontalLungeSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0,
|
||||
.paletteTag = 0,
|
||||
@@ -422,10 +422,10 @@ const struct SpriteTemplate gUnknown_0857FE28 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_80D5860,
|
||||
.callback = DoHorizontalLunge,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0857FE40 =
|
||||
const struct SpriteTemplate gVerticalDipSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0,
|
||||
.paletteTag = 0,
|
||||
@@ -433,10 +433,10 @@ const struct SpriteTemplate gUnknown_0857FE40 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_80D58F8,
|
||||
.callback = DoVerticalDip,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0857FE58 =
|
||||
const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0,
|
||||
.paletteTag = 0,
|
||||
@@ -444,10 +444,10 @@ const struct SpriteTemplate gUnknown_0857FE58 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_80D5968,
|
||||
.callback = SlideMonToOriginalPos,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0857FE70 =
|
||||
const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0,
|
||||
.paletteTag = 0,
|
||||
@@ -455,7 +455,7 @@ const struct SpriteTemplate gUnknown_0857FE70 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_80D5A94,
|
||||
.callback = SlideMonToOffset,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0857FE88 =
|
||||
|
||||
+3
-3
@@ -203,7 +203,7 @@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_80FD254()
|
||||
void sub_80FD254(void)
|
||||
{
|
||||
struct MailStruct mail;
|
||||
mail.itemId = gSpecialVar_ItemId;
|
||||
@@ -249,7 +249,7 @@ void ItemUseOnFieldCB_Bike(u8 taskId)
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
bool32 CanFish()
|
||||
bool32 CanFish(void)
|
||||
{
|
||||
s16 x, y;
|
||||
u16 tileBehavior;
|
||||
@@ -260,7 +260,7 @@ bool32 CanFish()
|
||||
if (MetatileBehavior_IsWaterfall(tileBehavior))
|
||||
return FALSE;
|
||||
|
||||
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4))
|
||||
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_UNDERWATER))
|
||||
return FALSE;
|
||||
|
||||
if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ static void VCountIntr(void);
|
||||
static void SerialIntr(void);
|
||||
static void IntrDummy(void);
|
||||
|
||||
const u8 gGameVersion = VERSION_EMERALD;
|
||||
const u8 gGameVersion = GAME_VERSION;
|
||||
|
||||
const u8 gGameLanguage = GAME_LANGUAGE; // English
|
||||
|
||||
|
||||
+597
-542
File diff suppressed because it is too large
Load Diff
+1
-2
@@ -6,10 +6,9 @@
|
||||
#include "menu.h"
|
||||
#include "window.h"
|
||||
#include "sprite.h"
|
||||
#include "strings.h"
|
||||
#include "decompress.h"
|
||||
|
||||
extern const u8 gText_PokedollarVar1[];
|
||||
|
||||
extern const u8 gMenuMoneyGfx[];
|
||||
extern const u8 gMenuMoneyPal[];
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ static void CB2_MysteryEventMenu(void)
|
||||
if (!IsTextPrinterActive(0))
|
||||
{
|
||||
gMain.state++;
|
||||
gLinkType = 21761;
|
||||
gLinkType = 0x5501;
|
||||
OpenLink();
|
||||
}
|
||||
break;
|
||||
|
||||
+2
-2
@@ -25,6 +25,7 @@
|
||||
#include "battle_records.h"
|
||||
#include "item.h"
|
||||
#include "pokedex.h"
|
||||
#include "apprentice.h"
|
||||
|
||||
extern u8 gDifferentSaveFile;
|
||||
extern u16 gSaveFileStatus;
|
||||
@@ -44,7 +45,6 @@ extern void NewGameInitPCItems(void);
|
||||
extern void ClearDecorationInventories(void);
|
||||
extern void ResetFanClub(void);
|
||||
extern void copy_strings_to_sav1(void);
|
||||
extern void sub_819FAA0(void);
|
||||
extern void sub_81A4B14(void);
|
||||
extern void sub_8195E10(void);
|
||||
extern void sub_801AFD8(void);
|
||||
@@ -203,7 +203,7 @@ void NewGameInitData(void)
|
||||
ResetMiniGamesResults();
|
||||
copy_strings_to_sav1();
|
||||
SetLilycoveLady();
|
||||
sub_819FAA0();
|
||||
ResetAllApprenticeData();
|
||||
sub_81A4B14();
|
||||
sub_8195E10();
|
||||
sub_801AFD8();
|
||||
|
||||
+12
-12
@@ -107,7 +107,7 @@ extern void sub_80A0A2C(void);
|
||||
extern void not_trainer_hill_battle_pyramid(void);
|
||||
extern void apply_map_tileset2_palette(const struct MapLayout *);
|
||||
extern void copy_map_tileset2_to_vram_2(const struct MapLayout *);
|
||||
extern void prev_quest_postbuffer_cursor_backup_reset(void);
|
||||
extern void RestartWildEncounterImmunitySteps(void);
|
||||
extern void ShowMapNamePopup(void);
|
||||
extern bool32 InTrainerHill(void);
|
||||
extern bool32 sub_808651C(void);
|
||||
@@ -164,10 +164,10 @@ extern bool32 sub_8009F3C(void);
|
||||
extern void sub_8010198(void);
|
||||
extern u32 sub_800B4DC(void);
|
||||
extern bool32 sub_80B39D4(u8);
|
||||
extern const u8* sub_809C2C8(struct MapPosition *a1, u8, u8);
|
||||
extern u8 *sub_809D0F4(void*);
|
||||
extern u8 sub_808BD6C(u8);
|
||||
extern u8 sub_808BD7C(u8);
|
||||
extern const u8* GetInteractedLinkPlayerScript(struct MapPosition *a1, u8, u8);
|
||||
extern u8 *GetCoordEventScriptAtMapPosition(void*);
|
||||
extern u8 GetFRLGAvatarGraphicsIdByGender(u8);
|
||||
extern u8 GetRSAvatarGraphicsIdByGender(u8);
|
||||
extern void UpdateEventObjectSpriteVisibility(struct Sprite*, u8);
|
||||
|
||||
// this file's functions
|
||||
@@ -827,7 +827,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum)
|
||||
TrySetMapSaveWarpStatus();
|
||||
ClearTempFieldEventData();
|
||||
ResetCyclingRoadChallengeData();
|
||||
prev_quest_postbuffer_cursor_backup_reset();
|
||||
RestartWildEncounterImmunitySteps();
|
||||
TryUpdateRandomTrainerRematches(mapGroup, mapNum);
|
||||
DoTimeBasedEvents();
|
||||
SetSav1WeatherFromCurrMapHeader();
|
||||
@@ -876,7 +876,7 @@ static void mli0_load_map(u32 a1)
|
||||
TrySetMapSaveWarpStatus();
|
||||
ClearTempFieldEventData();
|
||||
ResetCyclingRoadChallengeData();
|
||||
prev_quest_postbuffer_cursor_backup_reset();
|
||||
RestartWildEncounterImmunitySteps();
|
||||
TryUpdateRandomTrainerRematches(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum);
|
||||
if (a1 != 1)
|
||||
DoTimeBasedEvents();
|
||||
@@ -919,7 +919,7 @@ void StoreInitialPlayerAvatarState(void)
|
||||
gInitialPlayerAvatarState.transitionFlags = 4;
|
||||
else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
|
||||
gInitialPlayerAvatarState.transitionFlags = 8;
|
||||
else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4))
|
||||
else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_UNDERWATER))
|
||||
gInitialPlayerAvatarState.transitionFlags = 16;
|
||||
else
|
||||
gInitialPlayerAvatarState.transitionFlags = 1;
|
||||
@@ -2706,7 +2706,7 @@ static u8 *sub_8087370(struct UnkStruct_8054FF8 *a1)
|
||||
{
|
||||
if (a1->c != 2)
|
||||
return 0;
|
||||
return sub_809D0F4(&a1->sub);
|
||||
return GetCoordEventScriptAtMapPosition(&a1->sub);
|
||||
}
|
||||
|
||||
static bool32 sub_8087388(struct UnkStruct_8054FF8 *a1)
|
||||
@@ -2747,7 +2747,7 @@ static const u8 *sub_80873B4(struct UnkStruct_8054FF8 *a1)
|
||||
return EventScript_TradeRoom_ReadTrainerCard2;
|
||||
}
|
||||
|
||||
return sub_809C2C8(&unkStruct, a1->field_C, a1->d);
|
||||
return GetInteractedLinkPlayerScript(&unkStruct, a1->field_C, a1->d);
|
||||
}
|
||||
|
||||
static u16 sub_8087480(const u8 *script)
|
||||
@@ -3137,11 +3137,11 @@ static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion)
|
||||
{
|
||||
case VERSION_FIRE_RED:
|
||||
case VERSION_LEAF_GREEN:
|
||||
eventObj->spriteId = AddPseudoEventObject(sub_808BD6C(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
|
||||
eventObj->spriteId = AddPseudoEventObject(GetFRLGAvatarGraphicsIdByGender(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
|
||||
break;
|
||||
case VERSION_RUBY:
|
||||
case VERSION_SAPPHIRE:
|
||||
eventObj->spriteId = AddPseudoEventObject(sub_808BD7C(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
|
||||
eventObj->spriteId = AddPseudoEventObject(GetRSAvatarGraphicsIdByGender(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
|
||||
break;
|
||||
case VERSION_EMERALD:
|
||||
eventObj->spriteId = AddPseudoEventObject(GetRivalAvatarGraphicsIdByStateIdAndGender(0, eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "blend_palette.h"
|
||||
#include "palette.h"
|
||||
#include "util.h"
|
||||
#include "decompress.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "task.h"
|
||||
|
||||
+7
-7
@@ -378,8 +378,8 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
|
||||
gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1;
|
||||
break;
|
||||
case POKEBALL_OPPONENT_SENDOUT:
|
||||
gSprites[ballSpriteId].pos1.x = GetBattlerSpriteCoord(battlerId, BANK_X_POS);
|
||||
gSprites[ballSpriteId].pos1.y = GetBattlerSpriteCoord(battlerId, BANK_Y_POS) + 24;
|
||||
gSprites[ballSpriteId].pos1.x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X);
|
||||
gSprites[ballSpriteId].pos1.y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 24;
|
||||
gBattlerTarget = battlerId;
|
||||
gSprites[ballSpriteId].data[0] = 0;
|
||||
gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut;
|
||||
@@ -399,8 +399,8 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
|
||||
|
||||
// this will perform an unused ball throw animation
|
||||
gSprites[ballSpriteId].data[0] = 0x22;
|
||||
gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BANK_X_POS);
|
||||
gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BANK_Y_POS) - 16;
|
||||
gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_X);
|
||||
gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_Y) - 16;
|
||||
gSprites[ballSpriteId].data[5] = -40;
|
||||
sub_80A68D4(&gSprites[ballSpriteId]);
|
||||
gSprites[ballSpriteId].oam.affineParam = taskId;
|
||||
@@ -411,7 +411,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
|
||||
|
||||
static void SpriteCB_TestBallThrow(struct Sprite *sprite)
|
||||
{
|
||||
if (AnimateBallThrow(sprite))
|
||||
if (TranslateAnimArc(sprite))
|
||||
{
|
||||
u16 ballId;
|
||||
u8 taskId = sprite->oam.affineParam;
|
||||
@@ -922,7 +922,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
|
||||
StartSpriteAffineAnim(sprite, 4);
|
||||
}
|
||||
r4 = sprite->data[0];
|
||||
sub_80A6F3C(sprite);
|
||||
TranslateAnimLinear(sprite);
|
||||
sprite->data[7] += sprite->sBattler / 3;
|
||||
sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]);
|
||||
sprite->oam.affineParam += 0x100;
|
||||
@@ -940,7 +940,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (AnimateBallThrow(sprite))
|
||||
if (TranslateAnimArc(sprite))
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "menu.h"
|
||||
#include "malloc.h"
|
||||
#include "pokemon.h"
|
||||
#include "blend_palette.h"
|
||||
#include "util.h"
|
||||
#include "main.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "bg.h"
|
||||
|
||||
+16
-17
@@ -35,6 +35,7 @@
|
||||
#include "pokenav.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "recorded_battle.h"
|
||||
#include "apprentice.h"
|
||||
|
||||
struct SpeciesItem
|
||||
{
|
||||
@@ -69,7 +70,6 @@ extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[];
|
||||
extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
|
||||
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const struct UnknownPokemonStruct3 gUnknown_08610970[];
|
||||
extern const struct CompressedSpritePalette gMonPaletteTable[];
|
||||
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
|
||||
extern const u8 gTrainerClassNames[][13];
|
||||
@@ -80,7 +80,6 @@ extern u8 StorageGetCurrentBox(void);
|
||||
extern void set_unknown_box_id(u8);
|
||||
extern void sub_803FA70(u8 battlerId);
|
||||
extern u8 sav1_map_get_name(void);
|
||||
extern const u8 *sub_81A1650(u8, u8 language);
|
||||
extern u8 GetFrontierEnemyMonLevel(u8);
|
||||
extern bool8 InBattlePyramid(void);
|
||||
extern bool8 InBattlePike(void);
|
||||
@@ -2873,27 +2872,27 @@ void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lv
|
||||
CalculateMonStats(mon);
|
||||
}
|
||||
|
||||
void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u8 monId)
|
||||
void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId)
|
||||
{
|
||||
s32 i;
|
||||
u16 evAmount;
|
||||
u8 language;
|
||||
u32 otId = gUnknown_08610970[src->field_0_0].field_30;
|
||||
u32 personality = ((gUnknown_08610970[src->field_0_0].field_30 >> 8) | ((gUnknown_08610970[src->field_0_0].field_30 & 0xFF) << 8))
|
||||
+ src->mons[monId].species + src->field_2;
|
||||
u32 otId = gApprentices[src->id].otId;
|
||||
u32 personality = ((gApprentices[src->id].otId >> 8) | ((gApprentices[src->id].otId & 0xFF) << 8))
|
||||
+ src->monData[monId].species + src->number;
|
||||
|
||||
CreateMon(mon,
|
||||
src->mons[monId].species,
|
||||
GetFrontierEnemyMonLevel(src->field_0_1 - 1),
|
||||
src->monData[monId].species,
|
||||
GetFrontierEnemyMonLevel(src->lvlMode - 1),
|
||||
0x1F,
|
||||
TRUE,
|
||||
personality,
|
||||
TRUE,
|
||||
otId);
|
||||
|
||||
SetMonData(mon, MON_DATA_HELD_ITEM, &src->mons[monId].item);
|
||||
SetMonData(mon, MON_DATA_HELD_ITEM, &src->monData[monId].item);
|
||||
for (i = 0; i < 4; i++)
|
||||
SetMonMoveSlot(mon, src->mons[monId].moves[i], i);
|
||||
SetMonMoveSlot(mon, src->monData[monId].moves[i], i);
|
||||
|
||||
evAmount = MAX_TOTAL_EVS / NUM_STATS;
|
||||
for (i = 0; i < NUM_STATS; i++)
|
||||
@@ -2901,7 +2900,7 @@ void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u
|
||||
|
||||
language = src->language;
|
||||
SetMonData(mon, MON_DATA_LANGUAGE, &language);
|
||||
SetMonData(mon, MON_DATA_OT_NAME, sub_81A1650(src->field_0_0, language));
|
||||
SetMonData(mon, MON_DATA_OT_NAME, GetApprenticeNameInLanguage(src->id, language));
|
||||
CalculateMonStats(mon);
|
||||
}
|
||||
|
||||
@@ -3252,7 +3251,7 @@ u8 GetLevelFromMonExp(struct Pokemon *mon)
|
||||
u32 exp = GetMonData(mon, MON_DATA_EXP, NULL);
|
||||
s32 level = 1;
|
||||
|
||||
while (level <= MAX_MON_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp)
|
||||
while (level <= MAX_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp)
|
||||
level++;
|
||||
|
||||
return level - 1;
|
||||
@@ -3264,7 +3263,7 @@ u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon)
|
||||
u32 exp = GetBoxMonData(boxMon, MON_DATA_EXP, NULL);
|
||||
s32 level = 1;
|
||||
|
||||
while (level <= MAX_MON_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp)
|
||||
while (level <= MAX_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp)
|
||||
level++;
|
||||
|
||||
return level - 1;
|
||||
@@ -5146,7 +5145,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & 0x40) // raise level
|
||||
&& GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_MON_LEVEL)
|
||||
&& GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_LEVEL)
|
||||
{
|
||||
dataUnsigned = gExperienceTables[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1];
|
||||
SetMonData(mon, MON_DATA_EXP, &dataUnsigned);
|
||||
@@ -6431,12 +6430,12 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon)
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
|
||||
u8 nextLevel = GetMonData(mon, MON_DATA_LEVEL, 0) + 1;
|
||||
u32 expPoints = GetMonData(mon, MON_DATA_EXP, 0);
|
||||
if (expPoints > gExperienceTables[gBaseStats[species].growthRate][MAX_MON_LEVEL])
|
||||
if (expPoints > gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL])
|
||||
{
|
||||
expPoints = gExperienceTables[gBaseStats[species].growthRate][MAX_MON_LEVEL];
|
||||
expPoints = gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL];
|
||||
SetMonData(mon, MON_DATA_EXP, &expPoints);
|
||||
}
|
||||
if (nextLevel > MAX_MON_LEVEL || expPoints < gExperienceTables[gBaseStats[species].growthRate][nextLevel])
|
||||
if (nextLevel > MAX_LEVEL || expPoints < gExperienceTables[gBaseStats[species].growthRate][nextLevel])
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "pokemon_animation.h"
|
||||
#include "trig.h"
|
||||
#include "task.h"
|
||||
#include "blend_palette.h"
|
||||
#include "util.h"
|
||||
#include "constants/rgb.h"
|
||||
|
||||
struct UnkAnimStruct
|
||||
|
||||
@@ -2533,7 +2533,7 @@ static void DrawExperienceProgressBar(struct Pokemon *unused)
|
||||
u16 *r9;
|
||||
u8 i;
|
||||
|
||||
if (summary->level < MAX_MON_LEVEL)
|
||||
if (summary->level < MAX_LEVEL)
|
||||
{
|
||||
u32 expBetweenLevels = gExperienceTables[gBaseStats[summary->species].growthRate][summary->level + 1] - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level];
|
||||
u32 expSinceLastLevel = summary->exp - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level];
|
||||
@@ -3349,7 +3349,7 @@ static void PrintExpPointsNextLevel(void)
|
||||
offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2;
|
||||
SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 1, 0, 0);
|
||||
|
||||
if (sum->level < MAX_MON_LEVEL)
|
||||
if (sum->level < MAX_LEVEL)
|
||||
expToNextLevel = gExperienceTables[gBaseStats[sum->species].growthRate][sum->level + 1] - sum->exp;
|
||||
else
|
||||
expToNextLevel = 0;
|
||||
|
||||
+24
-24
@@ -83,7 +83,7 @@ struct PlayerRecordsEmerald
|
||||
/* 0x1124 */ struct EmeraldBattleTowerRecord battleTowerRecord;
|
||||
/* 0x1210 */ u16 unk_1210;
|
||||
/* 0x1214 */ LilycoveLady lilycoveLady;
|
||||
/* 0x1254 */ struct UnkRecordMixingStruct unk_1254[2];
|
||||
/* 0x1254 */ struct Apprentice apprentice[2];
|
||||
/* 0x12dc */ struct UnkRecordMixingStruct2 unk_12dc;
|
||||
/* 0x1434 */ u8 field_1434[0x10];
|
||||
}; // 0x1444
|
||||
@@ -134,8 +134,8 @@ static void sub_80E7B2C(const u8 *);
|
||||
static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *, size_t, u8, TVShow *);
|
||||
static void sub_80E7F68(u16 *item, u8 which);
|
||||
static void sub_80E7FF8(u8 taskId);
|
||||
static void sub_80E8110(struct UnkRecordMixingStruct *arg0, struct UnkRecordMixingStruct *arg1);
|
||||
static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg2);
|
||||
static void sub_80E8110(struct Apprentice *arg0, struct Apprentice *arg1);
|
||||
static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2);
|
||||
static void sub_80E89AC(struct UnkRecordMixingStruct2 *arg0, size_t arg1, u32 arg2);
|
||||
static void sub_80E89F8(struct RecordMixingDayCareMail *dst);
|
||||
static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src);
|
||||
@@ -199,7 +199,7 @@ static void SetSrcLookupPointers(void)
|
||||
gUnknown_03001148 = &gUnknown_02039F9C;
|
||||
sBattleTowerSave = &gSaveBlock2Ptr->frontier.battleTower;
|
||||
sLilycoveLadySave = &gSaveBlock1Ptr->lilycoveLady;
|
||||
gUnknown_03001154 = gSaveBlock2Ptr->field_DC;
|
||||
gUnknown_03001154 = gSaveBlock2Ptr->apprentices;
|
||||
sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->frontier.battleTower;
|
||||
}
|
||||
|
||||
@@ -265,7 +265,7 @@ static void PrepareExchangePacket(void)
|
||||
if (GetMultiplayerId() == 0)
|
||||
sSentRecord->emerald.unk_1210 = GetRecordMixingGift();
|
||||
|
||||
sub_80E8110(sSentRecord->emerald.unk_1254, gUnknown_03001154);
|
||||
sub_80E8110(sSentRecord->emerald.apprentice, gUnknown_03001154);
|
||||
sub_80E8260(&sSentRecord->emerald.unk_12dc);
|
||||
}
|
||||
}
|
||||
@@ -298,7 +298,7 @@ static void ReceiveExchangePacket(u32 which)
|
||||
ReceiveBattleTowerData(&sReceivedRecords->emerald.battleTowerRecord, sizeof(struct PlayerRecordsEmerald), which);
|
||||
sub_80E7F68(&sReceivedRecords->emerald.unk_1210, which);
|
||||
ReceiveLilycoveLadyData(&sReceivedRecords->emerald.lilycoveLady, sizeof(struct PlayerRecordsEmerald), which);
|
||||
sub_80E8468(sReceivedRecords->emerald.unk_1254, sizeof(struct PlayerRecordsEmerald), (u8) which);
|
||||
ReceiveApprenticeData(sReceivedRecords->emerald.apprentice, sizeof(struct PlayerRecordsEmerald), (u8) which);
|
||||
sub_80E89AC(&sReceivedRecords->emerald.unk_12dc, sizeof(struct PlayerRecordsEmerald), (u8) which);
|
||||
}
|
||||
}
|
||||
@@ -1551,13 +1551,13 @@ static void sub_80E7FF8(u8 taskId)
|
||||
|
||||
// New Emerald functions
|
||||
|
||||
static void sub_80E8110(struct UnkRecordMixingStruct *dst, struct UnkRecordMixingStruct *src)
|
||||
static void sub_80E8110(struct Apprentice *dst, struct Apprentice *src)
|
||||
{
|
||||
s32 i, id;
|
||||
s32 var_2C, var_28, var_24, r8;
|
||||
|
||||
dst[0].field_38[0] = 0xFF;
|
||||
dst[1].field_38[0] = 0xFF;
|
||||
dst[0].playerName[0] = EOS;
|
||||
dst[1].playerName[0] = EOS;
|
||||
|
||||
dst[0] = src[0];
|
||||
|
||||
@@ -1567,8 +1567,8 @@ static void sub_80E8110(struct UnkRecordMixingStruct *dst, struct UnkRecordMixin
|
||||
r8 = 0;
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
id = ((i + gSaveBlock2Ptr->field_B2_1) % 3) + 1;
|
||||
if (src[id].field_38[0] != 0xFF)
|
||||
id = ((i + gSaveBlock2Ptr->playerApprentice.field_B2_1) % 3) + 1;
|
||||
if (src[id].playerName[0] != EOS)
|
||||
{
|
||||
if (ReadUnalignedWord(src[id].playerId) != ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId))
|
||||
{
|
||||
@@ -1597,11 +1597,11 @@ static void sub_80E8110(struct UnkRecordMixingStruct *dst, struct UnkRecordMixin
|
||||
case 2:
|
||||
if (Random2() > 0x3333)
|
||||
{
|
||||
dst[1] = src[gSaveBlock2Ptr->field_B2_1 + 1];
|
||||
dst[1] = src[gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
dst[1] = src[((gSaveBlock2Ptr->field_B2_1 + 1) % 3 + 1)];
|
||||
dst[1] = src[((gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1) % 3 + 1)];
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1646,14 +1646,14 @@ void sub_80E8260(struct UnkRecordMixingStruct2 *dst)
|
||||
}
|
||||
}
|
||||
|
||||
static bool32 sub_80E841C(struct UnkRecordMixingStruct *arg0, struct UnkRecordMixingStruct *arg1)
|
||||
static bool32 sub_80E841C(struct Apprentice *arg0, struct Apprentice *arg1)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (ReadUnalignedWord(arg0->playerId) == ReadUnalignedWord(arg1[i].playerId)
|
||||
&& arg0->field_0[2] == arg1[i].field_0[2])
|
||||
&& arg0->number == arg1[i].number)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1662,10 +1662,10 @@ static bool32 sub_80E841C(struct UnkRecordMixingStruct *arg0, struct UnkRecordMi
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg2)
|
||||
static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2)
|
||||
{
|
||||
s32 i, r7, r8;
|
||||
struct UnkRecordMixingStruct *structPtr;
|
||||
struct Apprentice *structPtr;
|
||||
u32 mixIndices[4];
|
||||
u32 structId;
|
||||
|
||||
@@ -1675,7 +1675,7 @@ static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg
|
||||
r8 = 0;
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
if (structPtr[i].field_38[0] != 0xFF && !sub_80E841C(&structPtr[i], gSaveBlock2Ptr->field_DC))
|
||||
if (structPtr[i].playerName[0] != EOS && !sub_80E841C(&structPtr[i], &gSaveBlock2Ptr->apprentices[0]))
|
||||
{
|
||||
r7++;
|
||||
r8 = i;
|
||||
@@ -1685,17 +1685,17 @@ static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg
|
||||
switch (r7)
|
||||
{
|
||||
case 1:
|
||||
structId = gSaveBlock2Ptr->field_B2_1 + 1;
|
||||
gSaveBlock2Ptr->field_DC[structId] = structPtr[r8];
|
||||
gSaveBlock2Ptr->field_B2_1 = (gSaveBlock2Ptr->field_B2_1 + 1) % 3;
|
||||
structId = gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1;
|
||||
gSaveBlock2Ptr->apprentices[structId] = structPtr[r8];
|
||||
gSaveBlock2Ptr->playerApprentice.field_B2_1 = (gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1) % 3;
|
||||
break;
|
||||
case 2:
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
structId = ((i ^ 1) + gSaveBlock2Ptr->field_B2_1) % 3 + 1;
|
||||
gSaveBlock2Ptr->field_DC[structId] = structPtr[i];
|
||||
structId = ((i ^ 1) + gSaveBlock2Ptr->playerApprentice.field_B2_1) % 3 + 1;
|
||||
gSaveBlock2Ptr->apprentices[structId] = structPtr[i];
|
||||
}
|
||||
gSaveBlock2Ptr->field_B2_1 = (gSaveBlock2Ptr->field_B2_1 + 2) % 3;
|
||||
gSaveBlock2Ptr->playerApprentice.field_B2_1 = (gSaveBlock2Ptr->playerApprentice.field_B2_1 + 2) % 3;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -1609,7 +1609,7 @@ void sub_80141A4(void)
|
||||
break;
|
||||
case 1:
|
||||
if (!FuncIsActiveTask(sub_80140E0))
|
||||
sub_80C4E74(GetMultiplayerId() ^ 1, CB2_ReturnToField);
|
||||
TrainerCard_ShowLinkCard(GetMultiplayerId() ^ 1, CB2_ReturnToField);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1646,7 +1646,7 @@ void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4)
|
||||
VarSet(VAR_0x4087, arg4);
|
||||
gFieldLinkPlayerCount = GetLinkPlayerCount();
|
||||
gUnknown_03005DB4 = GetMultiplayerId();
|
||||
sub_809D2BC();
|
||||
SetCableClubWarp();
|
||||
Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y);
|
||||
WarpIntoMap();
|
||||
}
|
||||
@@ -1675,7 +1675,7 @@ void sub_80143E4(void *arg0, bool32 arg1)
|
||||
{
|
||||
u16 *argAsU16Ptr = arg0;
|
||||
|
||||
sub_80C30A4(argAsU16Ptr);
|
||||
TrainerCard_GenerateCardForPlayer((struct TrainerCard *)argAsU16Ptr);
|
||||
if (arg1)
|
||||
argAsU16Ptr[48] = sub_801B39C();
|
||||
else
|
||||
|
||||
+3
-3
@@ -52,7 +52,7 @@
|
||||
typedef u16 (*SpecialFunc)(void);
|
||||
typedef void (*NativeFunc)(void);
|
||||
|
||||
extern u32 gUnknown_020375C0;
|
||||
extern const u8 *gUnknown_020375C0;
|
||||
|
||||
static EWRAM_DATA u32 gUnknown_020375C4 = 0;
|
||||
static EWRAM_DATA u16 sPauseCounter = 0;
|
||||
@@ -284,7 +284,7 @@ bool8 ScrCmd_callstd_if(struct ScriptContext *ctx)
|
||||
|
||||
bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
|
||||
{
|
||||
ScriptJump(ctx, (const u8 *)gUnknown_020375C0);
|
||||
ScriptJump(ctx, gUnknown_020375C0);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -2223,7 +2223,7 @@ bool8 ScrCmd_cmdCF(struct ScriptContext *ctx)
|
||||
|
||||
if (v1)
|
||||
{
|
||||
((u8*)gUnknown_020375C0) = ctx->scriptPtr;
|
||||
gUnknown_020375C0 = ctx->scriptPtr;
|
||||
ScriptJump(ctx, v1);
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
+3
-3
@@ -5,7 +5,7 @@
|
||||
|
||||
#define RAM_SCRIPT_MAGIC 51
|
||||
|
||||
extern u8* gUnknown_020375C0;
|
||||
extern const u8* gUnknown_020375C0;
|
||||
|
||||
extern bool32 sub_801B27C(void);
|
||||
|
||||
@@ -344,7 +344,7 @@ void ClearRamScript(void)
|
||||
CpuFill32(0, &gSaveBlock1Ptr->ramScript, sizeof(struct RamScript));
|
||||
}
|
||||
|
||||
bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId)
|
||||
bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId)
|
||||
{
|
||||
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
|
||||
|
||||
@@ -362,7 +362,7 @@ bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objec
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u8 *GetRamScript(u8 objectId, u8 *script)
|
||||
const u8 *GetRamScript(u8 objectId, const u8 *script)
|
||||
{
|
||||
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
|
||||
gUnknown_020375C0 = NULL;
|
||||
|
||||
+6
-6
@@ -548,7 +548,7 @@ void sub_80E933C(void)
|
||||
gSpecialVar_0x8006 = roomDecorPos[decorIdx] >> 4;
|
||||
gSpecialVar_0x8007 = roomDecorPos[decorIdx] & 0xF;
|
||||
metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7);
|
||||
if (MetatileBehavior_IsMB_B5(metatile) == TRUE || MetatileBehavior_IsMB_C3(metatile) == TRUE)
|
||||
if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatile) == TRUE || MetatileBehavior_IsLargeMatCenter(metatile) == TRUE)
|
||||
{
|
||||
gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].graphicsId + VAR_0x3F20;
|
||||
VarSet(gSpecialVar_Result, gDecorations[roomDecor[decorIdx]].tiles[0]);
|
||||
@@ -596,13 +596,13 @@ void sub_80E95D4(void)
|
||||
VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_0x4054))]);
|
||||
}
|
||||
|
||||
void sub_80E9608(struct Coords16 *coords, struct MapEvents *events)
|
||||
void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events)
|
||||
{
|
||||
s16 bgEventIdx;
|
||||
|
||||
for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++)
|
||||
{
|
||||
if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && coords->x == events->bgEvents[bgEventIdx].x + 7 && coords->y == events->bgEvents[bgEventIdx].y + 7)
|
||||
if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[bgEventIdx].x + 7 && position->y == events->bgEvents[bgEventIdx].y + 7)
|
||||
{
|
||||
sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId;
|
||||
break;
|
||||
@@ -610,9 +610,9 @@ void sub_80E9608(struct Coords16 *coords, struct MapEvents *events)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80E9668(struct Coords16 *coords, struct MapEvents *events)
|
||||
void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events)
|
||||
{
|
||||
sub_80E9608(coords, events);
|
||||
sub_80E9608(position, events);
|
||||
sub_80E8B6C();
|
||||
ScriptContext1_SetupScript(EventScript_275BB7);
|
||||
}
|
||||
@@ -1271,7 +1271,7 @@ void sub_80EA3E4(u8 taskId)
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (MetatileBehavior_IsMB_BE(behavior) == TRUE)
|
||||
else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE)
|
||||
{
|
||||
if (gUnknown_0203A01D == TRUE)
|
||||
{
|
||||
|
||||
Executable
+1232
File diff suppressed because it is too large
Load Diff
@@ -25,8 +25,6 @@
|
||||
#include "bg.h"
|
||||
#include "window.h"
|
||||
|
||||
extern u8 gOamLimit;
|
||||
|
||||
// Text
|
||||
extern const u8 gText_YouDontHaveThreeCoins[];
|
||||
extern const u8 gText_QuitTheGame[];
|
||||
|
||||
+50
-50
@@ -15,15 +15,15 @@
|
||||
|
||||
#define ALLOC_SPRITE_TILE(n) \
|
||||
{ \
|
||||
gSpriteTileAllocBitmap[(n) / 8] |= (1 << ((n) % 8)); \
|
||||
sSpriteTileAllocBitmap[(n) / 8] |= (1 << ((n) % 8)); \
|
||||
}
|
||||
|
||||
#define FREE_SPRITE_TILE(n) \
|
||||
{ \
|
||||
gSpriteTileAllocBitmap[(n) / 8] &= ~(1 << ((n) % 8)); \
|
||||
sSpriteTileAllocBitmap[(n) / 8] &= ~(1 << ((n) % 8)); \
|
||||
}
|
||||
|
||||
#define SPRITE_TILE_IS_ALLOCATED(n) ((gSpriteTileAllocBitmap[(n) / 8] >> ((n) % 8)) & 1)
|
||||
#define SPRITE_TILE_IS_ALLOCATED(n) ((sSpriteTileAllocBitmap[(n) / 8] >> ((n) % 8)) & 1)
|
||||
|
||||
|
||||
struct SpriteCopyRequest
|
||||
@@ -295,18 +295,18 @@ u32 gOamMatrixAllocBitmap;
|
||||
u8 gReservedSpritePaletteCount;
|
||||
|
||||
EWRAM_DATA struct Sprite gSprites[MAX_SPRITES + 1] = {0};
|
||||
EWRAM_DATA u16 gSpritePriorities[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA u8 gSpriteOrder[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA bool8 gShouldProcessSpriteCopyRequests = 0;
|
||||
EWRAM_DATA u8 gSpriteCopyRequestCount = 0;
|
||||
EWRAM_DATA struct SpriteCopyRequest gSpriteCopyRequests[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA static u16 sSpritePriorities[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA static u8 sSpriteOrder[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA static bool8 sShouldProcessSpriteCopyRequests = 0;
|
||||
EWRAM_DATA static u8 sSpriteCopyRequestCount = 0;
|
||||
EWRAM_DATA static struct SpriteCopyRequest sSpriteCopyRequests[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA u8 gOamLimit = 0;
|
||||
EWRAM_DATA u16 gReservedSpriteTileCount = 0;
|
||||
EWRAM_DATA u8 gSpriteTileAllocBitmap[128] = {0};
|
||||
EWRAM_DATA static u8 sSpriteTileAllocBitmap[128] = {0};
|
||||
EWRAM_DATA s16 gSpriteCoordOffsetX = 0;
|
||||
EWRAM_DATA s16 gSpriteCoordOffsetY = 0;
|
||||
EWRAM_DATA struct OamMatrix gOamMatrices[OAM_MATRIX_COUNT] = {0};
|
||||
EWRAM_DATA bool8 gAffineAnimsDisabled = 0;
|
||||
EWRAM_DATA bool8 gAffineAnimsDisabled = FALSE;
|
||||
|
||||
void ResetSpriteData(void)
|
||||
{
|
||||
@@ -350,7 +350,7 @@ void BuildOamBuffer(void)
|
||||
AddSpritesToOamBuffer();
|
||||
CopyMatricesToOamBuffer();
|
||||
gMain.oamLoadDisabled = temp;
|
||||
gShouldProcessSpriteCopyRequests = TRUE;
|
||||
sShouldProcessSpriteCopyRequests = TRUE;
|
||||
}
|
||||
|
||||
void UpdateOamCoords(void)
|
||||
@@ -382,7 +382,7 @@ void BuildSpritePriorities(void)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[i];
|
||||
u16 priority = sprite->subpriority | (sprite->oam.priority << 8);
|
||||
gSpritePriorities[i] = priority;
|
||||
sSpritePriorities[i] = priority;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -392,10 +392,10 @@ void SortSprites(void)
|
||||
for (i = 1; i < MAX_SPRITES; i++)
|
||||
{
|
||||
u8 j = i;
|
||||
struct Sprite *sprite1 = &gSprites[gSpriteOrder[i - 1]];
|
||||
struct Sprite *sprite2 = &gSprites[gSpriteOrder[i]];
|
||||
u16 sprite1Priority = gSpritePriorities[gSpriteOrder[i - 1]];
|
||||
u16 sprite2Priority = gSpritePriorities[gSpriteOrder[i]];
|
||||
struct Sprite *sprite1 = &gSprites[sSpriteOrder[i - 1]];
|
||||
struct Sprite *sprite2 = &gSprites[sSpriteOrder[i]];
|
||||
u16 sprite1Priority = sSpritePriorities[sSpriteOrder[i - 1]];
|
||||
u16 sprite2Priority = sSpritePriorities[sSpriteOrder[i]];
|
||||
s16 sprite1Y = sprite1->oam.y;
|
||||
s16 sprite2Y = sprite2->oam.y;
|
||||
|
||||
@@ -431,20 +431,20 @@ void SortSprites(void)
|
||||
&& ((sprite1Priority > sprite2Priority)
|
||||
|| (sprite1Priority == sprite2Priority && sprite1Y < sprite2Y)))
|
||||
{
|
||||
u8 temp = gSpriteOrder[j];
|
||||
gSpriteOrder[j] = gSpriteOrder[j - 1];
|
||||
gSpriteOrder[j - 1] = temp;
|
||||
u8 temp = sSpriteOrder[j];
|
||||
sSpriteOrder[j] = sSpriteOrder[j - 1];
|
||||
sSpriteOrder[j - 1] = temp;
|
||||
|
||||
// UB: If j equals 1, then j-- makes j equal 0.
|
||||
// Then, gSpriteOrder[-1] gets accessed below.
|
||||
// Then, sSpriteOrder[-1] gets accessed below.
|
||||
// Although this doesn't result in a bug in the ROM,
|
||||
// the behavior is undefined.
|
||||
j--;
|
||||
|
||||
sprite1 = &gSprites[gSpriteOrder[j - 1]];
|
||||
sprite2 = &gSprites[gSpriteOrder[j]];
|
||||
sprite1Priority = gSpritePriorities[gSpriteOrder[j - 1]];
|
||||
sprite2Priority = gSpritePriorities[gSpriteOrder[j]];
|
||||
sprite1 = &gSprites[sSpriteOrder[j - 1]];
|
||||
sprite2 = &gSprites[sSpriteOrder[j]];
|
||||
sprite1Priority = sSpritePriorities[sSpriteOrder[j - 1]];
|
||||
sprite2Priority = sSpritePriorities[sSpriteOrder[j]];
|
||||
sprite1Y = sprite1->oam.y;
|
||||
sprite2Y = sprite2->oam.y;
|
||||
|
||||
@@ -499,7 +499,7 @@ void AddSpritesToOamBuffer(void)
|
||||
|
||||
while (i < MAX_SPRITES)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[gSpriteOrder[i]];
|
||||
struct Sprite *sprite = &gSprites[sSpriteOrder[i]];
|
||||
if (sprite->inUse && !sprite->invisible && AddSpriteToOamBuffer(sprite, &oamIndex))
|
||||
return;
|
||||
i++;
|
||||
@@ -664,14 +664,14 @@ void ClearSpriteCopyRequests(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
gShouldProcessSpriteCopyRequests = FALSE;
|
||||
gSpriteCopyRequestCount = 0;
|
||||
sShouldProcessSpriteCopyRequests = FALSE;
|
||||
sSpriteCopyRequestCount = 0;
|
||||
|
||||
for (i = 0; i < MAX_SPRITE_COPY_REQUESTS; i++)
|
||||
{
|
||||
gSpriteCopyRequests[i].src = 0;
|
||||
gSpriteCopyRequests[i].dest = 0;
|
||||
gSpriteCopyRequests[i].size = 0;
|
||||
sSpriteCopyRequests[i].src = 0;
|
||||
sSpriteCopyRequests[i].dest = 0;
|
||||
sSpriteCopyRequests[i].size = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -779,17 +779,17 @@ u8 SpriteTileAllocBitmapOp(u16 bit, u8 op)
|
||||
if (op == 0)
|
||||
{
|
||||
val = ~(1 << val);
|
||||
gSpriteTileAllocBitmap[index] &= val;
|
||||
sSpriteTileAllocBitmap[index] &= val;
|
||||
}
|
||||
else if (op == 1)
|
||||
{
|
||||
val = (1 << val);
|
||||
gSpriteTileAllocBitmap[index] |= val;
|
||||
sSpriteTileAllocBitmap[index] |= val;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = 1 << shift;
|
||||
retVal &= gSpriteTileAllocBitmap[index];
|
||||
retVal &= sSpriteTileAllocBitmap[index];
|
||||
}
|
||||
|
||||
return retVal;
|
||||
@@ -801,40 +801,40 @@ void SpriteCallbackDummy(struct Sprite *sprite)
|
||||
|
||||
void ProcessSpriteCopyRequests(void)
|
||||
{
|
||||
if (gShouldProcessSpriteCopyRequests)
|
||||
if (sShouldProcessSpriteCopyRequests)
|
||||
{
|
||||
u8 i = 0;
|
||||
|
||||
while (gSpriteCopyRequestCount > 0)
|
||||
while (sSpriteCopyRequestCount > 0)
|
||||
{
|
||||
CpuCopy16(gSpriteCopyRequests[i].src, gSpriteCopyRequests[i].dest, gSpriteCopyRequests[i].size);
|
||||
gSpriteCopyRequestCount--;
|
||||
CpuCopy16(sSpriteCopyRequests[i].src, sSpriteCopyRequests[i].dest, sSpriteCopyRequests[i].size);
|
||||
sSpriteCopyRequestCount--;
|
||||
i++;
|
||||
}
|
||||
|
||||
gShouldProcessSpriteCopyRequests = FALSE;
|
||||
sShouldProcessSpriteCopyRequests = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images)
|
||||
{
|
||||
if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
|
||||
if (sSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
|
||||
{
|
||||
gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data;
|
||||
gSpriteCopyRequests[gSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
|
||||
gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size;
|
||||
gSpriteCopyRequestCount++;
|
||||
sSpriteCopyRequests[sSpriteCopyRequestCount].src = images[index].data;
|
||||
sSpriteCopyRequests[sSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
|
||||
sSpriteCopyRequests[sSpriteCopyRequestCount].size = images[index].size;
|
||||
sSpriteCopyRequestCount++;
|
||||
}
|
||||
}
|
||||
|
||||
void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size)
|
||||
{
|
||||
if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
|
||||
if (sSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
|
||||
{
|
||||
gSpriteCopyRequests[gSpriteCopyRequestCount].src = src;
|
||||
gSpriteCopyRequests[gSpriteCopyRequestCount].dest = dest;
|
||||
gSpriteCopyRequests[gSpriteCopyRequestCount].size = size;
|
||||
gSpriteCopyRequestCount++;
|
||||
sSpriteCopyRequests[sSpriteCopyRequestCount].src = src;
|
||||
sSpriteCopyRequests[sSpriteCopyRequestCount].dest = dest;
|
||||
sSpriteCopyRequests[sSpriteCopyRequestCount].size = size;
|
||||
sSpriteCopyRequestCount++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -869,7 +869,7 @@ void ResetAllSprites(void)
|
||||
for (i = 0; i < MAX_SPRITES; i++)
|
||||
{
|
||||
ResetSprite(&gSprites[i]);
|
||||
gSpriteOrder[i] = i;
|
||||
sSpriteOrder[i] = i;
|
||||
}
|
||||
|
||||
ResetSprite(&gSprites[i]);
|
||||
@@ -1414,7 +1414,7 @@ void ResetAffineAnimData(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
gAffineAnimsDisabled = 0;
|
||||
gAffineAnimsDisabled = FALSE;
|
||||
gOamMatrixAllocBitmap = 0;
|
||||
|
||||
ResetOamMatrices();
|
||||
|
||||
+2
-2
@@ -88,7 +88,7 @@ extern void CB2_PartyMenuFromStartMenu(void);
|
||||
extern void CB2_PokeNav(void);
|
||||
extern void sub_80C4DDC(void (*)(void));
|
||||
extern void sub_80C51C4(void (*)(void));
|
||||
extern void sub_80C4E74(u8, void (*)(void));
|
||||
extern void TrainerCard_ShowLinkCard(u8, void (*)(void));
|
||||
extern void ScriptUnfreezeEventObjects(void);
|
||||
extern void sub_81A9EC8(void);
|
||||
extern void save_serialize_map(void);
|
||||
@@ -750,7 +750,7 @@ static bool8 StartMenuLinkModePlayerNameCallback(void)
|
||||
{
|
||||
play_some_sound();
|
||||
overworld_free_bg_tilemaps();
|
||||
sub_80C4E74(gUnknown_03005DB4, CB2_ReturnToFieldWithOpenMenu);
|
||||
TrainerCard_ShowLinkCard(gUnknown_03005DB4, CB2_ReturnToFieldWithOpenMenu);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+52
-52
@@ -20,20 +20,20 @@ static const s32 sPowersOfTen[] =
|
||||
1000000000,
|
||||
};
|
||||
|
||||
extern u8 gExpandedPlaceholder_Empty[];
|
||||
extern u8 gExpandedPlaceholder_Kun[];
|
||||
extern u8 gExpandedPlaceholder_Chan[];
|
||||
extern u8 gExpandedPlaceholder_Sapphire[];
|
||||
extern u8 gExpandedPlaceholder_Ruby[];
|
||||
extern u8 gExpandedPlaceholder_Emerald[];
|
||||
extern u8 gExpandedPlaceholder_Aqua[];
|
||||
extern u8 gExpandedPlaceholder_Magma[];
|
||||
extern u8 gExpandedPlaceholder_Archie[];
|
||||
extern u8 gExpandedPlaceholder_Maxie[];
|
||||
extern u8 gExpandedPlaceholder_Kyogre[];
|
||||
extern u8 gExpandedPlaceholder_Groudon[];
|
||||
extern u8 gExpandedPlaceholder_Brendan[];
|
||||
extern u8 gExpandedPlaceholder_May[];
|
||||
extern const u8 gExpandedPlaceholder_Empty[];
|
||||
extern const u8 gExpandedPlaceholder_Kun[];
|
||||
extern const u8 gExpandedPlaceholder_Chan[];
|
||||
extern const u8 gExpandedPlaceholder_Sapphire[];
|
||||
extern const u8 gExpandedPlaceholder_Ruby[];
|
||||
extern const u8 gExpandedPlaceholder_Emerald[];
|
||||
extern const u8 gExpandedPlaceholder_Aqua[];
|
||||
extern const u8 gExpandedPlaceholder_Magma[];
|
||||
extern const u8 gExpandedPlaceholder_Archie[];
|
||||
extern const u8 gExpandedPlaceholder_Maxie[];
|
||||
extern const u8 gExpandedPlaceholder_Kyogre[];
|
||||
extern const u8 gExpandedPlaceholder_Groudon[];
|
||||
extern const u8 gExpandedPlaceholder_Brendan[];
|
||||
extern const u8 gExpandedPlaceholder_May[];
|
||||
|
||||
u8 *StringCopy10(u8 *dest, const u8 *src)
|
||||
{
|
||||
@@ -348,7 +348,7 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
|
||||
{
|
||||
u8 c = *src++;
|
||||
u8 placeholderId;
|
||||
u8 *expandedString;
|
||||
const u8 *expandedString;
|
||||
|
||||
switch (c)
|
||||
{
|
||||
@@ -383,9 +383,9 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
|
||||
case EOS:
|
||||
*dest = EOS;
|
||||
return dest;
|
||||
case 0xFA:
|
||||
case 0xFB:
|
||||
case 0xFE:
|
||||
case CHAR_PROMPT_SCROLL:
|
||||
case CHAR_PROMPT_CLEAR:
|
||||
case CHAR_NEWLINE:
|
||||
default:
|
||||
*dest++ = c;
|
||||
}
|
||||
@@ -394,8 +394,8 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
|
||||
|
||||
u8 *StringBraille(u8 *dest, const u8 *src)
|
||||
{
|
||||
u8 setBrailleFont[] = { 0xFC, 0x06, 0x06, 0xFF };
|
||||
u8 gotoLine2[] = { 0xFE, 0xFC, 0x0E, 0x02, 0xFF };
|
||||
u8 setBrailleFont[] = { EXT_CTRL_CODE_BEGIN, 0x06, 0x06, EOS };
|
||||
u8 gotoLine2[] = { CHAR_NEWLINE, EXT_CTRL_CODE_BEGIN, 0x0E, 0x02, EOS };
|
||||
|
||||
dest = StringCopy(dest, setBrailleFont);
|
||||
|
||||
@@ -408,7 +408,7 @@ u8 *StringBraille(u8 *dest, const u8 *src)
|
||||
case EOS:
|
||||
*dest = c;
|
||||
return dest;
|
||||
case 0xFE:
|
||||
case CHAR_NEWLINE:
|
||||
dest = StringCopy(dest, gotoLine2);
|
||||
break;
|
||||
default:
|
||||
@@ -419,32 +419,32 @@ u8 *StringBraille(u8 *dest, const u8 *src)
|
||||
}
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_UnknownStringVar(void)
|
||||
static const u8 *ExpandPlaceholder_UnknownStringVar(void)
|
||||
{
|
||||
return gUnknownStringVar;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_PlayerName(void)
|
||||
static const u8 *ExpandPlaceholder_PlayerName(void)
|
||||
{
|
||||
return gSaveBlock2Ptr->playerName;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_StringVar1(void)
|
||||
static const u8 *ExpandPlaceholder_StringVar1(void)
|
||||
{
|
||||
return gStringVar1;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_StringVar2(void)
|
||||
static const u8 *ExpandPlaceholder_StringVar2(void)
|
||||
{
|
||||
return gStringVar2;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_StringVar3(void)
|
||||
static const u8 *ExpandPlaceholder_StringVar3(void)
|
||||
{
|
||||
return gStringVar3;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_KunChan(void)
|
||||
static const u8 *ExpandPlaceholder_KunChan(void)
|
||||
{
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
return gExpandedPlaceholder_Kun;
|
||||
@@ -452,7 +452,7 @@ static u8 *ExpandPlaceholder_KunChan(void)
|
||||
return gExpandedPlaceholder_Chan;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_RivalName(void)
|
||||
static const u8 *ExpandPlaceholder_RivalName(void)
|
||||
{
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
return gExpandedPlaceholder_May;
|
||||
@@ -460,44 +460,44 @@ static u8 *ExpandPlaceholder_RivalName(void)
|
||||
return gExpandedPlaceholder_Brendan;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_Version(void)
|
||||
static const u8 *ExpandPlaceholder_Version(void)
|
||||
{
|
||||
return gExpandedPlaceholder_Emerald;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_Aqua(void)
|
||||
static const u8 *ExpandPlaceholder_Aqua(void)
|
||||
{
|
||||
return gExpandedPlaceholder_Aqua;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_Magma(void)
|
||||
static const u8 *ExpandPlaceholder_Magma(void)
|
||||
{
|
||||
return gExpandedPlaceholder_Magma;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_Archie(void)
|
||||
static const u8 *ExpandPlaceholder_Archie(void)
|
||||
{
|
||||
return gExpandedPlaceholder_Archie;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_Maxie(void)
|
||||
static const u8 *ExpandPlaceholder_Maxie(void)
|
||||
{
|
||||
return gExpandedPlaceholder_Maxie;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_Kyogre(void)
|
||||
static const u8 *ExpandPlaceholder_Kyogre(void)
|
||||
{
|
||||
return gExpandedPlaceholder_Kyogre;
|
||||
}
|
||||
|
||||
static u8 *ExpandPlaceholder_Groudon(void)
|
||||
static const u8 *ExpandPlaceholder_Groudon(void)
|
||||
{
|
||||
return gExpandedPlaceholder_Groudon;
|
||||
}
|
||||
|
||||
u8 *GetExpandedPlaceholder(u32 id)
|
||||
const u8 *GetExpandedPlaceholder(u32 id)
|
||||
{
|
||||
typedef u8 *(*ExpandPlaceholderFunc)(void);
|
||||
typedef const u8 *(*ExpandPlaceholderFunc)(void);
|
||||
|
||||
static const ExpandPlaceholderFunc funcs[] =
|
||||
{
|
||||
@@ -574,7 +574,7 @@ u8 *StringCopyN_Multibyte(u8 *dest, u8 *src, u32 n)
|
||||
else
|
||||
{
|
||||
*dest++ = *src++;
|
||||
if (*(src - 1) == 0xF9)
|
||||
if (*(src - 1) == CHAR_SPECIAL_F9)
|
||||
*dest++ = *src++;
|
||||
}
|
||||
}
|
||||
@@ -589,7 +589,7 @@ u32 StringLength_Multibyte(u8 *str)
|
||||
|
||||
while (*str != EOS)
|
||||
{
|
||||
if (*str == 0xF9)
|
||||
if (*str == CHAR_SPECIAL_F9)
|
||||
str++;
|
||||
str++;
|
||||
length++;
|
||||
@@ -600,7 +600,7 @@ u32 StringLength_Multibyte(u8 *str)
|
||||
|
||||
u8 *WriteColorChangeControlCode(u8 *dest, u32 colorType, u8 color)
|
||||
{
|
||||
*dest = 0xFC;
|
||||
*dest = EXT_CTRL_CODE_BEGIN;
|
||||
dest++;
|
||||
|
||||
switch (colorType)
|
||||
@@ -630,7 +630,7 @@ bool32 IsStringJapanese(u8 *str)
|
||||
while (*str != EOS)
|
||||
{
|
||||
if (*str <= 0xA0)
|
||||
if (*str != 0)
|
||||
if (*str != CHAR_SPACE)
|
||||
return TRUE;
|
||||
str++;
|
||||
}
|
||||
@@ -645,7 +645,7 @@ bool32 sub_800924C(u8 *str, s32 n)
|
||||
for (i = 0; *str != EOS && i < n; i++)
|
||||
{
|
||||
if (*str <= 0xA0)
|
||||
if (*str != 0)
|
||||
if (*str != CHAR_SPACE)
|
||||
return TRUE;
|
||||
str++;
|
||||
}
|
||||
@@ -692,7 +692,7 @@ u8 GetExtCtrlCodeLength(u8 code)
|
||||
|
||||
static const u8 *SkipExtCtrlCode(const u8 *s)
|
||||
{
|
||||
while (*s == 0xFC)
|
||||
while (*s == EXT_CTRL_CODE_BEGIN)
|
||||
{
|
||||
s++;
|
||||
s += GetExtCtrlCodeLength(*s);
|
||||
@@ -716,11 +716,11 @@ s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2)
|
||||
if (*str1 < *str2)
|
||||
{
|
||||
retVal = -1;
|
||||
if (*str2 == 0xFF)
|
||||
if (*str2 == EOS)
|
||||
retVal = 1;
|
||||
}
|
||||
|
||||
if (*str1 == 0xFF)
|
||||
if (*str1 == EOS)
|
||||
return retVal;
|
||||
|
||||
str1++;
|
||||
@@ -729,7 +729,7 @@ s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2)
|
||||
|
||||
retVal = 1;
|
||||
|
||||
if (*str1 == 0xFF)
|
||||
if (*str1 == EOS)
|
||||
retVal = -1;
|
||||
|
||||
return retVal;
|
||||
@@ -743,9 +743,9 @@ void ConvertInternationalString(u8 *s, u8 language)
|
||||
|
||||
StripExtCtrlCodes(s);
|
||||
i = StringLength(s);
|
||||
s[i++] = 0xFC;
|
||||
s[i++] = EXT_CTRL_CODE_BEGIN;
|
||||
s[i++] = 22;
|
||||
s[i++] = 0xFF;
|
||||
s[i++] = EOS;
|
||||
|
||||
i--;
|
||||
|
||||
@@ -755,7 +755,7 @@ void ConvertInternationalString(u8 *s, u8 language)
|
||||
i--;
|
||||
}
|
||||
|
||||
s[0] = 0xFC;
|
||||
s[0] = EXT_CTRL_CODE_BEGIN;
|
||||
s[1] = 21;
|
||||
}
|
||||
}
|
||||
@@ -764,9 +764,9 @@ void StripExtCtrlCodes(u8 *str)
|
||||
{
|
||||
u16 srcIndex = 0;
|
||||
u16 destIndex = 0;
|
||||
while (str[srcIndex] != 0xFF)
|
||||
while (str[srcIndex] != EOS)
|
||||
{
|
||||
if (str[srcIndex] == 0xFC)
|
||||
if (str[srcIndex] == EXT_CTRL_CODE_BEGIN)
|
||||
{
|
||||
srcIndex++;
|
||||
srcIndex += GetExtCtrlCodeLength(str[srcIndex]);
|
||||
@@ -776,5 +776,5 @@ void StripExtCtrlCodes(u8 *str)
|
||||
str[destIndex++] = str[srcIndex++];
|
||||
}
|
||||
}
|
||||
str[destIndex] = 0xFF;
|
||||
str[destIndex] = EOS;
|
||||
}
|
||||
|
||||
+3
-3
@@ -349,9 +349,9 @@ const u8 gText_Var1ThrownAway[] = _("The {STR_VAR_1}\nwas thrown away.");
|
||||
const u8 gText_Var1AteTheVar2[] = _("{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}");
|
||||
const u8 gText_Var1HappilyAteVar2[] = _("{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}");
|
||||
const u8 gText_Var1DisdainfullyAteVar2[] = _("{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}");
|
||||
const u8 gUnknown_085E93C7[] = _("BUY");
|
||||
const u8 gUnknown_085E93CB[] = _("SELL");
|
||||
const u8 gUnknown_085E93D0[] = _("QUIT");
|
||||
const u8 gText_ShopBuy[] = _("BUY");
|
||||
const u8 gText_ShopSell[] = _("SELL");
|
||||
const u8 gText_ShopQuit[] = _("QUIT");
|
||||
const u8 gText_InBagVar1[] = _("IN BAG: {STR_VAR_1}");
|
||||
const u8 gText_QuitShopping[] = _("Quit shopping.");
|
||||
const u8 gText_Var1CertainlyHowMany[] = _("{STR_VAR_1}? Certainly.\nHow many would you like?");
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@
|
||||
struct Task gTasks[NUM_TASKS];
|
||||
|
||||
static void InsertTask(u8 newTaskId);
|
||||
static u8 FindFirstActiveTask();
|
||||
static u8 FindFirstActiveTask(void);
|
||||
|
||||
void ResetTasks(void)
|
||||
{
|
||||
@@ -124,7 +124,7 @@ void RunTasks(void)
|
||||
}
|
||||
}
|
||||
|
||||
static u8 FindFirstActiveTask()
|
||||
static u8 FindFirstActiveTask(void)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
|
||||
+37
-39
@@ -9,11 +9,11 @@
|
||||
#include "window.h"
|
||||
#include "text.h"
|
||||
#include "blit.h"
|
||||
#include "dynamic_placeholder_text_util.h"
|
||||
|
||||
extern u8 GetKeypadIconWidth(u8 keypadIconId);
|
||||
extern u16 Font6Func(struct TextPrinter *textPrinter);
|
||||
extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese);
|
||||
extern u8* DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 a1);
|
||||
extern int sub_8197964();
|
||||
|
||||
EWRAM_DATA struct TextPrinter gTempTextPrinter = {0};
|
||||
@@ -24,8 +24,6 @@ static u16 gLastTextBgColor;
|
||||
static u16 gLastTextFgColor;
|
||||
static u16 gLastTextShadowColor;
|
||||
|
||||
extern struct MusicPlayerInfo gMPlayInfo_BGM;
|
||||
|
||||
const struct FontInfo *gFonts;
|
||||
u8 gUnknown_03002F84;
|
||||
u8 gUnknown_03002F90[0x20];
|
||||
@@ -3095,13 +3093,13 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
|
||||
temp = strLocal[strPos++];
|
||||
switch (temp)
|
||||
{
|
||||
case 0xFE:
|
||||
case 0xFF:
|
||||
case CHAR_NEWLINE:
|
||||
case EOS:
|
||||
lineWidths[line] = width;
|
||||
width = 0;
|
||||
line++;
|
||||
break;
|
||||
case 0xFC:
|
||||
case EXT_CTRL_CODE_BEGIN:
|
||||
temp2 = strLocal[strPos++];
|
||||
switch (temp2)
|
||||
{
|
||||
@@ -3135,21 +3133,21 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xF7:
|
||||
case 0xFD:
|
||||
case CHAR_SPECIAL_F7:
|
||||
case PLACEHOLDER_BEGIN:
|
||||
++strPos;
|
||||
break;
|
||||
case 0xFA:
|
||||
case 0xFB:
|
||||
case CHAR_PROMPT_SCROLL:
|
||||
case CHAR_PROMPT_CLEAR:
|
||||
break;
|
||||
case 0xF8:
|
||||
case 0xF9:
|
||||
case CHAR_SPECIAL_F8:
|
||||
case CHAR_SPECIAL_F9:
|
||||
++strPos;
|
||||
default:
|
||||
++width;
|
||||
break;
|
||||
}
|
||||
} while (temp != 0xFF);
|
||||
} while (temp != EOS);
|
||||
|
||||
for (width = 0, strPos = 0; strPos < 8; ++strPos)
|
||||
{
|
||||
@@ -3170,7 +3168,7 @@ u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32)
|
||||
return gGlyphWidthFuncs[i].func;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
@@ -3181,7 +3179,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
s32 result;
|
||||
int localLetterSpacing;
|
||||
u32 lineWidth;
|
||||
u8 *bufferPointer;
|
||||
const u8 *bufferPointer;
|
||||
int glyphWidth;
|
||||
u32 width;
|
||||
|
||||
@@ -3201,16 +3199,16 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
lineWidth = 0;
|
||||
bufferPointer = 0;
|
||||
|
||||
while (*str != 0xFF)
|
||||
while (*str != EOS)
|
||||
{
|
||||
switch (*str)
|
||||
{
|
||||
case 0xFE:
|
||||
case CHAR_NEWLINE:
|
||||
if (lineWidth > width)
|
||||
width = lineWidth;
|
||||
lineWidth = 0;
|
||||
break;
|
||||
case 0xFD:
|
||||
case PLACEHOLDER_BEGIN:
|
||||
switch (*++str)
|
||||
{
|
||||
case 0x2:
|
||||
@@ -3225,10 +3223,10 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
case 0xF7:
|
||||
case CHAR_SPECIAL_F7:
|
||||
if (bufferPointer == NULL)
|
||||
bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
|
||||
while (*bufferPointer != 0xFF)
|
||||
while (*bufferPointer != EOS)
|
||||
{
|
||||
glyphWidth = func(*bufferPointer++, isJapanese);
|
||||
if (minGlyphWidth > 0)
|
||||
@@ -3240,13 +3238,13 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
else
|
||||
{
|
||||
lineWidth += glyphWidth;
|
||||
if (isJapanese && str[1] != 0xFF)
|
||||
if (isJapanese && str[1] != EOS)
|
||||
lineWidth += localLetterSpacing;
|
||||
}
|
||||
}
|
||||
bufferPointer = 0;
|
||||
break;
|
||||
case 0xFC:
|
||||
case EXT_CTRL_CODE_BEGIN:
|
||||
switch (*++str)
|
||||
{
|
||||
case 0x4:
|
||||
@@ -3299,9 +3297,9 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xF8:
|
||||
case 0xF9:
|
||||
if (*str == 0xF9)
|
||||
case CHAR_SPECIAL_F8:
|
||||
case CHAR_SPECIAL_F9:
|
||||
if (*str == CHAR_SPECIAL_F9)
|
||||
glyphWidth = func(*++str | 0x100, isJapanese);
|
||||
else
|
||||
glyphWidth = GetKeypadIconWidth(*++str);
|
||||
@@ -3315,12 +3313,12 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
else
|
||||
{
|
||||
lineWidth += glyphWidth;
|
||||
if (isJapanese && str[1] != 0xFF)
|
||||
if (isJapanese && str[1] != EOS)
|
||||
lineWidth += localLetterSpacing;
|
||||
}
|
||||
break;
|
||||
case 0xFA:
|
||||
case 0xFB:
|
||||
case CHAR_PROMPT_SCROLL:
|
||||
case CHAR_PROMPT_CLEAR:
|
||||
break;
|
||||
default:
|
||||
glyphWidth = func(*str, isJapanese);
|
||||
@@ -3333,7 +3331,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
else
|
||||
{
|
||||
lineWidth += glyphWidth;
|
||||
if (isJapanese && str[1] != 0xFF)
|
||||
if (isJapanese && str[1] != EOS)
|
||||
lineWidth += localLetterSpacing;
|
||||
}
|
||||
break;
|
||||
@@ -3372,7 +3370,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
|
||||
temp = strLocal[strPos++];
|
||||
switch (temp)
|
||||
{
|
||||
case 0xFC:
|
||||
case EXT_CTRL_CODE_BEGIN:
|
||||
temp2 = strLocal[strPos++];
|
||||
switch (temp2)
|
||||
{
|
||||
@@ -3421,16 +3419,16 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 0xF7:
|
||||
case 0xF8:
|
||||
case 0xF9:
|
||||
case 0xFD:
|
||||
case CHAR_SPECIAL_F7:
|
||||
case CHAR_SPECIAL_F8:
|
||||
case CHAR_SPECIAL_F9:
|
||||
case PLACEHOLDER_BEGIN:
|
||||
++strPos;
|
||||
break;
|
||||
case 0xFA:
|
||||
case 0xFB:
|
||||
case 0xFE:
|
||||
case 0xFF:
|
||||
case CHAR_PROMPT_SCROLL:
|
||||
case CHAR_PROMPT_CLEAR:
|
||||
case CHAR_NEWLINE:
|
||||
case EOS:
|
||||
break;
|
||||
default:
|
||||
switch (fontId)
|
||||
@@ -3450,7 +3448,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (temp != 0xFF);
|
||||
while (temp != EOS);
|
||||
|
||||
RestoreTextColors(&colorBackup[0], &colorBackup[1], &colorBackup[2]);
|
||||
return 1;
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
// Includes
|
||||
#include "global.h"
|
||||
#include "palette.h"
|
||||
#include "blend_palette.h"
|
||||
#include "util.h"
|
||||
#include "battle_transition.h"
|
||||
#include "task.h"
|
||||
#include "battle_transition.h"
|
||||
|
||||
@@ -936,7 +936,7 @@ void GabbyAndTyBeforeInterview(void)
|
||||
{
|
||||
gSaveBlock1Ptr->gabbyAndTyData.battleNum ++;
|
||||
}
|
||||
gSaveBlock1Ptr->gabbyAndTyData.battleTookMoreThanOneTurn = gBattleResults.unk5_0;
|
||||
gSaveBlock1Ptr->gabbyAndTyData.battleTookMoreThanOneTurn = gBattleResults.playerMonWasDamaged;
|
||||
if (gBattleResults.playerFaintCounter != 0)
|
||||
{
|
||||
gSaveBlock1Ptr->gabbyAndTyData.playerLostAMon = TRUE;
|
||||
@@ -1580,7 +1580,7 @@ void SaveRecordedItemPurchasesForTVShow(void)
|
||||
if (sCurTVShowSlot != -1 && HasMixableShowAlreadyBeenSpawnedWithPlayerID(TVSHOW_SMART_SHOPPER, FALSE) != TRUE)
|
||||
{
|
||||
TV_SortPurchasesByQuantity();
|
||||
if (gUnknown_02039F80[0].quantity >= 20)
|
||||
if (gMartPurchaseHistory[0].quantity >= 20)
|
||||
{
|
||||
show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot];
|
||||
show->smartshopperShow.kind = TVSHOW_SMART_SHOPPER;
|
||||
@@ -1588,8 +1588,8 @@ void SaveRecordedItemPurchasesForTVShow(void)
|
||||
show->smartshopperShow.shopLocation = gMapHeader.regionMapSectionId;
|
||||
for (i = 0; i < 3; i ++)
|
||||
{
|
||||
show->smartshopperShow.itemIds[i] = gUnknown_02039F80[i].itemId;
|
||||
show->smartshopperShow.itemAmounts[i] = gUnknown_02039F80[i].quantity;
|
||||
show->smartshopperShow.itemIds[i] = gMartPurchaseHistory[i].itemId;
|
||||
show->smartshopperShow.itemAmounts[i] = gMartPurchaseHistory[i].quantity;
|
||||
}
|
||||
show->smartshopperShow.priceReduced = GetPriceReduction(1);
|
||||
StringCopy(show->smartshopperShow.playerName, gSaveBlock2Ptr->playerName);
|
||||
@@ -2992,14 +2992,14 @@ void TV_SortPurchasesByQuantity(void)
|
||||
{
|
||||
for (j = i + 1; j < 3; j ++)
|
||||
{
|
||||
if (gUnknown_02039F80[i].quantity < gUnknown_02039F80[j].quantity)
|
||||
if (gMartPurchaseHistory[i].quantity < gMartPurchaseHistory[j].quantity)
|
||||
{
|
||||
tmpId = gUnknown_02039F80[i].itemId;
|
||||
tmpQn = gUnknown_02039F80[i].quantity;
|
||||
gUnknown_02039F80[i].itemId = gUnknown_02039F80[j].itemId;
|
||||
gUnknown_02039F80[i].quantity = gUnknown_02039F80[j].quantity;
|
||||
gUnknown_02039F80[j].itemId = tmpId;
|
||||
gUnknown_02039F80[j].quantity = tmpQn;
|
||||
tmpId = gMartPurchaseHistory[i].itemId;
|
||||
tmpQn = gMartPurchaseHistory[i].quantity;
|
||||
gMartPurchaseHistory[i].itemId = gMartPurchaseHistory[j].itemId;
|
||||
gMartPurchaseHistory[i].quantity = gMartPurchaseHistory[j].quantity;
|
||||
gMartPurchaseHistory[j].itemId = tmpId;
|
||||
gMartPurchaseHistory[j].quantity = tmpQn;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+18
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "util.h"
|
||||
#include "sprite.h"
|
||||
#include "palette.h"
|
||||
|
||||
const u32 gBitTable[] =
|
||||
{
|
||||
@@ -258,3 +259,20 @@ u32 CalcByteArraySum(const u8* data, u32 length)
|
||||
sum += data[i];
|
||||
return sum;
|
||||
}
|
||||
|
||||
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor)
|
||||
{
|
||||
u16 i;
|
||||
for (i = 0; i < numEntries; i++)
|
||||
{
|
||||
u16 index = i + palOffset;
|
||||
struct PlttData *data1 = (struct PlttData *)&gPlttBufferUnfaded[index];
|
||||
s8 r = data1->r;
|
||||
s8 g = data1->g;
|
||||
s8 b = data1->b;
|
||||
struct PlttData *data2 = (struct PlttData *)&blendColor;
|
||||
gPlttBufferFaded[index] = ((r + (((data2->r - r) * coeff) >> 4)) << 0)
|
||||
| ((g + (((data2->g - g) * coeff) >> 4)) << 5)
|
||||
| ((b + (((data2->b - b) * coeff) >> 4)) << 10);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ EWRAM_DATA static u16 sWindowSize = 0;
|
||||
static u8 GetNumActiveWindowsOnBg(u8 bgId);
|
||||
static u8 GetNumActiveWindowsOnBg8Bit(u8 bgId);
|
||||
|
||||
static const struct WindowTemplate sDummyWindowTemplate = {0xFF, 0, 0, 0, 0, 0, 0};
|
||||
static const struct WindowTemplate sDummyWindowTemplate = DUMMY_WIN_TEMPLATE;
|
||||
|
||||
static void nullsub_8(void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user