G_NewGametype
This commit is contained in:
parent
6660d63028
commit
15862ed02c
|
@ -383,6 +383,8 @@ boolean timedemo_quit;
|
||||||
|
|
||||||
INT16 gametype = GT_COOP;
|
INT16 gametype = GT_COOP;
|
||||||
UINT32 gametyperules = 0;
|
UINT32 gametyperules = 0;
|
||||||
|
INT16 numgametypes = (GT_CTF + 1);
|
||||||
|
|
||||||
boolean splitscreen = false;
|
boolean splitscreen = false;
|
||||||
boolean circuitmap = false;
|
boolean circuitmap = false;
|
||||||
INT32 adminplayers[MAXPLAYERS];
|
INT32 adminplayers[MAXPLAYERS];
|
||||||
|
|
|
@ -85,6 +85,8 @@ extern boolean multiplayer;
|
||||||
|
|
||||||
extern INT16 gametype;
|
extern INT16 gametype;
|
||||||
extern UINT32 gametyperules;
|
extern UINT32 gametyperules;
|
||||||
|
extern INT16 numgametypes;
|
||||||
|
|
||||||
extern boolean splitscreen;
|
extern boolean splitscreen;
|
||||||
extern boolean circuitmap; // Does this level have 'circuit mode'?
|
extern boolean circuitmap; // Does this level have 'circuit mode'?
|
||||||
extern boolean fromlevelselect;
|
extern boolean fromlevelselect;
|
||||||
|
|
27
src/g_game.c
27
src/g_game.c
|
@ -3094,6 +3094,33 @@ void G_SetGametype(INT16 gtype)
|
||||||
CONS_Printf("Gametype set to %s (%d)\n", Gametype_Names[gametype], gametype);
|
CONS_Printf("Gametype set to %s (%d)\n", Gametype_Names[gametype], gametype);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// G_NewGametype
|
||||||
|
//
|
||||||
|
// Create a new gametype. Returns the new gametype number.
|
||||||
|
//
|
||||||
|
INT16 G_NewGametype(UINT32 rules)
|
||||||
|
{
|
||||||
|
INT32 i;
|
||||||
|
INT16 newgtype = numgametypes;
|
||||||
|
numgametypes++;
|
||||||
|
|
||||||
|
// Set gametype rules.
|
||||||
|
gametypedefaultrules[newgtype] = numgametypes;
|
||||||
|
Gametype_Names[newgtype] = "???";
|
||||||
|
|
||||||
|
// Update gametype_cons_t accordingly.
|
||||||
|
for (i = 0; i < numgametypes; i++)
|
||||||
|
{
|
||||||
|
gametype_cons_t[i].value = i;
|
||||||
|
gametype_cons_t[i].strvalue = Gametype_Names[i];
|
||||||
|
}
|
||||||
|
gametype_cons_t[NUMGAMETYPES].value = 0;
|
||||||
|
gametype_cons_t[NUMGAMETYPES].strvalue = NULL;
|
||||||
|
|
||||||
|
return newgtype;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// G_GetGametypeByName
|
// G_GetGametypeByName
|
||||||
//
|
//
|
||||||
|
|
|
@ -202,6 +202,8 @@ void G_StopDemo(void);
|
||||||
boolean G_CheckDemoStatus(void);
|
boolean G_CheckDemoStatus(void);
|
||||||
|
|
||||||
void G_SetGametype(INT16 gametype);
|
void G_SetGametype(INT16 gametype);
|
||||||
|
INT16 G_NewGametype(UINT32 rules);
|
||||||
|
|
||||||
INT32 G_GetGametypeByName(const char *gametypestr);
|
INT32 G_GetGametypeByName(const char *gametypestr);
|
||||||
boolean G_IsSpecialStage(INT32 mapnum);
|
boolean G_IsSpecialStage(INT32 mapnum);
|
||||||
boolean G_GametypeUsesLives(void);
|
boolean G_GametypeUsesLives(void);
|
||||||
|
|
Loading…
Reference in a new issue