diff --git a/src/dehacked.c b/src/dehacked.c index f70615af6..259542957 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -1323,6 +1323,8 @@ static void readlevelheader(MYFILE *f, INT32 num) else mapheaderinfo[num-1]->menuflags &= ~LF2_WIDEICON; } + else if (fastcmp(word, "STARTRINGS")) + mapheaderinfo[num-1]->startrings = (UINT16)i; else deh_warning("Level header %d: unknown word '%s'", num, word); } diff --git a/src/doomstat.h b/src/doomstat.h index efd347dbe..06dfcca0b 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -313,6 +313,7 @@ typedef struct UINT8 menuflags; ///< LF2_flags: options that affect record attack / nights mode menus char selectheading[22]; ///< Level select heading. Allows for controllable grouping. + UINT16 startrings; ///< Number of rings players start with. // Freed animals stuff. UINT8 numFlickies; ///< Internal. For freed flicky support. diff --git a/src/g_game.c b/src/g_game.c index af17b2b28..5a11b237f 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2449,6 +2449,8 @@ void G_SpawnPlayer(INT32 playernum, boolean starpost) } P_MovePlayerToSpawn(playernum, spawnpoint); + players[playernum].rings = mapheaderinfo[gamemap-1]->startrings; + #ifdef HAVE_BLUA LUAh_PlayerSpawn(&players[playernum]); // Lua hook for player spawning :) #endif