i18n updates.
This commit is contained in:
parent
9b6abf764a
commit
10cc12bd70
|
@ -45,7 +45,7 @@ static SDL_Texture *ecm;
|
||||||
static SDL_Texture *boost;
|
static SDL_Texture *boost;
|
||||||
static SDL_Texture *nextGun;
|
static SDL_Texture *nextGun;
|
||||||
static int numMessages;
|
static int numMessages;
|
||||||
static char *gunName[BT_MAX];
|
static const char *gunName[BT_MAX];
|
||||||
|
|
||||||
void initHud(void)
|
void initHud(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,18 +33,7 @@ static char *getFormattedChallengeDescription(const char *format, ...);
|
||||||
char *getChallengeDescription(Challenge *c);
|
char *getChallengeDescription(Challenge *c);
|
||||||
|
|
||||||
static char descriptionBuffer[MAX_DESCRIPTION_LENGTH];
|
static char descriptionBuffer[MAX_DESCRIPTION_LENGTH];
|
||||||
|
static const char *challengeDescription[CHALLENGE_MAX];
|
||||||
static char *challengeDescription[] = {
|
|
||||||
"Retain at least %d%% armour",
|
|
||||||
"Complete challenge in %d seconds or less",
|
|
||||||
"Attain a %d%% hit accuracy",
|
|
||||||
"Do not lose any team mates",
|
|
||||||
"Do not lose more than 1 team mate",
|
|
||||||
"Do not lose more than %d team mates",
|
|
||||||
"Take down %d enemy targets",
|
|
||||||
"Disable %d or more enemy fighters",
|
|
||||||
"Complete challenge in %d minutes or less"
|
|
||||||
};
|
|
||||||
|
|
||||||
void initChallenges(void)
|
void initChallenges(void)
|
||||||
{
|
{
|
||||||
|
@ -53,6 +42,16 @@ void initChallenges(void)
|
||||||
char path[MAX_FILENAME_LENGTH];
|
char path[MAX_FILENAME_LENGTH];
|
||||||
int count, i;
|
int count, i;
|
||||||
|
|
||||||
|
challengeDescription[CHALLENGE_ARMOUR] = _("Retain at least %d%% armour");
|
||||||
|
challengeDescription[CHALLENGE_TIME] = _("Complete challenge in %d seconds or less");
|
||||||
|
challengeDescription[CHALLENGE_ACCURACY] = _("Attain a %d%% hit accuracy");
|
||||||
|
challengeDescription[CHALLENGE_NO_LOSSES] = _("Do not lose any team mates");
|
||||||
|
challengeDescription[CHALLENGE_1_LOSS] = _("Do not lose more than 1 team mate");
|
||||||
|
challengeDescription[CHALLENGE_LOSSES] = _("Do not lose more than %d team mates");
|
||||||
|
challengeDescription[CHALLENGE_PLAYER_KILLS] = _("Take down %d enemy targets");
|
||||||
|
challengeDescription[CHALLENGE_DISABLE] = _("Disable %d or more enemy fighters");
|
||||||
|
challengeDescription[CHALLENGE_TIME_MINS] = _("Complete challenge in %d minutes or less");
|
||||||
|
|
||||||
tail = &game.challengeMissionHead;
|
tail = &game.challengeMissionHead;
|
||||||
|
|
||||||
filenames = getFileList("data/challenges", &count);
|
filenames = getFileList("data/challenges", &count);
|
||||||
|
@ -238,6 +237,27 @@ static char *getFormattedChallengeDescription(const char *format, ...)
|
||||||
return descriptionBuffer;
|
return descriptionBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void updateChallengeMissions(void)
|
||||||
|
{
|
||||||
|
Mission *m;
|
||||||
|
Challenge *c;
|
||||||
|
|
||||||
|
for (m = game.challengeMissionHead.next ; m != NULL ; m = m->next)
|
||||||
|
{
|
||||||
|
m->totalChallenges = m->completedChallenges = 0;
|
||||||
|
|
||||||
|
for (c = m->challengeHead.next ; c != NULL ; c = c->next)
|
||||||
|
{
|
||||||
|
m->totalChallenges++;
|
||||||
|
|
||||||
|
if (c->passed)
|
||||||
|
{
|
||||||
|
m->completedChallenges++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void completeChallenge(void)
|
static void completeChallenge(void)
|
||||||
{
|
{
|
||||||
if (battle.status == MS_IN_PROGRESS)
|
if (battle.status == MS_IN_PROGRESS)
|
||||||
|
|
|
@ -25,6 +25,7 @@ extern char **getFileList(char *dir, int *count);
|
||||||
extern void selectWidget(const char *name, const char *group);
|
extern void selectWidget(const char *name, const char *group);
|
||||||
extern void retreatAllies(void);
|
extern void retreatAllies(void);
|
||||||
extern void retreatEnemies(void);
|
extern void retreatEnemies(void);
|
||||||
|
extern char *getTranslatedString(char *string);
|
||||||
|
|
||||||
extern Battle battle;
|
extern Battle battle;
|
||||||
extern Entity *player;
|
extern Entity *player;
|
||||||
|
|
|
@ -22,43 +22,50 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
static void prevPage(void);
|
static void prevPage(void);
|
||||||
static void nextPage(void);
|
static void nextPage(void);
|
||||||
|
static void calculatePercentComplete(void);
|
||||||
|
|
||||||
static char *statDescription[] = {
|
static char *statDescription[STAT_MAX];
|
||||||
"Missions Started",
|
|
||||||
"Missons Completed",
|
|
||||||
"Shots Fired",
|
|
||||||
"Shots Hit",
|
|
||||||
"Rockets Fired",
|
|
||||||
"Rockets Hit",
|
|
||||||
"Missiles Fired",
|
|
||||||
"Missiles Hit",
|
|
||||||
"Enemies Killed",
|
|
||||||
"Enemies Killed (Player)",
|
|
||||||
"Allies Killed",
|
|
||||||
"Times Killed",
|
|
||||||
"Enemies Disabled",
|
|
||||||
"Enemies Escaped",
|
|
||||||
"ECM Used",
|
|
||||||
"Boost Used",
|
|
||||||
"Missiles Evaded",
|
|
||||||
"Missiles Struck Player",
|
|
||||||
"Civilians Rescued",
|
|
||||||
"Civilians Killed",
|
|
||||||
"Times used Tug",
|
|
||||||
"Times used Shuttle",
|
|
||||||
"Craft Towed",
|
|
||||||
"Items Collected",
|
|
||||||
"Longest Epic Kill Streak",
|
|
||||||
"Capital Ships Destroyed",
|
|
||||||
"Capital Ships Lost",
|
|
||||||
"STAT_TIME"
|
|
||||||
};
|
|
||||||
|
|
||||||
static int page;
|
static int page;
|
||||||
static int maxPages;
|
static int maxPages;
|
||||||
static Widget *prev;
|
static Widget *prev;
|
||||||
static Widget *next;
|
static Widget *next;
|
||||||
|
|
||||||
|
void initStats(void)
|
||||||
|
{
|
||||||
|
statDescription[STAT_PERCENT_COMPLETE] = _("Percent Complete");
|
||||||
|
statDescription[STAT_MISSIONS_STARTED] = _("Missions Started");
|
||||||
|
statDescription[STAT_MISSIONS_COMPLETED] = _("Missons Completed");
|
||||||
|
statDescription[STAT_CHALLENGES_STARTED] = _("Challenges Started");
|
||||||
|
statDescription[STAT_CHALLENGES_COMPLETED] = _("Challenges Completed");
|
||||||
|
statDescription[STAT_SHOTS_FIRED] = _("Shots Fired");
|
||||||
|
statDescription[STAT_SHOTS_HIT] = _("Shots Hit");
|
||||||
|
statDescription[STAT_ROCKETS_FIRED] = _("Rockets Fired");
|
||||||
|
statDescription[STAT_ROCKETS_HIT] = _("Rockets Hit");
|
||||||
|
statDescription[STAT_MISSILES_FIRED] = _("Missiles Fired");
|
||||||
|
statDescription[STAT_MISSILES_HIT] = _("Missiles Hit");
|
||||||
|
statDescription[STAT_ENEMIES_KILLED] = _("Enemies Killed");
|
||||||
|
statDescription[STAT_ENEMIES_KILLED_PLAYER] = _("Enemies Killed (Player)");
|
||||||
|
statDescription[STAT_ALLIES_KILLED] = _("Allies Killed");
|
||||||
|
statDescription[STAT_PLAYER_KILLED] = _("Times Killed");
|
||||||
|
statDescription[STAT_ENEMIES_DISABLED] = _("Enemies Disabled");
|
||||||
|
statDescription[STAT_ENEMIES_ESCAPED] = _("Enemies Escaped");
|
||||||
|
statDescription[STAT_ECM] = _("ECM Used");
|
||||||
|
statDescription[STAT_BOOST] = _("Boost Used");
|
||||||
|
statDescription[STAT_MISSILES_EVADED] = _("Missiles Evaded");
|
||||||
|
statDescription[STAT_MISSILES_STRUCK] = _("Missiles Struck Player");
|
||||||
|
statDescription[STAT_CIVILIANS_RESCUED] = _("Civilians Rescued");
|
||||||
|
statDescription[STAT_CIVILIANS_KILLED] = _("Civilians Killed");
|
||||||
|
statDescription[STAT_TUG] = _("Times used Tug");
|
||||||
|
statDescription[STAT_SHUTTLE] = _("Times used Shuttle");
|
||||||
|
statDescription[STAT_NUM_TOWED] = _("Craft Towed");
|
||||||
|
statDescription[STAT_ITEMS_COLLECTED] = _("Items Collected");
|
||||||
|
statDescription[STAT_EPIC_KILL_STREAK] = _("Longest Epic Kill Streak");
|
||||||
|
statDescription[STAT_CAPITAL_SHIPS_DESTROYED] = _("Capital Ships Destroyed");
|
||||||
|
statDescription[STAT_CAPITAL_SHIPS_LOST] = _("Capital Ships Lost");
|
||||||
|
statDescription[STAT_TIME] = _("Time Played");
|
||||||
|
}
|
||||||
|
|
||||||
void initStatsDisplay(void)
|
void initStatsDisplay(void)
|
||||||
{
|
{
|
||||||
page = 0;
|
page = 0;
|
||||||
|
@ -70,6 +77,34 @@ void initStatsDisplay(void)
|
||||||
|
|
||||||
next = getWidget("next", "stats");
|
next = getWidget("next", "stats");
|
||||||
next->action = nextPage;
|
next->action = nextPage;
|
||||||
|
|
||||||
|
calculatePercentComplete();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void calculatePercentComplete(void)
|
||||||
|
{
|
||||||
|
StarSystem *starSystem;
|
||||||
|
Mission *mission;
|
||||||
|
int completed, total;
|
||||||
|
|
||||||
|
completed = total = 0;
|
||||||
|
|
||||||
|
for (starSystem = game.starSystemHead.next ; starSystem != NULL ; starSystem = starSystem->next)
|
||||||
|
{
|
||||||
|
if (strcmp(starSystem->name, "Sol"))
|
||||||
|
{
|
||||||
|
completed += starSystem->completedMissions;
|
||||||
|
total += starSystem->totalMissions;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (mission = game.challengeMissionHead.next ; mission != NULL ; mission = mission->next)
|
||||||
|
{
|
||||||
|
completed += mission->completedChallenges;
|
||||||
|
total += mission->totalChallenges;
|
||||||
|
}
|
||||||
|
|
||||||
|
game.stats[STAT_PERCENT_COMPLETE] = getPercent(completed, total);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawStats(void)
|
void drawStats(void)
|
||||||
|
@ -105,12 +140,21 @@ void drawStats(void)
|
||||||
if (i < STAT_TIME)
|
if (i < STAT_TIME)
|
||||||
{
|
{
|
||||||
drawText(r.x + 20, y, 18, TA_LEFT, colors.white, statDescription[i]);
|
drawText(r.x + 20, y, 18, TA_LEFT, colors.white, statDescription[i]);
|
||||||
|
|
||||||
|
if (i == STAT_PERCENT_COMPLETE)
|
||||||
|
{
|
||||||
|
drawText(r.x + r.w - 20, y, 18, TA_RIGHT, colors.white, "%d%%", game.stats[i]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
drawText(r.x + r.w - 20, y, 18, TA_RIGHT, colors.white, "%d", game.stats[i]);
|
drawText(r.x + r.w - 20, y, 18, TA_RIGHT, colors.white, "%d", game.stats[i]);
|
||||||
|
}
|
||||||
|
|
||||||
y += 40;
|
y += 40;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
drawText(r.x + 20, 565, 18, TA_LEFT, colors.white, _("Time Played"));
|
drawText(r.x + 20, 565, 18, TA_LEFT, colors.white, statDescription[STAT_TIME]);
|
||||||
drawText(r.x + r.w - 20, 565, 18, TA_RIGHT, colors.white, timeToString(game.stats[STAT_TIME], 1));
|
drawText(r.x + r.w - 20, 565, 18, TA_RIGHT, colors.white, timeToString(game.stats[STAT_TIME], 1));
|
||||||
|
|
||||||
drawWidgets("stats");
|
drawWidgets("stats");
|
||||||
|
|
|
@ -27,6 +27,7 @@ extern void drawText(int x, int y, int size, int align, SDL_Color c, const char
|
||||||
extern Widget *getWidget(const char *name, const char *group);
|
extern Widget *getWidget(const char *name, const char *group);
|
||||||
extern char *getTranslatedString(char *string);
|
extern char *getTranslatedString(char *string);
|
||||||
extern char *timeToString(long millis, int showHours);
|
extern char *timeToString(long millis, int showHours);
|
||||||
|
extern int getPercent(float current, float total);
|
||||||
|
|
||||||
extern App app;
|
extern App app;
|
||||||
extern Colors colors;
|
extern Colors colors;
|
||||||
|
|
|
@ -117,7 +117,7 @@ void initSDL(void)
|
||||||
void initGameSystem(void)
|
void initGameSystem(void)
|
||||||
{
|
{
|
||||||
int step = 0;
|
int step = 0;
|
||||||
int STEPS = 14;
|
int STEPS = 16;
|
||||||
|
|
||||||
initColor(&colors.red, 255, 0, 0);
|
initColor(&colors.red, 255, 0, 0);
|
||||||
initColor(&colors.orange, 255, 128, 0);
|
initColor(&colors.orange, 255, 128, 0);
|
||||||
|
@ -181,6 +181,10 @@ void initGameSystem(void)
|
||||||
|
|
||||||
showLoadingStep(step++, STEPS);
|
showLoadingStep(step++, STEPS);
|
||||||
|
|
||||||
|
initStats();
|
||||||
|
|
||||||
|
showLoadingStep(step++, STEPS);
|
||||||
|
|
||||||
initBattle();
|
initBattle();
|
||||||
|
|
||||||
showLoadingStep(step++, STEPS);
|
showLoadingStep(step++, STEPS);
|
||||||
|
|
|
@ -43,6 +43,7 @@ extern void initBulletDefs(void);
|
||||||
extern void initLookups(void);
|
extern void initLookups(void);
|
||||||
extern void initBattle(void);
|
extern void initBattle(void);
|
||||||
extern void initGame(void);
|
extern void initGame(void);
|
||||||
|
extern void initStats(void);
|
||||||
extern void initStarSystems(void);
|
extern void initStarSystems(void);
|
||||||
extern void initChallenges(void);
|
extern void initChallenges(void);
|
||||||
extern void initWidgets(void);
|
extern void initWidgets(void);
|
||||||
|
|
Loading…
Reference in New Issue