Using arrow to indicate more weapons available on HUD.
This commit is contained in:
parent
38e4564aae
commit
277092cdbc
Binary file not shown.
After Width: | Height: | Size: 214 B |
|
@ -39,6 +39,7 @@ static SDL_Texture *targetCircle;
|
|||
static SDL_Texture *smallFighter;
|
||||
static SDL_Texture *arrowLeft;
|
||||
static SDL_Texture *arrowRight;
|
||||
static SDL_Texture *nextGun;
|
||||
static int numMessages;
|
||||
static char *gunName[] = {"", "Particle Cannon", "Plasma Cannon", "Laser Cannon", "Mag Cannon", "Rockets"};
|
||||
|
||||
|
@ -52,6 +53,7 @@ void initHud(void)
|
|||
smallFighter = getTexture("gfx/hud/smallFighter.png");
|
||||
arrowLeft = getTexture("gfx/widgets/optionsLeft.png");
|
||||
arrowRight = getTexture("gfx/widgets/optionsRight.png");
|
||||
nextGun = getTexture("gfx/hud/nextGun.png");
|
||||
}
|
||||
|
||||
void doHud(void)
|
||||
|
@ -258,11 +260,20 @@ static void drawBoostECMBar(int current, int max, int x, int y, int r, int g, in
|
|||
|
||||
static void drawWeaponInfo(void)
|
||||
{
|
||||
int w, h;
|
||||
|
||||
if (!player->combinedGuns)
|
||||
{
|
||||
if (player->numGuns)
|
||||
if (battle.numPlayerGuns)
|
||||
{
|
||||
drawText(10, 70, 14, TA_LEFT, colors.white, "%s (%d / %d)", gunName[player->selectedGunType], player->selectedGun + 1, player->numGuns);
|
||||
drawText(10, 70, 14, TA_LEFT, colors.white, gunName[player->selectedGunType]);
|
||||
|
||||
if (battle.numPlayerGuns > 1)
|
||||
{
|
||||
textSize(gunName[player->selectedGunType], 14, &w, &h);
|
||||
|
||||
blit(nextGun, 24 + w, 81, 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -31,6 +31,7 @@ extern int getDistance(int x1, int y1, int x2, int y2);
|
|||
extern void drawRadar(void);
|
||||
extern void drawRadarRangeWarning(void);
|
||||
extern int getPercent(float current, float total);
|
||||
extern void textSize(char *text, int size, int *w, int *h);
|
||||
|
||||
extern App app;
|
||||
extern Battle battle;
|
||||
|
|
|
@ -44,6 +44,8 @@ void initPlayer(void)
|
|||
|
||||
memset(&availableGuns, 0, sizeof(int) * BT_MAX);
|
||||
|
||||
battle.numPlayerGuns = 0;
|
||||
|
||||
player->selectedGunType = -1;
|
||||
|
||||
if (!player->combinedGuns)
|
||||
|
@ -54,6 +56,11 @@ void initPlayer(void)
|
|||
|
||||
if (n)
|
||||
{
|
||||
if (!availableGuns[n])
|
||||
{
|
||||
battle.numPlayerGuns++;
|
||||
}
|
||||
|
||||
availableGuns[n] = 1;
|
||||
|
||||
if (player->selectedGunType == -1)
|
||||
|
@ -68,18 +75,6 @@ void initPlayer(void)
|
|||
player->selectedGunType = 0;
|
||||
}
|
||||
|
||||
player->numGuns = 0;
|
||||
|
||||
for (i = 0 ; i < BT_MAX ; i++)
|
||||
{
|
||||
if (availableGuns[i])
|
||||
{
|
||||
player->numGuns++;
|
||||
}
|
||||
}
|
||||
|
||||
player->selectedGun = 0;
|
||||
|
||||
STRNCPY(player->name, "Player", MAX_NAME_LENGTH);
|
||||
|
||||
player->action = NULL;
|
||||
|
@ -411,16 +406,6 @@ static void switchGuns(void)
|
|||
}
|
||||
|
||||
player->selectedGunType = i;
|
||||
|
||||
player->selectedGun = 0;
|
||||
|
||||
for (i = 0 ; i < player->selectedGunType ; i++)
|
||||
{
|
||||
if (availableGuns[i])
|
||||
{
|
||||
player->selectedGun++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void selectTarget(void)
|
||||
|
|
|
@ -26,7 +26,7 @@ static void cacheText(unsigned long hash, SDL_Texture *t);
|
|||
static unsigned long hashcode(const char *str, int size);
|
||||
static void drawTextNormal(int x, int y, int size, int align, SDL_Color c, char *text);
|
||||
static void drawTextSplit(int x, int y, int size, int align, SDL_Color c, char *text);
|
||||
static void textSize(char *text, int size, int *w, int *h);
|
||||
void textSize(char *text, int size, int *w, int *h);
|
||||
|
||||
static char drawTextBuffer[MAX_DESCRIPTION_LENGTH];
|
||||
static TTF_Font *font[MAX_FONTS];
|
||||
|
@ -175,7 +175,7 @@ int getWrappedTextHeight(char *text, int size)
|
|||
return y + h;
|
||||
}
|
||||
|
||||
static void textSize(char *text, int size, int *w, int *h)
|
||||
void textSize(char *text, int size, int *w, int *h)
|
||||
{
|
||||
if (!font[size])
|
||||
{
|
||||
|
|
|
@ -110,9 +110,7 @@ struct Entity {
|
|||
int maxShield;
|
||||
int reload;
|
||||
int reloadTime;
|
||||
int selectedGun;
|
||||
int selectedGunType;
|
||||
int numGuns;
|
||||
int combinedGuns;
|
||||
int shieldRecharge;
|
||||
int shieldRechargeRate;
|
||||
|
@ -284,6 +282,7 @@ typedef struct {
|
|||
int boostTimer;
|
||||
int ecmTimer;
|
||||
int radarRange;
|
||||
int numPlayerGuns;
|
||||
int numObjectivesComplete, numObjectivesTotal;
|
||||
Entity *missionTarget;
|
||||
Entity *extractionPoint;
|
||||
|
|
Loading…
Reference in New Issue