mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
Read and write best time trial frames
This is basically just bolting on the "frames" part of a time trial score. There's not enough space to properly show it on the time trial select screen, maybe we can figure something out later. But I at least want to implement the functionality now.
This commit is contained in:
parent
42e6185b12
commit
ee20067fc2
2 changed files with 29 additions and 1 deletions
|
@ -213,6 +213,7 @@ void Game::init(void)
|
||||||
tele_crewstats.resize(6);
|
tele_crewstats.resize(6);
|
||||||
quick_crewstats.resize(6);
|
quick_crewstats.resize(6);
|
||||||
besttimes.resize(6, -1);
|
besttimes.resize(6, -1);
|
||||||
|
::memset(bestframes, -1, sizeof(bestframes) * sizeof(int));
|
||||||
besttrinkets.resize(6, -1);
|
besttrinkets.resize(6, -1);
|
||||||
bestlives.resize(6, -1);
|
bestlives.resize(6, -1);
|
||||||
bestrank.resize(6, -1);
|
bestrank.resize(6, -1);
|
||||||
|
@ -1447,9 +1448,12 @@ void Game::updatestate()
|
||||||
if (trinkets() >= timetrialshinytarget) timetrialrank++;
|
if (trinkets() >= timetrialshinytarget) timetrialrank++;
|
||||||
if (deathcounts == 0) timetrialrank++;
|
if (deathcounts == 0) timetrialrank++;
|
||||||
|
|
||||||
if (timetrialresulttime < besttimes[timetriallevel] || besttimes[timetriallevel]==-1)
|
if (timetrialresulttime < besttimes[timetriallevel]
|
||||||
|
|| (timetrialresulttime == besttimes[timetriallevel] && timetrialresultframes < bestframes[timetriallevel])
|
||||||
|
|| besttimes[timetriallevel]==-1)
|
||||||
{
|
{
|
||||||
besttimes[timetriallevel] = timetrialresulttime;
|
besttimes[timetriallevel] = timetrialresulttime;
|
||||||
|
bestframes[timetriallevel] = timetrialresultframes;
|
||||||
}
|
}
|
||||||
if (trinkets() > besttrinkets[timetriallevel] || besttrinkets[timetriallevel]==-1)
|
if (trinkets() > besttrinkets[timetriallevel] || besttrinkets[timetriallevel]==-1)
|
||||||
{
|
{
|
||||||
|
@ -4549,6 +4553,7 @@ void Game::deletestats()
|
||||||
for (int i = 0; i < 6; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
besttimes[i] = -1;
|
besttimes[i] = -1;
|
||||||
|
bestframes[i] = -1;
|
||||||
besttrinkets[i] = -1;
|
besttrinkets[i] = -1;
|
||||||
bestlives[i] = -1;
|
bestlives[i] = -1;
|
||||||
bestrank[i] = -1;
|
bestrank[i] = -1;
|
||||||
|
@ -4648,6 +4653,19 @@ void Game::loadstats()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pKey == "bestframes")
|
||||||
|
{
|
||||||
|
std::string TextString = pText;
|
||||||
|
if (TextString.length())
|
||||||
|
{
|
||||||
|
std::vector<std::string> values = split(TextString, ',');
|
||||||
|
for (size_t i = 0; i < std::min(sizeof(bestframes), values.size()); i++)
|
||||||
|
{
|
||||||
|
bestframes[i] = atoi(values[i].c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (pKey == "besttrinkets")
|
if (pKey == "besttrinkets")
|
||||||
{
|
{
|
||||||
std::string TextString = (pText);
|
std::string TextString = (pText);
|
||||||
|
@ -4961,6 +4979,15 @@ void Game::savestats()
|
||||||
msg->LinkEndChild( doc.NewText( s_besttimes.c_str() ));
|
msg->LinkEndChild( doc.NewText( s_besttimes.c_str() ));
|
||||||
dataNode->LinkEndChild( msg );
|
dataNode->LinkEndChild( msg );
|
||||||
|
|
||||||
|
std::string s_bestframes;
|
||||||
|
for (size_t i = 0; i < sizeof(bestframes); i++)
|
||||||
|
{
|
||||||
|
s_bestframes += help.String(bestframes[i]) + ",";
|
||||||
|
}
|
||||||
|
msg = doc.NewElement( "bestframes" );
|
||||||
|
msg->LinkEndChild( doc.NewText( s_bestframes.c_str() ) );
|
||||||
|
dataNode->LinkEndChild( msg );
|
||||||
|
|
||||||
std::string s_besttrinkets;
|
std::string s_besttrinkets;
|
||||||
for(size_t i = 0; i < besttrinkets.size(); i++ )
|
for(size_t i = 0; i < besttrinkets.size(); i++ )
|
||||||
{
|
{
|
||||||
|
|
|
@ -297,6 +297,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
std::vector<int>besttimes;
|
std::vector<int>besttimes;
|
||||||
|
int bestframes[6];
|
||||||
std::vector<int>besttrinkets;
|
std::vector<int>besttrinkets;
|
||||||
std::vector<int>bestlives;
|
std::vector<int>bestlives;
|
||||||
std::vector<int> bestrank;
|
std::vector<int> bestrank;
|
||||||
|
|
Loading…
Reference in a new issue