Scale shield effect size, to better match ship (mostly for supply ships).
This commit is contained in:
parent
f7d2b4d738
commit
7547e14c9f
|
@ -220,12 +220,13 @@ static void draw(void)
|
||||||
|
|
||||||
drawBackground(battle.background);
|
drawBackground(battle.background);
|
||||||
|
|
||||||
blitScaled(battle.planetTexture, battle.planet.x, battle.planet.y, battle.planetWidth, battle.planetHeight);
|
blitScaled(battle.planetTexture, battle.planet.x, battle.planet.y, battle.planetWidth, battle.planetHeight, 0);
|
||||||
|
|
||||||
if (battle.destroyTorelli)
|
if (battle.destroyTorelli)
|
||||||
{
|
{
|
||||||
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_BLEND);
|
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_BLEND);
|
||||||
SDL_SetTextureAlphaMod(battle.fireStormTexture, battle.torelliFireStormAlpha);
|
SDL_SetTextureAlphaMod(battle.fireStormTexture, battle.torelliFireStormAlpha);
|
||||||
blitScaled(battle.fireStormTexture, battle.planet.x, battle.planet.y, battle.planetWidth, battle.planetHeight);
|
blitScaled(battle.fireStormTexture, battle.planet.x, battle.planet.y, battle.planetWidth, battle.planetHeight, 0);
|
||||||
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_NONE);
|
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ extern void drawEffects(void);
|
||||||
extern void doEffects(void);
|
extern void doEffects(void);
|
||||||
extern void doObjectives(void);
|
extern void doObjectives(void);
|
||||||
extern void doChallenges(void);
|
extern void doChallenges(void);
|
||||||
extern void blitScaled(SDL_Texture *texture, int x, int y, int w, int h);
|
extern void blitScaled(SDL_Texture *texture, int x, int y, int w, int h, int center);
|
||||||
extern void initHud(void);
|
extern void initHud(void);
|
||||||
extern void initRadar(void);
|
extern void initRadar(void);
|
||||||
extern void initGalacticMap(void);
|
extern void initGalacticMap(void);
|
||||||
|
|
|
@ -154,17 +154,17 @@ void drawEffects(void)
|
||||||
|
|
||||||
case EFFECT_TEXTURE:
|
case EFFECT_TEXTURE:
|
||||||
SDL_SetTextureColorMod(e->texture, e->r, e->g, e->b);
|
SDL_SetTextureColorMod(e->texture, e->r, e->g, e->b);
|
||||||
blitScaled(e->texture, e->x - battle.camera.x, e->y - battle.camera.y, e->size, e->size);
|
blitScaled(e->texture, e->x - battle.camera.x, e->y - battle.camera.y, e->size, e->size, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EFFECT_HALO:
|
case EFFECT_HALO:
|
||||||
SDL_SetTextureColorMod(e->texture, e->r, e->g, e->b);
|
SDL_SetTextureColorMod(e->texture, e->r, e->g, e->b);
|
||||||
blitScaled(e->texture, e->x - battle.camera.x - (e->size / 2), e->y - battle.camera.y - (e->size / 2), e->size, e->size);
|
blitScaled(e->texture, e->x - battle.camera.x - (e->size / 2), e->y - battle.camera.y - (e->size / 2), e->size, e->size, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EFFECT_ECM:
|
case EFFECT_ECM:
|
||||||
SDL_SetTextureColorMod(e->texture, e->r, e->g, e->b);
|
SDL_SetTextureColorMod(e->texture, e->r, e->g, e->b);
|
||||||
blitScaled(e->texture, SCREEN_WIDTH / 2 - (e->size / 2), SCREEN_HEIGHT / 2 - (e->size / 2), e->size, e->size);
|
blitScaled(e->texture, SCREEN_WIDTH / 2 - (e->size / 2), SCREEN_HEIGHT / 2 - (e->size / 2), e->size, e->size, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -174,9 +174,11 @@ void drawEffects(void)
|
||||||
|
|
||||||
void drawShieldHitEffect(Entity *e)
|
void drawShieldHitEffect(Entity *e)
|
||||||
{
|
{
|
||||||
|
int size = MAX(e->w, e->h) + 32;
|
||||||
|
|
||||||
SDL_SetTextureBlendMode(shieldHitTexture, SDL_BLENDMODE_BLEND);
|
SDL_SetTextureBlendMode(shieldHitTexture, SDL_BLENDMODE_BLEND);
|
||||||
SDL_SetTextureAlphaMod(shieldHitTexture, e->shieldHit);
|
SDL_SetTextureAlphaMod(shieldHitTexture, e->shieldHit);
|
||||||
blit(shieldHitTexture, e->x - battle.camera.x, e->y - battle.camera.y, 1);
|
blitScaled(shieldHitTexture, e->x - battle.camera.x, e->y - battle.camera.y, size, size, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void addBulletHitEffect(int x, int y, int r, int g, int b)
|
void addBulletHitEffect(int x, int y, int r, int g, int b)
|
||||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
#define INITIAL_EFFECT_DRAW_CAPACITY 128
|
#define INITIAL_EFFECT_DRAW_CAPACITY 128
|
||||||
|
|
||||||
extern void blitScaled(SDL_Texture *texture, int x, int y, int w, int h);
|
extern void blitScaled(SDL_Texture *texture, int x, int y, int w, int h, int center);
|
||||||
extern SDL_Texture *getTexture(char *name);
|
extern SDL_Texture *getTexture(char *name);
|
||||||
extern void blit(SDL_Texture *t, int x, int y, int center);
|
extern void blit(SDL_Texture *t, int x, int y, int center);
|
||||||
extern int collision(int x1, int y1, int w1, int h1, int x2, int y2, int w2, int h2);
|
extern int collision(int x1, int y1, int w1, int h1, int x2, int y2, int w2, int h2);
|
||||||
|
|
|
@ -82,7 +82,7 @@ void blit(SDL_Texture *texture, int x, int y, int center)
|
||||||
SDL_RenderCopy(app.renderer, texture, NULL, &dstRect);
|
SDL_RenderCopy(app.renderer, texture, NULL, &dstRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
void blitScaled(SDL_Texture *texture, int x, int y, int w, int h)
|
void blitScaled(SDL_Texture *texture, int x, int y, int w, int h, int center)
|
||||||
{
|
{
|
||||||
SDL_Rect dstRect;
|
SDL_Rect dstRect;
|
||||||
|
|
||||||
|
@ -90,6 +90,12 @@ void blitScaled(SDL_Texture *texture, int x, int y, int w, int h)
|
||||||
dstRect.y = y;
|
dstRect.y = y;
|
||||||
dstRect.w = w;
|
dstRect.w = w;
|
||||||
dstRect.h = h;
|
dstRect.h = h;
|
||||||
|
|
||||||
|
if (center)
|
||||||
|
{
|
||||||
|
dstRect.x -= (dstRect.w / 2);
|
||||||
|
dstRect.y -= (dstRect.h / 2);
|
||||||
|
}
|
||||||
|
|
||||||
SDL_RenderCopy(app.renderer, texture, NULL, &dstRect);
|
SDL_RenderCopy(app.renderer, texture, NULL, &dstRect);
|
||||||
}
|
}
|
||||||
|
@ -182,7 +188,7 @@ void drawBackground(SDL_Texture *texture)
|
||||||
|
|
||||||
for (i = 0 ; i < 4 ; i++)
|
for (i = 0 ; i < 4 ; i++)
|
||||||
{
|
{
|
||||||
blitScaled(texture, backgroundPoint[i].x, backgroundPoint[i].y, SCREEN_WIDTH, SCREEN_HEIGHT);
|
blitScaled(texture, backgroundPoint[i].x, backgroundPoint[i].y, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -171,14 +171,14 @@ void drawTrophies(void)
|
||||||
blitRotated(sparkle, x + 32, y + 32, sparkleAngle);
|
blitRotated(sparkle, x + 32, y + 32, sparkleAngle);
|
||||||
blitRotated(sparkle, x + 32, y + 32, -sparkleAngle);
|
blitRotated(sparkle, x + 32, y + 32, -sparkleAngle);
|
||||||
|
|
||||||
blitScaled(trophyIcons[t->value], x, y, 64, 64);
|
blitScaled(trophyIcons[t->value], x, y, 64, 64, 0);
|
||||||
drawText(x + 85, y - 10, 20, TA_LEFT, colors.yellow, t->title);
|
drawText(x + 85, y - 10, 20, TA_LEFT, colors.yellow, t->title);
|
||||||
drawText(x + 85, y + 20, 18, TA_LEFT, colors.white, t->description);
|
drawText(x + 85, y + 20, 18, TA_LEFT, colors.white, t->description);
|
||||||
drawText(x + 85, y + 48, 18, TA_LEFT, colors.white, t->awardDateStr);
|
drawText(x + 85, y + 48, 18, TA_LEFT, colors.white, t->awardDateStr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
blitScaled(trophyIcons[TROPHY_UNEARNED], x, y, 64, 64);
|
blitScaled(trophyIcons[TROPHY_UNEARNED], x, y, 64, 64, 0);
|
||||||
|
|
||||||
if (!t->hidden)
|
if (!t->hidden)
|
||||||
{
|
{
|
||||||
|
@ -318,7 +318,7 @@ void drawTrophyAlert(void)
|
||||||
blit(alertSphere, x + 24, y + 24, 1);
|
blit(alertSphere, x + 24, y + 24, 1);
|
||||||
blitRotated(sparkle, x + 24, y + 24, sparkleAngle);
|
blitRotated(sparkle, x + 24, y + 24, sparkleAngle);
|
||||||
blitRotated(sparkle, x + 24, y + 24, -sparkleAngle);
|
blitRotated(sparkle, x + 24, y + 24, -sparkleAngle);
|
||||||
blitScaled(trophyIcons[alertTrophy->value], x, y, 48, 48);
|
blitScaled(trophyIcons[alertTrophy->value], x, y, 48, 48, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ extern int getPercent(float current, float total);
|
||||||
extern void drawText(int x, int y, int size, int align, SDL_Color c, const char *format, ...);
|
extern void drawText(int x, int y, int size, int align, SDL_Color c, const char *format, ...);
|
||||||
extern void blit(SDL_Texture *texture, int x, int y, int centered);
|
extern void blit(SDL_Texture *texture, int x, int y, int centered);
|
||||||
extern void blitRotated(SDL_Texture *texture, int x, int y, float angle);
|
extern void blitRotated(SDL_Texture *texture, int x, int y, float angle);
|
||||||
extern void blitScaled(SDL_Texture *t, int x, int y, int w, int h);
|
extern void blitScaled(SDL_Texture *t, int x, int y, int w, int h, int center);
|
||||||
extern char *getTranslatedString(char *string);
|
extern char *getTranslatedString(char *string);
|
||||||
extern SDL_Texture *getTexture(char *filename);
|
extern SDL_Texture *getTexture(char *filename);
|
||||||
extern void playSound(int id);
|
extern void playSound(int id);
|
||||||
|
|
Loading…
Reference in New Issue