Replace all/most literal SE lotags 1/2 with SE_1_ABOVE_WATER or SE_2_UNDERWATER.

Also catch some other literal SEs and statnums.

git-svn-id: https://svn.eduke32.com/eduke32@3073 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
helixhorned 2012-10-14 20:41:21 +00:00
parent e921346dac
commit a92d5486c4
6 changed files with 107 additions and 100 deletions

View file

@ -360,16 +360,16 @@ int32_t A_MoveSprite(int32_t spritenum, const vec3_t *change, uint32_t cliptype)
if (dasectnum < 0 || (dasectnum >= 0 && if (dasectnum < 0 || (dasectnum >= 0 &&
((actor[spritenum].actorstayput >= 0 && actor[spritenum].actorstayput != dasectnum) || ((actor[spritenum].actorstayput >= 0 && actor[spritenum].actorstayput != dasectnum) ||
((spr->picnum == BOSS2) && spr->pal == 0 && sector[dasectnum].lotag != 3) || ((spr->picnum == BOSS2) && spr->pal == 0 && sector[dasectnum].lotag != ST_3) ||
((spr->picnum == BOSS1 || spr->picnum == BOSS2) && sector[dasectnum].lotag == 1) /*|| ((spr->picnum == BOSS1 || spr->picnum == BOSS2) && sector[dasectnum].lotag == ST_1_ABOVE_WATER) /*||
(sector[dasectnum].lotag == 1 && (spr->picnum == LIZMAN || (spr->picnum == LIZTROOP && spr->zvel == 0)))*/ (sector[dasectnum].lotag == ST_1_ABOVE_WATER && (spr->picnum == LIZMAN || (spr->picnum == LIZTROOP && spr->zvel == 0)))*/
)) ))
) )
{ {
spr->x = oldx; spr->x = oldx;
spr->y = oldy; spr->y = oldy;
/* /*
if (dasectnum >= 0 && sector[dasectnum].lotag == 1 && spr->picnum == LIZMAN) if (dasectnum >= 0 && sector[dasectnum].lotag == ST_1_ABOVE_WATER && spr->picnum == LIZMAN)
spr->ang = (krand()&2047); spr->ang = (krand()&2047);
else if ((Actor[spritenum].t_data[0]&3) == 1 && spr->picnum != COMMANDER) else if ((Actor[spritenum].t_data[0]&3) == 1 && spr->picnum != COMMANDER)
spr->ang = (krand()&2047); spr->ang = (krand()&2047);
@ -438,7 +438,7 @@ int32_t A_MoveSprite(int32_t spritenum, const vec3_t *change, uint32_t cliptype)
{ {
switch (sector[dasectnum].lotag) switch (sector[dasectnum].lotag)
{ {
case 1: case ST_1_ABOVE_WATER:
if (daz >= actor[spritenum].floorz) if (daz >= actor[spritenum].floorz)
{ {
if (totalclock > actor[spritenum].lasttransport) if (totalclock > actor[spritenum].lasttransport)
@ -455,7 +455,7 @@ int32_t A_MoveSprite(int32_t spritenum, const vec3_t *change, uint32_t cliptype)
return 0; return 0;
} }
case 2: case ST_2_UNDERWATER:
if (daz <= actor[spritenum].ceilingz) if (daz <= actor[spritenum].ceilingz)
{ {
if (totalclock > actor[spritenum].lasttransport) if (totalclock > actor[spritenum].lasttransport)
@ -1024,14 +1024,14 @@ void A_MoveDummyPlayers(void)
psectnum = ps->cursectnum; psectnum = ps->cursectnum;
if (ps->on_crane >= 0 || (psectnum >= 0 && sector[psectnum].lotag != 1) || sprite[ps->i].extra <= 0) if (ps->on_crane >= 0 || (psectnum >= 0 && sector[psectnum].lotag != ST_1_ABOVE_WATER) || sprite[ps->i].extra <= 0)
{ {
ps->dummyplayersprite = -1; ps->dummyplayersprite = -1;
KILLIT(i); KILLIT(i);
} }
else else
{ {
if (ps->on_ground && ps->on_warping_sector == 1 && psectnum >= 0 && sector[psectnum].lotag == 1) if (ps->on_ground && ps->on_warping_sector == 1 && psectnum >= 0 && sector[psectnum].lotag == ST_1_ABOVE_WATER)
{ {
CS = 257; CS = 257;
SZ = sector[SECT].ceilingz+(27<<8); SZ = sector[SECT].ceilingz+(27<<8);
@ -1042,7 +1042,7 @@ void A_MoveDummyPlayers(void)
} }
else else
{ {
if (sector[SECT].lotag != 2) SZ = sector[SECT].floorz; if (sector[SECT].lotag != ST_2_UNDERWATER) SZ = sector[SECT].floorz;
CS = (int16_t) 32768; CS = (int16_t) 32768;
} }
} }
@ -1072,7 +1072,7 @@ ACTOR_STATIC void G_MovePlayers(void)
{ {
const int32_t nexti = nextspritestat[i]; const int32_t nexti = nextspritestat[i];
spritetype *s = &sprite[i]; spritetype *const s = &sprite[i];
DukePlayer_t *const p = g_player[s->yvel].ps; DukePlayer_t *const p = g_player[s->yvel].ps;
if (s->owner >= 0) if (s->owner >= 0)
@ -1193,9 +1193,9 @@ ACTOR_STATIC void G_MovePlayers(void)
else else
{ {
s->yrepeat = 36; s->yrepeat = 36;
if (sector[s->sectnum].lotag != 2) if (sector[s->sectnum].lotag != ST_2_UNDERWATER)
A_Fall(i); A_Fall(i);
if (s->zvel == 0 && sector[s->sectnum].lotag == 1) if (s->zvel == 0 && sector[s->sectnum].lotag == ST_1_ABOVE_WATER)
s->z += (32<<8); s->z += (32<<8);
} }
@ -2597,7 +2597,7 @@ ACTOR_STATIC void G_MoveWeapons(void)
k = s->xvel; k = s->xvel;
ll = s->zvel; ll = s->zvel;
if (sector[s->sectnum].lotag == 2) if (sector[s->sectnum].lotag == ST_2_UNDERWATER)
{ {
k >>= 1; k >>= 1;
ll >>= 1; ll >>= 1;
@ -2645,16 +2645,16 @@ ACTOR_STATIC void G_MoveWeapons(void)
j = 16384|(s->sectnum); j = 16384|(s->sectnum);
s->zvel = -1; s->zvel = -1;
} }
else if ((s->z > actor[i].floorz && sector[s->sectnum].lotag != 1) || else if ((s->z > actor[i].floorz && sector[s->sectnum].lotag != ST_1_ABOVE_WATER) ||
(s->z > actor[i].floorz+(16<<8) && sector[s->sectnum].lotag == 1)) (s->z > actor[i].floorz+(16<<8) && sector[s->sectnum].lotag == ST_1_ABOVE_WATER))
{ {
j = 16384|(s->sectnum); j = 16384|(s->sectnum);
if (sector[s->sectnum].lotag != 1) if (sector[s->sectnum].lotag != ST_1_ABOVE_WATER)
s->zvel = 1; s->zvel = 1;
} }
} }
if (proj->workslike & PROJECTILE_WATERBUBBLES && sector[s->sectnum].lotag == 2 && rnd(140)) if (proj->workslike & PROJECTILE_WATERBUBBLES && sector[s->sectnum].lotag == ST_2_UNDERWATER && rnd(140))
A_Spawn(i,WATERBUBBLE); A_Spawn(i,WATERBUBBLE);
if (j != 0) if (j != 0)
@ -2878,7 +2878,7 @@ ACTOR_STATIC void G_MoveWeapons(void)
k = s->xvel; k = s->xvel;
ll = s->zvel; ll = s->zvel;
if (s->picnum == RPG && sector[s->sectnum].lotag == 2) if (s->picnum == RPG && sector[s->sectnum].lotag == ST_2_UNDERWATER)
{ {
k >>= 1; k >>= 1;
ll >>= 1; ll >>= 1;
@ -2892,7 +2892,7 @@ ACTOR_STATIC void G_MoveWeapons(void)
{ {
case RPG__STATIC: case RPG__STATIC:
if (DYNAMICTILEMAP(s->picnum) == RPG__STATIC && actor[i].picnum != BOSS2 && if (DYNAMICTILEMAP(s->picnum) == RPG__STATIC && actor[i].picnum != BOSS2 &&
s->xrepeat >= 10 && sector[s->sectnum].lotag != 2) s->xrepeat >= 10 && sector[s->sectnum].lotag != ST_2_UNDERWATER)
{ {
j = A_Spawn(i,SMALLSMOKE); j = A_Spawn(i,SMALLSMOKE);
sprite[j].z += (1<<8); sprite[j].z += (1<<8);
@ -2927,11 +2927,11 @@ ACTOR_STATIC void G_MoveWeapons(void)
j = 16384|(s->sectnum); j = 16384|(s->sectnum);
s->zvel = -1; s->zvel = -1;
} }
else if ((s->z > actor[i].floorz && sector[s->sectnum].lotag != 1) || else if ((s->z > actor[i].floorz && sector[s->sectnum].lotag != ST_1_ABOVE_WATER) ||
(s->z > actor[i].floorz+(16<<8) && sector[s->sectnum].lotag == 1)) (s->z > actor[i].floorz+(16<<8) && sector[s->sectnum].lotag == ST_1_ABOVE_WATER))
{ {
j = 16384|(s->sectnum); j = 16384|(s->sectnum);
if (sector[s->sectnum].lotag != 1) if (sector[s->sectnum].lotag != ST_1_ABOVE_WATER)
s->zvel = 1; s->zvel = 1;
} }
} }
@ -3120,7 +3120,7 @@ COOLEXPLOSION:
if (s->shade >= 40) if (s->shade >= 40)
KILLIT(i); KILLIT(i);
} }
else if (s->picnum == RPG && sector[s->sectnum].lotag == 2 && s->xrepeat >= 10 && rnd(140)) else if (s->picnum == RPG && sector[s->sectnum].lotag == ST_2_UNDERWATER && s->xrepeat >= 10 && rnd(140))
A_Spawn(i,WATERBUBBLE); A_Spawn(i,WATERBUBBLE);
goto BOLT; goto BOLT;
@ -3309,7 +3309,7 @@ ACTOR_STATIC void G_MoveTransports(void)
break; break;
} }
} }
else if (!(sectlotag == 1 && ps->on_ground == 1)) break; else if (!(sectlotag == ST_1_ABOVE_WATER && ps->on_ground == 1)) break;
if (onfloorz == 0 && klabs(SZ-ps->pos.z) < 6144) if (onfloorz == 0 && klabs(SZ-ps->pos.z) < 6144)
if ((ps->jetpack_on == 0) || (ps->jetpack_on && TEST_SYNC_KEY(g_player[p].sync->bits, SK_JUMP)) || if ((ps->jetpack_on == 0) || (ps->jetpack_on && TEST_SYNC_KEY(g_player[p].sync->bits, SK_JUMP)) ||
@ -3404,16 +3404,16 @@ ACTOR_STATIC void G_MoveTransports(void)
case TOILETWATER__STATIC: case TOILETWATER__STATIC:
case LASERLINE__STATIC: case LASERLINE__STATIC:
goto JBOLT; goto JBOLT;
case PLAYERONWATER__STATIC: case PLAYERONWATER__STATIC:
if (sectlotag == 2) if (sectlotag == ST_2_UNDERWATER)
{ {
sprite[j].cstat &= 32768; sprite[j].cstat &= 32768;
break; break;
} }
default: default:
if (sprite[j].statnum == STAT_MISC && !(sectlotag == 1 || sectlotag == 2)) if (sprite[j].statnum == STAT_MISC && !(sectlotag == ST_1_ABOVE_WATER || sectlotag == ST_2_UNDERWATER))
break; break;
case WATERBUBBLE__STATIC: case WATERBUBBLE__STATIC:
// if( rnd(192) && sprite[j].picnum == WATERBUBBLE) // if( rnd(192) && sprite[j].picnum == WATERBUBBLE)
// break; // break;
@ -3421,7 +3421,7 @@ ACTOR_STATIC void G_MoveTransports(void)
if (sectlotag > 0) if (sectlotag > 0)
{ {
k = A_Spawn(j,WATERSPLASH2); k = A_Spawn(j,WATERSPLASH2);
if (sectlotag == 1 && sprite[j].statnum == STAT_PROJECTILE) if (sectlotag == ST_1_ABOVE_WATER && sprite[j].statnum == STAT_PROJECTILE)
{ {
sprite[k].xvel = sprite[j].xvel>>1; sprite[k].xvel = sprite[j].xvel>>1;
sprite[k].ang = sprite[j].ang; sprite[k].ang = sprite[j].ang;
@ -4459,16 +4459,16 @@ ACTOR_STATIC void G_MoveActors(void)
{ {
A_Fall(i); A_Fall(i);
if ((sector[sect].lotag != 1 || actor[i].floorz != sector[sect].floorz) && s->z >= actor[i].floorz-(ZOFFSET) && s->yvel < 3) if ((sector[sect].lotag != ST_1_ABOVE_WATER || actor[i].floorz != sector[sect].floorz) && s->z >= actor[i].floorz-(ZOFFSET) && s->yvel < 3)
{ {
if (s->yvel > 0 || (s->yvel == 0 && actor[i].floorz == sector[sect].floorz)) if (s->yvel > 0 || (s->yvel == 0 && actor[i].floorz == sector[sect].floorz))
A_PlaySound(PIPEBOMB_BOUNCE,i); A_PlaySound(PIPEBOMB_BOUNCE,i);
s->zvel = -((4-s->yvel)<<8); s->zvel = -((4-s->yvel)<<8);
if (sector[s->sectnum].lotag== 2) if (sector[s->sectnum].lotag == ST_2_UNDERWATER)
s->zvel >>= 2; s->zvel >>= 2;
s->yvel++; s->yvel++;
} }
if (s->z < actor[i].ceilingz) // && sector[sect].lotag != 2 ) if (s->z < actor[i].ceilingz) // && sector[sect].lotag != ST_2_UNDERWATER )
{ {
s->z = actor[i].ceilingz+(3<<8); s->z = actor[i].ceilingz+(3<<8);
s->zvel = 0; s->zvel = 0;
@ -4486,7 +4486,7 @@ ACTOR_STATIC void G_MoveActors(void)
actor[i].movflag = j; actor[i].movflag = j;
if (sector[SECT].lotag == 1 && s->zvel == 0 && actor[i].floorz == sector[sect].floorz) if (sector[SECT].lotag == ST_1_ABOVE_WATER && s->zvel == 0 && actor[i].floorz == sector[sect].floorz)
{ {
s->z += (32<<8); s->z += (32<<8);
if (t[5] == 0) if (t[5] == 0)
@ -4513,7 +4513,7 @@ ACTOR_STATIC void G_MoveActors(void)
if (s->xvel > 0) if (s->xvel > 0)
{ {
s->xvel -= 5; s->xvel -= 5;
if (sector[sect].lotag == 2) if (sector[sect].lotag == ST_2_UNDERWATER)
s->xvel -= 10; s->xvel -= 10;
if (s->xvel < 0) if (s->xvel < 0)
@ -5004,7 +5004,7 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
t[0]++; t[0]++;
if (t[0] == 1) if (t[0] == 1)
{ {
if (sector[sect].lotag != 1 && sector[sect].lotag != 2) if (sector[sect].lotag != ST_1_ABOVE_WATER && sector[sect].lotag != ST_2_UNDERWATER)
KILLIT(i); KILLIT(i);
/* /*
else else
@ -5074,7 +5074,7 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
T1 += (krand()&63); T1 += (krand()&63);
if ((T1&2047) > 512 && (T1&2047) < 1596) if ((T1&2047) > 512 && (T1&2047) < 1596)
{ {
if (sector[sect].lotag == 2) if (sector[sect].lotag == ST_2_UNDERWATER)
{ {
if (s->zvel < 64) if (s->zvel < 64)
s->zvel += (g_spriteGravity>>5)+(krand()&7); s->zvel += (g_spriteGravity>>5)+(krand()&7);
@ -5148,7 +5148,7 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
if (s->z < l-(2<<8)) if (s->z < l-(2<<8))
{ {
if (t[1] < 2) t[1]++; if (t[1] < 2) t[1]++;
else if (sector[sect].lotag != 2) else if (sector[sect].lotag != ST_2_UNDERWATER)
{ {
t[1] = 0; t[1] = 0;
if (s->picnum == DUKELEG || s->picnum == DUKETORSO || s->picnum == DUKEGUN) if (s->picnum == DUKELEG || s->picnum == DUKETORSO || s->picnum == DUKEGUN)
@ -5166,7 +5166,7 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
if (s->zvel < 6144) if (s->zvel < 6144)
{ {
if (sector[sect].lotag == 2) if (sector[sect].lotag == ST_2_UNDERWATER)
{ {
if (s->zvel < 1024) if (s->zvel < 1024)
s->zvel += 48; s->zvel += 48;
@ -5326,7 +5326,7 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
if (sect < 0 || (sector[sect].floorz + 256) < s->z) if (sect < 0 || (sector[sect].floorz + 256) < s->z)
KILLIT(i); KILLIT(i);
if (sector[sect].lotag == 2) if (sector[sect].lotag == ST_2_UNDERWATER)
{ {
t[1]++; t[1]++;
if (t[1] > 8) if (t[1] > 8)
@ -5371,7 +5371,7 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
if (s->z == actor[i].floorz-(ZOFFSET) && t[0] < 3) if (s->z == actor[i].floorz-(ZOFFSET) && t[0] < 3)
{ {
s->zvel = -((3-t[0])<<8)-(krand()&511); s->zvel = -((3-t[0])<<8)-(krand()&511);
if (sector[sect].lotag == 2) if (sector[sect].lotag == ST_2_UNDERWATER)
s->zvel >>= 1; s->zvel >>= 1;
s->xrepeat >>= 1; s->xrepeat >>= 1;
s->yrepeat >>= 1; s->yrepeat >>= 1;
@ -5887,7 +5887,7 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3
break; break;
} }
if (sector[ps->cursectnum].lotag != 2) if (sector[ps->cursectnum].lotag != ST_2_UNDERWATER)
{ {
if (g_playerSpawnPoints[p].os == s->sectnum) if (g_playerSpawnPoints[p].os == s->sectnum)
{ {
@ -5929,7 +5929,7 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3
j = headspritesect[s->sectnum]; j = headspritesect[s->sectnum];
while (j >= 0) while (j >= 0)
{ {
if (sprite[j].statnum != STAT_PLAYER && sector[sprite[j].sectnum].lotag != 2 && if (sprite[j].statnum != STAT_PLAYER && sector[sprite[j].sectnum].lotag != ST_2_UNDERWATER &&
(sprite[j].picnum != SECTOREFFECTOR || (sprite[j].lotag == SE_49_POINT_LIGHT||sprite[j].lotag == SE_50_SPOT_LIGHT)) (sprite[j].picnum != SECTOREFFECTOR || (sprite[j].lotag == SE_49_POINT_LIGHT||sprite[j].lotag == SE_50_SPOT_LIGHT))
&& sprite[j].picnum != LOCATORS) && sprite[j].picnum != LOCATORS)
{ {
@ -5984,7 +5984,7 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3
for (j=headspritesect[s->sectnum]; j >= 0; j=nextspritesect[j]) for (j=headspritesect[s->sectnum]; j >= 0; j=nextspritesect[j])
{ {
// keep this conditional in sync with above! // keep this conditional in sync with above!
if (sprite[j].statnum != STAT_PLAYER && sector[sprite[j].sectnum].lotag != 2 && if (sprite[j].statnum != STAT_PLAYER && sector[sprite[j].sectnum].lotag != ST_2_UNDERWATER &&
(sprite[j].picnum != SECTOREFFECTOR || (sprite[j].lotag == SE_49_POINT_LIGHT||sprite[j].lotag == SE_50_SPOT_LIGHT)) (sprite[j].picnum != SECTOREFFECTOR || (sprite[j].lotag == SE_49_POINT_LIGHT||sprite[j].lotag == SE_50_SPOT_LIGHT))
&& sprite[j].picnum != LOCATORS) && sprite[j].picnum != LOCATORS)
{ {

View file

@ -4230,12 +4230,12 @@ int32_t A_Spawn(int32_t j, int32_t pn)
sp->cstat |= 128; sp->cstat |= 128;
if (j >= 0) if (j >= 0)
{ {
if (sector[sprite[j].sectnum].lotag == 2) if (sector[sprite[j].sectnum].lotag == ST_2_UNDERWATER)
{ {
sp->z = getceilzofslope(SECT,SX,SY)+(16<<8); sp->z = getceilzofslope(SECT,SX,SY)+(16<<8);
sp->cstat |= 8; sp->cstat |= 8;
} }
else if (sector[sprite[j].sectnum].lotag == 1) else if (sector[sprite[j].sectnum].lotag == ST_1_ABOVE_WATER)
sp->z = getflorzofslope(SECT,SX,SY); sp->z = getflorzofslope(SECT,SX,SY);
} }
@ -4417,7 +4417,7 @@ int32_t A_Spawn(int32_t j, int32_t pn)
} }
if (sector[SECT].lotag == 1) if (sector[SECT].lotag == ST_1_ABOVE_WATER)
{ {
changespritestat(i, STAT_MISC); changespritestat(i, STAT_MISC);
break; break;
@ -4638,7 +4638,7 @@ int32_t A_Spawn(int32_t j, int32_t pn)
} }
sp->z = sector[sect].floorz; sp->z = sector[sect].floorz;
if (sector[sect].lotag != 1 && sector[sect].lotag != 2) if (sector[sect].lotag != ST_1_ABOVE_WATER && sector[sect].lotag != ST_2_UNDERWATER)
sp->xrepeat = sp->yrepeat = 32; sp->xrepeat = sp->yrepeat = 32;
A_AddToDeleteQueue(i); A_AddToDeleteQueue(i);
@ -4852,7 +4852,7 @@ int32_t A_Spawn(int32_t j, int32_t pn)
sp->xrepeat = sprite[j].xrepeat; sp->xrepeat = sprite[j].xrepeat;
sp->yrepeat = sprite[j].yrepeat; sp->yrepeat = sprite[j].yrepeat;
sp->zvel = 128; sp->zvel = 128;
if (sector[sp->sectnum].lotag != 2) if (sector[sp->sectnum].lotag != ST_2_UNDERWATER)
sp->cstat |= 32768; sp->cstat |= 32768;
} }
changespritestat(i, STAT_DUMMYPLAYER); changespritestat(i, STAT_DUMMYPLAYER);
@ -4962,7 +4962,7 @@ int32_t A_Spawn(int32_t j, int32_t pn)
break; break;
case TOUCHPLATE__STATIC: case TOUCHPLATE__STATIC:
T3 = sector[sect].floorz; T3 = sector[sect].floorz;
if (sector[sect].lotag != 1 && sector[sect].lotag != 2) if (sector[sect].lotag != ST_1_ABOVE_WATER && sector[sect].lotag != ST_2_UNDERWATER)
sector[sect].floorz = sp->z; sector[sect].floorz = sp->z;
if (sp->pal && (g_netServer || ud.multimode > 1)) if (sp->pal && (g_netServer || ud.multimode > 1))
{ {
@ -5374,8 +5374,8 @@ int32_t A_Spawn(int32_t j, int32_t pn)
case 46: case 46:
ror_protectedsectors[sp->sectnum] = 1; ror_protectedsectors[sp->sectnum] = 1;
/* XXX: fall-through intended? */ /* XXX: fall-through intended? */
case 49: case SE_49_POINT_LIGHT:
case 50: case SE_50_SPOT_LIGHT:
{ {
int32_t j, nextj; int32_t j, nextj;
@ -5872,7 +5872,7 @@ int32_t A_Spawn(int32_t j, int32_t pn)
sp->shade = 0; sp->shade = 0;
} }
else if (sp->lotag == 2) else if (sp->lotag == SE_2_EARTHQUAKE)
{ {
T6 = sector[sp->sectnum].floorheinum; T6 = sector[sp->sectnum].floorheinum;
sector[sp->sectnum].floorheinum = 0; sector[sp->sectnum].floorheinum = 0;
@ -6571,7 +6571,7 @@ void G_DoSpriteAnimations(int32_t ourx, int32_t oury, int32_t oura, int32_t smoo
#endif #endif
k = getofs_viewtype5(s, t, oura); k = getofs_viewtype5(s, t, oura);
if (sector[s->sectnum].lotag == 2) k += 1795-1405; if (sector[s->sectnum].lotag == ST_2_UNDERWATER) k += 1795-1405;
else if ((actor[i].floorz-s->z) > (64<<8)) k += 60; else if ((actor[i].floorz-s->z) > (64<<8)) k += 60;
t->picnum += k; t->picnum += k;
@ -6580,7 +6580,7 @@ void G_DoSpriteAnimations(int32_t ourx, int32_t oury, int32_t oura, int32_t smoo
goto PALONLY; goto PALONLY;
} }
if (g_player[p].ps->on_crane == -1 && (sector[s->sectnum].lotag&0x7ff) != 1) if (g_player[p].ps->on_crane == -1 && (sector[s->sectnum].lotag&0x7ff) != 1) // ST_1_ABOVE_WATER ?
{ {
l = s->z-actor[g_player[p].ps->i].floorz+(3<<8); l = s->z-actor[g_player[p].ps->i].floorz+(3<<8);
if (l > 1024 && s->yrepeat > 32 && s->extra > 0) if (l > 1024 && s->yrepeat > 32 && s->extra > 0)
@ -6624,7 +6624,7 @@ void G_DoSpriteAnimations(int32_t ourx, int32_t oury, int32_t oura, int32_t smoo
#endif #endif
k = getofs_viewtype5(s, t, oura); k = getofs_viewtype5(s, t, oura);
if (sector[t->sectnum].lotag == 2) k += 1795-1405; if (sector[t->sectnum].lotag == ST_2_UNDERWATER) k += 1795-1405;
else if ((actor[i].floorz-s->z) > (64<<8)) k += 60; else if ((actor[i].floorz-s->z) > (64<<8)) k += 60;
t->picnum += k; t->picnum += k;
@ -6852,7 +6852,7 @@ skip:
switch (DYNAMICTILEMAP(s->picnum)) switch (DYNAMICTILEMAP(s->picnum))
{ {
case LASERLINE__STATIC: case LASERLINE__STATIC:
if (sector[t->sectnum].lotag == 2) t->pal = 8; if (sector[t->sectnum].lotag == ST_2_UNDERWATER) t->pal = 8;
t->z = sprite[s->owner].z-(3<<8); t->z = sprite[s->owner].z-(3<<8);
if (g_tripbombLaserMode == 2 && g_player[screenpeek].ps->heat_on == 0) if (g_tripbombLaserMode == 2 && g_player[screenpeek].ps->heat_on == 0)
t->yrepeat = 0; t->yrepeat = 0;

View file

@ -366,7 +366,7 @@ void A_Fall(int32_t iActor)
c = 0; c = 0;
else else
{ {
if (G_CheckForSpaceCeiling(s->sectnum) || sector[s->sectnum].lotag == 2) if (G_CheckForSpaceCeiling(s->sectnum) || sector[s->sectnum].lotag == ST_2_UNDERWATER)
c = g_spriteGravity/6; c = g_spriteGravity/6;
} }
@ -397,7 +397,7 @@ void A_Fall(int32_t iActor)
#endif #endif
) )
{ {
if (sector[s->sectnum].lotag == 2 && s->zvel > 3122) if (sector[s->sectnum].lotag == ST_2_UNDERWATER && s->zvel > 3122)
s->zvel = 3144; s->zvel = 3144;
s->z += s->zvel = min(6144, s->zvel+c); s->z += s->zvel = min(6144, s->zvel+c);
} }
@ -1280,7 +1280,7 @@ skip_check:
{ {
int32_t j = g_spriteGravity; int32_t j = g_spriteGravity;
if (G_CheckForSpaceCeiling(vm.g_sp->sectnum) || sector[vm.g_sp->sectnum].lotag == 2) if (G_CheckForSpaceCeiling(vm.g_sp->sectnum) || sector[vm.g_sp->sectnum].lotag == ST_2_UNDERWATER)
j = g_spriteGravity/6; j = g_spriteGravity/6;
else if (G_CheckForSpaceFloor(vm.g_sp->sectnum)) else if (G_CheckForSpaceFloor(vm.g_sp->sectnum))
j = 0; j = 0;
@ -1322,7 +1322,7 @@ skip_check:
actor[vm.g_i].extra = 1; actor[vm.g_i].extra = 1;
vm.g_sp->zvel = 0; vm.g_sp->zvel = 0;
} }
else if (vm.g_sp->zvel > 2048 && sector[vm.g_sp->sectnum].lotag != 1) else if (vm.g_sp->zvel > 2048 && sector[vm.g_sp->sectnum].lotag != ST_1_ABOVE_WATER)
{ {
j = vm.g_sp->sectnum; j = vm.g_sp->sectnum;
pushmove((vec3_t *)vm.g_sp,(int16_t *)&j,128L,(4L<<8),(4L<<8),CLIPMASK0); pushmove((vec3_t *)vm.g_sp,(int16_t *)&j,128L,(4L<<8),(4L<<8),CLIPMASK0);
@ -1340,7 +1340,7 @@ skip_check:
vm.g_sp->z = (actor[vm.g_i].floorz - ZOFFSET); vm.g_sp->z = (actor[vm.g_i].floorz - ZOFFSET);
continue; continue;
} }
else if (sector[vm.g_sp->sectnum].lotag == 1) else if (sector[vm.g_sp->sectnum].lotag == ST_1_ABOVE_WATER)
{ {
switch (DYNAMICTILEMAP(vm.g_sp->picnum)) switch (DYNAMICTILEMAP(vm.g_sp->picnum))
{ {
@ -3119,11 +3119,11 @@ nullquote:
continue; continue;
case CON_IFONWATER: case CON_IFONWATER:
VM_CONDITIONAL(sector[vm.g_sp->sectnum].lotag == 1 && klabs(vm.g_sp->z-sector[vm.g_sp->sectnum].floorz) < (32<<8)); VM_CONDITIONAL(sector[vm.g_sp->sectnum].lotag == ST_1_ABOVE_WATER && klabs(vm.g_sp->z-sector[vm.g_sp->sectnum].floorz) < (32<<8));
continue; continue;
case CON_IFINWATER: case CON_IFINWATER:
VM_CONDITIONAL(sector[vm.g_sp->sectnum].lotag == 2); VM_CONDITIONAL(sector[vm.g_sp->sectnum].lotag == ST_2_UNDERWATER);
continue; continue;
case CON_IFCOUNT: case CON_IFCOUNT:
@ -5219,7 +5219,7 @@ void A_Execute(int32_t iActor,int32_t iPlayer,int32_t lDist)
return; return;
} }
if (vm.g_sp->statnum != 1) if (vm.g_sp->statnum != STAT_ACTOR)
return; return;
if (A_CheckEnemySprite(vm.g_sp)) if (A_CheckEnemySprite(vm.g_sp))

View file

@ -65,7 +65,7 @@ void P_UpdateScreenPal(DukePlayer_t *p)
} }
else else
{ {
if (sector[p->cursectnum].lotag == 2) p->palette = WATERPAL; if (sector[p->cursectnum].lotag == ST_2_UNDERWATER) p->palette = WATERPAL;
else p->palette = BASEPAL; else p->palette = BASEPAL;
intowater = 1; intowater = 1;
} }
@ -141,7 +141,7 @@ static void A_DoWaterTracers(int32_t x1,int32_t y1,int32_t z1,int32_t x2,int32_t
if (sect < 0) if (sect < 0)
break; break;
if (sector[sect].lotag == 2) if (sector[sect].lotag == ST_2_UNDERWATER)
A_InsertSprite(sect,x1,y1,z1,WATERBUBBLE,-32,4+(krand()&3),4+(krand()&3),krand()&2047,0,0,g_player[0].ps->i,5); A_InsertSprite(sect,x1,y1,z1,WATERBUBBLE,-32,4+(krand()&3),4+(krand()&3),krand()&2047,0,0,g_player[0].ps->i,5);
else else
A_InsertSprite(sect,x1,y1,z1,SMALLSMOKE,-32,14,14,0,0,0,g_player[0].ps->i,5); A_InsertSprite(sect,x1,y1,z1,SMALLSMOKE,-32,14,14,0,0,0,g_player[0].ps->i,5);
@ -639,7 +639,7 @@ int32_t A_Shoot(int32_t i, int32_t atwith)
} }
} }
} }
else if (p >= 0 && zvel > 0 && sector[hit.sect].lotag == 1) else if (p >= 0 && zvel > 0 && sector[hit.sect].lotag == ST_1_ABOVE_WATER)
{ {
j = A_Spawn(g_player[p].ps->i,WATERSPLASH2); j = A_Spawn(g_player[p].ps->i,WATERSPLASH2);
sprite[j].x = hit.pos.x; sprite[j].x = hit.pos.x;
@ -766,7 +766,7 @@ int32_t A_Shoot(int32_t i, int32_t atwith)
if (ProjectileData[atwith].workslike & PROJECTILE_WATERBUBBLES) if (ProjectileData[atwith].workslike & PROJECTILE_WATERBUBBLES)
{ {
if ((krand()&15) == 0 && sector[hit.sect].lotag == 2) if ((krand()&15) == 0 && sector[hit.sect].lotag == ST_2_UNDERWATER)
A_DoWaterTracers(hit.pos.x,hit.pos.y,hit.pos.z,srcvect.x,srcvect.y,srcvect.z,8-(ud.multimode>>1)); A_DoWaterTracers(hit.pos.x,hit.pos.y,hit.pos.z,srcvect.x,srcvect.y,srcvect.z,8-(ud.multimode>>1));
} }
@ -1170,7 +1170,7 @@ DOSKIPBULLETHOLE:
} }
} }
} }
else if (p >= 0 && zvel > 0 && sector[hit.sect].lotag == 1) else if (p >= 0 && zvel > 0 && sector[hit.sect].lotag == ST_1_ABOVE_WATER)
{ {
j = A_Spawn(g_player[p].ps->i,WATERSPLASH2); j = A_Spawn(g_player[p].ps->i,WATERSPLASH2);
sprite[j].x = hit.pos.x; sprite[j].x = hit.pos.x;
@ -1272,7 +1272,7 @@ DOSKIPBULLETHOLE:
if (hit.sect < 0) return -1; if (hit.sect < 0) return -1;
if ((krand()&15) == 0 && sector[hit.sect].lotag == 2) if ((krand()&15) == 0 && sector[hit.sect].lotag == ST_2_UNDERWATER)
A_DoWaterTracers(hit.pos.x,hit.pos.y,hit.pos.z, A_DoWaterTracers(hit.pos.x,hit.pos.y,hit.pos.z,
srcvect.x,srcvect.y,srcvect.z,8-(ud.multimode>>1)); srcvect.x,srcvect.y,srcvect.z,8-(ud.multimode>>1));
@ -1656,6 +1656,7 @@ SKIPBULLETHOLE:
if (hit.wall >= 0 && hit.sect >= 0) if (hit.wall >= 0 && hit.sect >= 0)
if (((hit.pos.x-srcvect.x)*(hit.pos.x-srcvect.x)+(hit.pos.y-srcvect.y)*(hit.pos.y-srcvect.y)) < (290*290)) if (((hit.pos.x-srcvect.x)*(hit.pos.x-srcvect.x)+(hit.pos.y-srcvect.y)*(hit.pos.y-srcvect.y)) < (290*290))
{ {
// ST_2_UNDERWATER
if (wall[hit.wall].nextsector >= 0) if (wall[hit.wall].nextsector >= 0)
{ {
if (sector[wall[hit.wall].nextsector].lotag <= 2 && sector[hit.sect].lotag <= 2) if (sector[wall[hit.wall].nextsector].lotag <= 2 && sector[hit.sect].lotag <= 2)
@ -1803,7 +1804,7 @@ SKIPBULLETHOLE:
if (j < 0) if (j < 0)
zvel = (100-ps->horiz-ps->horizoff)*98; zvel = (100-ps->horiz-ps->horizoff)*98;
} }
else if (s->statnum != 3) else if (s->statnum != STAT_EFFECTOR)
{ {
j = A_FindPlayer(s,&x); j = A_FindPlayer(s,&x);
l = ldist(&sprite[g_player[j].ps->i],s); l = ldist(&sprite[g_player[j].ps->i],s);
@ -3260,7 +3261,7 @@ static int32_t P_DoCounters(DukePlayer_t *p)
} }
} }
if (p->cursectnum >= 0 && p->scuba_on == 0 && sector[p->cursectnum].lotag == 2) if (p->cursectnum >= 0 && p->scuba_on == 0 && sector[p->cursectnum].lotag == ST_2_UNDERWATER)
{ {
if (p->inv_amount[GET_SCUBA] > 0) if (p->inv_amount[GET_SCUBA] > 0)
{ {
@ -3930,6 +3931,7 @@ void P_ProcessWeapon(int32_t snum)
if (hit.sect < 0 || hit.sprite >= 0) if (hit.sect < 0 || hit.sprite >= 0)
break; break;
// ST_2_UNDERWATER
if (hit.wall >= 0 && sector[hit.sect].lotag > 2) if (hit.wall >= 0 && sector[hit.sect].lotag > 2)
break; break;
@ -3948,6 +3950,7 @@ void P_ProcessWeapon(int32_t snum)
j = nextspritesect[j]; j = nextspritesect[j];
} }
// ST_2_UNDERWATER
if (j == -1 && hit.wall >= 0 && (wall[hit.wall].cstat&16) == 0) if (j == -1 && hit.wall >= 0 && (wall[hit.wall].cstat&16) == 0)
if ((wall[hit.wall].nextsector >= 0 && if ((wall[hit.wall].nextsector >= 0 &&
sector[wall[hit.wall].nextsector].lotag <= 2) || sector[wall[hit.wall].nextsector].lotag <= 2) ||
@ -4411,7 +4414,7 @@ void P_ProcessInput(int32_t snum)
p->ohorizoff = p->horizoff; p->ohorizoff = p->horizoff;
// calculates automatic view angle for playing without a mouse // calculates automatic view angle for playing without a mouse
if (p->aim_mode == 0 && p->on_ground && psectlotag != 2 && (sector[p->cursectnum].floorstat&2)) if (p->aim_mode == 0 && p->on_ground && psectlotag != ST_2_UNDERWATER && (sector[p->cursectnum].floorstat&2))
{ {
x = p->pos.x+(sintable[(p->ang+512)&2047]>>5); x = p->pos.x+(sintable[(p->ang+512)&2047]>>5);
y = p->pos.y+(sintable[p->ang&2047]>>5); y = p->pos.y+(sintable[p->ang&2047]>>5);
@ -4525,7 +4528,7 @@ void P_ProcessInput(int32_t snum)
if ((numplayers < 2 || g_netServer) && p->dead_flag == 0) if ((numplayers < 2 || g_netServer) && p->dead_flag == 0)
P_FragPlayer(snum); P_FragPlayer(snum);
if (psectlotag == 2) if (psectlotag == ST_2_UNDERWATER)
{ {
if (p->on_warping_sector == 0) if (p->on_warping_sector == 0)
{ {
@ -4670,7 +4673,7 @@ void P_ProcessInput(int32_t snum)
i = 40; i = 40;
if (psectlotag == 2) if (psectlotag == ST_2_UNDERWATER)
{ {
// under water // under water
p->jumping_counter = 0; p->jumping_counter = 0;
@ -4787,10 +4790,10 @@ void P_ProcessInput(int32_t snum)
} }
} }
if (shrunk == 0 && (psectlotag == 0 || psectlotag == 2)) k = 32; if (shrunk == 0 && (psectlotag == 0 || psectlotag == ST_2_UNDERWATER)) k = 32;
else k = 16; else k = 16;
if (psectlotag != 2 && p->scuba_on == 1) if (psectlotag != ST_2_UNDERWATER && p->scuba_on == 1)
p->scuba_on = 0; p->scuba_on = 0;
if (p->pos.z > (fz-(k<<8))) if (p->pos.z > (fz-(k<<8)))
@ -4798,14 +4801,14 @@ void P_ProcessInput(int32_t snum)
if (p->pos.z < (actor[p->i].ceilingz+(18<<8))) if (p->pos.z < (actor[p->i].ceilingz+(18<<8)))
p->pos.z = actor[p->i].ceilingz+(18<<8); p->pos.z = actor[p->i].ceilingz+(18<<8);
} }
else if (psectlotag != 2) else if (psectlotag != ST_2_UNDERWATER)
{ {
p->airleft = 15 * GAMETICSPERSEC; // 13 seconds p->airleft = 15 * GAMETICSPERSEC; // 13 seconds
if (p->scuba_on == 1) if (p->scuba_on == 1)
p->scuba_on = 0; p->scuba_on = 0;
if (psectlotag == 1 && p->spritebridge == 0) if (psectlotag == ST_1_ABOVE_WATER && p->spritebridge == 0)
{ {
if (shrunk == 0) if (shrunk == 0)
{ {
@ -4895,7 +4898,7 @@ void P_ProcessInput(int32_t snum)
} }
if ((p->pos.z+p->vel.z) >= (fz-(i<<8)) && p->cursectnum >= 0) // hit the ground if ((p->pos.z+p->vel.z) >= (fz-(i<<8)) && p->cursectnum >= 0) // hit the ground
if (sector[p->cursectnum].lotag != 1) if (sector[p->cursectnum].lotag != ST_1_ABOVE_WATER)
{ {
if (p->falling_counter > 62) if (p->falling_counter > 62)
P_QuickKill(p); P_QuickKill(p);
@ -4932,7 +4935,7 @@ void P_ProcessInput(int32_t snum)
p->scream_voice = -1; p->scream_voice = -1;
} }
if (psectlotag != 1 && psectlotag != 2 && p->on_ground == 0 && p->vel.z > (6144>>1)) if (psectlotag != ST_1_ABOVE_WATER && psectlotag != ST_2_UNDERWATER && p->on_ground == 0 && p->vel.z > (6144>>1))
p->hard_landing = p->vel.z>>10; p->hard_landing = p->vel.z>>10;
p->on_ground = 1; p->on_ground = 1;
@ -4996,7 +4999,7 @@ void P_ProcessInput(int32_t snum)
if (p->jumping_counter < (1024+256)) if (p->jumping_counter < (1024+256))
{ {
if (psectlotag == 1 && p->jumping_counter > 768) if (psectlotag == ST_1_ABOVE_WATER && p->jumping_counter > 768)
{ {
p->jumping_counter = 0; p->jumping_counter = 0;
p->vel.z = -512; p->vel.z = -512;
@ -5017,7 +5020,7 @@ void P_ProcessInput(int32_t snum)
p->pos.z += p->vel.z; p->pos.z += p->vel.z;
if ((psectlotag != 2 || cz != sector[p->cursectnum].ceilingz) && p->pos.z < (cz+(4<<8))) if ((psectlotag != ST_2_UNDERWATER || cz != sector[p->cursectnum].ceilingz) && p->pos.z < (cz+(4<<8)))
{ {
p->jumping_counter = 0; p->jumping_counter = 0;
if (p->vel.z < 0) if (p->vel.z < 0)
@ -5039,7 +5042,7 @@ void P_ProcessInput(int32_t snum)
{ {
int32_t tempang = g_player[snum].sync->avel<<1; int32_t tempang = g_player[snum].sync->avel<<1;
if (psectlotag == 2) p->angvel =(tempang-(tempang>>3))*ksgn(doubvel); if (psectlotag == ST_2_UNDERWATER) p->angvel =(tempang-(tempang>>3))*ksgn(doubvel);
else p->angvel = tempang*ksgn(doubvel); else p->angvel = tempang*ksgn(doubvel);
p->ang += p->angvel; p->ang += p->angvel;
@ -5127,7 +5130,7 @@ void P_ProcessInput(int32_t snum)
} }
break; break;
case 1: case ST_1_ABOVE_WATER:
if (!p->spritebridge) if (!p->spritebridge)
{ {
if ((krand()&1) == 0) if ((krand()&1) == 0)
@ -5149,7 +5152,7 @@ void P_ProcessInput(int32_t snum)
j = 0; j = 0;
if (psectlotag == 2) if (psectlotag == ST_2_UNDERWATER)
j = 0x1400; j = 0x1400;
else if (p->on_ground && (TEST_SYNC_KEY(sb_snum, SK_CROUCH) || (*kb > 10 && aplWeaponWorksLike[p->curr_weapon][snum] == KNEE_WEAPON))) else if (p->on_ground && (TEST_SYNC_KEY(sb_snum, SK_CROUCH) || (*kb > 10 && aplWeaponWorksLike[p->curr_weapon][snum] == KNEE_WEAPON)))
j = 0x2000; j = 0x2000;
@ -5168,10 +5171,10 @@ void P_ProcessInput(int32_t snum)
} }
HORIZONLY: HORIZONLY:
if (psectlotag == 1 || p->spritebridge == 1) i = (4L<<8); if (psectlotag == ST_1_ABOVE_WATER || p->spritebridge == 1) i = (4L<<8);
else i = (20L<<8); else i = (20L<<8);
if (p->cursectnum >= 0 && sector[p->cursectnum].lotag == 2) k = 0; if (p->cursectnum >= 0 && sector[p->cursectnum].lotag == ST_2_UNDERWATER) k = 0;
else k = 1; else k = 1;
if (ud.noclip) if (ud.noclip)
@ -5193,7 +5196,7 @@ HORIZONLY:
// this updatesectorz conflicts with Duke3d's way of teleporting through water, // this updatesectorz conflicts with Duke3d's way of teleporting through water,
// so make it a bit conditional... OTOH, this way we have an ugly z jump when // so make it a bit conditional... OTOH, this way we have an ugly z jump when
// changing from above water to underwater // changing from above water to underwater
if (sect >= 0 && !(sector[sect].lotag==1 && p->on_ground && fb>=0)) if (sect >= 0 && !(sector[sect].lotag==ST_1_ABOVE_WATER && p->on_ground && fb>=0))
{ {
if ((fb>=0 && !(sector[sect].floorstat&512)) || (cb>=0 && !(sector[sect].ceilingstat&512))) if ((fb>=0 && !(sector[sect].floorstat&512)) || (cb>=0 && !(sector[sect].ceilingstat&512)))
{ {
@ -5208,14 +5211,14 @@ HORIZONLY:
// This makes the player view lower when shrunk. NOTE that it can get the // This makes the player view lower when shrunk. NOTE that it can get the
// view below the sector floor (and does, when on the ground). // view below the sector floor (and does, when on the ground).
if (p->jetpack_on == 0 && psectlotag != 2 && psectlotag != 1 && shrunk) if (p->jetpack_on == 0 && psectlotag != ST_2_UNDERWATER && psectlotag != ST_1_ABOVE_WATER && shrunk)
p->pos.z += 32<<8; p->pos.z += 32<<8;
if (p->jetpack_on == 0) if (p->jetpack_on == 0)
{ {
if (s->xvel > 16) if (s->xvel > 16)
{ {
if (psectlotag != 1 && psectlotag != 2 && p->on_ground) if (psectlotag != ST_1_ABOVE_WATER && psectlotag != ST_2_UNDERWATER && p->on_ground)
{ {
p->pycount += 52; p->pycount += 52;
p->pycount &= 2047; p->pycount &= 2047;
@ -5223,7 +5226,7 @@ HORIZONLY:
klabs(s->xvel*sintable[p->pycount])/1596; klabs(s->xvel*sintable[p->pycount])/1596;
} }
} }
else if (psectlotag != 2 && psectlotag != 1) else if (psectlotag != ST_2_UNDERWATER && psectlotag != ST_1_ABOVE_WATER)
p->pyoff = 0; p->pyoff = 0;
} }
@ -5233,6 +5236,7 @@ HORIZONLY:
setsprite(p->i,(vec3_t *)&p->pos.x); setsprite(p->i,(vec3_t *)&p->pos.x);
p->pos.z -= PHEIGHT; p->pos.z -= PHEIGHT;
// ST_2_UNDERWATER
if (p->cursectnum >= 0 && psectlotag < 3) if (p->cursectnum >= 0 && psectlotag < 3)
{ {
// p->cursectnum = s->sectnum; // p->cursectnum = s->sectnum;
@ -5247,7 +5251,8 @@ HORIZONLY:
} }
} }
if (p->cursectnum >= 0 && truefdist < PHEIGHT && p->on_ground && psectlotag != 1 && shrunk == 0 && sector[p->cursectnum].lotag == 1) if (p->cursectnum >= 0 && truefdist < PHEIGHT && p->on_ground &&
psectlotag != ST_1_ABOVE_WATER && shrunk == 0 && sector[p->cursectnum].lotag == ST_1_ABOVE_WATER)
if (!A_CheckSoundPlaying(p->i,DUKE_ONWATER)) if (!A_CheckSoundPlaying(p->i,DUKE_ONWATER))
A_PlaySound(DUKE_ONWATER,p->i); A_PlaySound(DUKE_ONWATER,p->i);

View file

@ -329,7 +329,7 @@ void G_DoSectorAnimations(void)
} }
for (j=headspritesect[dasect]; j>=0; j=nextspritesect[j]) for (j=headspritesect[dasect]; j>=0; j=nextspritesect[j])
if (sprite[j].statnum != 3) if (sprite[j].statnum != STAT_EFFECTOR)
{ {
actor[j].bposz = sprite[j].z; actor[j].bposz = sprite[j].z;
sprite[j].z += v; sprite[j].z += v;
@ -1084,6 +1084,7 @@ void G_OperateActivators(int32_t low,int32_t snum)
break; break;
} }
// ST_2_UNDERWATER
if (sector[sprite[i].sectnum].lotag < 3) if (sector[sprite[i].sectnum].lotag < 3)
{ {
j = headspritesect[sprite[i].sectnum]; j = headspritesect[sprite[i].sectnum];
@ -1892,7 +1893,7 @@ void A_DamageWall(int32_t spr,int32_t dawallnum,const vec3_t *pos,int32_t atwith
i= headspritestat[STAT_EFFECTOR]; i= headspritestat[STAT_EFFECTOR];
while (i >= 0) while (i >= 0)
{ {
if (SHT == wall[dawallnum].lotag && SLT == 3) if (SHT == wall[dawallnum].lotag && SLT == SE_3_RANDOM_LIGHTS_AFTER_SHOT_OUT)
{ {
T3 = j; T3 = j;
T4 = darkestwall; T4 = darkestwall;
@ -1963,7 +1964,7 @@ int32_t Sect_DamageCeiling(int32_t sn)
j = krand()&1; j = krand()&1;
while (i >= 0) while (i >= 0)
{ {
if (SHT == (sector[sn].hitag) && SLT == 3) if (SHT == (sector[sn].hitag) && SLT == SE_3_RANDOM_LIGHTS_AFTER_SHOT_OUT)
{ {
T3 = j; T3 = j;
T5 = 1; T5 = 1;
@ -2354,7 +2355,7 @@ void A_DamageObject(int32_t i,int32_t sn)
if ((sprite[i].cstat&16) && SHT == 0 && SLT == 0 && sprite[i].statnum == STAT_DEFAULT) if ((sprite[i].cstat&16) && SHT == 0 && SLT == 0 && sprite[i].statnum == STAT_DEFAULT)
break; break;
if ((sprite[sn].picnum == FREEZEBLAST || sprite[sn].owner != i) && sprite[i].statnum != 4) if ((sprite[sn].picnum == FREEZEBLAST || sprite[sn].owner != i) && sprite[i].statnum != STAT_PROJECTILE)
{ {
if (A_CheckEnemySprite(&sprite[i]) == 1) if (A_CheckEnemySprite(&sprite[i]) == 1)
{ {

View file

@ -338,6 +338,7 @@ void S_Cleanup(void)
g_sounds[num].num--; g_sounds[num].num--;
// MUSICANDSFX uses t_data[0] to control restarting the sound // MUSICANDSFX uses t_data[0] to control restarting the sound
// ST_2_UNDERWATER
if (i != -1 && sprite[i].picnum == MUSICANDSFX && sector[sprite[i].sectnum].lotag < 3 && sprite[i].lotag < 999) if (i != -1 && sprite[i].picnum == MUSICANDSFX && sector[sprite[i].sectnum].lotag < 3 && sprite[i].lotag < 999)
actor[i].t_data[0] = 0; actor[i].t_data[0] = 0;
@ -605,7 +606,7 @@ int32_t S_PlaySound3D(int32_t num, int32_t i, const vec3_t *pos)
if (explosionp) if (explosionp)
{ {
if (peekps->cursectnum > -1 && sector[peekps->cursectnum].lotag == 2) if (peekps->cursectnum > -1 && sector[peekps->cursectnum].lotag == ST_2_UNDERWATER)
pitch -= 1024; pitch -= 1024;
} }
else else
@ -613,7 +614,7 @@ int32_t S_PlaySound3D(int32_t num, int32_t i, const vec3_t *pos)
if (sndist > 32767 && PN != MUSICANDSFX && (g_sounds[num].m & 3) == 0) if (sndist > 32767 && PN != MUSICANDSFX && (g_sounds[num].m & 3) == 0)
return -1; return -1;
if (peekps->cursectnum > -1 && sector[peekps->cursectnum].lotag == 2 && (g_sounds[num].m&4) == 0) if (peekps->cursectnum > -1 && sector[peekps->cursectnum].lotag == ST_2_UNDERWATER && (g_sounds[num].m&4) == 0)
pitch = -768; pitch = -768;
} }