1
0
mirror of https://github.com/XProger/OpenLara.git synced 2025-08-13 16:44:50 +02:00
This commit is contained in:
XProger
2019-09-26 01:35:12 +03:00
parent 6fe0191cc2
commit af4b6c1159
2 changed files with 129 additions and 129 deletions

View File

@@ -252,139 +252,137 @@ namespace TR {
TRACK_TR4_OUT_NIGHT = 111,
};
// #define LEVEL (version,name,track) { #name, STR_##version##_##name, TRACK_##version##track },
// #define CUT (version,id) { #CUT_#id, STR_##version##_##name, TRACK_##version##track },
struct LevelInfo {
const char *name;
StringID title;
int track;
uint8 track;
uint8 secrets;
} LEVEL_INFO[LVL_MAX] = {
{ "" , STR_EMPTY , TRACK_TR1_CAVES },
{ "" , STR_EMPTY , TRACK_TR1_CAVES , 0 },
// TR1
{ "TITLE" , STR_EMPTY , TRACK_TR1_TITLE },
{ "GYM" , STR_TR1_GYM , NO_TRACK },
{ "LEVEL1" , STR_TR1_LEVEL1 , TRACK_TR1_CAVES },
{ "LEVEL2" , STR_TR1_LEVEL2 , TRACK_TR1_CAVES },
{ "LEVEL3A" , STR_TR1_LEVEL3A , TRACK_TR1_CAVES },
{ "LEVEL3B" , STR_TR1_LEVEL3B , TRACK_TR1_CAVES },
{ "CUT1" , STR_EMPTY , TRACK_TR1_CUT_1 },
{ "LEVEL4" , STR_TR1_LEVEL4 , TRACK_TR1_CAVES },
{ "LEVEL5" , STR_TR1_LEVEL5 , TRACK_TR1_CAVES },
{ "LEVEL6" , STR_TR1_LEVEL6 , TRACK_TR1_CAVES },
{ "LEVEL7A" , STR_TR1_LEVEL7A , TRACK_TR1_CISTERN },
{ "LEVEL7B" , STR_TR1_LEVEL7B , TRACK_TR1_CISTERN },
{ "CUT2" , STR_EMPTY , TRACK_TR1_CUT_2 },
{ "LEVEL8A" , STR_TR1_LEVEL8A , TRACK_TR1_EGYPT },
{ "LEVEL8B" , STR_TR1_LEVEL8B , TRACK_TR1_EGYPT },
{ "LEVEL8C" , STR_TR1_LEVEL8C , TRACK_TR1_EGYPT },
{ "LEVEL10A" , STR_TR1_LEVEL10A , TRACK_TR1_MINE },
{ "CUT3" , STR_EMPTY , TRACK_TR1_CUT_3 },
{ "LEVEL10B" , STR_TR1_LEVEL10B , TRACK_TR1_MINE },
{ "CUT4" , STR_EMPTY , TRACK_TR1_CUT_4 },
{ "LEVEL10C" , STR_TR1_LEVEL10C , TRACK_TR1_MINE },
{ "EGYPT" , STR_TR1_EGYPT , TRACK_TR1_EGYPT },
{ "CAT" , STR_TR1_CAT , TRACK_TR1_EGYPT },
{ "END" , STR_TR1_END , TRACK_TR1_EGYPT },
{ "END2" , STR_TR1_END2 , TRACK_TR1_EGYPT },
{ "TITLE" , STR_EMPTY , TRACK_TR1_TITLE , 0 },
{ "GYM" , STR_TR1_GYM , NO_TRACK , 0 },
{ "LEVEL1" , STR_TR1_LEVEL1 , TRACK_TR1_CAVES , 3 },
{ "LEVEL2" , STR_TR1_LEVEL2 , TRACK_TR1_CAVES , 3 },
{ "LEVEL3A" , STR_TR1_LEVEL3A , TRACK_TR1_CAVES , 5 },
{ "LEVEL3B" , STR_TR1_LEVEL3B , TRACK_TR1_CAVES , 3 },
{ "CUT1" , STR_EMPTY , TRACK_TR1_CUT_1 , 0 },
{ "LEVEL4" , STR_TR1_LEVEL4 , TRACK_TR1_CAVES , 4 },
{ "LEVEL5" , STR_TR1_LEVEL5 , TRACK_TR1_CAVES , 3 },
{ "LEVEL6" , STR_TR1_LEVEL6 , TRACK_TR1_CAVES , 3 },
{ "LEVEL7A" , STR_TR1_LEVEL7A , TRACK_TR1_CISTERN , 3 },
{ "LEVEL7B" , STR_TR1_LEVEL7B , TRACK_TR1_CISTERN , 2 },
{ "CUT2" , STR_EMPTY , TRACK_TR1_CUT_2 , 0 },
{ "LEVEL8A" , STR_TR1_LEVEL8A , TRACK_TR1_EGYPT , 3 },
{ "LEVEL8B" , STR_TR1_LEVEL8B , TRACK_TR1_EGYPT , 3 },
{ "LEVEL8C" , STR_TR1_LEVEL8C , TRACK_TR1_EGYPT , 1 },
{ "LEVEL10A" , STR_TR1_LEVEL10A , TRACK_TR1_MINE , 3 },
{ "CUT3" , STR_EMPTY , TRACK_TR1_CUT_3 , 0 },
{ "LEVEL10B" , STR_TR1_LEVEL10B , TRACK_TR1_MINE , 3 },
{ "CUT4" , STR_EMPTY , TRACK_TR1_CUT_4 , 0 },
{ "LEVEL10C" , STR_TR1_LEVEL10C , TRACK_TR1_MINE , 3 },
{ "EGYPT" , STR_TR1_EGYPT , TRACK_TR1_EGYPT , 3 },
{ "CAT" , STR_TR1_CAT , TRACK_TR1_EGYPT , 4 },
{ "END" , STR_TR1_END , TRACK_TR1_EGYPT , 2 },
{ "END2" , STR_TR1_END2 , TRACK_TR1_EGYPT , 1 },
// TR2
{ "TITLE" , STR_EMPTY , TRACK_TR2_TITLE },
{ "ASSAULT" , STR_TR2_ASSAULT , NO_TRACK },
{ "WALL" , STR_TR2_WALL , TRACK_TR2_CHINA_1 },
{ "CUT1" , STR_EMPTY , TRACK_TR2_CUT_1 },
{ "BOAT" , STR_TR2_BOAT , NO_TRACK },
{ "VENICE" , STR_TR2_VENICE , NO_TRACK },
{ "OPERA" , STR_TR2_OPERA , TRACK_TR2_ITALY },
{ "CUT2" , STR_EMPTY , TRACK_TR2_CUT_2 },
{ "RIG" , STR_TR2_RIG , TRACK_TR2_RIG },
{ "PLATFORM" , STR_TR2_PLATFORM , TRACK_TR2_RIG },
{ "CUT3" , STR_EMPTY , TRACK_TR2_CUT_3 },
{ "UNWATER" , STR_TR2_UNWATER , TRACK_TR2_UNWATER_1 },
{ "KEEL" , STR_TR2_KEEL , TRACK_TR2_UNWATER_2 },
{ "LIVING" , STR_TR2_LIVING , TRACK_TR2_UNWATER_1 },
{ "DECK" , STR_TR2_DECK , TRACK_TR2_UNWATER_2 },
{ "SKIDOO" , STR_TR2_SKIDOO , TRACK_TR2_TIBET_1 },
{ "MONASTRY" , STR_TR2_MONASTRY , NO_TRACK },
{ "CATACOMB" , STR_TR2_CATACOMB , TRACK_TR2_TIBET_2 },
{ "ICECAVE" , STR_TR2_ICECAVE , TRACK_TR2_TIBET_2 },
{ "EMPRTOMB" , STR_TR2_EMPRTOMB , TRACK_TR2_CHINA_2 },
{ "CUT4" , STR_EMPTY , TRACK_TR2_CUT_4 },
{ "FLOATING" , STR_TR2_FLOATING , TRACK_TR2_CHINA_2 },
{ "XIAN" , STR_TR2_XIAN , TRACK_TR2_CHINA_2 },
{ "HOUSE" , STR_TR2_HOUSE , NO_TRACK },
{ "TITLE" , STR_EMPTY , TRACK_TR2_TITLE , 0 },
{ "ASSAULT" , STR_TR2_ASSAULT , NO_TRACK , 0 },
{ "WALL" , STR_TR2_WALL , TRACK_TR2_CHINA_1 , 3 },
{ "CUT1" , STR_EMPTY , TRACK_TR2_CUT_1 , 0 },
{ "BOAT" , STR_TR2_BOAT , NO_TRACK , 3 },
{ "VENICE" , STR_TR2_VENICE , NO_TRACK , 3 },
{ "OPERA" , STR_TR2_OPERA , TRACK_TR2_ITALY , 3 },
{ "CUT2" , STR_EMPTY , TRACK_TR2_CUT_2 , 0 },
{ "RIG" , STR_TR2_RIG , TRACK_TR2_RIG , 3 },
{ "PLATFORM" , STR_TR2_PLATFORM , TRACK_TR2_RIG , 3 },
{ "CUT3" , STR_EMPTY , TRACK_TR2_CUT_3 , 0 },
{ "UNWATER" , STR_TR2_UNWATER , TRACK_TR2_UNWATER_1 , 3 },
{ "KEEL" , STR_TR2_KEEL , TRACK_TR2_UNWATER_2 , 3 },
{ "LIVING" , STR_TR2_LIVING , TRACK_TR2_UNWATER_1 , 3 },
{ "DECK" , STR_TR2_DECK , TRACK_TR2_UNWATER_2 , 3 },
{ "SKIDOO" , STR_TR2_SKIDOO , TRACK_TR2_TIBET_1 , 3 },
{ "MONASTRY" , STR_TR2_MONASTRY , NO_TRACK , 3 },
{ "CATACOMB" , STR_TR2_CATACOMB , TRACK_TR2_TIBET_2 , 3 },
{ "ICECAVE" , STR_TR2_ICECAVE , TRACK_TR2_TIBET_2 , 3 },
{ "EMPRTOMB" , STR_TR2_EMPRTOMB , TRACK_TR2_CHINA_2 , 3 },
{ "CUT4" , STR_EMPTY , TRACK_TR2_CUT_4 , 0 },
{ "FLOATING" , STR_TR2_FLOATING , TRACK_TR2_CHINA_2 , 3 },
{ "XIAN" , STR_TR2_XIAN , TRACK_TR2_CHINA_2 , 3 },
{ "HOUSE" , STR_TR2_HOUSE , NO_TRACK , 3 },
// TR3
{ "TITLE" , STR_EMPTY , TRACK_TR3_TITLE },
{ "HOUSE" , STR_TR3_HOUSE , NO_TRACK },
{ "JUNGLE" , STR_TR3_JUNGLE , TRACK_TR3_INDIA_1 },
{ "CUT6" , STR_EMPTY , TRACK_TR3_CUT_6 },
{ "TEMPLE" , STR_TR3_TEMPLE , TRACK_TR3_INDIA_1 },
{ "CUT9" , STR_EMPTY , TRACK_TR3_CUT_9 },
{ "QUADCHAS" , STR_TR3_QUADCHAS , TRACK_TR3_INDIA_1 },
{ "TONYBOSS" , STR_TR3_TONYBOSS , TRACK_TR3_INDIA_2 },
{ "SHORE" , STR_TR3_SHORE , TRACK_TR3_SOUTH_1 },
{ "CUT1" , STR_EMPTY , TRACK_TR3_CUT_1 },
{ "CRASH" , STR_TR3_CRASH , TRACK_TR3_SOUTH_2 },
{ "CUT4" , STR_EMPTY , TRACK_TR3_CUT_4 },
{ "RAPIDS" , STR_TR3_RAPIDS , TRACK_TR3_SOUTH_3 },
{ "TRIBOSS" , STR_TR3_TRIBOSS , TRACK_TR3_CAVES },
{ "ROOFS" , STR_TR3_ROOFS , TRACK_TR3_LONDON_1 },
{ "CUT2" , STR_EMPTY , TRACK_TR3_CUT_2 },
{ "SEWER" , STR_TR3_SEWER , TRACK_TR3_LONDON_2 },
{ "CUT5" , STR_EMPTY , TRACK_TR3_CUT_5 },
{ "TOWER" , STR_TR3_TOWER , TRACK_TR3_LONDON_3 },
{ "CUT11" , STR_EMPTY , TRACK_TR3_CUT_11 },
{ "OFFICE" , STR_TR3_OFFICE , TRACK_TR3_LONDON_4 },
{ "NEVADA" , STR_TR3_NEVADA , TRACK_TR3_NEVADA_1 },
{ "CUT7" , STR_EMPTY , TRACK_TR3_CUT_7 },
{ "COMPOUND" , STR_TR3_COMPOUND , TRACK_TR3_NEVADA_2 },
{ "CUT8" , STR_EMPTY , TRACK_TR3_CUT_8 },
{ "AREA51" , STR_TR3_AREA51 , TRACK_TR3_NEVADA_2 },
{ "ANTARC" , STR_TR3_ANTARC , TRACK_TR3_ANTARC_1 },
{ "CUT3" , STR_EMPTY , TRACK_TR3_CUT_3 },
{ "MINES" , STR_TR3_MINES , TRACK_TR3_ANTARC_2 },
{ "CITY" , STR_TR3_CITY , TRACK_TR3_ANTARC_3 },
{ "CUT12" , STR_EMPTY , TRACK_TR3_CUT_12 },
{ "CHAMBER" , STR_TR3_CHAMBER , TRACK_TR3_ANTARC_3 },
{ "STPAUL" , STR_TR3_STPAUL , TRACK_TR3_CAVES },
{ "TITLE" , STR_EMPTY , TRACK_TR3_TITLE , 0 },
{ "HOUSE" , STR_TR3_HOUSE , NO_TRACK , 3 },
{ "JUNGLE" , STR_TR3_JUNGLE , TRACK_TR3_INDIA_1 , 3 },
{ "CUT6" , STR_EMPTY , TRACK_TR3_CUT_6 , 0 },
{ "TEMPLE" , STR_TR3_TEMPLE , TRACK_TR3_INDIA_1 , 3 },
{ "CUT9" , STR_EMPTY , TRACK_TR3_CUT_9 , 0 },
{ "QUADCHAS" , STR_TR3_QUADCHAS , TRACK_TR3_INDIA_1 , 3 },
{ "TONYBOSS" , STR_TR3_TONYBOSS , TRACK_TR3_INDIA_2 , 3 },
{ "SHORE" , STR_TR3_SHORE , TRACK_TR3_SOUTH_1 , 3 },
{ "CUT1" , STR_EMPTY , TRACK_TR3_CUT_1 , 0 },
{ "CRASH" , STR_TR3_CRASH , TRACK_TR3_SOUTH_2 , 3 },
{ "CUT4" , STR_EMPTY , TRACK_TR3_CUT_4 , 0 },
{ "RAPIDS" , STR_TR3_RAPIDS , TRACK_TR3_SOUTH_3 , 3 },
{ "TRIBOSS" , STR_TR3_TRIBOSS , TRACK_TR3_CAVES , 3 },
{ "ROOFS" , STR_TR3_ROOFS , TRACK_TR3_LONDON_1 , 3 },
{ "CUT2" , STR_EMPTY , TRACK_TR3_CUT_2 , 0 },
{ "SEWER" , STR_TR3_SEWER , TRACK_TR3_LONDON_2 , 3 },
{ "CUT5" , STR_EMPTY , TRACK_TR3_CUT_5 , 0 },
{ "TOWER" , STR_TR3_TOWER , TRACK_TR3_LONDON_3 , 3 },
{ "CUT11" , STR_EMPTY , TRACK_TR3_CUT_11 , 0 },
{ "OFFICE" , STR_TR3_OFFICE , TRACK_TR3_LONDON_4 , 3 },
{ "NEVADA" , STR_TR3_NEVADA , TRACK_TR3_NEVADA_1 , 3 },
{ "CUT7" , STR_EMPTY , TRACK_TR3_CUT_7 , 0 },
{ "COMPOUND" , STR_TR3_COMPOUND , TRACK_TR3_NEVADA_2 , 3 },
{ "CUT8" , STR_EMPTY , TRACK_TR3_CUT_8 , 0 },
{ "AREA51" , STR_TR3_AREA51 , TRACK_TR3_NEVADA_2 , 3 },
{ "ANTARC" , STR_TR3_ANTARC , TRACK_TR3_ANTARC_1 , 3 },
{ "CUT3" , STR_EMPTY , TRACK_TR3_CUT_3 , 0 },
{ "MINES" , STR_TR3_MINES , TRACK_TR3_ANTARC_2 , 3 },
{ "CITY" , STR_TR3_CITY , TRACK_TR3_ANTARC_3 , 3 },
{ "CUT12" , STR_EMPTY , TRACK_TR3_CUT_12 , 0 },
{ "CHAMBER" , STR_TR3_CHAMBER , TRACK_TR3_ANTARC_3 , 3 },
{ "STPAUL" , STR_TR3_STPAUL , TRACK_TR3_CAVES , 3 },
// TR4
{ "title" , STR_UNKNOWN , TRACK_TR4_TITLE },
{ "angkor1" , STR_UNKNOWN , TRACK_TR4_OUT_DAY },
{ "ang_race" , STR_UNKNOWN , TRACK_TR4_OUT_DAY },
{ "settomb1" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "settomb2" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "jeepchas" , STR_UNKNOWN , TRACK_TR4_OUT_DAY },
{ "jeepchs2" , STR_UNKNOWN , TRACK_TR4_JEEP },
{ "karnak1" , STR_UNKNOWN , TRACK_TR4_OUT_DAY },
{ "hall" , STR_UNKNOWN , TRACK_TR4_OUT_DAY },
{ "lake" , STR_UNKNOWN , TRACK_TR4_OUT_DAY },
{ "semer" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "semer2" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "train" , STR_UNKNOWN , TRACK_TR4_TRAIN },
{ "alexhub" , STR_UNKNOWN , TRACK_TR4_OUT_DAY },
{ "alexhub2" , STR_UNKNOWN , TRACK_TR4_COASTAL },
{ "palaces" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "palaces2" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "csplit1" , STR_UNKNOWN , TRACK_TR4_IN_DRIPS },
{ "csplit2" , STR_UNKNOWN , TRACK_TR4_IN_DRIPS },
{ "library" , STR_UNKNOWN , TRACK_TR4_IN_DRIPS },
{ "libend" , STR_UNKNOWN , TRACK_TR4_WEIRD1 },
{ "bikebit" , STR_UNKNOWN , TRACK_TR4_BATTLE },
{ "nutrench" , STR_UNKNOWN , TRACK_TR4_BATTLE },
{ "cortyard" , STR_UNKNOWN , TRACK_TR4_BATTLE },
{ "lowstrt" , STR_UNKNOWN , TRACK_TR4_BATTLE },
{ "highstrt" , STR_UNKNOWN , TRACK_TR4_BATTLE },
{ "citnew" , STR_UNKNOWN , TRACK_TR4_BATTLE },
{ "joby1a" , STR_UNKNOWN , TRACK_TR4_OUT_NIGHT },
{ "joby1b" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "joby2" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "joby3a" , STR_UNKNOWN , TRACK_TR4_OUT_NIGHT },
{ "joby3b" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "joby4a" , STR_UNKNOWN , TRACK_TR4_OUT_NIGHT },
{ "joby4b" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "joby4c" , STR_UNKNOWN , TRACK_TR4_OUT_NIGHT },
{ "joby5a" , STR_UNKNOWN , TRACK_TR4_IN_DARK },
{ "joby5b" , STR_UNKNOWN , TRACK_TR4_BOSS },
{ "joby5c" , STR_UNKNOWN , TRACK_TR4_IN_DRIPS },
{ "title" , STR_UNKNOWN , TRACK_TR4_TITLE , 0 },
{ "angkor1" , STR_UNKNOWN , TRACK_TR4_OUT_DAY , 0 },
{ "ang_race" , STR_UNKNOWN , TRACK_TR4_OUT_DAY , 0 },
{ "settomb1" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "settomb2" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "jeepchas" , STR_UNKNOWN , TRACK_TR4_OUT_DAY , 0 },
{ "jeepchs2" , STR_UNKNOWN , TRACK_TR4_JEEP , 0 },
{ "karnak1" , STR_UNKNOWN , TRACK_TR4_OUT_DAY , 0 },
{ "hall" , STR_UNKNOWN , TRACK_TR4_OUT_DAY , 0 },
{ "lake" , STR_UNKNOWN , TRACK_TR4_OUT_DAY , 0 },
{ "semer" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "semer2" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "train" , STR_UNKNOWN , TRACK_TR4_TRAIN , 0 },
{ "alexhub" , STR_UNKNOWN , TRACK_TR4_OUT_DAY , 0 },
{ "alexhub2" , STR_UNKNOWN , TRACK_TR4_COASTAL , 0 },
{ "palaces" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "palaces2" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "csplit1" , STR_UNKNOWN , TRACK_TR4_IN_DRIPS , 0 },
{ "csplit2" , STR_UNKNOWN , TRACK_TR4_IN_DRIPS , 0 },
{ "library" , STR_UNKNOWN , TRACK_TR4_IN_DRIPS , 0 },
{ "libend" , STR_UNKNOWN , TRACK_TR4_WEIRD1 , 0 },
{ "bikebit" , STR_UNKNOWN , TRACK_TR4_BATTLE , 0 },
{ "nutrench" , STR_UNKNOWN , TRACK_TR4_BATTLE , 0 },
{ "cortyard" , STR_UNKNOWN , TRACK_TR4_BATTLE , 0 },
{ "lowstrt" , STR_UNKNOWN , TRACK_TR4_BATTLE , 0 },
{ "highstrt" , STR_UNKNOWN , TRACK_TR4_BATTLE , 0 },
{ "citnew" , STR_UNKNOWN , TRACK_TR4_BATTLE , 0 },
{ "joby1a" , STR_UNKNOWN , TRACK_TR4_OUT_NIGHT , 0 },
{ "joby1b" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "joby2" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "joby3a" , STR_UNKNOWN , TRACK_TR4_OUT_NIGHT , 0 },
{ "joby3b" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "joby4a" , STR_UNKNOWN , TRACK_TR4_OUT_NIGHT , 0 },
{ "joby4b" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "joby4c" , STR_UNKNOWN , TRACK_TR4_OUT_NIGHT , 0 },
{ "joby5a" , STR_UNKNOWN , TRACK_TR4_IN_DARK , 0 },
{ "joby5b" , STR_UNKNOWN , TRACK_TR4_BOSS , 0 },
{ "joby5c" , STR_UNKNOWN , TRACK_TR4_IN_DRIPS , 0 },
};
static const char* TRACK_LIST_TR4[] = {

View File

@@ -1986,10 +1986,12 @@ struct Inventory {
char buf[256];
char time[16];
int secretsMax = 3;
int secrets = ((saveStats.secrets & 1) != 0) +
((saveStats.secrets & 2) != 0) +
((saveStats.secrets & 4) != 0);
int secretsMax = TR::LEVEL_INFO[saveStats.level].secrets;
int secrets = ((saveStats.secrets & (1 << 0)) != 0) +
((saveStats.secrets & (1 << 1)) != 0) +
((saveStats.secrets & (1 << 2)) != 0) +
((saveStats.secrets & (1 << 3)) != 0) +
((saveStats.secrets & (1 << 4)) != 0);
int s = saveStats.time % 60;
int m = saveStats.time / 60 % 60;