Don't use separate variable for number of trinkets in level

Same principle as removing the separate variable to track number of
collected trinkets. This means it's less error-prone as we're no longer
tracking number of trinkets separately.

In the function that counts the number of trinkets, I would've liked to
have used std::count_if(). However, the most optimal way would require
using a lambda, and lambdas are too new for the C++ standard we're
using. So I just bit the bullet and counted them manually.
This commit is contained in:
Misa
2020-04-08 22:09:11 -07:00
committed by Ethan Lee
parent 5661f46a52
commit 0047dc8d81
5 changed files with 21 additions and 13 deletions

View File

@@ -1950,7 +1950,7 @@ void Game::updatestate()
#if !defined(NO_CUSTOM_LEVELS)
if(map.custommode)
{
graphics.createtextbox(" " + help.number(trinkets()) + " out of " + help.number(ed.numtrinkets)+ " ", 50, 65, 174, 174, 174);
graphics.createtextbox(" " + help.number(trinkets()) + " out of " + help.number(ed.numtrinkets())+ " ", 50, 65, 174, 174, 174);
graphics.textboxcenterx();
}
else
@@ -1970,7 +1970,7 @@ void Game::updatestate()
#if !defined(NO_CUSTOM_LEVELS)
if(map.custommode)
{
graphics.createtextbox(" " + help.number(trinkets()) + " out of " + help.number(ed.numtrinkets)+ " ", 50, 135, 174, 174, 174);
graphics.createtextbox(" " + help.number(trinkets()) + " out of " + help.number(ed.numtrinkets())+ " ", 50, 135, 174, 174, 174);
graphics.textboxcenterx();
}
else
@@ -2095,7 +2095,7 @@ void Game::updatestate()
if(ed.numcrewmates-crewmates()==0)
{
//Finished level
if(ed.numtrinkets-trinkets()==0)
if(ed.numtrinkets()-trinkets()==0)
{
//and got all the trinkets!
updatecustomlevelstats(customlevelfilename, 3);