Merge branch 'starpost-historical-erasure' into 'master'

"Starpost" to "Cheat Check"

See merge request KartKrew/Kart!1449
This commit is contained in:
toaster 2023-09-01 20:28:57 +00:00
commit 4eb06392cb
21 changed files with 98 additions and 121 deletions

View file

@ -738,7 +738,7 @@ struct player_t
UINT8 laps; // Number of laps (optional) UINT8 laps; // Number of laps (optional)
UINT8 latestlap; UINT8 latestlap;
UINT32 lapPoints; // Points given from laps UINT32 lapPoints; // Points given from laps
INT32 starpostnum; // The number of the last starpost you hit INT32 cheatchecknum; // The number of the last cheatcheck you hit
UINT8 ctfteam; // 0 == Spectator, 1 == Red, 2 == Blue UINT8 ctfteam; // 0 == Spectator, 1 == Red, 2 == Blue

View file

@ -1277,13 +1277,6 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
"S_WALLSPIKED1", "S_WALLSPIKED1",
"S_WALLSPIKED2", "S_WALLSPIKED2",
// Starpost
"S_STARPOST_IDLE",
"S_STARPOST_FLASH",
"S_STARPOST_STARTSPIN",
"S_STARPOST_SPIN",
"S_STARPOST_ENDSPIN",
// Big floating mine // Big floating mine
"S_BIGMINE_IDLE", "S_BIGMINE_IDLE",
"S_BIGMINE_ALERT1", "S_BIGMINE_ALERT1",
@ -4832,7 +4825,7 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
"MT_SPIKE", "MT_SPIKE",
"MT_WALLSPIKE", "MT_WALLSPIKE",
"MT_WALLSPIKEBASE", "MT_WALLSPIKEBASE",
"MT_STARPOST", "MT_CHEATCHECK",
"MT_BIGMINE", "MT_BIGMINE",
"MT_BLASTEXECUTOR", "MT_BLASTEXECUTOR",
"MT_CANNONLAUNCHER", "MT_CANNONLAUNCHER",
@ -6045,7 +6038,7 @@ const char *const SSF_LIST[] = {
"WINDCURRENT", "WINDCURRENT",
"CONVEYOR", "CONVEYOR",
"\x01", // free (name un-matchable) "\x01", // free (name un-matchable)
"STARPOSTACTIVATOR", "CHEATCHECKACTIVATOR",
"EXIT", "EXIT",
"\x01", // free (name un-matchable) "\x01", // free (name un-matchable)
"\x01", // free (name un-matchable) "\x01", // free (name un-matchable)

View file

@ -2012,7 +2012,7 @@ static inline void G_PlayerFinishLevel(INT32 player)
p->mo->renderflags &= ~(RF_TRANSMASK|RF_BRIGHTMASK); // cancel invisibility p->mo->renderflags &= ~(RF_TRANSMASK|RF_BRIGHTMASK); // cancel invisibility
P_FlashPal(p, 0, 0); // Resets P_FlashPal(p, 0, 0); // Resets
p->starpostnum = 0; p->cheatchecknum = 0;
memset(&p->respawn, 0, sizeof (p->respawn)); memset(&p->respawn, 0, sizeof (p->respawn));
p->spectatorReentry = 0; // Clean up any pending re-entry forbiddings p->spectatorReentry = 0; // Clean up any pending re-entry forbiddings
@ -2045,7 +2045,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
UINT8 ctfteam; UINT8 ctfteam;
INT32 starpostnum; INT32 cheatchecknum;
INT32 exiting; INT32 exiting;
INT32 khudfinish; INT32 khudfinish;
INT32 khudcardanimation; INT32 khudcardanimation;
@ -2191,7 +2191,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
exiting = 0; exiting = 0;
khudfinish = 0; khudfinish = 0;
khudcardanimation = 0; khudcardanimation = 0;
starpostnum = 0; cheatchecknum = 0;
saveroundconditions = false; saveroundconditions = false;
} }
@ -2239,7 +2239,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
khudcardanimation = 0; khudcardanimation = 0;
} }
starpostnum = players[player].starpostnum; cheatchecknum = players[player].cheatchecknum;
pflags |= (players[player].pflags & (PF_STASIS|PF_ELIMINATED|PF_NOCONTEST|PF_FAULT|PF_LOSTLIFE)); pflags |= (players[player].pflags & (PF_STASIS|PF_ELIMINATED|PF_NOCONTEST|PF_FAULT|PF_LOSTLIFE));
@ -2320,7 +2320,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
memcpy(players[player].availabilities, availabilities, sizeof(availabilities)); memcpy(players[player].availabilities, availabilities, sizeof(availabilities));
p->followitem = followitem; p->followitem = followitem;
p->starpostnum = starpostnum; p->cheatchecknum = cheatchecknum;
p->exiting = exiting; p->exiting = exiting;
p->karthud[khud_finish] = khudfinish; p->karthud[khud_finish] = khudfinish;
p->karthud[khud_cardanimation] = khudcardanimation; p->karthud[khud_cardanimation] = khudcardanimation;
@ -2485,22 +2485,22 @@ void G_SpawnPlayer(INT32 playernum)
return; return;
P_SpawnPlayer(playernum); P_SpawnPlayer(playernum);
G_MovePlayerToSpawnOrStarpost(playernum); G_MovePlayerToSpawnOrCheatcheck(playernum);
LUA_HookPlayer(&players[playernum], HOOK(PlayerSpawn)); // Lua hook for player spawning :) LUA_HookPlayer(&players[playernum], HOOK(PlayerSpawn)); // Lua hook for player spawning :)
} }
void G_MovePlayerToSpawnOrStarpost(INT32 playernum) void G_MovePlayerToSpawnOrCheatcheck(INT32 playernum)
{ {
#if 0 #if 0
if (leveltime <= introtime && !players[playernum].spectator) if (leveltime <= introtime && !players[playernum].spectator)
P_MovePlayerToSpawn(playernum, G_FindMapStart(playernum)); P_MovePlayerToSpawn(playernum, G_FindMapStart(playernum));
else else
P_MovePlayerToStarpost(playernum); P_MovePlayerToCheatcheck(playernum);
#else #else
// Player's first spawn should be at the "map start". // Player's first spawn should be at the "map start".
// I.e. level load or join mid game. // I.e. level load or join mid game.
if (leveltime > starttime && players[playernum].jointime > 1 && K_PodiumSequence() == false) if (leveltime > starttime && players[playernum].jointime > 1 && K_PodiumSequence() == false)
P_MovePlayerToStarpost(playernum); P_MovePlayerToCheatcheck(playernum);
else else
P_MovePlayerToSpawn(playernum, G_FindMapStart(playernum)); P_MovePlayerToSpawn(playernum, G_FindMapStart(playernum));
#endif #endif

View file

@ -169,7 +169,7 @@ mapthing_t *G_FindBattleStart(INT32 playernum);
mapthing_t *G_FindRaceStart(INT32 playernum); mapthing_t *G_FindRaceStart(INT32 playernum);
mapthing_t *G_FindPodiumStart(INT32 playernum); mapthing_t *G_FindPodiumStart(INT32 playernum);
mapthing_t *G_FindMapStart(INT32 playernum); mapthing_t *G_FindMapStart(INT32 playernum);
void G_MovePlayerToSpawnOrStarpost(INT32 playernum); void G_MovePlayerToSpawnOrCheatcheck(INT32 playernum);
void G_SpawnPlayer(INT32 playernum); void G_SpawnPlayer(INT32 playernum);
// Can be called by the startup code or M_Responder. // Can be called by the startup code or M_Responder.

View file

@ -157,7 +157,6 @@ char sprnames[NUMSPRITES + 1][5] =
"USPK", // Floor spike "USPK", // Floor spike
"WSPK", // Wall spike "WSPK", // Wall spike
"WSPB", // Wall spike base "WSPB", // Wall spike base
"STPT", // Starpost
"BMNE", // Big floating mine "BMNE", // Big floating mine
"PUMI", // Rollout Rock "PUMI", // Rollout Rock
@ -1949,13 +1948,6 @@ state_t states[NUMSTATES] =
{SPR_WSPK, 4,-1, {NULL}, 0, 0, S_NULL}, // S_WALLSPIKED1 -- Busted spike particles {SPR_WSPK, 4,-1, {NULL}, 0, 0, S_NULL}, // S_WALLSPIKED1 -- Busted spike particles
{SPR_WSPK, 5,-1, {NULL}, 0, 0, S_NULL}, // S_WALLSPIKED2 {SPR_WSPK, 5,-1, {NULL}, 0, 0, S_NULL}, // S_WALLSPIKED2
// Starpost
{SPR_STPT, 0 , -1, {NULL}, 0, 0, S_NULL}, // S_STARPOST_IDLE
{SPR_STPT, FF_ANIMATE|17, -1, {NULL}, 5, 1, S_NULL}, // S_STARPOST_FLASH
{SPR_STPT, FF_ANIMATE|13, 2, {NULL}, 1, 1, S_STARPOST_SPIN}, // S_STARPOST_STARTSPIN
{SPR_STPT, FF_ANIMATE|1 , 23, {NULL}, 11, 1, S_STARPOST_ENDSPIN}, // S_STARPOST_SPIN
{SPR_STPT, FF_ANIMATE|15, 2, {NULL}, 1, 1, S_STARPOST_FLASH}, // S_STARPOST_ENDSPIN
// Big floating mine // Big floating mine
{SPR_BMNE, 0, 2, {A_Look}, ((224<<FRACBITS)|1), 0, S_BIGMINE_IDLE}, // S_BIGMINE_IDLE {SPR_BMNE, 0, 2, {A_Look}, ((224<<FRACBITS)|1), 0, S_BIGMINE_IDLE}, // S_BIGMINE_IDLE
{SPR_BMNE, 1, 2, {A_MineRange}, 112, 0, S_BIGMINE_ALERT2}, // S_BIGMINE_ALERT1 {SPR_BMNE, 1, 2, {A_MineRange}, 112, 0, S_BIGMINE_ALERT2}, // S_BIGMINE_ALERT1
@ -9212,7 +9204,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_STARPOST { // MT_CHEATCHECK
502, // doomednum 502, // doomednum
S_INVISIBLE, // spawnstate S_INVISIBLE, // spawnstate
1, // spawnhealth 1, // spawnhealth

View file

@ -710,7 +710,6 @@ typedef enum sprite
SPR_USPK, // Floor spike SPR_USPK, // Floor spike
SPR_WSPK, // Wall spike SPR_WSPK, // Wall spike
SPR_WSPB, // Wall spike base SPR_WSPB, // Wall spike base
SPR_STPT, // Starpost
SPR_BMNE, // Big floating mine SPR_BMNE, // Big floating mine
SPR_PUMI, // Rollout Rock SPR_PUMI, // Rollout Rock
@ -2432,13 +2431,6 @@ typedef enum state
S_WALLSPIKED1, S_WALLSPIKED1,
S_WALLSPIKED2, S_WALLSPIKED2,
// Starpost
S_STARPOST_IDLE,
S_STARPOST_FLASH,
S_STARPOST_STARTSPIN,
S_STARPOST_SPIN,
S_STARPOST_ENDSPIN,
// Big floating mine // Big floating mine
S_BIGMINE_IDLE, S_BIGMINE_IDLE,
S_BIGMINE_ALERT1, S_BIGMINE_ALERT1,
@ -6022,7 +6014,7 @@ typedef enum mobj_type
MT_SPIKE, MT_SPIKE,
MT_WALLSPIKE, MT_WALLSPIKE,
MT_WALLSPIKEBASE, MT_WALLSPIKEBASE,
MT_STARPOST, MT_CHEATCHECK,
MT_BIGMINE, MT_BIGMINE,
MT_BLASTEXECUTOR, MT_BLASTEXECUTOR,
MT_CANNONLAUNCHER, MT_CANNONLAUNCHER,

View file

@ -5328,12 +5328,12 @@ static void K_DrawWaypointDebugger(void)
V_DrawString(8, 166, 0, va("Next Waypoint ID: %d%s", K_GetWaypointID(stplyr->nextwaypoint), ((stplyr->pflags & PF_WRONGWAY) ? " (WRONG WAY)" : ""))); V_DrawString(8, 166, 0, va("Next Waypoint ID: %d%s", K_GetWaypointID(stplyr->nextwaypoint), ((stplyr->pflags & PF_WRONGWAY) ? " (WRONG WAY)" : "")));
V_DrawString(8, 176, 0, va("Finishline Distance: %d", stplyr->distancetofinish)); V_DrawString(8, 176, 0, va("Finishline Distance: %d", stplyr->distancetofinish));
if (numstarposts > 0) if (numcheatchecks > 0)
{ {
if (stplyr->starpostnum == numstarposts) if (stplyr->cheatchecknum == numcheatchecks)
V_DrawString(8, 186, 0, va("Checkpoint: %d / %d (Can finish)", stplyr->starpostnum, numstarposts)); V_DrawString(8, 186, 0, va("Cheat Check: %d / %d (Can finish)", stplyr->cheatchecknum, numcheatchecks));
else else
V_DrawString(8, 186, 0, va("Checkpoint: %d / %d", stplyr->starpostnum, numstarposts)); V_DrawString(8, 186, 0, va("Cheat Check: %d / %d", stplyr->cheatchecknum, numcheatchecks));
} }
} }

View file

@ -2415,7 +2415,7 @@ msgstr ""
#: m_menu.c:3271 #: m_menu.c:3271
msgid "" msgid ""
"Retry this act from the last starpost?\n" "Retry this act from the last cheatcheck?\n"
"\n" "\n"
"(Press 'Y' to confirm)\n" "(Press 'Y' to confirm)\n"
msgstr "" msgstr ""

View file

@ -497,8 +497,8 @@ static int player_get(lua_State *L)
lua_pushinteger(L, plr->ctfteam); lua_pushinteger(L, plr->ctfteam);
else if (fastcmp(field,"checkskip")) else if (fastcmp(field,"checkskip"))
lua_pushinteger(L, plr->checkskip); lua_pushinteger(L, plr->checkskip);
else if (fastcmp(field,"starpostnum")) else if (fastcmp(field,"cheatchecknum"))
lua_pushinteger(L, plr->starpostnum); lua_pushinteger(L, plr->cheatchecknum);
else if (fastcmp(field,"lastsidehit")) else if (fastcmp(field,"lastsidehit"))
lua_pushinteger(L, plr->lastsidehit); lua_pushinteger(L, plr->lastsidehit);
else if (fastcmp(field,"lastlinehit")) else if (fastcmp(field,"lastlinehit"))
@ -895,8 +895,8 @@ static int player_set(lua_State *L)
plr->ctfteam = (INT32)luaL_checkinteger(L, 3); plr->ctfteam = (INT32)luaL_checkinteger(L, 3);
else if (fastcmp(field,"checkskip")) else if (fastcmp(field,"checkskip"))
plr->checkskip = (INT32)luaL_checkinteger(L, 3); plr->checkskip = (INT32)luaL_checkinteger(L, 3);
else if (fastcmp(field,"starpostnum")) else if (fastcmp(field,"cheatchecknum"))
plr->starpostnum = (INT32)luaL_checkinteger(L, 3); plr->cheatchecknum = (INT32)luaL_checkinteger(L, 3);
else if (fastcmp(field,"lastsidehit")) else if (fastcmp(field,"lastsidehit"))
plr->lastsidehit = (INT16)luaL_checkinteger(L, 3); plr->lastsidehit = (INT16)luaL_checkinteger(L, 3);
else if (fastcmp(field,"lastlinehit")) else if (fastcmp(field,"lastlinehit"))

View file

@ -5515,9 +5515,9 @@ void A_MixUp(mobj_t *actor)
UINT16 carry1,carry2; //carry UINT16 carry1,carry2; //carry
INT32 transspeed; //player speed INT32 transspeed; //player speed
// Starpost stuff // Cheatcheck stuff
fixed_t starpostx, starposty, starpostz; fixed_t cheatcheckx, cheatchecky, cheatcheckz;
INT32 starpostnum; INT32 cheatchecknum;
INT32 mflags2; INT32 mflags2;
@ -5557,20 +5557,20 @@ void A_MixUp(mobj_t *actor)
angle = players[one].mo->angle; angle = players[one].mo->angle;
drawangle = players[one].drawangle; drawangle = players[one].drawangle;
starpostx = players[one].respawn.pointx; cheatcheckx = players[one].respawn.pointx;
starposty = players[one].respawn.pointy; cheatchecky = players[one].respawn.pointy;
starpostz = players[one].respawn.pointz; cheatcheckz = players[one].respawn.pointz;
starpostnum = players[one].starpostnum; cheatchecknum = players[one].cheatchecknum;
mflags2 = players[one].mo->flags2; mflags2 = players[one].mo->flags2;
P_MixUp(players[one].mo, players[two].mo->x, players[two].mo->y, players[two].mo->z, players[two].mo->angle, P_MixUp(players[one].mo, players[two].mo->x, players[two].mo->y, players[two].mo->z, players[two].mo->angle,
players[two].respawn.pointx, players[two].respawn.pointy, players[two].respawn.pointz, players[two].respawn.pointx, players[two].respawn.pointy, players[two].respawn.pointz,
players[two].starpostnum, 0, 0, players[two].cheatchecknum, 0, 0,
FRACUNIT, players[two].drawangle, players[two].mo->flags2); FRACUNIT, players[two].drawangle, players[two].mo->flags2);
P_MixUp(players[two].mo, x, y, z, angle, starpostx, starposty, starpostz, P_MixUp(players[two].mo, x, y, z, angle, cheatcheckx, cheatchecky, cheatcheckz,
starpostnum, 0, 0, cheatchecknum, 0, 0,
FRACUNIT, drawangle, mflags2); FRACUNIT, drawangle, mflags2);
//carry set after mixup. Stupid P_ResetPlayer() takes away some of the stuff we look for... //carry set after mixup. Stupid P_ResetPlayer() takes away some of the stuff we look for...
@ -5595,7 +5595,7 @@ void A_MixUp(mobj_t *actor)
// Star post stuff // Star post stuff
fixed_t spposition[MAXPLAYERS][3]; fixed_t spposition[MAXPLAYERS][3];
INT32 starpostnum[MAXPLAYERS]; INT32 cheatchecknum[MAXPLAYERS];
INT32 flags2[MAXPLAYERS]; INT32 flags2[MAXPLAYERS];
@ -5630,7 +5630,7 @@ void A_MixUp(mobj_t *actor)
spposition[counter][0] = players[i].respawn.pointx; spposition[counter][0] = players[i].respawn.pointx;
spposition[counter][1] = players[i].respawn.pointy; spposition[counter][1] = players[i].respawn.pointy;
spposition[counter][2] = players[i].respawn.pointz; spposition[counter][2] = players[i].respawn.pointz;
starpostnum[counter] = players[i].starpostnum; cheatchecknum[counter] = players[i].cheatchecknum;
flags2[counter] = players[i].mo->flags2; flags2[counter] = players[i].mo->flags2;
@ -5670,7 +5670,7 @@ void A_MixUp(mobj_t *actor)
P_MixUp(players[i].mo, position[teleportfrom][0], position[teleportfrom][1], position[teleportfrom][2], anglepos[teleportfrom][0], P_MixUp(players[i].mo, position[teleportfrom][0], position[teleportfrom][1], position[teleportfrom][2], anglepos[teleportfrom][0],
spposition[teleportfrom][0], spposition[teleportfrom][1], spposition[teleportfrom][2], spposition[teleportfrom][0], spposition[teleportfrom][1], spposition[teleportfrom][2],
starpostnum[teleportfrom], 0, 0, cheatchecknum[teleportfrom], 0, 0,
FRACUNIT, anglepos[teleportfrom][1], flags2[teleportfrom]); FRACUNIT, anglepos[teleportfrom][1], flags2[teleportfrom]);
//...carry after. same reasoning. //...carry after. same reasoning.

View file

@ -685,8 +685,8 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
case MT_BLUEFLAG: case MT_BLUEFLAG:
return; return;
case MT_STARPOST: case MT_CHEATCHECK:
P_TouchStarPost(special, player, special->thing_args[1]); P_TouchCheatcheck(special, player, special->thing_args[1]);
return; return;
case MT_BIGTUMBLEWEED: case MT_BIGTUMBLEWEED:
@ -743,20 +743,20 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
special->shadowscale = 0; special->shadowscale = 0;
} }
/** Saves a player's level progress at a star post /** Saves a player's level progress at a Cheat Check
* *
* \param post The star post to trigger * \param post The Cheat Check to trigger
* \param player The player that should receive the checkpoint * \param player The player that should receive the cheatcheck
* \param snaptopost If true, the respawn point will use the star post's position, otherwise player x/y and star post z * \param snaptopost If true, the respawn point will use the cheatcheck's position, otherwise player x/y and star post z
*/ */
void P_TouchStarPost(mobj_t *post, player_t *player, boolean snaptopost) void P_TouchCheatcheck(mobj_t *post, player_t *player, boolean snaptopost)
{ {
mobj_t *toucher = player->mo; mobj_t *toucher = player->mo;
(void)snaptopost; (void)snaptopost;
// Player must have touched all previous starposts // Player must have touched all previous cheatchecks
if (post->health - player->starpostnum > 1) if (post->health - player->cheatchecknum > 1)
{ {
if (!player->checkskip) if (!player->checkskip)
S_StartSound(toucher, sfx_lose); S_StartSound(toucher, sfx_lose);
@ -767,14 +767,14 @@ void P_TouchStarPost(mobj_t *post, player_t *player, boolean snaptopost)
// With the parameter + angle setup, we can go up to 1365 star posts. Who needs that many? // With the parameter + angle setup, we can go up to 1365 star posts. Who needs that many?
if (post->health > 1365) if (post->health > 1365)
{ {
CONS_Debug(DBG_GAMELOGIC, "Bad Starpost Number!\n"); CONS_Debug(DBG_GAMELOGIC, "Bad Cheatcheck Number!\n");
return; return;
} }
if (player->starpostnum >= post->health) if (player->cheatchecknum >= post->health)
return; // Already hit this post return; // Already hit this post
player->starpostnum = post->health; player->cheatchecknum = post->health;
} }
static void P_AddBrokenPrison(mobj_t *target, mobj_t *source) static void P_AddBrokenPrison(mobj_t *target, mobj_t *source)

View file

@ -537,7 +537,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
void P_PlayerRingBurst(player_t *player, INT32 num_rings); /// \todo better fit in p_user.c void P_PlayerRingBurst(player_t *player, INT32 num_rings); /// \todo better fit in p_user.c
void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck); void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck);
void P_TouchStarPost(mobj_t *starpost, player_t *player, boolean snaptopost); void P_TouchCheatcheck(mobj_t *cheatcheck, player_t *player, boolean snaptopost);
void P_CheckTimeLimit(void); void P_CheckTimeLimit(void);
void P_CheckPointLimit(void); void P_CheckPointLimit(void);
boolean P_CheckRacers(void); boolean P_CheckRacers(void);
@ -558,9 +558,9 @@ extern INT32 ceilmovesound;
#define CARRYFACTOR (FRACUNIT-ORIG_FRICTION) #define CARRYFACTOR (FRACUNIT-ORIG_FRICTION)
void P_MixUp(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle, void P_MixUp(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle,
INT16 starpostx, INT16 starposty, INT16 starpostz, INT16 cheatcheckx, INT16 cheatchecky, INT16 cheatcheckz,
INT32 starpostnum, tic_t starposttime, angle_t starpostangle, INT32 cheatchecknum, tic_t cheatchecktime, angle_t cheatcheckangle,
fixed_t starpostscale, angle_t drawangle, INT32 flags2); fixed_t cheatcheckscale, angle_t drawangle, INT32 flags2);
boolean P_Teleport(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle, boolean flash, boolean dontstopmove); boolean P_Teleport(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle, boolean flash, boolean dontstopmove);
boolean P_SetMobjStateNF(mobj_t *mobj, statenum_t state); boolean P_SetMobjStateNF(mobj_t *mobj, statenum_t state);
boolean P_CheckMissileSpawn(mobj_t *th); boolean P_CheckMissileSpawn(mobj_t *th);

View file

@ -12141,7 +12141,7 @@ void P_MovePlayerToSpawn(INT32 playernum, mapthing_t *mthing)
P_AfterPlayerSpawn(playernum); P_AfterPlayerSpawn(playernum);
} }
void P_MovePlayerToStarpost(INT32 playernum) void P_MovePlayerToCheatcheck(INT32 playernum)
{ {
fixed_t z; fixed_t z;
sector_t *sector; sector_t *sector;
@ -12876,7 +12876,7 @@ void P_InitSkyboxPoint(mobj_t *mobj, mapthing_t *mthing)
P_SetTarget(&skyboxviewpnts[tag], mobj); P_SetTarget(&skyboxviewpnts[tag], mobj);
} }
static boolean P_MapAlreadyHasStarPost(mobj_t *mobj) static boolean P_MapAlreadyHasCheatcheck(mobj_t *mobj)
{ {
thinker_t *th; thinker_t *th;
mobj_t *mo2; mobj_t *mo2;
@ -12891,7 +12891,7 @@ static boolean P_MapAlreadyHasStarPost(mobj_t *mobj)
if (mo2 == mobj) if (mo2 == mobj)
continue; continue;
if (mo2->type == MT_STARPOST && mo2->health == mobj->health) if (mo2->type == MT_CHEATCHECK && mo2->health == mobj->health)
return true; return true;
} }
@ -13126,10 +13126,10 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj)
mobj->flags2 |= MF2_AXIS; mobj->flags2 |= MF2_AXIS;
break; break;
case MT_STARPOST: case MT_CHEATCHECK:
mobj->health = mthing->thing_args[0] + 1; mobj->health = mthing->thing_args[0] + 1;
if (!P_MapAlreadyHasStarPost(mobj)) if (!P_MapAlreadyHasCheatcheck(mobj))
numstarposts++; numcheatchecks++;
break; break;
case MT_SPIKE: case MT_SPIKE:
// Pop up spikes! // Pop up spikes!

View file

@ -533,7 +533,7 @@ void P_MobjCheckWater(mobj_t *mobj);
// Player spawn points // Player spawn points
void P_SpawnPlayer(INT32 playernum); void P_SpawnPlayer(INT32 playernum);
void P_MovePlayerToSpawn(INT32 playernum, mapthing_t *mthing); void P_MovePlayerToSpawn(INT32 playernum, mapthing_t *mthing);
void P_MovePlayerToStarpost(INT32 playernum); void P_MovePlayerToCheatcheck(INT32 playernum);
void P_AfterPlayerSpawn(INT32 playernum); void P_AfterPlayerSpawn(INT32 playernum);
fixed_t P_GetMobjSpawnHeight(const mobjtype_t mobjtype, const fixed_t x, const fixed_t y, const fixed_t dz, const fixed_t offset, const size_t layer, const boolean flip, const fixed_t scale); fixed_t P_GetMobjSpawnHeight(const mobjtype_t mobjtype, const fixed_t x, const fixed_t y, const fixed_t dz, const fixed_t offset, const size_t layer, const boolean flip, const fixed_t scale);
@ -569,7 +569,7 @@ extern INT32 modulothing;
#define MAXHUNTEMERALDS 64 #define MAXHUNTEMERALDS 64
extern mapthing_t *huntemeralds[MAXHUNTEMERALDS]; extern mapthing_t *huntemeralds[MAXHUNTEMERALDS];
extern INT32 numhuntemeralds; extern INT32 numhuntemeralds;
extern INT32 numstarposts; extern INT32 numcheatchecks;
extern UINT16 bossdisabled; extern UINT16 bossdisabled;
extern boolean stoppedclock; extern boolean stoppedclock;

View file

@ -266,7 +266,7 @@ static void P_NetArchivePlayers(savebuffer_t *save)
WRITEUINT8(save->p, players[i].laps); WRITEUINT8(save->p, players[i].laps);
WRITEUINT8(save->p, players[i].latestlap); WRITEUINT8(save->p, players[i].latestlap);
WRITEUINT32(save->p, players[i].lapPoints); WRITEUINT32(save->p, players[i].lapPoints);
WRITEINT32(save->p, players[i].starpostnum); WRITEINT32(save->p, players[i].cheatchecknum);
WRITEUINT8(save->p, players[i].ctfteam); WRITEUINT8(save->p, players[i].ctfteam);
@ -729,7 +729,7 @@ static void P_NetUnArchivePlayers(savebuffer_t *save)
players[i].laps = READUINT8(save->p); // Number of laps (optional) players[i].laps = READUINT8(save->p); // Number of laps (optional)
players[i].latestlap = READUINT8(save->p); players[i].latestlap = READUINT8(save->p);
players[i].lapPoints = READUINT32(save->p); players[i].lapPoints = READUINT32(save->p);
players[i].starpostnum = READINT32(save->p); players[i].cheatchecknum = READINT32(save->p);
players[i].ctfteam = READUINT8(save->p); // 1 == Red, 2 == Blue players[i].ctfteam = READUINT8(save->p); // 1 == Red, 2 == Blue

View file

@ -138,7 +138,7 @@ mapthing_t *mapthings;
sector_t *spawnsectors; sector_t *spawnsectors;
line_t *spawnlines; line_t *spawnlines;
side_t *spawnsides; side_t *spawnsides;
INT32 numstarposts; INT32 numcheatchecks;
UINT16 bossdisabled; UINT16 bossdisabled;
boolean stoppedclock; boolean stoppedclock;
boolean levelloading; boolean levelloading;
@ -1712,8 +1712,8 @@ static void ParseTextmapSectorParameter(UINT32 i, const char *param, const char
sectors[i].specialflags |= SSF_DOUBLESTEPUP; sectors[i].specialflags |= SSF_DOUBLESTEPUP;
else if (fastcmp(param, "nostepdown") && fastcmp("true", val)) else if (fastcmp(param, "nostepdown") && fastcmp("true", val))
sectors[i].specialflags |= SSF_NOSTEPDOWN; sectors[i].specialflags |= SSF_NOSTEPDOWN;
else if (fastcmp(param, "starpostactivator") && fastcmp("true", val)) else if ((fastcmp(param, "cheatcheckactivator") || fastcmp(param, "starpostactivator")) && fastcmp("true", val))
sectors[i].specialflags |= SSF_STARPOSTACTIVATOR; sectors[i].specialflags |= SSF_CHEATCHECKACTIVATOR;
else if (fastcmp(param, "exit") && fastcmp("true", val)) else if (fastcmp(param, "exit") && fastcmp("true", val))
sectors[i].specialflags |= SSF_EXIT; sectors[i].specialflags |= SSF_EXIT;
else if (fastcmp(param, "deleteitems") && fastcmp("true", val)) else if (fastcmp(param, "deleteitems") && fastcmp("true", val))
@ -2888,8 +2888,8 @@ static void P_WriteTextmap(void)
fprintf(f, "doublestepup = true;\n"); fprintf(f, "doublestepup = true;\n");
if (wsectors[i].specialflags & SSF_NOSTEPDOWN) if (wsectors[i].specialflags & SSF_NOSTEPDOWN)
fprintf(f, "nostepdown = true;\n"); fprintf(f, "nostepdown = true;\n");
if (wsectors[i].specialflags & SSF_STARPOSTACTIVATOR) if (wsectors[i].specialflags & SSF_CHEATCHECKACTIVATOR)
fprintf(f, "starpostactivator = true;\n"); fprintf(f, "cheatcheckactivator = true;\n");
if (wsectors[i].specialflags & SSF_EXIT) if (wsectors[i].specialflags & SSF_EXIT)
fprintf(f, "exit = true;\n"); fprintf(f, "exit = true;\n");
if (wsectors[i].specialflags & SSF_DELETEITEMS) if (wsectors[i].specialflags & SSF_DELETEITEMS)
@ -6561,8 +6561,8 @@ static void P_ConvertBinarySectorTypes(void)
switch(GETSECSPECIAL(sectors[i].special, 4)) switch(GETSECSPECIAL(sectors[i].special, 4))
{ {
case 1: //Star post activator case 1: //Cheat Check activator
sectors[i].specialflags |= SSF_STARPOSTACTIVATOR; sectors[i].specialflags |= SSF_CHEATCHECKACTIVATOR;
break; break;
case 2: //Exit case 2: //Exit
sectors[i].specialflags |= SSF_EXIT; sectors[i].specialflags |= SSF_EXIT;
@ -6763,11 +6763,11 @@ static void P_ConvertBinaryThingTypes(void)
case 500: //Air bubble patch case 500: //Air bubble patch
mapthings[i].thing_args[0] = !!(mapthings[i].options & MTF_AMBUSH); mapthings[i].thing_args[0] = !!(mapthings[i].options & MTF_AMBUSH);
break; break;
case 502: //Star post case 502: //Cheat Check
if (mapthings[i].extrainfo) if (mapthings[i].extrainfo)
// Allow thing Parameter to define star post num too! // Allow thing Parameter to define star post num too!
// For starposts above param 15 (the 16th), add 360 to the angle like before and start parameter from 1 (NOT 0)! // For cheatchecks above param 15 (the 16th), add 360 to the angle like before and start parameter from 1 (NOT 0)!
// So the 16th starpost is angle=0 param=15, the 17th would be angle=360 param=1. // So the 16th cheatcheck is angle=0 param=15, the 17th would be angle=360 param=1.
// This seems more intuitive for mappers to use, since most SP maps won't have over 16 consecutive star posts. // This seems more intuitive for mappers to use, since most SP maps won't have over 16 consecutive star posts.
mapthings[i].thing_args[0] = mapthings[i].extrainfo + (mapthings[i].angle/360) * 15; mapthings[i].thing_args[0] = mapthings[i].extrainfo + (mapthings[i].angle/360) * 15;
else else
@ -7548,7 +7548,7 @@ static void P_InitLevelSettings(void)
hunt1 = hunt2 = hunt3 = NULL; hunt1 = hunt2 = hunt3 = NULL;
// circuit, race and competition stuff // circuit, race and competition stuff
numstarposts = 0; numcheatchecks = 0;
timeinmap = 0; timeinmap = 0;
// special stage // special stage

View file

@ -1928,7 +1928,7 @@ static void K_HandleLapIncrement(player_t *player)
return; return;
} }
if ((player->starpostnum == numstarposts) || (player->laps == 0)) if ((player->cheatchecknum == numcheatchecks) || (player->laps == 0))
{ {
size_t i = 0; size_t i = 0;
UINT8 nump = 0; UINT8 nump = 0;
@ -1985,7 +1985,7 @@ static void K_HandleLapIncrement(player_t *player)
if (netgame && player->laps > numlaps) if (netgame && player->laps > numlaps)
CON_LogMessage(va(M_GetText("%s has finished the race.\n"), player_names[player-players])); CON_LogMessage(va(M_GetText("%s has finished the race.\n"), player_names[player-players]));
player->starpostnum = 0; player->cheatchecknum = 0;
if (gametyperules & GTR_SPECIALSTART) if (gametyperules & GTR_SPECIALSTART)
{ {
@ -2131,7 +2131,7 @@ static void K_HandleLapIncrement(player_t *player)
gamedata->deferredconditioncheck = true; gamedata->deferredconditioncheck = true;
} }
} }
else if (player->starpostnum) else if (player->cheatchecknum)
{ {
S_StartSound(player->mo, sfx_s26d); S_StartSound(player->mo, sfx_s26d);
} }
@ -2143,9 +2143,9 @@ static void K_HandleLapDecrement(player_t *player)
{ {
if (player) if (player)
{ {
if ((player->starpostnum == 0) && (player->laps > 0)) if ((player->cheatchecknum == 0) && (player->laps > 0))
{ {
player->starpostnum = numstarposts; player->cheatchecknum = numcheatchecks;
player->laps--; player->laps--;
curlap = UINT32_MAX; curlap = UINT32_MAX;
} }
@ -5222,11 +5222,11 @@ static void P_EvaluateSpecialFlags(player_t *player, sector_t *sector, sector_t
player->onconveyor = 2; player->onconveyor = 2;
if (sector->specialflags & SSF_CONVEYOR) if (sector->specialflags & SSF_CONVEYOR)
player->onconveyor = 4; player->onconveyor = 4;
if (sector->specialflags & SSF_STARPOSTACTIVATOR) if (sector->specialflags & SSF_CHEATCHECKACTIVATOR)
{ {
mobj_t *post = P_GetObjectTypeInSectorNum(MT_STARPOST, sector - sectors); mobj_t *post = P_GetObjectTypeInSectorNum(MT_CHEATCHECK, sector - sectors);
if (post) if (post)
P_TouchStarPost(post, player, false); P_TouchCheatcheck(post, player, false);
} }
if (sector->specialflags & SSF_EXIT) if (sector->specialflags & SSF_EXIT)
P_ProcessExitSector(player, sectag); P_ProcessExitSector(player, sectag);

View file

@ -32,16 +32,16 @@
*/ */
void P_MixUp(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle, void P_MixUp(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle,
INT16 starpostx, INT16 starposty, INT16 starpostz, INT16 cheatcheckx, INT16 cheatchecky, INT16 cheatcheckz,
INT32 starpostnum, tic_t starposttime, angle_t starpostangle, INT32 cheatchecknum, tic_t cheatchecktime, angle_t cheatcheckangle,
fixed_t starpostscale, angle_t drawangle, INT32 flags2) fixed_t cheatcheckscale, angle_t drawangle, INT32 flags2)
{ {
const INT32 takeflags2 = MF2_OBJECTFLIP; const INT32 takeflags2 = MF2_OBJECTFLIP;
UINT8 i; UINT8 i;
(void)starposttime; (void)cheatchecktime;
(void)starpostangle; (void)cheatcheckangle;
(void)starpostscale; (void)cheatcheckscale;
// the move is ok, // the move is ok,
// so link the thing into its new position // so link the thing into its new position
@ -88,11 +88,11 @@ void P_MixUp(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle,
if (!thing->tracer) if (!thing->tracer)
thing->player->speed = 0; thing->player->speed = 0;
// Starpost information // Cheatcheck information
thing->player->respawn.pointx = starpostx; thing->player->respawn.pointx = cheatcheckx;
thing->player->respawn.pointy = starposty; thing->player->respawn.pointy = cheatchecky;
thing->player->respawn.pointz = starpostz; thing->player->respawn.pointz = cheatcheckz;
thing->player->starpostnum = starpostnum; thing->player->cheatchecknum = cheatchecknum;
thing->player->drawangle = drawangle; thing->player->drawangle = drawangle;

View file

@ -3171,7 +3171,7 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
thiscam->radius = 20*cameraScale; thiscam->radius = 20*cameraScale;
thiscam->height = 16*cameraScale; thiscam->height = 16*cameraScale;
// Don't run while respawning from a starpost // Don't run while respawning from a cheatcheck
// Inu 4/8/13 Why not?! // Inu 4/8/13 Why not?!
// if (leveltime > 0 && timeinmap <= 0) // if (leveltime > 0 && timeinmap <= 0)
// return true; // return true;

View file

@ -367,7 +367,7 @@ typedef enum
SSF_WINDCURRENT = 1<<3, SSF_WINDCURRENT = 1<<3,
SSF_CONVEYOR = 1<<4, SSF_CONVEYOR = 1<<4,
// free: 1<<5, // free: 1<<5,
SSF_STARPOSTACTIVATOR = 1<<6, SSF_CHEATCHECKACTIVATOR = 1<<6,
SSF_EXIT = 1<<7, SSF_EXIT = 1<<7,
SSF_DELETEITEMS = 1<<8, SSF_DELETEITEMS = 1<<8,
// free: 1<<9, // free: 1<<9,

View file

@ -197,7 +197,7 @@ sfxinfo_t S_sfx[NUMSFX] =
{"spring", false, 112, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Spring"}, {"spring", false, 112, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Spring"},
{"statu1", true, 64, 2, -1, NULL, 0, -1, -1, LUMPERROR, "Pushing a statue"}, {"statu1", true, 64, 2, -1, NULL, 0, -1, -1, LUMPERROR, "Pushing a statue"},
{"statu2", true, 64, 2, -1, NULL, 0, -1, -1, LUMPERROR, "Pushing a statue"}, {"statu2", true, 64, 2, -1, NULL, 0, -1, -1, LUMPERROR, "Pushing a statue"},
{"strpst", true, 192, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Starpost"}, {"strpst", true, 192, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Cheatcheck"},
{"supert", true, 127, 2, -1, NULL, 0, -1, -1, LUMPERROR, "Transformation"}, {"supert", true, 127, 2, -1, NULL, 0, -1, -1, LUMPERROR, "Transformation"},
{"telept", false, 32, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Dash"}, {"telept", false, 32, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Dash"},
{"tink" , false, 60, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Tink"}, {"tink" , false, 60, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Tink"},
@ -500,7 +500,7 @@ sfxinfo_t S_sfx[NUMSFX] =
{"s3k60", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Accelerating"}, {"s3k60", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Accelerating"},
{"s3k61", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Drilling"}, {"s3k61", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Drilling"},
{"s3k62", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Jump"}, {"s3k62", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Jump"},
{"s3k63", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Starpost"}, {"s3k63", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Cheatcheck"},
{"s3k64", false, 64, 2, -1, NULL, 0, -1, -1, LUMPERROR, "Clatter"}, {"s3k64", false, 64, 2, -1, NULL, 0, -1, -1, LUMPERROR, "Clatter"},
{"s3k65", false, 255, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Got sphere"}, // Blue Spheres {"s3k65", false, 255, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Got sphere"}, // Blue Spheres
{"s3k66", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Special stage end"}, {"s3k66", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Special stage end"},
@ -706,7 +706,7 @@ sfxinfo_t S_sfx[NUMSFX] =
{"cdfm27", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""}, {"cdfm27", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
{"cdfm28", false, 96, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""}, {"cdfm28", false, 96, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
{"cdfm29", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Bubble gasp"}, {"cdfm29", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Bubble gasp"},
{"cdfm30", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Starpost"}, {"cdfm30", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Cheatcheck"},
{"cdfm31", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Warp"}, {"cdfm31", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Warp"},
{"cdfm32", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""}, {"cdfm32", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
{"cdfm33", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""}, {"cdfm33", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},