mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-22 17:49:43 +01:00
Add centiseconds to timer overlays
This adds centiseconds to the in-game timer, as well as the time trial timer. This is to aid speedrun moderators in determining when exactly a run was completed, which they can't easily do if the timer only has a precision up to a second.
This commit is contained in:
parent
51fac68d3a
commit
1d6a808cbd
3 changed files with 25 additions and 3 deletions
|
@ -5822,6 +5822,21 @@ std::string Game::timetstring( int t )
|
|||
return tempstring;
|
||||
}
|
||||
|
||||
void Game::timestringcenti(char* buffer, const size_t buffer_size)
|
||||
{
|
||||
/* 16 chars should be plenty for int32s */
|
||||
char hours_str[16] = {'\0'};
|
||||
if (hours > 0)
|
||||
{
|
||||
SDL_snprintf(hours_str, sizeof(hours_str), "%i:", hours);
|
||||
}
|
||||
SDL_snprintf(
|
||||
buffer, buffer_size,
|
||||
"%s%02i:%02i.%02i",
|
||||
hours_str, minutes, seconds, frames * 100 / 30
|
||||
);
|
||||
}
|
||||
|
||||
void Game::returnmenu(void)
|
||||
{
|
||||
if (menustack.empty())
|
||||
|
|
|
@ -143,6 +143,8 @@ public:
|
|||
|
||||
std::string timetstring(int t);
|
||||
|
||||
void timestringcenti(char* buffer, size_t buffer_size);
|
||||
|
||||
void returnmenu(void);
|
||||
void returntomenu(enum Menu::MenuName t);
|
||||
void createmenu(enum Menu::MenuName t, bool samemenu = false);
|
||||
|
|
|
@ -1724,8 +1724,10 @@ void gamerender(void)
|
|||
|
||||
if (graphics.fademode==0 && !game.intimetrial && !game.isingamecompletescreen() && (!game.swnmode || game.swngame != 1) && game.showingametimer)
|
||||
{
|
||||
char buffer[SCREEN_WIDTH_TILES + 1]; /* ASCII only */
|
||||
graphics.bprint(6, 6, "TIME:", 255,255,255);
|
||||
graphics.bprint(46, 6, game.timestring(), 196, 196, 196);
|
||||
game.timestringcenti(buffer, sizeof(buffer));
|
||||
graphics.bprint(46, 6, buffer, 196, 196, 196);
|
||||
}
|
||||
|
||||
if(map.extrarow==0 || (map.custommode && map.roomname[0] != '\0'))
|
||||
|
@ -1932,6 +1934,9 @@ void gamerender(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
char buffer[SCREEN_WIDTH_TILES + 1]; /* ASCII only */
|
||||
game.timestringcenti(buffer, sizeof(buffer));
|
||||
|
||||
//Draw OSD stuff
|
||||
graphics.bprint(6, 18, "TIME :", 255,255,255);
|
||||
graphics.bprint(6, 30, "DEATH:", 255, 255, 255);
|
||||
|
@ -1939,11 +1944,11 @@ void gamerender(void)
|
|||
|
||||
if(game.timetrialparlost)
|
||||
{
|
||||
graphics.bprint(56, 18, game.timestring(), 196, 80, 80);
|
||||
graphics.bprint(56, 18, buffer, 196, 80, 80);
|
||||
}
|
||||
else
|
||||
{
|
||||
graphics.bprint(56, 18, game.timestring(), 196, 196, 196);
|
||||
graphics.bprint(56, 18, buffer, 196, 196, 196);
|
||||
}
|
||||
if(game.deathcounts>0)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue