mirror of
https://github.com/ZDoom/Raze.git
synced 2025-01-31 12:30:40 +00:00
retrieve time in fillSummary.
This commit is contained in:
parent
4dcf0fd3c4
commit
ee07ae35aa
12 changed files with 20 additions and 25 deletions
|
@ -41,6 +41,7 @@
|
|||
#include "gamecontrol.h"
|
||||
#include "raze_sound.h"
|
||||
#include "zstring.h"
|
||||
#include "statistics.h"
|
||||
|
||||
FString gSkillNames[MAXSKILLS];
|
||||
int gDefaultVolume = 0, gDefaultSkill = 1;
|
||||
|
@ -263,3 +264,14 @@ MapRecord* SetupUserMap(const char* boardfilename, const char *defaultmusic)
|
|||
else map->music = defaultmusic;
|
||||
return map;
|
||||
}
|
||||
|
||||
void MapLocals::fillSummary(SummaryInfo& sum)
|
||||
{
|
||||
sum.kills = kills.got;
|
||||
sum.maxkills = kills.max;
|
||||
sum.secrets = secrets.got;
|
||||
sum.maxsecrets = std::max(secrets.got, secrets.max); // If we found more than there are, increase the total. Blood's secret maintenance is too broken to get right.
|
||||
sum.supersecrets = superSecrets.got;
|
||||
sum.time = PlayClock;
|
||||
// todo: centralize the remaining info as well.
|
||||
}
|
||||
|
|
|
@ -237,17 +237,7 @@ struct MapLocals
|
|||
{
|
||||
StatRecord kills, secrets, superSecrets;
|
||||
|
||||
void fillSummary(SummaryInfo& sum)
|
||||
{
|
||||
sum.kills = kills.got;
|
||||
sum.maxkills = kills.max;
|
||||
sum.secrets = secrets.got;
|
||||
sum.maxsecrets = std::max(secrets.got, secrets.max); // If we found more than there are, increase the total. Blood's secret maintenance is too broken to get right.
|
||||
sum.supersecrets = superSecrets.got;
|
||||
|
||||
|
||||
// todo: centralize the remaining info as well.
|
||||
}
|
||||
void fillSummary(SummaryInfo& sum);
|
||||
|
||||
void clearStats()
|
||||
{
|
||||
|
|
|
@ -207,6 +207,7 @@ void ShowIntermission(MapRecord* fromMap, MapRecord* toMap, SummaryInfo* info, C
|
|||
completion_(false);
|
||||
return;
|
||||
}
|
||||
if (info) info->time /= 120;
|
||||
bool bossexit = g_bossexit;
|
||||
g_bossexit = false;
|
||||
|
||||
|
|
|
@ -409,7 +409,7 @@ static void StoreLevelStats()
|
|||
LevelData[i].killcount = info.kills;
|
||||
LevelData[i].totalsecrets = info.maxsecrets;
|
||||
LevelData[i].secretcount = info.secrets;
|
||||
LevelData[i].leveltime = PlayClock / 120;
|
||||
LevelData[i].leveltime = info.time / 120;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
|
@ -483,6 +483,7 @@ void STAT_Cancel()
|
|||
int STAT_GetTotalTime()
|
||||
{
|
||||
int statval = 0;
|
||||
|
||||
StoreLevelStats();
|
||||
for (unsigned i = 0; i < LevelData.Size(); i++)
|
||||
{
|
||||
|
|
|
@ -63,6 +63,7 @@
|
|||
#include "mapinfo.h"
|
||||
#include "razefont.h"
|
||||
#include "gamefuncs.h"
|
||||
#include "statistics.h"
|
||||
|
||||
#include "../version.h"
|
||||
|
||||
|
@ -199,6 +200,9 @@ void DrawAltHUD(SummaryInfo* info);
|
|||
|
||||
void UpdateStatusBar(SummaryInfo* info)
|
||||
{
|
||||
info->time = Scale(info->time, 1000, 120); // The statusbar expects milliseconds
|
||||
info->totaltime = STAT_GetTotalTime();
|
||||
|
||||
if (hud_size == Hud_Althud)
|
||||
{
|
||||
DrawAltHUD(info);
|
||||
|
|
|
@ -86,8 +86,6 @@ void UpdateStatusBar(PLAYER* pPlayer)
|
|||
sum.kills = pPlayer ? pPlayer->fragCount : 0;
|
||||
sum.maxkills = -3;
|
||||
}
|
||||
sum.time = Scale(PlayClock, 1000, 120);
|
||||
sum.totaltime = STAT_GetTotalTime();
|
||||
UpdateStatusBar(&sum);
|
||||
}
|
||||
|
||||
|
|
|
@ -1296,7 +1296,6 @@ void exitlevel(MapRecord* nextlevel)
|
|||
SummaryInfo info{};
|
||||
|
||||
Level.fillSummary(info);
|
||||
info.time = ps[0].player_par / GameTicRate;
|
||||
info.endofgame = endofgame;
|
||||
Mus_Stop();
|
||||
|
||||
|
|
|
@ -102,8 +102,6 @@ void DrawStatusBar()
|
|||
SummaryInfo info{};
|
||||
|
||||
Level.fillSummary(info);
|
||||
info.time = Scale(PlayClock, 1000, 120);
|
||||
info.totaltime = STAT_GetTotalTime();
|
||||
UpdateStatusBar(&info);
|
||||
}
|
||||
|
||||
|
|
|
@ -193,7 +193,6 @@ void GameInterface::LevelCompleted(MapRecord *to_map, int skill)
|
|||
SummaryInfo info{};
|
||||
Level.fillSummary(info);
|
||||
info.supersecrets = nBestLevel;// hacky override
|
||||
info.time = PlayClock * GameTicRate / 120;
|
||||
if (to_map) selectedlevelnew = to_map->levelNumber;
|
||||
ShowIntermission(currentLevel, to_map, &info, [=](bool)
|
||||
{
|
||||
|
|
|
@ -89,8 +89,6 @@ void DrawStatusBar()
|
|||
}
|
||||
SummaryInfo info{};
|
||||
Level.fillSummary(info);
|
||||
info.time = Scale(PlayClock, 1000, 120);
|
||||
info.totaltime = STAT_GetTotalTime();
|
||||
|
||||
UpdateStatusBar(&info);
|
||||
|
||||
|
|
|
@ -643,9 +643,6 @@ void GameInterface::LevelCompleted(MapRecord* map, int skill)
|
|||
SummaryInfo info{};
|
||||
Level.fillSummary(info);
|
||||
|
||||
info.time = PlayClock / 120;
|
||||
|
||||
|
||||
ShowIntermission(currentLevel, map, &info, [=](bool)
|
||||
{
|
||||
if (map == nullptr)
|
||||
|
|
|
@ -85,8 +85,6 @@ void UpdateStatusBar()
|
|||
|
||||
SummaryInfo info{};
|
||||
Level.fillSummary(info);
|
||||
info.time = Scale(PlayClock, 1000, 120);
|
||||
info.totaltime = STAT_GetTotalTime();
|
||||
|
||||
::UpdateStatusBar(&info);
|
||||
|
||||
|
|
Loading…
Reference in a new issue