Flatten pos fields in struct Sprite
This commit is contained in:
@@ -1415,11 +1415,11 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl
|
||||
}
|
||||
|
||||
sprite = &gSprites[spriteId];
|
||||
GetMapCoordsFromSpritePos(objectEvent->currentCoords.x + cameraX, objectEvent->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y);
|
||||
GetMapCoordsFromSpritePos(objectEvent->currentCoords.x + cameraX, objectEvent->currentCoords.y + cameraY, &sprite->x, &sprite->y);
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.x += 8;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 8;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->oam.paletteNum = paletteSlot;
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->sObjEventId = objectEventId;
|
||||
@@ -1569,7 +1569,7 @@ u8 CreateObjectSprite(u8 graphicsId, u8 objectEventId, s16 x, s16 y, u8 z, u8 di
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.y += sprite->centerToCornerVecY;
|
||||
sprite->y += sprite->centerToCornerVecY;
|
||||
sprite->oam.paletteNum = graphicsInfo->paletteSlot;
|
||||
if (sprite->oam.paletteNum >= 16)
|
||||
{
|
||||
@@ -1726,11 +1726,11 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y)
|
||||
if (i != MAX_SPRITES)
|
||||
{
|
||||
sprite = &gSprites[i];
|
||||
GetMapCoordsFromSpritePos(x + objectEvent->currentCoords.x, y + objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
|
||||
GetMapCoordsFromSpritePos(x + objectEvent->currentCoords.x, y + objectEvent->currentCoords.y, &sprite->x, &sprite->y);
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.x += 8;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 8;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->images = graphicsInfo->images;
|
||||
if (objectEvent->movementType == MOVEMENT_TYPE_PLAYER)
|
||||
{
|
||||
@@ -1803,11 +1803,11 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId)
|
||||
sprite->oam.paletteNum = paletteSlot;
|
||||
objectEvent->inanimate = graphicsInfo->inanimate;
|
||||
objectEvent->graphicsId = graphicsId;
|
||||
SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->x, &sprite->y);
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.x += 8;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 8;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
if (objectEvent->trackedByCamera)
|
||||
{
|
||||
CameraObjectReset1();
|
||||
@@ -1969,8 +1969,8 @@ void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup,
|
||||
if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId))
|
||||
{
|
||||
sprite = &gSprites[gObjectEvents[objectEventId].spriteId];
|
||||
sprite->pos2.x = x;
|
||||
sprite->pos2.y = y;
|
||||
sprite->x2 = x;
|
||||
sprite->y2 = y;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2105,11 +2105,11 @@ void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y)
|
||||
sprite = &gSprites[objectEvent->spriteId];
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
|
||||
SetObjectEventCoords(objectEvent, x, y);
|
||||
SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->x, &sprite->y);
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.x += 8;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 8;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
ResetObjectEventFldEffData(objectEvent);
|
||||
if (objectEvent->trackedByCamera)
|
||||
CameraObjectReset1();
|
||||
@@ -2211,8 +2211,8 @@ static void SpriteCB_CameraObject(struct Sprite *sprite)
|
||||
|
||||
static void CameraObject_0(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gSprites[sprite->sLinkedSpriteId].pos1.x;
|
||||
sprite->pos1.y = gSprites[sprite->sLinkedSpriteId].pos1.y;
|
||||
sprite->x = gSprites[sprite->sLinkedSpriteId].x;
|
||||
sprite->y = gSprites[sprite->sLinkedSpriteId].y;
|
||||
sprite->invisible = TRUE;
|
||||
sprite->sState = 1;
|
||||
CameraObject_1(sprite);
|
||||
@@ -2220,19 +2220,19 @@ static void CameraObject_0(struct Sprite *sprite)
|
||||
|
||||
static void CameraObject_1(struct Sprite *sprite)
|
||||
{
|
||||
s16 x = gSprites[sprite->sLinkedSpriteId].pos1.x;
|
||||
s16 y = gSprites[sprite->sLinkedSpriteId].pos1.y;
|
||||
s16 x = gSprites[sprite->sLinkedSpriteId].x;
|
||||
s16 y = gSprites[sprite->sLinkedSpriteId].y;
|
||||
|
||||
sprite->data[2] = x - sprite->pos1.x;
|
||||
sprite->data[3] = y - sprite->pos1.y;
|
||||
sprite->pos1.x = x;
|
||||
sprite->pos1.y = y;
|
||||
sprite->data[2] = x - sprite->x;
|
||||
sprite->data[3] = y - sprite->y;
|
||||
sprite->x = x;
|
||||
sprite->y = y;
|
||||
}
|
||||
|
||||
static void CameraObject_2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gSprites[sprite->sLinkedSpriteId].pos1.x;
|
||||
sprite->pos1.y = gSprites[sprite->sLinkedSpriteId].pos1.y;
|
||||
sprite->x = gSprites[sprite->sLinkedSpriteId].x;
|
||||
sprite->y = gSprites[sprite->sLinkedSpriteId].y;
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[3] = 0;
|
||||
}
|
||||
@@ -2311,8 +2311,8 @@ u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority)
|
||||
if (!gSprites[i].inUse)
|
||||
{
|
||||
gSprites[i] = *sprite;
|
||||
gSprites[i].pos1.x = x;
|
||||
gSprites[i].pos1.y = y;
|
||||
gSprites[i].x = x;
|
||||
gSprites[i].y = y;
|
||||
gSprites[i].subpriority = subpriority;
|
||||
break;
|
||||
}
|
||||
@@ -2329,8 +2329,8 @@ u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority)
|
||||
if (!gSprites[i].inUse)
|
||||
{
|
||||
gSprites[i] = *sprite;
|
||||
gSprites[i].pos1.x = x;
|
||||
gSprites[i].pos1.y = y;
|
||||
gSprites[i].x = x;
|
||||
gSprites[i].y = y;
|
||||
gSprites[i].subpriority = subpriority;
|
||||
return i;
|
||||
}
|
||||
@@ -7361,14 +7361,14 @@ bool8 MovementAction_Levitate_Step0(struct ObjectEvent *objectEvent, struct Spri
|
||||
bool8 MovementAction_StopLevitate_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
DestroyLevitateMovementTask(objectEvent->warpArrowSpriteId);
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->sActionFuncId = 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 MovementAction_StopLevitateAtTop_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->pos2.y == 0)
|
||||
if (sprite->y2 == 0)
|
||||
{
|
||||
DestroyLevitateMovementTask(objectEvent->warpArrowSpriteId);
|
||||
sprite->sActionFuncId = 1;
|
||||
@@ -7423,13 +7423,13 @@ static void UpdateObjectEventOffscreen(struct ObjectEvent *objectEvent, struct S
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
|
||||
if (sprite->coordOffsetEnabled)
|
||||
{
|
||||
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
|
||||
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
|
||||
x = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
|
||||
y = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
|
||||
}
|
||||
x2 = graphicsInfo->width;
|
||||
x2 += x;
|
||||
@@ -7843,7 +7843,7 @@ void ObjectEventUpdateZCoord(struct ObjectEvent *objEvent)
|
||||
void SetObjectSubpriorityByZCoord(u8 elevation, struct Sprite *sprite, u8 subpriority)
|
||||
{
|
||||
s32 tmp = sprite->centerToCornerVecY;
|
||||
u32 tmpa = *(u16 *)&sprite->pos1.y;
|
||||
u32 tmpa = *(u16 *)&sprite->y;
|
||||
u32 tmpb = *(u16 *)&gSpriteCoordOffsetY;
|
||||
s32 tmp2 = (tmpa - tmp) + tmpb;
|
||||
u16 tmp3 = (16 - ((((u32)tmp2 + 8) & 0xFF) >> 4)) * 2;
|
||||
@@ -8250,32 +8250,32 @@ void UnfreezeObjectEvents(void)
|
||||
|
||||
static void Step1(struct Sprite *sprite, u8 dir)
|
||||
{
|
||||
sprite->pos1.x += sDirectionToVectors[dir].x;
|
||||
sprite->pos1.y += sDirectionToVectors[dir].y;
|
||||
sprite->x += sDirectionToVectors[dir].x;
|
||||
sprite->y += sDirectionToVectors[dir].y;
|
||||
}
|
||||
|
||||
static void Step2(struct Sprite *sprite, u8 dir)
|
||||
{
|
||||
sprite->pos1.x += 2 * (u16) sDirectionToVectors[dir].x;
|
||||
sprite->pos1.y += 2 * (u16) sDirectionToVectors[dir].y;
|
||||
sprite->x += 2 * (u16) sDirectionToVectors[dir].x;
|
||||
sprite->y += 2 * (u16) sDirectionToVectors[dir].y;
|
||||
}
|
||||
|
||||
static void Step3(struct Sprite *sprite, u8 dir)
|
||||
{
|
||||
sprite->pos1.x += 2 * (u16) sDirectionToVectors[dir].x + (u16) sDirectionToVectors[dir].x;
|
||||
sprite->pos1.y += 2 * (u16) sDirectionToVectors[dir].y + (u16) sDirectionToVectors[dir].y;
|
||||
sprite->x += 2 * (u16) sDirectionToVectors[dir].x + (u16) sDirectionToVectors[dir].x;
|
||||
sprite->y += 2 * (u16) sDirectionToVectors[dir].y + (u16) sDirectionToVectors[dir].y;
|
||||
}
|
||||
|
||||
static void Step4(struct Sprite *sprite, u8 dir)
|
||||
{
|
||||
sprite->pos1.x += 4 * (u16) sDirectionToVectors[dir].x;
|
||||
sprite->pos1.y += 4 * (u16) sDirectionToVectors[dir].y;
|
||||
sprite->x += 4 * (u16) sDirectionToVectors[dir].x;
|
||||
sprite->y += 4 * (u16) sDirectionToVectors[dir].y;
|
||||
}
|
||||
|
||||
static void Step8(struct Sprite *sprite, u8 dir)
|
||||
{
|
||||
sprite->pos1.x += 8 * (u16) sDirectionToVectors[dir].x;
|
||||
sprite->pos1.y += 8 * (u16) sDirectionToVectors[dir].y;
|
||||
sprite->x += 8 * (u16) sDirectionToVectors[dir].x;
|
||||
sprite->y += 8 * (u16) sDirectionToVectors[dir].y;
|
||||
}
|
||||
|
||||
#define sTimer data[5]
|
||||
@@ -8445,20 +8445,20 @@ static bool8 AnimateSpriteInFigure8(struct Sprite *sprite)
|
||||
switch(sprite->data[7])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.x += GetFigure8XOffset(sprite->data[6]);
|
||||
sprite->pos2.y += GetFigure8YOffset(sprite->data[6]);
|
||||
sprite->x2 += GetFigure8XOffset(sprite->data[6]);
|
||||
sprite->y2 += GetFigure8YOffset(sprite->data[6]);
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.x -= GetFigure8XOffset((FIGURE_8_LENGTH - 1) - sprite->data[6]);
|
||||
sprite->pos2.y += GetFigure8YOffset((FIGURE_8_LENGTH - 1) - sprite->data[6]);
|
||||
sprite->x2 -= GetFigure8XOffset((FIGURE_8_LENGTH - 1) - sprite->data[6]);
|
||||
sprite->y2 += GetFigure8YOffset((FIGURE_8_LENGTH - 1) - sprite->data[6]);
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.x -= GetFigure8XOffset(sprite->data[6]);
|
||||
sprite->pos2.y += GetFigure8YOffset(sprite->data[6]);
|
||||
sprite->x2 -= GetFigure8XOffset(sprite->data[6]);
|
||||
sprite->y2 += GetFigure8YOffset(sprite->data[6]);
|
||||
break;
|
||||
case 3:
|
||||
sprite->pos2.x += GetFigure8XOffset((FIGURE_8_LENGTH - 1) - sprite->data[6]);
|
||||
sprite->pos2.y += GetFigure8YOffset((FIGURE_8_LENGTH - 1) - sprite->data[6]);
|
||||
sprite->x2 += GetFigure8XOffset((FIGURE_8_LENGTH - 1) - sprite->data[6]);
|
||||
sprite->y2 += GetFigure8YOffset((FIGURE_8_LENGTH - 1) - sprite->data[6]);
|
||||
break;
|
||||
}
|
||||
if (++sprite->data[6] == FIGURE_8_LENGTH)
|
||||
@@ -8468,8 +8468,8 @@ static bool8 AnimateSpriteInFigure8(struct Sprite *sprite)
|
||||
}
|
||||
if (sprite->data[7] == 4)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
finished = TRUE;
|
||||
}
|
||||
return finished;
|
||||
@@ -8521,7 +8521,7 @@ static u8 DoJumpSpriteMovement(struct Sprite *sprite)
|
||||
if (sprite->sSpeed)
|
||||
Step1(sprite, sprite->sDirection);
|
||||
|
||||
sprite->pos2.y = GetJumpY(sprite->sTimer >> speedToShift[sprite->sSpeed], sprite->sJumpType);
|
||||
sprite->y2 = GetJumpY(sprite->sTimer >> speedToShift[sprite->sSpeed], sprite->sJumpType);
|
||||
|
||||
sprite->sTimer++;
|
||||
|
||||
@@ -8530,7 +8530,7 @@ static u8 DoJumpSpriteMovement(struct Sprite *sprite)
|
||||
|
||||
if (sprite->sTimer >= speedToTime[sprite->sSpeed])
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
result = JUMP_FINISHED;
|
||||
}
|
||||
|
||||
@@ -8546,7 +8546,7 @@ static u8 DoJumpSpecialSpriteMovement(struct Sprite *sprite)
|
||||
if (sprite->sSpeed && !(sprite->sTimer & 1))
|
||||
Step1(sprite, sprite->sDirection);
|
||||
|
||||
sprite->pos2.y = GetJumpY(sprite->sTimer >> speedToShift[sprite->sSpeed], sprite->sJumpType);
|
||||
sprite->y2 = GetJumpY(sprite->sTimer >> speedToShift[sprite->sSpeed], sprite->sJumpType);
|
||||
|
||||
sprite->sTimer++;
|
||||
|
||||
@@ -8555,7 +8555,7 @@ static u8 DoJumpSpecialSpriteMovement(struct Sprite *sprite)
|
||||
|
||||
if (sprite->sTimer >= speedToTime[sprite->sSpeed])
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
result = JUMP_FINISHED;
|
||||
}
|
||||
|
||||
@@ -8603,13 +8603,13 @@ void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible)
|
||||
|
||||
if (sprite->coordOffsetEnabled)
|
||||
{
|
||||
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
|
||||
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
|
||||
x = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
|
||||
y = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
|
||||
}
|
||||
|
||||
x2 = x - (sprite->centerToCornerVecX >> 1);
|
||||
@@ -8735,13 +8735,13 @@ static void MoveUnionRoomObjectUp(struct Sprite *sprite)
|
||||
switch(sprite->sAnimState)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->sAnimState++;
|
||||
case 1:
|
||||
sprite->pos2.y -= 8;
|
||||
if (sprite->pos2.y == -DISPLAY_HEIGHT)
|
||||
sprite->y2 -= 8;
|
||||
if (sprite->y2 == -DISPLAY_HEIGHT)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->sInvisible = TRUE;
|
||||
sprite->sAnimNum = 0;
|
||||
sprite->sAnimState = 0;
|
||||
@@ -8754,11 +8754,11 @@ static void MoveUnionRoomObjectDown(struct Sprite *sprite)
|
||||
switch(sprite->sAnimState)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = -DISPLAY_HEIGHT;
|
||||
sprite->y2 = -DISPLAY_HEIGHT;
|
||||
sprite->sAnimState++;
|
||||
case 1:
|
||||
sprite->pos2.y += 8;
|
||||
if(sprite->pos2.y == 0)
|
||||
sprite->y2 += 8;
|
||||
if(sprite->y2 == 0)
|
||||
{
|
||||
sprite->sAnimNum = 0;
|
||||
sprite->sAnimState = 0;
|
||||
@@ -8815,8 +8815,8 @@ static void DoShadowFieldEffect(struct ObjectEvent *objectEvent)
|
||||
static void DoRippleFieldEffect(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
|
||||
gFieldEffectArguments[0] = sprite->pos1.x;
|
||||
gFieldEffectArguments[1] = sprite->pos1.y + (graphicsInfo->height >> 1) - 2;
|
||||
gFieldEffectArguments[0] = sprite->x;
|
||||
gFieldEffectArguments[1] = sprite->y + (graphicsInfo->height >> 1) - 2;
|
||||
gFieldEffectArguments[2] = 151;
|
||||
gFieldEffectArguments[3] = 3;
|
||||
FieldEffectStart(FLDEFF_RIPPLE);
|
||||
@@ -8950,7 +8950,7 @@ static void ApplyLevitateMovement(u8 taskId)
|
||||
sprite = &gSprites[objectEvent->spriteId];
|
||||
|
||||
if(!(task->data[2] & 3))
|
||||
sprite->pos2.y += task->data[3];
|
||||
sprite->y2 += task->data[3];
|
||||
|
||||
if(!(task->data[2] & 15))
|
||||
task->data[3] = -task->data[3];
|
||||
@@ -8982,32 +8982,32 @@ void FreezeObjectEventsExceptTwo(u8 objectEventId1, u8 objectEventId2)
|
||||
|
||||
u8 MovementAction_FlyUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->sActionFuncId++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u8 MovementAction_FlyUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y -= 8;
|
||||
sprite->y2 -= 8;
|
||||
|
||||
if(sprite->pos2.y == -DISPLAY_HEIGHT)
|
||||
if(sprite->y2 == -DISPLAY_HEIGHT)
|
||||
sprite->sActionFuncId++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u8 MovementAction_FlyDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y = -DISPLAY_HEIGHT;
|
||||
sprite->y2 = -DISPLAY_HEIGHT;
|
||||
sprite->sActionFuncId++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u8 MovementAction_FlyDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y += 8;
|
||||
sprite->y2 += 8;
|
||||
|
||||
if(!sprite->pos2.y)
|
||||
if(!sprite->y2)
|
||||
sprite->sActionFuncId++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user