diff --git a/src/player.c b/src/player.c index fbbcdcb..c7c53e2 100644 --- a/src/player.c +++ b/src/player.c @@ -608,9 +608,12 @@ void player_renderGUI(void) { double x, y; char str[10]; Pilot* p; - glColour* c; + glColour* c, c2; glFont* f; StarSystem* sys; + unsigned int t; + + t = SDL_GetTicks(); /* Pilot is dead or being created, just render her and stop. */ if(player_isFlag(PLAYER_DESTROYED) || player_isFlag(PLAYER_CREATING) || @@ -618,7 +621,7 @@ void player_renderGUI(void) { if(player_isFlag(PLAYER_DESTROYED)) { if(!toolkit && !player_isFlag(PLAYER_CREATING) && - (SDL_GetTicks() > player_timer)) { + (t > player_timer)) { menu_death(); } } @@ -830,18 +833,25 @@ void player_renderGUI(void) { /* Messages. */ x = gui.msg.x; y = gui.msg.y + (double)(gl_defFont.h * msg_max)*1.2; + c2.r = c2.g = c2.b = 1.; for(i = 0; i < msg_max; i++) { y -= (double)gl_defFont.h*1.2; if(msg_stack[msg_max-i-1].str[0] != '\0') { - if(msg_stack[msg_max-i-1].t < SDL_GetTicks()) + if(msg_stack[msg_max-i-1].t < t) msg_stack[msg_max-i-1].str[0] = '\0'; - else gl_print(NULL, x, y, NULL, "%s", msg_stack[msg_max-i-1].str); + else { + if(msg_stack[msg_max-i-1].t - msg_timeout/2 < t) + c2.a = (double)(msg_stack[msg_max-i-1].t - t) / (double)(msg_timeout/2); + else + c2.a = 1.; + gl_print(NULL, x, y, &c2, "%s", msg_stack[msg_max-i-1].str); + } } } /* Hyperspace FLASH BANG!!! */ if(pilot_isFlag(player, PILOT_HYPERSPACE) && !paused) { i = (int)player->ptimer - HYPERSPACE_FADEOUT; - j = (int)SDL_GetTicks(); + j = (int) t; if(i < j) { x = (double)(j-i) / HYPERSPACE_FADEOUT; glColor4d(1.,1.,1., x); /* We'll | I'll, make this more effiecent later. */