Flatten pos fields in struct Sprite
This commit is contained in:
+18
-18
@@ -610,8 +610,8 @@ static u8 TeachyTvSetupObjEventAndOam(void)
|
||||
|
||||
static void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame)
|
||||
{
|
||||
gSprites[objId].pos2.x = x;
|
||||
gSprites[objId].pos2.y = y;
|
||||
gSprites[objId].x2 = x;
|
||||
gSprites[objId].y2 = y;
|
||||
gSprites[objId].invisible = 0;
|
||||
StartSpriteAnim(&gSprites[objId], frame);
|
||||
}
|
||||
@@ -669,7 +669,7 @@ static void TeachyTvSetupPostBattleWindowAndObj(u8 taskId)
|
||||
|
||||
data[4] = 0;
|
||||
data[5] = 0;
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 1);
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->x2, objAddr->y2, 0, 1);
|
||||
}
|
||||
|
||||
static void TeachyTvInitTextPrinter(const u8 *text)
|
||||
@@ -785,7 +785,7 @@ static void TTVcmd_NpcMoveAndSetupTextPrinter(u8 taskId)
|
||||
if (data[2] != 35)
|
||||
++data[2];
|
||||
else {
|
||||
if (spriteAddr->pos2.x == 0x78)
|
||||
if (spriteAddr->x2 == 0x78)
|
||||
{
|
||||
StartSpriteAnim(&gSprites[data[1]], 0);
|
||||
TeachyTvInitTextPrinter(gTeachyTvText_PokedudeSaysHello);
|
||||
@@ -793,7 +793,7 @@ static void TTVcmd_NpcMoveAndSetupTextPrinter(u8 taskId)
|
||||
++data[3];
|
||||
}
|
||||
else
|
||||
++spriteAddr->pos2.x;
|
||||
++spriteAddr->x2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -961,7 +961,7 @@ static void TTVcmd_DudeMoveUp(u8 taskId)
|
||||
if (!(++data[2] & 0xF))
|
||||
{
|
||||
--sResources->grassAnimCounterHi;
|
||||
TeachyTvGrassAnimationMain(taskId, obj->pos2.x, obj->pos2.y, 0, 0);
|
||||
TeachyTvGrassAnimationMain(taskId, obj->x2, obj->y2, 0, 0);
|
||||
}
|
||||
if (data[2] == 48)
|
||||
{
|
||||
@@ -981,7 +981,7 @@ static void TTVcmd_DudeMoveRight(u8 taskId)
|
||||
if (!(++data[2] & 0xF))
|
||||
++sResources->grassAnimCounterLo;
|
||||
if (!((data[2] + 8) & 0xF))
|
||||
TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0);
|
||||
TeachyTvGrassAnimationMain(taskId, obj->x2 + 8, obj->y2, 0, 0);
|
||||
if (data[2] == 0x30)
|
||||
{
|
||||
data[2] = 0;
|
||||
@@ -1001,7 +1001,7 @@ static void TTVcmd_DudeTurnLeft(u8 taskId)
|
||||
++data[3];
|
||||
data[4] = 0;
|
||||
data[5] = 0;
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 0);
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->x2, objAddr->y2, 0, 0);
|
||||
}
|
||||
|
||||
static void TTVcmd_DudeMoveLeft(u8 taskId)
|
||||
@@ -1009,12 +1009,12 @@ static void TTVcmd_DudeMoveLeft(u8 taskId)
|
||||
s16 *data = gTasks[taskId].data;
|
||||
struct Sprite *objAddr = &gSprites[data[1]];
|
||||
|
||||
if (!(objAddr->pos2.x & 0xF))
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x - 8, objAddr->pos2.y, 0, 0);
|
||||
if (objAddr->pos2.x == 8)
|
||||
if (!(objAddr->x2 & 0xF))
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->x2 - 8, objAddr->y2, 0, 0);
|
||||
if (objAddr->x2 == 8)
|
||||
++data[3];
|
||||
else
|
||||
--objAddr->pos2.x;
|
||||
--objAddr->x2;
|
||||
}
|
||||
|
||||
static void TTVcmd_RenderAndRemoveBg1EndGraphic(u8 taskId)
|
||||
@@ -1110,8 +1110,8 @@ static void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority,
|
||||
{
|
||||
spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_TALL_GRASS], 0, 0, subpriority);
|
||||
obj = &gSprites[spriteId];
|
||||
obj->pos2.x = x;
|
||||
obj->pos2.y = y + 8;
|
||||
obj->x2 = x;
|
||||
obj->y2 = y + 8;
|
||||
obj->callback = TeachyTvGrassAnimationObjCallback;
|
||||
obj->data[0] = taskId;
|
||||
if (mode == 1)
|
||||
@@ -1142,13 +1142,13 @@ static void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite)
|
||||
sprite->subspriteTableNum = 1;
|
||||
else
|
||||
sprite->subspriteTableNum = 0;
|
||||
sprite->pos2.x += data[4];
|
||||
sprite->pos2.y += data[5];
|
||||
sprite->x2 += data[4];
|
||||
sprite->y2 += data[5];
|
||||
if (sprite->animEnded)
|
||||
{
|
||||
sprite->subpriority = 0;
|
||||
diff1 = sprite->pos2.x - objAddr->pos2.x;
|
||||
diff2 = sprite->pos2.y - objAddr->pos2.y;
|
||||
diff1 = sprite->x2 - objAddr->x2;
|
||||
diff2 = sprite->y2 - objAddr->y2;
|
||||
if (diff1 <= -16 || diff1 >= 16 || diff2 <= -16 || diff2 >= 24)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user