mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Initial checkpoint for NiGHTS LE triggers
This commit is contained in:
parent
5a7e009eab
commit
6e10b27f38
3 changed files with 112 additions and 45 deletions
147
src/p_spec.c
147
src/p_spec.c
|
|
@ -1374,6 +1374,48 @@ void P_ChangeSectorTag(UINT32 sector, INT16 newtag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// P_RunNightserizeExecutors
|
||||||
|
//
|
||||||
|
void P_RunNightserizeExecutors(mobj_t *actor)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < numlines; i++)
|
||||||
|
{
|
||||||
|
if (lines[i].special == 323 || lines[i].special == 324)
|
||||||
|
P_RunTriggerLinedef(&lines[i], actor, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// P_RunDeNightserizeExecutors
|
||||||
|
//
|
||||||
|
void P_RunDeNightserizeExecutors(mobj_t *actor)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < numlines; i++)
|
||||||
|
{
|
||||||
|
if (lines[i].special == 325 || lines[i].special == 326)
|
||||||
|
P_RunTriggerLinedef(&lines[i], actor, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// P_RunNightsLapExecutors
|
||||||
|
//
|
||||||
|
void P_RunNightsLapExecutors(mobj_t *actor)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < numlines; i++)
|
||||||
|
{
|
||||||
|
if (lines[i].special == 327 || lines[i].special == 328)
|
||||||
|
P_RunTriggerLinedef(&lines[i], actor, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Hashes the sector tags across the sectors and linedefs.
|
/** Hashes the sector tags across the sectors and linedefs.
|
||||||
*
|
*
|
||||||
* \sa P_FindSectorFromTag, P_ChangeSectorTag
|
* \sa P_FindSectorFromTag, P_ChangeSectorTag
|
||||||
|
|
@ -1667,6 +1709,69 @@ boolean P_RunTriggerLinedef(line_t *triggerline, mobj_t *actor, sector_t *caller
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 323: // each time
|
||||||
|
case 324: // once
|
||||||
|
{ // nightserize
|
||||||
|
INT32 mareinput = sides[triggerline->sidenum[0]].textureoffset>>FRACBITS;
|
||||||
|
INT32 lapinput = sides[triggerline->sidenum[0]].rowoffset>>FRACBITS;
|
||||||
|
BOOL ltemare = triggerline->flags & ML_NOCLIMB;
|
||||||
|
BOOL gtemare = triggerline->flags & ML_BLOCKMONSTERS;
|
||||||
|
BOOL ltelap = triggerline->flags & ML_EFFECT1;
|
||||||
|
BOOL gtelap = triggerline->flags & ML_EFFECT2;
|
||||||
|
BOOL lapfrombonustime = triggerline->flags & ML_EFFECT3;
|
||||||
|
BOOL doglobal = triggerline->flags & ML_EFFECT4;
|
||||||
|
BOOL donomares = triggerline->flags & ML_EFFECT5; // unused for nights lap
|
||||||
|
BOOL fromnonights = triggerline->flags & ML_BOUNCY; // unused for nights lap
|
||||||
|
|
||||||
|
CONS_Printf("Trigger Nightserize %i\n", triggerline->special);
|
||||||
|
CONS_Printf("M-I %i | M-V %i | M-GTE %i | M-LTE %i | L-I %i | L-V %i/%i | L-GTE %i | L-LTE %i\n"
|
||||||
|
, mareinput, actor->player->mare, gtemare, ltemare
|
||||||
|
, lapinput, actor->player->marebonuslap, actor->player->marelap, gtelap, ltelap);
|
||||||
|
CONS_Printf("L-Bonus %i | Global %i | No Mares %i | From No NiGHTS %i\n", lapfrombonustime, doglobal, donomares, fromnonights);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 325: // each time
|
||||||
|
case 326: // once
|
||||||
|
{ // denightserize
|
||||||
|
INT32 mareinput = sides[triggerline->sidenum[0]].textureoffset>>FRACBITS;
|
||||||
|
INT32 lapinput = sides[triggerline->sidenum[0]].rowoffset>>FRACBITS;
|
||||||
|
BOOL ltemare = triggerline->flags & ML_NOCLIMB;
|
||||||
|
BOOL gtemare = triggerline->flags & ML_BLOCKMONSTERS;
|
||||||
|
BOOL ltelap = triggerline->flags & ML_EFFECT1;
|
||||||
|
BOOL gtelap = triggerline->flags & ML_EFFECT2;
|
||||||
|
BOOL lapfrombonustime = triggerline->flags & ML_EFFECT3;
|
||||||
|
BOOL doglobal = triggerline->flags & ML_EFFECT4;
|
||||||
|
BOOL donomares = triggerline->flags & ML_EFFECT5; // all no nights // unused for nights lap
|
||||||
|
BOOL fromnonights = triggerline->flags & ML_BOUNCY; // unused for nights lap
|
||||||
|
|
||||||
|
CONS_Printf("Trigger DeNightserize %i\n", triggerline->special);
|
||||||
|
CONS_Printf("M-I %i | M-V %i | M-GTE %i | M-LTE %i | L-I %i | L-V %i/%i | L-GTE %i | L-LTE %i\n"
|
||||||
|
, mareinput, actor->player->mare, gtemare, ltemare
|
||||||
|
, lapinput, actor->player->marebonuslap, actor->player->marelap, gtelap, ltelap);
|
||||||
|
CONS_Printf("L-Bonus %i | Global %i | No Mares %i | From No NiGHTS %i\n", lapfrombonustime, doglobal, donomares, fromnonights);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 327: // each time
|
||||||
|
case 328: // once
|
||||||
|
{ // nights lap
|
||||||
|
INT32 mareinput = sides[triggerline->sidenum[0]].textureoffset>>FRACBITS;
|
||||||
|
INT32 lapinput = sides[triggerline->sidenum[0]].rowoffset>>FRACBITS;
|
||||||
|
BOOL ltemare = triggerline->flags & ML_NOCLIMB;
|
||||||
|
BOOL gtemare = triggerline->flags & ML_BLOCKMONSTERS;
|
||||||
|
BOOL ltelap = triggerline->flags & ML_EFFECT1;
|
||||||
|
BOOL gtelap = triggerline->flags & ML_EFFECT2;
|
||||||
|
BOOL lapfrombonustime = triggerline->flags & ML_EFFECT3;
|
||||||
|
BOOL doglobal = triggerline->flags & ML_EFFECT4;
|
||||||
|
BOOL donomares = triggerline->flags & ML_EFFECT5; // unused for nights lap
|
||||||
|
BOOL fromnonights = triggerline->flags & ML_BOUNCY; // unused for nights lap
|
||||||
|
|
||||||
|
CONS_Printf("Trigger NiGHTS Lap %i\n", triggerline->special);
|
||||||
|
CONS_Printf("M-I %i | M-V %i | M-GTE %i | M-LTE %i | L-I %i | L-V %i/%i | L-GTE %i | L-LTE %i\n"
|
||||||
|
, mareinput, actor->player->mare, gtemare, ltemare
|
||||||
|
, lapinput, actor->player->marebonuslap, actor->player->marelap, gtelap, ltelap);
|
||||||
|
CONS_Printf("L-Bonus %i | Global %i | No Mares %i | From No NiGHTS %i\n", lapfrombonustime, doglobal, donomares, fromnonights);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -5487,48 +5592,6 @@ static void P_RunLevelLoadExecutors(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// P_RunNightserizeExecutors
|
|
||||||
//
|
|
||||||
static void P_RunNightserizeExecutors(mobj_t *actor)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
for (i = 0; i < numlines; i++)
|
|
||||||
{
|
|
||||||
if (lines[i].special == 323 || lines[i].special == 324)
|
|
||||||
P_RunTriggerLinedef(&lines[i], actor, NULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// P_RunDeNightserizeExecutors
|
|
||||||
//
|
|
||||||
static void P_RunDeNightserizeExecutors(mobj_t *actor)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
for (i = 0; i < numlines; i++)
|
|
||||||
{
|
|
||||||
if (lines[i].special == 325 || lines[i].special == 326)
|
|
||||||
P_RunTriggerLinedef(&lines[i], actor, NULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// P_RunNightsLapExecutors
|
|
||||||
//
|
|
||||||
static void P_RunNightsLapExecutors(mobj_t *actor)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
for (i = 0; i < numlines; i++)
|
|
||||||
{
|
|
||||||
if (lines[i].special == 327 || lines[i].special == 328)
|
|
||||||
P_RunTriggerLinedef(&lines[i], actor, NULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Before things are loaded, initialises certain stuff in case they're needed
|
/** Before things are loaded, initialises certain stuff in case they're needed
|
||||||
* by P_ResetDynamicSlopes or P_LoadThings. This was split off from
|
* by P_ResetDynamicSlopes or P_LoadThings. This was split off from
|
||||||
* P_SpawnSpecials, in case you couldn't tell.
|
* P_SpawnSpecials, in case you couldn't tell.
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,9 @@ void P_SwitchWeather(INT32 weathernum);
|
||||||
boolean P_RunTriggerLinedef(line_t *triggerline, mobj_t *actor, sector_t *caller);
|
boolean P_RunTriggerLinedef(line_t *triggerline, mobj_t *actor, sector_t *caller);
|
||||||
void P_LinedefExecute(INT16 tag, mobj_t *actor, sector_t *caller);
|
void P_LinedefExecute(INT16 tag, mobj_t *actor, sector_t *caller);
|
||||||
void P_ChangeSectorTag(UINT32 sector, INT16 newtag);
|
void P_ChangeSectorTag(UINT32 sector, INT16 newtag);
|
||||||
|
void P_RunNightserizeExecutors(mobj_t *actor);
|
||||||
|
void P_RunDeNightserizeExecutors(mobj_t *actor);
|
||||||
|
void P_RunNightsLapExecutors(mobj_t *actor);
|
||||||
|
|
||||||
ffloor_t *P_GetFFloorByID(sector_t *sec, UINT16 id);
|
ffloor_t *P_GetFFloorByID(sector_t *sec, UINT16 id);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -639,7 +639,7 @@ static void P_DeNightserizePlayer(player_t *player)
|
||||||
// Restore from drowning music
|
// Restore from drowning music
|
||||||
P_RestoreMusic(player);
|
P_RestoreMusic(player);
|
||||||
|
|
||||||
P_RunDeNightserizeExecutors();
|
P_RunDeNightserizeExecutors(player->mo);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
@ -774,9 +774,10 @@ void P_NightserizePlayer(player_t *player, INT32 nighttime)
|
||||||
player->texttimer = (UINT8)(110 - timeinmap);
|
player->texttimer = (UINT8)(110 - timeinmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
player->powers[pw_carry] = CR_NIGHTSMODE;
|
// Do this before setting CR_NIGHTSMODE so we can tell if player was non-NiGHTS
|
||||||
|
|
||||||
P_RunNightserizeExecutors(player->mo);
|
P_RunNightserizeExecutors(player->mo);
|
||||||
|
|
||||||
|
player->powers[pw_carry] = CR_NIGHTSMODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
pflags_t P_GetJumpFlags(player_t *player)
|
pflags_t P_GetJumpFlags(player_t *player)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue