mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 14:52:01 +00:00
Ion Fury compatibility improvements
git-svn-id: https://svn.eduke32.com/eduke32@8559 1a8010ca-5511-0410-912e-c29ae57300e0 # Conflicts: # source/duke3d/src/game.cpp
This commit is contained in:
parent
eee0509856
commit
8543f476d7
2 changed files with 124 additions and 78 deletions
|
@ -459,7 +459,7 @@ int A_GetClipdist(int spriteNum, int clipDist)
|
|||
if (pSprite->xrepeat > 60)
|
||||
clipDist = 1024;
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
else if (pSprite->picnum == LIZMAN)
|
||||
else if (!FURY && pSprite->picnum == LIZMAN)
|
||||
clipDist = 292;
|
||||
#endif
|
||||
else if (A_CheckSpriteFlags(spriteNum, SFLAG_BADGUY))
|
||||
|
@ -489,7 +489,7 @@ int32_t A_MoveSpriteClipdist(int32_t spriteNum, vec3_t const * const change, uin
|
|||
Bassert(pSprite->sectnum < MAXSECTORS);
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (pSprite->statnum == STAT_MISC || (isEnemy && pSprite->xrepeat < 4))
|
||||
if (!FURY && (pSprite->statnum == STAT_MISC || (isEnemy && pSprite->xrepeat < 4)))
|
||||
{
|
||||
pSprite->x += change->x;
|
||||
pSprite->y += change->y;
|
||||
|
@ -538,9 +538,9 @@ int32_t A_MoveSpriteClipdist(int32_t spriteNum, vec3_t const * const change, uin
|
|||
if (newSectnum < 0 || ((actor[spriteNum].stayput >= 0 && actor[spriteNum].stayput != newSectnum)
|
||||
|| ((g_tile[pSprite->picnum].flags & SFLAG_NOWATERSECTOR) && sector[newSectnum].lotag == ST_1_ABOVE_WATER)
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
|| (pSprite->picnum == BOSS2 && pSprite->pal == 0 && sector[newSectnum].lotag != ST_3)
|
||||
|| ((pSprite->picnum == BOSS1 || pSprite->picnum == BOSS2) && sector[newSectnum].lotag == ST_1_ABOVE_WATER)
|
||||
|| (sector[oldSectnum].lotag != ST_1_ABOVE_WATER && sector[newSectnum].lotag == ST_1_ABOVE_WATER
|
||||
|| (!FURY && pSprite->picnum == BOSS2 && pSprite->pal == 0 && sector[newSectnum].lotag != ST_3)
|
||||
|| (!FURY && (pSprite->picnum == BOSS1 || pSprite->picnum == BOSS2) && sector[newSectnum].lotag == ST_1_ABOVE_WATER)
|
||||
|| (!FURY && sector[oldSectnum].lotag != ST_1_ABOVE_WATER && sector[newSectnum].lotag == ST_1_ABOVE_WATER
|
||||
&& (pSprite->picnum == LIZMAN || (pSprite->picnum == LIZTROOP && pSprite->zvel == 0)))
|
||||
#endif
|
||||
))
|
||||
|
@ -1048,15 +1048,19 @@ ACTOR_STATIC void G_MoveZombieActors(void)
|
|||
case NUKEBARRELDENTED__STATIC:
|
||||
case NUKEBARRELLEAKED__STATIC:
|
||||
case TRIPBOMB__STATIC:
|
||||
pSprite->shade = ((sector[pSprite->sectnum].ceilingstat & 1) && A_CheckSpriteFlags(spriteNum, SFLAG_NOSHADE) == 0)
|
||||
? sector[pSprite->sectnum].ceilingshade
|
||||
: sector[pSprite->sectnum].floorshade;
|
||||
actor[spriteNum].timetosleep = 0;
|
||||
changespritestat(spriteNum, STAT_STANDABLE);
|
||||
if (!FURY)
|
||||
{
|
||||
pSprite->shade = ((sector[pSprite->sectnum].ceilingstat & 1) && A_CheckSpriteFlags(spriteNum, SFLAG_NOSHADE) == 0)
|
||||
? sector[pSprite->sectnum].ceilingshade
|
||||
: sector[pSprite->sectnum].floorshade;
|
||||
actor[spriteNum].timetosleep = 0;
|
||||
changespritestat(spriteNum, STAT_STANDABLE);
|
||||
}
|
||||
break;
|
||||
|
||||
case RECON__STATIC:
|
||||
CS(spriteNum) |= 257;
|
||||
if (!FURY)
|
||||
CS(spriteNum) |= 257;
|
||||
fallthrough__;
|
||||
#endif
|
||||
default:
|
||||
|
@ -1695,7 +1699,7 @@ ACTOR_STATIC void G_MoveStandables(void)
|
|||
actor[spriteNum].bpos = pSprite->pos;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (PN(spriteNum) >= CRANE && PN(spriteNum) <= CRANE+3)
|
||||
if (!FURY && PN(spriteNum) >= CRANE && PN(spriteNum) <= CRANE+3)
|
||||
{
|
||||
int32_t nextj;
|
||||
|
||||
|
@ -1882,7 +1886,7 @@ ACTOR_STATIC void G_MoveStandables(void)
|
|||
|
||||
goto next_sprite;
|
||||
}
|
||||
else if (PN(spriteNum) >= WATERFOUNTAIN && PN(spriteNum) <= WATERFOUNTAIN+3)
|
||||
else if (!FURY && PN(spriteNum) >= WATERFOUNTAIN && PN(spriteNum) <= WATERFOUNTAIN+3)
|
||||
{
|
||||
if (pData[0] > 0)
|
||||
{
|
||||
|
@ -1911,7 +1915,7 @@ ACTOR_STATIC void G_MoveStandables(void)
|
|||
}
|
||||
goto next_sprite;
|
||||
}
|
||||
else if (AFLAMABLE(pSprite->picnum))
|
||||
else if (!FURY && AFLAMABLE(pSprite->picnum))
|
||||
{
|
||||
if (T1(spriteNum) == 1)
|
||||
{
|
||||
|
@ -1948,7 +1952,7 @@ ACTOR_STATIC void G_MoveStandables(void)
|
|||
}
|
||||
goto next_sprite;
|
||||
}
|
||||
else if (pSprite->picnum == TRIPBOMB)
|
||||
else if (!FURY && pSprite->picnum == TRIPBOMB)
|
||||
{
|
||||
// TIMER_CONTROL
|
||||
if (actor[spriteNum].t_data[6] == 1)
|
||||
|
@ -2122,7 +2126,7 @@ ACTOR_STATIC void G_MoveStandables(void)
|
|||
|
||||
goto next_sprite;
|
||||
}
|
||||
else if (pSprite->picnum >= CRACK1 && pSprite->picnum <= CRACK4)
|
||||
else if (!FURY && pSprite->picnum >= CRACK1 && pSprite->picnum <= CRACK4)
|
||||
{
|
||||
if (pSprite->hitag)
|
||||
{
|
||||
|
@ -2162,7 +2166,7 @@ crack_default:
|
|||
}
|
||||
goto next_sprite;
|
||||
}
|
||||
else if (pSprite->picnum == FIREEXT)
|
||||
else if (!FURY && pSprite->picnum == FIREEXT)
|
||||
{
|
||||
if (A_IncurDamage(spriteNum) < 0)
|
||||
goto next_sprite;
|
||||
|
@ -2295,7 +2299,7 @@ DETONATE:
|
|||
pSprite->z -= ZOFFSET5;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (pSprite->xrepeat)
|
||||
if (!FURY && pSprite->xrepeat)
|
||||
for (int x=0; x<8; x++)
|
||||
RANDOMSCRAP(pSprite, spriteNum);
|
||||
#endif
|
||||
|
@ -2362,10 +2366,13 @@ DETONATE:
|
|||
switchPic = pSprite->picnum;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (switchPic > SIDEBOLT1 && switchPic <= SIDEBOLT1 + 3)
|
||||
switchPic = SIDEBOLT1;
|
||||
else if (switchPic > BOLT1 && switchPic <= BOLT1 + 3)
|
||||
switchPic = BOLT1;
|
||||
if (!FURY)
|
||||
{
|
||||
if (switchPic > SIDEBOLT1 && switchPic <= SIDEBOLT1 + 3)
|
||||
switchPic = SIDEBOLT1;
|
||||
else if (switchPic > BOLT1 && switchPic <= BOLT1 + 3)
|
||||
switchPic = BOLT1;
|
||||
}
|
||||
#endif
|
||||
switch (DYNAMICTILEMAP(switchPic))
|
||||
{
|
||||
|
@ -2475,7 +2482,11 @@ DETONATE:
|
|||
}
|
||||
|
||||
goto next_sprite;
|
||||
}
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (!FURY)
|
||||
switch (DYNAMICTILEMAP(switchPic))
|
||||
{
|
||||
case TRASH__STATIC:
|
||||
|
||||
if (pSprite->xvel == 0)
|
||||
|
@ -2683,8 +2694,8 @@ DETONATE:
|
|||
A_Execute(spriteNum, playerNum, playerDist);
|
||||
}
|
||||
goto next_sprite;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
next_sprite:
|
||||
|
@ -3135,7 +3146,11 @@ ACTOR_STATIC void G_MoveWeapons(void)
|
|||
|
||||
case RADIUSEXPLOSION__STATIC:
|
||||
case KNEE__STATIC: DELETE_SPRITE_AND_CONTINUE(spriteNum);
|
||||
}
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (!FURY)
|
||||
switch (DYNAMICTILEMAP(pSprite->picnum))
|
||||
{
|
||||
case FREEZEBLAST__STATIC:
|
||||
if (pSprite->yvel < 1 || pSprite->extra < 2 || (pSprite->xvel | pSprite->zvel) == 0)
|
||||
{
|
||||
|
@ -3391,8 +3406,8 @@ ACTOR_STATIC void G_MoveWeapons(void)
|
|||
|
||||
goto next_sprite;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
next_sprite:
|
||||
spriteNum = nextSprite;
|
||||
}
|
||||
|
@ -3412,7 +3427,7 @@ static int P_Submerge(int const playerNum, DukePlayer_t * const pPlayer, int con
|
|||
}
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (sprite[pPlayer->i].extra > 0)
|
||||
if (!FURY && sprite[pPlayer->i].extra > 0)
|
||||
A_PlaySound(DUKE_UNDERWATER, pPlayer->i);
|
||||
#endif
|
||||
|
||||
|
@ -3442,7 +3457,8 @@ static int P_Emerge(int const playerNum, DukePlayer_t * const pPlayer, int const
|
|||
}
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
A_PlaySound(DUKE_GASP, pPlayer->i);
|
||||
if (!FURY)
|
||||
A_PlaySound(DUKE_GASP, pPlayer->i);
|
||||
#endif
|
||||
|
||||
pPlayer->opos.z = pPlayer->pos.z = sector[otherSect].floorz;
|
||||
|
@ -3535,7 +3551,7 @@ ACTOR_STATIC void G_MoveTransports(void)
|
|||
if (pPlayer->on_ground && sectLotag == 0 && onFloor && pPlayer->jetpack_on == 0)
|
||||
{
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (sprite[spriteNum].pal == 0)
|
||||
if (!FURY && sprite[spriteNum].pal == 0)
|
||||
{
|
||||
A_Spawn(spriteNum, TRANSPORTERBEAM);
|
||||
A_PlaySound(TELEPORTER, spriteNum);
|
||||
|
@ -3568,7 +3584,7 @@ ACTOR_STATIC void G_MoveTransports(void)
|
|||
pPlayer->cursectnum = sprite[sectSprite].sectnum;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (sprite[spriteNum].pal == 0)
|
||||
if (!FURY && sprite[spriteNum].pal == 0)
|
||||
{
|
||||
int const newSprite = A_Spawn(OW(spriteNum), TRANSPORTERBEAM);
|
||||
A_PlaySound(TELEPORTER, newSprite);
|
||||
|
@ -3666,9 +3682,10 @@ ACTOR_STATIC void G_MoveTransports(void)
|
|||
if (A_CheckSpriteFlags(sectSprite, SFLAG_DECAL))
|
||||
goto JBOLT;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (!FURY)
|
||||
switch (DYNAMICTILEMAP(sprite[sectSprite].picnum))
|
||||
{
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
case TRANSPORTERSTAR__STATIC:
|
||||
case TRANSPORTERBEAM__STATIC:
|
||||
case TRIPBOMB__STATIC:
|
||||
|
@ -3680,7 +3697,10 @@ ACTOR_STATIC void G_MoveTransports(void)
|
|||
case FIRE2__STATIC:
|
||||
case TOILETWATER__STATIC:
|
||||
case LASERLINE__STATIC: goto JBOLT;
|
||||
}
|
||||
#endif
|
||||
switch (DYNAMICTILEMAP(sprite[sectSprite].picnum))
|
||||
{
|
||||
case PLAYERONWATER__STATIC:
|
||||
if (sectLotag == ST_2_UNDERWATER)
|
||||
{
|
||||
|
@ -3703,13 +3723,16 @@ ACTOR_STATIC void G_MoveTransports(void)
|
|||
|
||||
Bassert(sectLotag == ST_1_ABOVE_WATER || sectLotag == ST_2_UNDERWATER);
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
int const newSprite = A_Spawn(sectSprite, WATERSPLASH2);
|
||||
|
||||
if (sectLotag == ST_1_ABOVE_WATER && sprite[sectSprite].statnum == STAT_PROJECTILE)
|
||||
if (!FURY)
|
||||
{
|
||||
sprite[newSprite].xvel = sprite[sectSprite].xvel >> 1;
|
||||
sprite[newSprite].ang = sprite[sectSprite].ang;
|
||||
A_SetSprite(newSprite, CLIPMASK0);
|
||||
int const newSprite = A_Spawn(sectSprite, WATERSPLASH2);
|
||||
|
||||
if (sectLotag == ST_1_ABOVE_WATER && sprite[sectSprite].statnum == STAT_PROJECTILE)
|
||||
{
|
||||
sprite[newSprite].xvel = sprite[sectSprite].xvel >> 1;
|
||||
sprite[newSprite].ang = sprite[sectSprite].ang;
|
||||
A_SetSprite(newSprite, CLIPMASK0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
actor[sectSprite].lasttransport = ((int32_t) totalclock & UINT8_MAX);
|
||||
|
@ -3739,7 +3762,7 @@ ACTOR_STATIC void G_MoveTransports(void)
|
|||
sprite[sectSprite].ang = sprite[OW(spriteNum)].ang;
|
||||
actor[sectSprite].bpos = sprite[sectSprite].pos;
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (sprite[spriteNum].pal == 0)
|
||||
if (!FURY && sprite[spriteNum].pal == 0)
|
||||
{
|
||||
int newSprite = A_Spawn(spriteNum, TRANSPORTERBEAM);
|
||||
A_PlaySound(TELEPORTER, newSprite);
|
||||
|
@ -3828,8 +3851,10 @@ ACTOR_STATIC void G_MoveActors(void)
|
|||
|
||||
switchPic = pSprite->picnum;
|
||||
|
||||
if (pSprite->picnum > GREENSLIME && pSprite->picnum <= GREENSLIME+7)
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (!FURY && pSprite->picnum > GREENSLIME && pSprite->picnum <= GREENSLIME+7)
|
||||
switchPic = GREENSLIME;
|
||||
#endif
|
||||
|
||||
switch (DYNAMICTILEMAP(switchPic))
|
||||
{
|
||||
|
@ -3847,7 +3872,45 @@ ACTOR_STATIC void G_MoveActors(void)
|
|||
|
||||
goto next_sprite;
|
||||
}
|
||||
case CAMERA1__STATIC:
|
||||
if (pData[0] == 0)
|
||||
{
|
||||
pData[1]+=8;
|
||||
if (g_damageCameras)
|
||||
{
|
||||
if (A_IncurDamage(spriteNum) >= 0)
|
||||
{
|
||||
pData[0] = 1; // static
|
||||
pSprite->cstat = 32768;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (!FURY)
|
||||
{
|
||||
for (bssize_t x = 0; x < 5; x++)
|
||||
RANDOMSCRAP(pSprite, spriteNum);
|
||||
}
|
||||
#endif
|
||||
goto next_sprite;
|
||||
}
|
||||
}
|
||||
|
||||
if (pSprite->hitag > 0)
|
||||
{
|
||||
if (pData[1] < pSprite->hitag) pSprite->ang += 8;
|
||||
else if (pData[1] < pSprite->hitag * 3) pSprite->ang -= 8;
|
||||
else if (pData[1] < (pSprite->hitag << 2)) pSprite->ang += 8;
|
||||
else
|
||||
{
|
||||
pData[1] = 8;
|
||||
pSprite->ang += 16;
|
||||
}
|
||||
}
|
||||
}
|
||||
goto next_sprite;
|
||||
}
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
switch (DYNAMICTILEMAP(switchPic))
|
||||
{
|
||||
case DUCK__STATIC:
|
||||
case TARGET__STATIC:
|
||||
if (pSprite->cstat&32)
|
||||
|
@ -5060,41 +5123,8 @@ DETONATEB:
|
|||
}
|
||||
goto next_sprite;
|
||||
}
|
||||
#endif // EDUKE32_STANDALONE
|
||||
|
||||
case CAMERA1__STATIC:
|
||||
if (pData[0] == 0)
|
||||
{
|
||||
pData[1]+=8;
|
||||
if (g_damageCameras)
|
||||
{
|
||||
if (A_IncurDamage(spriteNum) >= 0)
|
||||
{
|
||||
pData[0] = 1; // static
|
||||
pSprite->cstat = 32768;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
for (bssize_t x = 0; x < 5; x++)
|
||||
RANDOMSCRAP(pSprite, spriteNum);
|
||||
#endif
|
||||
goto next_sprite;
|
||||
}
|
||||
}
|
||||
|
||||
if (pSprite->hitag > 0)
|
||||
{
|
||||
if (pData[1] < pSprite->hitag) pSprite->ang += 8;
|
||||
else if (pData[1] < pSprite->hitag * 3) pSprite->ang -= 8;
|
||||
else if (pData[1] < (pSprite->hitag << 2)) pSprite->ang += 8;
|
||||
else
|
||||
{
|
||||
pData[1] = 8;
|
||||
pSprite->ang += 16;
|
||||
}
|
||||
}
|
||||
}
|
||||
goto next_sprite;
|
||||
}
|
||||
#endif // EDUKE32_STANDALONE
|
||||
|
||||
if (!g_netServer && ud.multimode < 2 && A_CheckEnemySprite(pSprite))
|
||||
{
|
||||
|
@ -5157,6 +5187,7 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
|
|||
actor[spriteNum].floorz = pSprite->z = getflorzofslope(pSprite->sectnum,pSprite->x,pSprite->y);
|
||||
else
|
||||
#endif
|
||||
{
|
||||
switch (DYNAMICTILEMAP(switchPic))
|
||||
{
|
||||
case APLAYER__STATIC: pSprite->cstat = 32768; goto next_sprite;
|
||||
|
@ -5204,8 +5235,12 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
|
|||
A_Execute(spriteNum, playerNum, playerDist);
|
||||
goto next_sprite;
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (!FURY)
|
||||
switch (DYNAMICTILEMAP(switchPic))
|
||||
{
|
||||
case NEON1__STATIC:
|
||||
case NEON2__STATIC:
|
||||
case NEON3__STATIC:
|
||||
|
@ -5637,11 +5672,12 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
|
|||
A_SetSprite(spriteNum,CLIPMASK0);
|
||||
|
||||
goto next_sprite;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (PN(spriteNum) >= SCRAP6 && PN(spriteNum) <= SCRAP5+3)
|
||||
if (!FURY && PN(spriteNum) >= SCRAP6 && PN(spriteNum) <= SCRAP5+3)
|
||||
{
|
||||
if (pSprite->xvel > 0)
|
||||
pSprite->xvel--;
|
||||
|
@ -6901,7 +6937,7 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3
|
|||
}
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (pData[2] == 4 && pSprite->ang != 512)
|
||||
if (!FURY && pData[2] == 4 && pSprite->ang != 512)
|
||||
for (x=0; x<7; x++) RANDOMSCRAP(pSprite, spriteNum);
|
||||
#endif
|
||||
break;
|
||||
|
@ -7885,7 +7921,7 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3
|
|||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
case SE_33_QUAKE_DEBRIS:
|
||||
if (g_earthquakeTime > 0 && (krand()&7) == 0)
|
||||
if (!FURY && g_earthquakeTime > 0 && (krand()&7) == 0)
|
||||
RANDOMSCRAP(pSprite, spriteNum);
|
||||
break;
|
||||
#endif
|
||||
|
@ -8199,6 +8235,9 @@ static void A_DoLight(int spriteNum)
|
|||
return;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (FURY)
|
||||
return;
|
||||
|
||||
for (int ii=0; ii<2; ii++)
|
||||
{
|
||||
if (pSprite->picnum <= 0) // oob safety
|
||||
|
@ -8403,6 +8442,9 @@ void A_PlayAlertSound(int spriteNum)
|
|||
return;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (FURY)
|
||||
return;
|
||||
|
||||
switch (DYNAMICTILEMAP(PN(spriteNum)))
|
||||
{
|
||||
case LIZTROOPONTOILET__STATIC:
|
||||
|
@ -8442,6 +8484,9 @@ int A_CheckSwitchTile(int spriteNum)
|
|||
UNREFERENCED_PARAMETER(spriteNum);
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (FURY)
|
||||
return 0;
|
||||
|
||||
// picnum 0 would oob in the switch below,
|
||||
|
||||
if (PN(spriteNum) <= 0)
|
||||
|
|
|
@ -4423,7 +4423,7 @@ static void P_DoWater(int const playerNum, int const playerBits, int const floor
|
|||
pPlayer->jumping_counter = 0;
|
||||
pPlayer->pyoff = sintable[pPlayer->pycount] >> 7;
|
||||
|
||||
if (!A_CheckSoundPlaying(pPlayer->i, DUKE_UNDERWATER))
|
||||
if (!FURY && !A_CheckSoundPlaying(pPlayer->i, DUKE_UNDERWATER))
|
||||
A_PlaySound(DUKE_UNDERWATER, pPlayer->i);
|
||||
|
||||
if (TEST_SYNC_KEY(playerBits, SK_JUMP))
|
||||
|
@ -4466,7 +4466,7 @@ static void P_DoWater(int const playerNum, int const playerBits, int const floor
|
|||
pPlayer->vel.z = 0;
|
||||
}
|
||||
|
||||
if (pPlayer->scuba_on && (krand()&255) < 8)
|
||||
if (!FURY && pPlayer->scuba_on && (krand()&255) < 8)
|
||||
{
|
||||
int const spriteNum = A_Spawn(pPlayer->i, WATERBUBBLE);
|
||||
int const q16ang = fix16_to_int(pPlayer->q16ang);
|
||||
|
@ -4640,7 +4640,8 @@ void P_ProcessInput(int playerNum)
|
|||
{
|
||||
OSD_Printf(OSD_ERROR "%s: player killed by cursectnum == -1!\n", EDUKE32_FUNCTION);
|
||||
P_QuickKill(pPlayer);
|
||||
A_PlaySound(SQUISHED, pPlayer->i);
|
||||
if (!FURY)
|
||||
A_PlaySound(SQUISHED, pPlayer->i);
|
||||
}
|
||||
|
||||
pPlayer->cursectnum = 0;
|
||||
|
|
Loading…
Reference in a new issue