diff --git a/source/games/whaven/src/whobj.cpp b/source/games/whaven/src/whobj.cpp index 06d0469e1..08b420cb3 100644 --- a/source/games/whaven/src/whobj.cpp +++ b/source/games/whaven/src/whobj.cpp @@ -1429,66 +1429,68 @@ void explosion(int i, int x, int y, int z, int owner) { void explosion2(int i, int x, int y, int z, int owner) { int j = insertsprite(sprite[i].sectnum, EXPLO); + auto& spawned = sprite[j]; boolean isWH2 = isWh2(); if(!isWH2) { - sprite[j].x = x + (krand() & 256) - 128; - sprite[j].y = y + (krand() & 256) - 128; - sprite[j].z = z; + spawned.x = x + (krand() & 256) - 128; + spawned.y = y + (krand() & 256) - 128; + spawned.z = z; } else { - sprite[j].x = x; - sprite[j].y = y; - sprite[j].z = z + (16 << 8); + spawned.x = x; + spawned.y = y; + spawned.z = z + (16 << 8); } - sprite[j].cstat = 0; - sprite[j].cstat &= ~3; + spawned.cstat = 0; + spawned.cstat &= ~3; - sprite[j].shade = -25; - sprite[j].xrepeat = 64; - sprite[j].yrepeat = 64; - sprite[j].ang = (short) (krand() & 2047); - sprite[j].xvel = (short) ((krand() & 256) - 128); - sprite[j].yvel = (short) ((krand() & 256) - 128); - sprite[j].zvel = (short) ((krand() & 256) - 128); - sprite[j].owner = sprite[i].owner; - sprite[j].hitag = 0; - sprite[j].pal = 0; + spawned.shade = -25; + spawned.xrepeat = 64; + spawned.yrepeat = 64; + spawned.ang = (short) (krand() & 2047); + spawned.xvel = (short) ((krand() & 256) - 128); + spawned.yvel = (short) ((krand() & 256) - 128); + spawned.zvel = (short) ((krand() & 256) - 128); + spawned.owner = sprite[i].owner; + spawned.hitag = 0; + spawned.pal = 0; if(!isWH2) { - sprite[j].picnum = MONSTERBALL; - sprite[j].lotag = 128; + spawned.picnum = MONSTERBALL; + spawned.lotag = 128; } else { - sprite[j].picnum = EXPLOSTART; - sprite[j].lotag = 12; + spawned.picnum = EXPLOSTART; + spawned.lotag = 12; } } void trailingsmoke(int i, boolean ball) { int j = insertsprite(sprite[i].sectnum, SMOKE); + auto& spawned = sprite[j]; - sprite[j].x = sprite[i].x; - sprite[j].y = sprite[i].y; - sprite[j].z = sprite[i].z; + spawned.x = sprite[i].x; + spawned.y = sprite[i].y; + spawned.z = sprite[i].z; - sprite[j].cstat = 0x03; - sprite[j].cstat &= ~3; - sprite[j].picnum = SMOKEFX; - sprite[j].shade = 0; + spawned.cstat = 0x03; + spawned.cstat &= ~3; + spawned.picnum = SMOKEFX; + spawned.shade = 0; if (ball) { - sprite[j].xrepeat = 128; - sprite[j].yrepeat = 128; + spawned.xrepeat = 128; + spawned.yrepeat = 128; } else { - sprite[j].xrepeat = 32; - sprite[j].yrepeat = 32; + spawned.xrepeat = 32; + spawned.yrepeat = 32; } - sprite[j].pal = 0; + spawned.pal = 0; - sprite[j].owner = sprite[i].owner; - sprite[j].lotag = 256; - sprite[j].hitag = 0; + spawned.owner = sprite[i].owner; + spawned.lotag = 256; + spawned.hitag = 0; } void icecubes(int i, int x, int y, int z, int owner) {