mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Check both front and backside for tripwire
This commit is contained in:
parent
93dfbf382c
commit
6063a6eab8
1 changed files with 28 additions and 7 deletions
|
|
@ -1939,6 +1939,30 @@ static void P_LoadTextmap(void)
|
|||
}
|
||||
}
|
||||
|
||||
static boolean P_CheckLineSideTripWire(line_t *ld, int p)
|
||||
{
|
||||
INT32 n;
|
||||
|
||||
side_t *sda;
|
||||
side_t *sdb;
|
||||
|
||||
terrain_t *terrain;
|
||||
|
||||
boolean tripwire;
|
||||
|
||||
n = ld->sidenum[p];
|
||||
|
||||
if (n == 0xffff)
|
||||
return false;
|
||||
|
||||
sda = &sides[n];
|
||||
|
||||
terrain = K_GetTerrainForTextureNum(sda->midtexture);
|
||||
tripwire = terrain && (terrain->flags & TRF_TRIPWIRE);
|
||||
|
||||
return tripwire;
|
||||
}
|
||||
|
||||
static void P_ProcessLinedefsAfterSidedefs(void)
|
||||
{
|
||||
size_t i = numlines;
|
||||
|
|
@ -1946,16 +1970,13 @@ static void P_ProcessLinedefsAfterSidedefs(void)
|
|||
|
||||
for (; i--; ld++)
|
||||
{
|
||||
INT32 midtexture = sides[ld->sidenum[0]].midtexture;
|
||||
terrain_t *terrain = K_GetTerrainForTextureNum(midtexture);
|
||||
|
||||
ld->frontsector = sides[ld->sidenum[0]].sector; //e6y: Can't be -1 here
|
||||
ld->backsector = ld->sidenum[1] != 0xffff ? sides[ld->sidenum[1]].sector : 0;
|
||||
|
||||
if (terrain != NULL && (terrain->flags & TRF_TRIPWIRE))
|
||||
{
|
||||
ld->tripwire = true;
|
||||
}
|
||||
// Check for tripwire on either side
|
||||
ld->tripwire =
|
||||
P_CheckLineSideTripWire(ld, 0) ||
|
||||
P_CheckLineSideTripWire(ld, 1);
|
||||
|
||||
switch (ld->special)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue