Skip to content

Commit

Permalink
easy optimisation
Browse files Browse the repository at this point in the history
  • Loading branch information
Stephane-D committed Jul 2, 2024
1 parent bdfe187 commit 9daa5f0
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 7 deletions.
Binary file modified lib/libmd.a
Binary file not shown.
Binary file modified lib/libmd_debug.a
Binary file not shown.
4 changes: 2 additions & 2 deletions src/sprite_eng.c
Original file line number Diff line number Diff line change
Expand Up @@ -1473,7 +1473,7 @@ void NO_INLINE SPR_update()
s8 numSprite = frame->numSprite;

// special case of single VDP sprite with size aligned to sprite size (no offset, no flip calculation required)
if (numSprite == -1)
if (numSprite < 0)
{
vdpSprite->y = sprite->y;
vdpSprite->size = frameSprite->size;
Expand Down Expand Up @@ -1743,7 +1743,7 @@ static u16 updateVisibility(Sprite* sprite, u16 status)
s8 num = frame->numSprite;

// special case of single VDP sprite with size aligned to sprite size (no offset, no flip calculation required)
if (num == -1) visibility = ((bx < mx) && (by < my))?0x8000:0;
if (num < 0) visibility = ((bx < mx) && (by < my))?0x8000:0;
else
{
FrameVDPSprite* frameSprite = frame->frameVDPSprites;
Expand Down
10 changes: 5 additions & 5 deletions src/sprite_eng_legacy.c
Original file line number Diff line number Diff line change
Expand Up @@ -1746,7 +1746,7 @@ static u16 updateVisibility(Sprite* sprite, u16 status)
else if ((xmax < 0) || ((xmin - fw) > 0)) visibility = VISIBILITY_OFF;
else
{
u16 num = (frame->numSprite == -1)?1:frame->numSprite;
u16 num = (frame->numSprite < 0)?1:frame->numSprite;
// start from the last one
FrameVDPSprite* frameSprite = &(frame->frameVDPSprites[num]);
visibility = 0;
Expand Down Expand Up @@ -1846,7 +1846,7 @@ static u16 updateFrame(Sprite* sprite, u16 status)
}

// detect if we need to hide some VDP sprite
s16 currentNumSprite = (frame->numSprite == -1)?1:frame->numSprite;
s16 currentNumSprite = (frame->numSprite < 0)?1:frame->numSprite;

// adjust number of sprite to hide
sprite->spriteToHide += sprite->lastNumSprite - currentNumSprite;
Expand Down Expand Up @@ -1902,7 +1902,7 @@ static void updateSpriteTableAll(Sprite* sprite)
visibility = sprite->visibility;
attr = sprite->attribut;
frame = sprite->frame;
num = (frame->numSprite == -1)?1:frame->numSprite;
num = (frame->numSprite < 0)?1:frame->numSprite;
frameSprite = frame->frameVDPSprites;
vdpSprite = &vdpSpriteCache[sprite->VDPSpriteIndex];

Expand Down Expand Up @@ -1990,7 +1990,7 @@ static void updateSpriteTablePos(Sprite* sprite)
visibility = sprite->visibility;
attr = sprite->attribut;
frame = sprite->frame;
num = (frame->numSprite == -1)?1:frame->numSprite;
num = (frame->numSprite < 0)?1:frame->numSprite;
frameSprite = frame->frameVDPSprites;
vdpSprite = &vdpSpriteCache[sprite->VDPSpriteIndex];

Expand Down Expand Up @@ -2063,7 +2063,7 @@ static void updateSpriteTableHide(Sprite* sprite)

VDPSprite* vdpSprite = &vdpSpriteCache[sprite->VDPSpriteIndex];
// don't forget to hide sprites that were used by previous frame
s16 num = (frame->numSprite == -1)?1:frame->numSprite;
s16 num = (frame->numSprite < 0)?1:frame->numSprite;

if (sprite->spriteToHide > 0) num += sprite->spriteToHide;

Expand Down

0 comments on commit 9daa5f0

Please sign in to comment.