mirror of
https://github.com/ZDoom/Raze.git
synced 2025-06-02 18:21:06 +00:00
- animateobjs BROKENVASE, FX.
This commit is contained in:
parent
3efe10e9c3
commit
7fed546ee7
1 changed files with 43 additions and 40 deletions
|
@ -1331,17 +1331,18 @@ void animateobjs(PLAYER& plr) {
|
||||||
|
|
||||||
for (i = headspritestat[BROKENVASE]; i >= 0; i = nextsprite) {
|
for (i = headspritestat[BROKENVASE]; i >= 0; i = nextsprite) {
|
||||||
nextsprite = nextspritestat[i];
|
nextsprite = nextspritestat[i];
|
||||||
|
auto& spr = sprite[i];
|
||||||
|
|
||||||
sprite[i].lotag -= TICSPERFRAME;
|
spr.lotag -= TICSPERFRAME;
|
||||||
if (sprite[i].lotag < 0) {
|
if (spr.lotag < 0) {
|
||||||
sprite[i].picnum++;
|
spr.picnum++;
|
||||||
sprite[i].lotag = 18;
|
spr.lotag = 18;
|
||||||
|
|
||||||
if (sprite[i].picnum == (SHATTERVASE + 6) || sprite[i].picnum == (SHATTERVASE2 + 6)
|
if (spr.picnum == (SHATTERVASE + 6) || spr.picnum == (SHATTERVASE2 + 6)
|
||||||
|| sprite[i].picnum == (SHATTERVASE3 + 6))
|
|| spr.picnum == (SHATTERVASE3 + 6))
|
||||||
changespritestat(i, (short) 0);
|
changespritestat(i, (short) 0);
|
||||||
else {
|
else {
|
||||||
switch (sprite[i].picnum) {
|
switch (spr.picnum) {
|
||||||
case FSHATTERBARREL + 2:
|
case FSHATTERBARREL + 2:
|
||||||
randompotion(i);
|
randompotion(i);
|
||||||
changespritestat(i, (short) 0);
|
changespritestat(i, (short) 0);
|
||||||
|
@ -1365,56 +1366,58 @@ void animateobjs(PLAYER& plr) {
|
||||||
// Go through explosion sprites
|
// Go through explosion sprites
|
||||||
for (i = headspritestat[FX]; i >= 0; i = nextsprite) {
|
for (i = headspritestat[FX]; i >= 0; i = nextsprite) {
|
||||||
nextsprite = nextspritestat[i];
|
nextsprite = nextspritestat[i];
|
||||||
sprite[i].lotag -= TICSPERFRAME;
|
auto& spr = sprite[i];
|
||||||
|
|
||||||
if (// sprite[i].picnum == PLASMA ||
|
spr.lotag -= TICSPERFRAME;
|
||||||
sprite[i].picnum == BULLET || sprite[i].picnum == EXPLOSION || sprite[i].picnum == FIREBALL
|
|
||||||
|| sprite[i].picnum == MONSTERBALL || sprite[i].picnum == FATSPANK) {
|
|
||||||
|
|
||||||
// sprite[i].z+=sprite[i].zvel;
|
if (// spr.picnum == PLASMA ||
|
||||||
sprite[i].zvel += (TICSPERFRAME << 5);
|
spr.picnum == BULLET || spr.picnum == EXPLOSION || spr.picnum == FIREBALL
|
||||||
if (sprite[i].z < sector[sprite[i].sectnum].ceilingz + (4 << 8)) {
|
|| spr.picnum == MONSTERBALL || spr.picnum == FATSPANK) {
|
||||||
sprite[i].z = sector[sprite[i].sectnum].ceilingz + (4 << 8);
|
|
||||||
sprite[i].zvel = (short) -(sprite[i].zvel >> 1);
|
// spr.z+=spr.zvel;
|
||||||
|
spr.zvel += (TICSPERFRAME << 5);
|
||||||
|
if (spr.z < sector[spr.sectnum].ceilingz + (4 << 8)) {
|
||||||
|
spr.z = sector[spr.sectnum].ceilingz + (4 << 8);
|
||||||
|
spr.zvel = (short) -(spr.zvel >> 1);
|
||||||
}
|
}
|
||||||
if (sprite[i].z > sector[sprite[i].sectnum].floorz - (4 << 8) && sprite[i].picnum != EXPLOSION) {
|
if (spr.z > sector[spr.sectnum].floorz - (4 << 8) && spr.picnum != EXPLOSION) {
|
||||||
sprite[i].z = sector[sprite[i].sectnum].floorz - (4 << 8);
|
spr.z = sector[spr.sectnum].floorz - (4 << 8);
|
||||||
sprite[i].zvel = 0;
|
spr.zvel = 0;
|
||||||
sprite[i].lotag = 4;
|
spr.lotag = 4;
|
||||||
}
|
}
|
||||||
dax = ((((int) sprite[i].xvel) * TICSPERFRAME) >> 3);
|
dax = ((((int) spr.xvel) * TICSPERFRAME) >> 3);
|
||||||
day = ((((int) sprite[i].yvel) * TICSPERFRAME) >> 3);
|
day = ((((int) spr.yvel) * TICSPERFRAME) >> 3);
|
||||||
daz = (((int) sprite[i].zvel) * TICSPERFRAME);
|
daz = (((int) spr.zvel) * TICSPERFRAME);
|
||||||
movestat = (short) movesprite((short) i, dax, day, daz, 4 << 8, 4 << 8, 1);
|
movestat = (short) movesprite((short) i, dax, day, daz, 4 << 8, 4 << 8, 1);
|
||||||
setsprite(i, sprite[i].x, sprite[i].y, sprite[i].z);
|
setsprite(i, spr.x, spr.y, spr.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sprite[i].picnum == ICECUBE && sprite[i].z < sector[sprite[i].sectnum].floorz) {
|
if (spr.picnum == ICECUBE && spr.z < sector[spr.sectnum].floorz) {
|
||||||
sprite[i].z += sprite[i].zvel;
|
spr.z += spr.zvel;
|
||||||
|
|
||||||
daz = sprite[i].zvel += TICSPERFRAME << 4;
|
daz = spr.zvel += TICSPERFRAME << 4;
|
||||||
|
|
||||||
movestat = (short) movesprite((short) i, (bcos(sprite[i].ang) * TICSPERFRAME) << 3,
|
movestat = (short) movesprite((short) i, (bcos(spr.ang) * TICSPERFRAME) << 3,
|
||||||
(bsin(sprite[i].ang) * TICSPERFRAME) << 3, daz, 4 << 8, 4 << 8, 1);
|
(bsin(spr.ang) * TICSPERFRAME) << 3, daz, 4 << 8, 4 << 8, 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sprite[i].lotag < 0 || movestat != 0)
|
if (spr.lotag < 0 || movestat != 0)
|
||||||
if (sprite[i].picnum == PLASMA || sprite[i].picnum == EXPLOSION || sprite[i].picnum == FIREBALL
|
if (spr.picnum == PLASMA || spr.picnum == EXPLOSION || spr.picnum == FIREBALL
|
||||||
|| sprite[i].picnum == MONSTERBALL || sprite[i].picnum == FATSPANK
|
|| spr.picnum == MONSTERBALL || spr.picnum == FATSPANK
|
||||||
|| sprite[i].picnum == ICECUBE) {
|
|| spr.picnum == ICECUBE) {
|
||||||
deletesprite(i);
|
deletesprite(i);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sprite[i].z + (8 << 8) >= sector[sprite[i].sectnum].floorz && sprite[i].picnum == ICECUBE
|
if (spr.z + (8 << 8) >= sector[spr.sectnum].floorz && spr.picnum == ICECUBE
|
||||||
|| movestat != 0) {
|
|| movestat != 0) {
|
||||||
sprite[i].z = sector[sprite[i].sectnum].floorz;
|
spr.z = sector[spr.sectnum].floorz;
|
||||||
changespritestat(i, (short) 0);
|
changespritestat(i, (short) 0);
|
||||||
if (sector[sprite[i].sectnum].floorpicnum == WATER || sector[sprite[i].sectnum].floorpicnum == SLIME
|
if (sector[spr.sectnum].floorpicnum == WATER || sector[spr.sectnum].floorpicnum == SLIME
|
||||||
|| sector[sprite[i].sectnum].floorpicnum == FLOORMIRROR) {
|
|| sector[spr.sectnum].floorpicnum == FLOORMIRROR) {
|
||||||
if (sprite[i].picnum == FISH)
|
if (spr.picnum == FISH)
|
||||||
sprite[i].z = sector[sprite[i].sectnum].floorz;
|
spr.z = sector[spr.sectnum].floorz;
|
||||||
else {
|
else {
|
||||||
if (krand() % 100 > 60) {
|
if (krand() % 100 > 60) {
|
||||||
makemonstersplash(SPLASHAROO, i);
|
makemonstersplash(SPLASHAROO, i);
|
||||||
|
@ -1422,7 +1425,7 @@ void animateobjs(PLAYER& plr) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (sprite[i].lotag < 0) {
|
if (spr.lotag < 0) {
|
||||||
deletesprite((short) i);
|
deletesprite((short) i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue