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 latestlap;
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

View file

@ -1277,13 +1277,6 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
"S_WALLSPIKED1",
"S_WALLSPIKED2",
// Starpost
"S_STARPOST_IDLE",
"S_STARPOST_FLASH",
"S_STARPOST_STARTSPIN",
"S_STARPOST_SPIN",
"S_STARPOST_ENDSPIN",
// Big floating mine
"S_BIGMINE_IDLE",
"S_BIGMINE_ALERT1",
@ -4832,7 +4825,7 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
"MT_SPIKE",
"MT_WALLSPIKE",
"MT_WALLSPIKEBASE",
"MT_STARPOST",
"MT_CHEATCHECK",
"MT_BIGMINE",
"MT_BLASTEXECUTOR",
"MT_CANNONLAUNCHER",
@ -6045,7 +6038,7 @@ const char *const SSF_LIST[] = {
"WINDCURRENT",
"CONVEYOR",
"\x01", // free (name un-matchable)
"STARPOSTACTIVATOR",
"CHEATCHECKACTIVATOR",
"EXIT",
"\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_FlashPal(p, 0, 0); // Resets
p->starpostnum = 0;
p->cheatchecknum = 0;
memset(&p->respawn, 0, sizeof (p->respawn));
p->spectatorReentry = 0; // Clean up any pending re-entry forbiddings
@ -2045,7 +2045,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
UINT8 ctfteam;
INT32 starpostnum;
INT32 cheatchecknum;
INT32 exiting;
INT32 khudfinish;
INT32 khudcardanimation;
@ -2191,7 +2191,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
exiting = 0;
khudfinish = 0;
khudcardanimation = 0;
starpostnum = 0;
cheatchecknum = 0;
saveroundconditions = false;
}
@ -2239,7 +2239,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
khudcardanimation = 0;
}
starpostnum = players[player].starpostnum;
cheatchecknum = players[player].cheatchecknum;
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));
p->followitem = followitem;
p->starpostnum = starpostnum;
p->cheatchecknum = cheatchecknum;
p->exiting = exiting;
p->karthud[khud_finish] = khudfinish;
p->karthud[khud_cardanimation] = khudcardanimation;
@ -2485,22 +2485,22 @@ void G_SpawnPlayer(INT32 playernum)
return;
P_SpawnPlayer(playernum);
G_MovePlayerToSpawnOrStarpost(playernum);
G_MovePlayerToSpawnOrCheatcheck(playernum);
LUA_HookPlayer(&players[playernum], HOOK(PlayerSpawn)); // Lua hook for player spawning :)
}
void G_MovePlayerToSpawnOrStarpost(INT32 playernum)
void G_MovePlayerToSpawnOrCheatcheck(INT32 playernum)
{
#if 0
if (leveltime <= introtime && !players[playernum].spectator)
P_MovePlayerToSpawn(playernum, G_FindMapStart(playernum));
else
P_MovePlayerToStarpost(playernum);
P_MovePlayerToCheatcheck(playernum);
#else
// Player's first spawn should be at the "map start".
// I.e. level load or join mid game.
if (leveltime > starttime && players[playernum].jointime > 1 && K_PodiumSequence() == false)
P_MovePlayerToStarpost(playernum);
P_MovePlayerToCheatcheck(playernum);
else
P_MovePlayerToSpawn(playernum, G_FindMapStart(playernum));
#endif

View file

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

View file

@ -157,7 +157,6 @@ char sprnames[NUMSPRITES + 1][5] =
"USPK", // Floor spike
"WSPK", // Wall spike
"WSPB", // Wall spike base
"STPT", // Starpost
"BMNE", // Big floating mine
"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, 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
{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
@ -9212,7 +9204,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate
},
{ // MT_STARPOST
{ // MT_CHEATCHECK
502, // doomednum
S_INVISIBLE, // spawnstate
1, // spawnhealth

View file

@ -710,7 +710,6 @@ typedef enum sprite
SPR_USPK, // Floor spike
SPR_WSPK, // Wall spike
SPR_WSPB, // Wall spike base
SPR_STPT, // Starpost
SPR_BMNE, // Big floating mine
SPR_PUMI, // Rollout Rock
@ -2432,13 +2431,6 @@ typedef enum state
S_WALLSPIKED1,
S_WALLSPIKED2,
// Starpost
S_STARPOST_IDLE,
S_STARPOST_FLASH,
S_STARPOST_STARTSPIN,
S_STARPOST_SPIN,
S_STARPOST_ENDSPIN,
// Big floating mine
S_BIGMINE_IDLE,
S_BIGMINE_ALERT1,
@ -6022,7 +6014,7 @@ typedef enum mobj_type
MT_SPIKE,
MT_WALLSPIKE,
MT_WALLSPIKEBASE,
MT_STARPOST,
MT_CHEATCHECK,
MT_BIGMINE,
MT_BLASTEXECUTOR,
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, 176, 0, va("Finishline Distance: %d", stplyr->distancetofinish));
if (numstarposts > 0)
if (numcheatchecks > 0)
{
if (stplyr->starpostnum == numstarposts)
V_DrawString(8, 186, 0, va("Checkpoint: %d / %d (Can finish)", stplyr->starpostnum, numstarposts));
if (stplyr->cheatchecknum == numcheatchecks)
V_DrawString(8, 186, 0, va("Cheat Check: %d / %d (Can finish)", stplyr->cheatchecknum, numcheatchecks));
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
msgid ""
"Retry this act from the last starpost?\n"
"Retry this act from the last cheatcheck?\n"
"\n"
"(Press 'Y' to confirm)\n"
msgstr ""

View file

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

View file

@ -5515,9 +5515,9 @@ void A_MixUp(mobj_t *actor)
UINT16 carry1,carry2; //carry
INT32 transspeed; //player speed
// Starpost stuff
fixed_t starpostx, starposty, starpostz;
INT32 starpostnum;
// Cheatcheck stuff
fixed_t cheatcheckx, cheatchecky, cheatcheckz;
INT32 cheatchecknum;
INT32 mflags2;
@ -5557,20 +5557,20 @@ void A_MixUp(mobj_t *actor)
angle = players[one].mo->angle;
drawangle = players[one].drawangle;
starpostx = players[one].respawn.pointx;
starposty = players[one].respawn.pointy;
starpostz = players[one].respawn.pointz;
starpostnum = players[one].starpostnum;
cheatcheckx = players[one].respawn.pointx;
cheatchecky = players[one].respawn.pointy;
cheatcheckz = players[one].respawn.pointz;
cheatchecknum = players[one].cheatchecknum;
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,
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);
P_MixUp(players[two].mo, x, y, z, angle, starpostx, starposty, starpostz,
starpostnum, 0, 0,
P_MixUp(players[two].mo, x, y, z, angle, cheatcheckx, cheatchecky, cheatcheckz,
cheatchecknum, 0, 0,
FRACUNIT, drawangle, mflags2);
//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
fixed_t spposition[MAXPLAYERS][3];
INT32 starpostnum[MAXPLAYERS];
INT32 cheatchecknum[MAXPLAYERS];
INT32 flags2[MAXPLAYERS];
@ -5630,7 +5630,7 @@ void A_MixUp(mobj_t *actor)
spposition[counter][0] = players[i].respawn.pointx;
spposition[counter][1] = players[i].respawn.pointy;
spposition[counter][2] = players[i].respawn.pointz;
starpostnum[counter] = players[i].starpostnum;
cheatchecknum[counter] = players[i].cheatchecknum;
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],
spposition[teleportfrom][0], spposition[teleportfrom][1], spposition[teleportfrom][2],
starpostnum[teleportfrom], 0, 0,
cheatchecknum[teleportfrom], 0, 0,
FRACUNIT, anglepos[teleportfrom][1], flags2[teleportfrom]);
//...carry after. same reasoning.

View file

@ -685,8 +685,8 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
case MT_BLUEFLAG:
return;
case MT_STARPOST:
P_TouchStarPost(special, player, special->thing_args[1]);
case MT_CHEATCHECK:
P_TouchCheatcheck(special, player, special->thing_args[1]);
return;
case MT_BIGTUMBLEWEED:
@ -743,20 +743,20 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
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 player The player that should receive the checkpoint
* \param snaptopost If true, the respawn point will use the star post's position, otherwise player x/y and star post z
* \param post The Cheat Check to trigger
* \param player The player that should receive the cheatcheck
* \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;
(void)snaptopost;
// Player must have touched all previous starposts
if (post->health - player->starpostnum > 1)
// Player must have touched all previous cheatchecks
if (post->health - player->cheatchecknum > 1)
{
if (!player->checkskip)
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?
if (post->health > 1365)
{
CONS_Debug(DBG_GAMELOGIC, "Bad Starpost Number!\n");
CONS_Debug(DBG_GAMELOGIC, "Bad Cheatcheck Number!\n");
return;
}
if (player->starpostnum >= post->health)
if (player->cheatchecknum >= post->health)
return; // Already hit this post
player->starpostnum = post->health;
player->cheatchecknum = post->health;
}
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_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_CheckPointLimit(void);
boolean P_CheckRacers(void);
@ -558,9 +558,9 @@ extern INT32 ceilmovesound;
#define CARRYFACTOR (FRACUNIT-ORIG_FRICTION)
void P_MixUp(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle,
INT16 starpostx, INT16 starposty, INT16 starpostz,
INT32 starpostnum, tic_t starposttime, angle_t starpostangle,
fixed_t starpostscale, angle_t drawangle, INT32 flags2);
INT16 cheatcheckx, INT16 cheatchecky, INT16 cheatcheckz,
INT32 cheatchecknum, tic_t cheatchecktime, angle_t cheatcheckangle,
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_SetMobjStateNF(mobj_t *mobj, statenum_t state);
boolean P_CheckMissileSpawn(mobj_t *th);

View file

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

View file

@ -533,7 +533,7 @@ void P_MobjCheckWater(mobj_t *mobj);
// Player spawn points
void P_SpawnPlayer(INT32 playernum);
void P_MovePlayerToSpawn(INT32 playernum, mapthing_t *mthing);
void P_MovePlayerToStarpost(INT32 playernum);
void P_MovePlayerToCheatcheck(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);
@ -569,7 +569,7 @@ extern INT32 modulothing;
#define MAXHUNTEMERALDS 64
extern mapthing_t *huntemeralds[MAXHUNTEMERALDS];
extern INT32 numhuntemeralds;
extern INT32 numstarposts;
extern INT32 numcheatchecks;
extern UINT16 bossdisabled;
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].latestlap);
WRITEUINT32(save->p, players[i].lapPoints);
WRITEINT32(save->p, players[i].starpostnum);
WRITEINT32(save->p, players[i].cheatchecknum);
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].latestlap = READUINT8(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

View file

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

View file

@ -1928,7 +1928,7 @@ static void K_HandleLapIncrement(player_t *player)
return;
}
if ((player->starpostnum == numstarposts) || (player->laps == 0))
if ((player->cheatchecknum == numcheatchecks) || (player->laps == 0))
{
size_t i = 0;
UINT8 nump = 0;
@ -1985,7 +1985,7 @@ static void K_HandleLapIncrement(player_t *player)
if (netgame && player->laps > numlaps)
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)
{
@ -2131,7 +2131,7 @@ static void K_HandleLapIncrement(player_t *player)
gamedata->deferredconditioncheck = true;
}
}
else if (player->starpostnum)
else if (player->cheatchecknum)
{
S_StartSound(player->mo, sfx_s26d);
}
@ -2143,9 +2143,9 @@ static void K_HandleLapDecrement(player_t *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--;
curlap = UINT32_MAX;
}
@ -5222,11 +5222,11 @@ static void P_EvaluateSpecialFlags(player_t *player, sector_t *sector, sector_t
player->onconveyor = 2;
if (sector->specialflags & SSF_CONVEYOR)
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)
P_TouchStarPost(post, player, false);
P_TouchCheatcheck(post, player, false);
}
if (sector->specialflags & SSF_EXIT)
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,
INT16 starpostx, INT16 starposty, INT16 starpostz,
INT32 starpostnum, tic_t starposttime, angle_t starpostangle,
fixed_t starpostscale, angle_t drawangle, INT32 flags2)
INT16 cheatcheckx, INT16 cheatchecky, INT16 cheatcheckz,
INT32 cheatchecknum, tic_t cheatchecktime, angle_t cheatcheckangle,
fixed_t cheatcheckscale, angle_t drawangle, INT32 flags2)
{
const INT32 takeflags2 = MF2_OBJECTFLIP;
UINT8 i;
(void)starposttime;
(void)starpostangle;
(void)starpostscale;
(void)cheatchecktime;
(void)cheatcheckangle;
(void)cheatcheckscale;
// the move is ok,
// 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)
thing->player->speed = 0;
// Starpost information
thing->player->respawn.pointx = starpostx;
thing->player->respawn.pointy = starposty;
thing->player->respawn.pointz = starpostz;
thing->player->starpostnum = starpostnum;
// Cheatcheck information
thing->player->respawn.pointx = cheatcheckx;
thing->player->respawn.pointy = cheatchecky;
thing->player->respawn.pointz = cheatcheckz;
thing->player->cheatchecknum = cheatchecknum;
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->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?!
// if (leveltime > 0 && timeinmap <= 0)
// return true;

View file

@ -367,7 +367,7 @@ typedef enum
SSF_WINDCURRENT = 1<<3,
SSF_CONVEYOR = 1<<4,
// free: 1<<5,
SSF_STARPOSTACTIVATOR = 1<<6,
SSF_CHEATCHECKACTIVATOR = 1<<6,
SSF_EXIT = 1<<7,
SSF_DELETEITEMS = 1<<8,
// 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"},
{"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"},
{"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"},
{"telept", false, 32, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Dash"},
{"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"},
{"s3k61", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Drilling"},
{"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"},
{"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"},
@ -706,7 +706,7 @@ sfxinfo_t S_sfx[NUMSFX] =
{"cdfm27", false, 64, 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"},
{"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"},
{"cdfm32", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},
{"cdfm33", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, ""},