TOL stuff

This commit is contained in:
Jaime Passos 2019-12-18 16:00:02 -03:00
parent 94f2b8f970
commit 5b0a094f67
3 changed files with 10 additions and 2 deletions

View File

@ -591,6 +591,11 @@ static void readfreeslots(MYFILE *f)
} else } else
CONS_Alert(CONS_WARNING, "Ran out of free SPR2 slots!\n"); CONS_Alert(CONS_WARNING, "Ran out of free SPR2 slots!\n");
} }
else if (fastcmp(type, "TOL"))
{
G_AddTOL(lastcustomtol, word);
lastcustomtol <<= 1;
}
else else
deh_warning("Freeslots: unknown enum class '%s' for '%s_%s'", type, type, word); deh_warning("Freeslots: unknown enum class '%s' for '%s_%s'", type, type, word);
} }
@ -1097,6 +1102,8 @@ static void readsprite2(MYFILE *f, INT32 num)
} }
INT32 numtolinfo = NUMBASETOL; INT32 numtolinfo = NUMBASETOL;
UINT32 lastcustomtol = (TOL_XMAS << 1);
tolinfo_t TYPEOFLEVEL[NUMMAXTOL] = { tolinfo_t TYPEOFLEVEL[NUMMAXTOL] = {
{"SOLO",TOL_SP}, {"SOLO",TOL_SP},
{"SP",TOL_SP}, {"SP",TOL_SP},
@ -1232,7 +1239,7 @@ static void readgametype(MYFILE *f, char *gtname)
tmp = strtok(word2,","); tmp = strtok(word2,",");
do { do {
for (i = 0; TYPEOFLEVEL[i].name; i++) for (i = 0; TYPEOFLEVEL[i].name; i++)
if (fastcmp(tmp, TYPEOFLEVEL[i].name)) if (fasticmp(tmp, TYPEOFLEVEL[i].name))
break; break;
if (!TYPEOFLEVEL[i].name) if (!TYPEOFLEVEL[i].name)
deh_warning("readgametype %s: unknown typeoflevel flag %s\n", gtname, tmp); deh_warning("readgametype %s: unknown typeoflevel flag %s\n", gtname, tmp);

View File

@ -453,6 +453,7 @@ typedef struct
} tolinfo_t; } tolinfo_t;
extern tolinfo_t TYPEOFLEVEL[NUMMAXTOL]; extern tolinfo_t TYPEOFLEVEL[NUMMAXTOL];
extern INT32 numtolinfo; extern INT32 numtolinfo;
extern UINT32 lastcustomtol;
extern tic_t totalplaytime; extern tic_t totalplaytime;

View File

@ -3181,7 +3181,7 @@ UINT32 gametypetol[NUMGAMETYPES] =
// //
void G_AddTOL(UINT32 newtol, const char *tolname) void G_AddTOL(UINT32 newtol, const char *tolname)
{ {
TYPEOFLEVEL[numtolinfo].name = tolname; TYPEOFLEVEL[numtolinfo].name = Z_StrDup(tolname);
TYPEOFLEVEL[numtolinfo].flag = newtol; TYPEOFLEVEL[numtolinfo].flag = newtol;
numtolinfo++; numtolinfo++;