Don't spawn hardcoded Duke3D debris/guts/glass sprites when compiled as EDUKE32_STANDALONE

git-svn-id: https://svn.eduke32.com/eduke32@6911 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2018-06-09 20:36:31 +00:00
parent 9c313158e8
commit 0dd623a7fe
6 changed files with 64 additions and 12 deletions

View file

@ -659,6 +659,7 @@ void A_SpawnMultiple(int spriteNum, int tileNum, int spawnCnt)
} }
} }
#ifndef EDUKE32_STANDALONE
void A_DoGuts(int spriteNum, int tileNum, int spawnCnt) void A_DoGuts(int spriteNum, int tileNum, int spawnCnt)
{ {
uspritetype const *const pSprite = (uspritetype *)&sprite[spriteNum]; uspritetype const *const pSprite = (uspritetype *)&sprite[spriteNum];
@ -716,6 +717,7 @@ void A_DoGutsDir(int spriteNum, int tileNum, int spawnCnt)
sprite[i].pal = s->pal; sprite[i].pal = s->pal;
} }
} }
#endif
LUNATIC_EXTERN int32_t G_ToggleWallInterpolation(int32_t wallNum, int32_t setInterpolation) LUNATIC_EXTERN int32_t G_ToggleWallInterpolation(int32_t wallNum, int32_t setInterpolation)
{ {
@ -1587,8 +1589,10 @@ ACTOR_STATIC void G_MoveFallers(void)
if ((sector[sectNum].floorz-pSprite->z) < ZOFFSET2) if ((sector[sectNum].floorz-pSprite->z) < ZOFFSET2)
{ {
#ifndef EDUKE32_STANDALONE
for (size_t x = 0, x_end = 1+(krand()&7); x < x_end; ++x) for (size_t x = 0, x_end = 1+(krand()&7); x < x_end; ++x)
RANDOMSCRAP(pSprite, spriteNum); RANDOMSCRAP(pSprite, spriteNum);
#endif
DELETE_SPRITE_AND_CONTINUE(spriteNum); DELETE_SPRITE_AND_CONTINUE(spriteNum);
} }
} }
@ -2217,9 +2221,11 @@ DETONATE:
pSprite->z -= ZOFFSET5; pSprite->z -= ZOFFSET5;
#ifndef EDUKE32_STANDALONE
if (pSprite->xrepeat) if (pSprite->xrepeat)
for (bsize_t x=0; x<8; x++) for (bsize_t x=0; x<8; x++)
RANDOMSCRAP(pSprite, spriteNum); RANDOMSCRAP(pSprite, spriteNum);
#endif
if ((pData[3] == 1 && pSprite->xrepeat) || (int16_t)pSprite->lotag == -99) if ((pData[3] == 1 && pSprite->xrepeat) || (int16_t)pSprite->lotag == -99)
{ {
@ -4987,9 +4993,10 @@ DETONATEB:
pData[0] = 1; // static pData[0] = 1; // static
pSprite->cstat = 32768; pSprite->cstat = 32768;
#ifndef EDUKE32_STANDALONE
for (bssize_t x = 0; x < 5; x++) for (bssize_t x = 0; x < 5; x++)
RANDOMSCRAP(pSprite, spriteNum); RANDOMSCRAP(pSprite, spriteNum);
#endif
goto next_sprite; goto next_sprite;
} }
} }
@ -6833,10 +6840,10 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3
DELETE_SPRITE_AND_CONTINUE(spriteNum); DELETE_SPRITE_AND_CONTINUE(spriteNum);
} }
#ifndef EDUKE32_STANDALONE
if (pData[2] == 4 && pSprite->ang != 512) if (pData[2] == 4 && pSprite->ang != 512)
for (x=0; x<7; x++) RANDOMSCRAP(pSprite, spriteNum); for (x=0; x<7; x++) RANDOMSCRAP(pSprite, spriteNum);
#endif
break; break;
@ -7751,11 +7758,12 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3
} }
break; break;
#ifndef EDUKE32_STANDALONE
case SE_33_QUAKE_DEBRIS: case SE_33_QUAKE_DEBRIS:
if (g_earthquakeTime > 0 && (krand()&7) == 0) if (g_earthquakeTime > 0 && (krand()&7) == 0)
RANDOMSCRAP(pSprite, spriteNum); RANDOMSCRAP(pSprite, spriteNum);
break; break;
#endif
case SE_36_PROJ_SHOOTER: case SE_36_PROJ_SHOOTER:
if (pData[0]) if (pData[0])
{ {

View file

@ -7036,6 +7036,7 @@ int G_DoMoveThings(void)
return 0; return 0;
} }
#ifndef EDUKE32_STANDALONE
void A_SpawnWallGlass(int spriteNum, int wallNum, int glassCnt) void A_SpawnWallGlass(int spriteNum, int wallNum, int glassCnt)
{ {
if (wallNum < 0) if (wallNum < 0)
@ -7147,6 +7148,7 @@ void A_SpawnRandomGlass(int spriteNum, int wallNum, int glassCnt)
sprite[k].pal = krand() & 7; sprite[k].pal = krand() & 7;
} }
} }
#endif
static void G_SetupGameButtons(void) static void G_SetupGameButtons(void)
{ {

View file

@ -1036,13 +1036,14 @@ static void VM_Fall(int const spriteNum, spritetype * const pSprite)
{ {
// I'm guessing this DRONE check is from a beta version of the game // I'm guessing this DRONE check is from a beta version of the game
// where they crashed into the ground when killed // where they crashed into the ground when killed
#ifndef EDUKE32_STANDALONE
if (!(pSprite->picnum == APLAYER && pSprite->extra > 0) && pSprite->pal != 1 && pSprite->picnum != DRONE) if (!(pSprite->picnum == APLAYER && pSprite->extra > 0) && pSprite->pal != 1 && pSprite->picnum != DRONE)
{ {
A_DoGuts(spriteNum,JIBS6,15); A_DoGuts(spriteNum,JIBS6,15);
A_PlaySound(SQUISHED,spriteNum); A_PlaySound(SQUISHED,spriteNum);
A_Spawn(spriteNum,BLOODPOOL); A_Spawn(spriteNum,BLOODPOOL);
} }
#endif
actor[spriteNum].picnum = SHOTSPARK1; actor[spriteNum].picnum = SHOTSPARK1;
actor[spriteNum].extra = 1; actor[spriteNum].extra = 1;
pSprite->zvel = 0; pSprite->zvel = 0;
@ -2187,33 +2188,52 @@ GAMEEXEC_STATIC void VM_Execute(native_t loop)
case CON_LOTSOFGLASS: case CON_LOTSOFGLASS:
insptr++; insptr++;
#ifndef EDUKE32_STANDALONE
A_SpawnGlass(vm.spriteNum, *insptr++); A_SpawnGlass(vm.spriteNum, *insptr++);
#else
insptr++;
#endif
continue; continue;
case CON_SPAWNWALLGLASS: case CON_SPAWNWALLGLASS:
insptr++; insptr++;
{ {
#ifndef EDUKE32_STANDALONE
int const wallNum = Gv_GetVarX(*insptr++); int const wallNum = Gv_GetVarX(*insptr++);
int const numShards = Gv_GetVarX(*insptr++); int const numShards = Gv_GetVarX(*insptr++);
A_SpawnWallGlass(vm.spriteNum, wallNum, numShards); A_SpawnWallGlass(vm.spriteNum, wallNum, numShards);
#else
Gv_GetVarX(*insptr++);
Gv_GetVarX(*insptr++);
#endif
} }
continue; continue;
case CON_SPAWNWALLSTAINEDGLASS: case CON_SPAWNWALLSTAINEDGLASS:
insptr++; insptr++;
{ {
#ifndef EDUKE32_STANDALONE
int const wallNum = Gv_GetVarX(*insptr++); int const wallNum = Gv_GetVarX(*insptr++);
int const numShards = Gv_GetVarX(*insptr++); int const numShards = Gv_GetVarX(*insptr++);
A_SpawnRandomGlass(vm.spriteNum, wallNum, numShards); A_SpawnRandomGlass(vm.spriteNum, wallNum, numShards);
#else
Gv_GetVarX(*insptr++);
Gv_GetVarX(*insptr++);
#endif
} }
continue; continue;
case CON_SPAWNCEILINGGLASS: case CON_SPAWNCEILINGGLASS:
insptr++; insptr++;
{ {
#ifndef EDUKE32_STANDALONE
int const sectNum = Gv_GetVarX(*insptr++); int const sectNum = Gv_GetVarX(*insptr++);
int const numShards = Gv_GetVarX(*insptr++); int const numShards = Gv_GetVarX(*insptr++);
A_SpawnCeilingGlass(vm.spriteNum, sectNum, numShards); A_SpawnCeilingGlass(vm.spriteNum, sectNum, numShards);
#else
Gv_GetVarX(*insptr++);
Gv_GetVarX(*insptr++);
#endif
} }
continue; continue;
@ -4019,7 +4039,9 @@ GAMEEXEC_STATIC void VM_Execute(native_t loop)
continue; continue;
case CON_GUTS: case CON_GUTS:
#ifndef EDUKE32_STANDALONE
A_DoGuts(vm.spriteNum, *(insptr + 1), *(insptr + 2)); A_DoGuts(vm.spriteNum, *(insptr + 1), *(insptr + 2));
#endif
insptr += 3; insptr += 3;
continue; continue;

View file

@ -30,8 +30,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#define WIN_IS_PRESSED ( KB_KeyPressed( sc_RightWin ) || KB_KeyPressed( sc_LeftWin ) ) #define WIN_IS_PRESSED ( KB_KeyPressed( sc_RightWin ) || KB_KeyPressed( sc_LeftWin ) )
#define ALT_IS_PRESSED ( KB_KeyPressed( sc_RightAlt ) || KB_KeyPressed( sc_LeftAlt ) ) #define ALT_IS_PRESSED ( KB_KeyPressed( sc_RightAlt ) || KB_KeyPressed( sc_LeftAlt ) )
#define SHIFTS_IS_PRESSED ( KB_KeyPressed( sc_RightShift ) || KB_KeyPressed( sc_LeftShift ) ) #define SHIFTS_IS_PRESSED ( KB_KeyPressed( sc_RightShift ) || KB_KeyPressed( sc_LeftShift ) )
#ifndef EDUKE32_STANDALONE
#define RANDOMSCRAP(s, i) A_InsertSprite(s->sectnum,s->x+(krand()&255)-128,s->y+(krand()&255)-128,s->z-ZOFFSET3-(krand()&8191),\ #define RANDOMSCRAP(s, i) A_InsertSprite(s->sectnum,s->x+(krand()&255)-128,s->y+(krand()&255)-128,s->z-ZOFFSET3-(krand()&8191),\
SCRAP6+(krand()&15),-8,48,48,krand()&2047,(krand()&63)+64,-512-(krand()&2047),i,5) SCRAP6+(krand()&15),-8,48,48,krand()&2047,(krand()&63)+64,-512-(krand()&2047),i,5)
#endif
#define GTFLAGS(x) (g_gametypeFlags[ud.coop] & x) #define GTFLAGS(x) (g_gametypeFlags[ud.coop] & x)

View file

@ -113,8 +113,10 @@ void P_QuickKill(DukePlayer_t * const pPlayer)
sprite[pPlayer->i].extra = 0; sprite[pPlayer->i].extra = 0;
sprite[pPlayer->i].cstat |= 32768; sprite[pPlayer->i].cstat |= 32768;
#ifndef EDUKE32_STANDALONE
if (ud.god == 0) if (ud.god == 0)
A_DoGuts(pPlayer->i,JIBS6,8); A_DoGuts(pPlayer->i,JIBS6,8);
#endif
} }
static void A_DoWaterTracers(vec3_t startPos, vec3_t const *endPos, int n, int16_t sectNum) static void A_DoWaterTracers(vec3_t startPos, vec3_t const *endPos, int n, int16_t sectNum)
@ -5418,6 +5420,7 @@ HORIZONLY:;
} }
} }
#ifndef EDUKE32_STANDALONE
if (pPlayer->knee_incs > 0) if (pPlayer->knee_incs > 0)
{ {
pPlayer->q16horiz -= F16(48); pPlayer->q16horiz -= F16(48);
@ -5435,7 +5438,6 @@ HORIZONLY:;
A_DoGuts(pPlayer->actorsqu, JIBS6, 7); A_DoGuts(pPlayer->actorsqu, JIBS6, 7);
A_Spawn(pPlayer->actorsqu, BLOODPOOL); A_Spawn(pPlayer->actorsqu, BLOODPOOL);
A_PlaySound(SQUISHED, pPlayer->actorsqu); A_PlaySound(SQUISHED, pPlayer->actorsqu);
switch (DYNAMICTILEMAP(sprite[pPlayer->actorsqu].picnum)) switch (DYNAMICTILEMAP(sprite[pPlayer->actorsqu].picnum))
{ {
case FEM1__STATIC: case FEM1__STATIC:
@ -5477,6 +5479,7 @@ HORIZONLY:;
getangle(sprite[pPlayer->actorsqu].x - pPlayer->pos.x, sprite[pPlayer->actorsqu].y - pPlayer->pos.y)) getangle(sprite[pPlayer->actorsqu].x - pPlayer->pos.x, sprite[pPlayer->actorsqu].y - pPlayer->pos.y))
>> 2); >> 2);
} }
#endif
if (P_DoCounters(playerNum)) if (P_DoCounters(playerNum))
return; return;

View file

@ -1478,9 +1478,13 @@ void G_ActivateBySector(int sectNum, int spriteNum)
static void G_BreakWall(int tileNum, int spriteNum, int wallNum) static void G_BreakWall(int tileNum, int spriteNum, int wallNum)
{ {
wall[wallNum].picnum = tileNum; wall[wallNum].picnum = tileNum;
#ifndef EDUKE32_STANDALONE
A_PlaySound(VENT_BUST,spriteNum); A_PlaySound(VENT_BUST,spriteNum);
A_PlaySound(GLASS_HEAVYBREAK,spriteNum); A_PlaySound(GLASS_HEAVYBREAK,spriteNum);
A_SpawnWallGlass(spriteNum,wallNum,10); A_SpawnWallGlass(spriteNum,wallNum,10);
#else
UNREFERENCED_PARAMETER(spriteNum);
#endif
} }
void A_DamageWall_Internal(int spriteNum, int wallNum, const vec3_t *vPos, int weaponNum) void A_DamageWall_Internal(int spriteNum, int wallNum, const vec3_t *vPos, int weaponNum)
@ -1500,10 +1504,12 @@ void A_DamageWall_Internal(int spriteNum, int wallNum, const vec3_t *vPos, int w
{ {
if (pWall->nextwall == -1 || wall[pWall->nextwall].pal != 4) if (pWall->nextwall == -1 || wall[pWall->nextwall].pal != 4)
{ {
#ifndef EDUKE32_STANDALONE
A_SpawnWallGlass(spriteNum, wallNum, 70); A_SpawnWallGlass(spriteNum, wallNum, 70);
A_PlaySound(GLASS_HEAVYBREAK, spriteNum);
#endif
pWall->cstat &= ~16; pWall->cstat &= ~16;
pWall->overpicnum = MIRRORBROKE; pWall->overpicnum = MIRRORBROKE;
A_PlaySound(GLASS_HEAVYBREAK, spriteNum);
return; return;
} }
} }
@ -1523,10 +1529,12 @@ void A_DamageWall_Internal(int spriteNum, int wallNum, const vec3_t *vPos, int w
#endif #endif
if (pWall->nextwall == -1 || wall[pWall->nextwall].pal != 4) if (pWall->nextwall == -1 || wall[pWall->nextwall].pal != 4)
{ {
#ifndef EDUKE32_STANDALONE
A_SpawnWallGlass(spriteNum, wallNum, 70); A_SpawnWallGlass(spriteNum, wallNum, 70);
A_PlaySound(GLASS_HEAVYBREAK, spriteNum);
#endif
pWall->cstat &= ~16; pWall->cstat &= ~16;
pWall->overpicnum = MIRRORBROKE; pWall->overpicnum = MIRRORBROKE;
A_PlaySound(GLASS_HEAVYBREAK, spriteNum);
return; return;
} }
} }
@ -1653,9 +1661,11 @@ void A_DamageWall_Internal(int spriteNum, int wallNum, const vec3_t *vPos, int w
case SCREENBREAK18__STATIC: case SCREENBREAK18__STATIC:
case SCREENBREAK19__STATIC: case SCREENBREAK19__STATIC:
case BORNTOBEWILDSCREEN__STATIC: case BORNTOBEWILDSCREEN__STATIC:
#ifndef EDUKE32_STANDALONE
A_SpawnWallGlass(spriteNum, wallNum, 30); A_SpawnWallGlass(spriteNum, wallNum, 30);
pWall->picnum = W_SCREENBREAK + (krand() % 3);
A_PlaySound(GLASS_HEAVYBREAK, spriteNum); A_PlaySound(GLASS_HEAVYBREAK, spriteNum);
#endif
pWall->picnum = W_SCREENBREAK + (krand() % 3);
return; return;
case W_TECHWALL5__STATIC: case W_TECHWALL5__STATIC:
@ -1715,8 +1725,10 @@ void A_DamageWall_Internal(int spriteNum, int wallNum, const vec3_t *vPos, int w
case TECHLIGHT2__STATIC: case TECHLIGHT2__STATIC:
case TECHLIGHT4__STATIC: case TECHLIGHT4__STATIC:
{ {
#ifndef EDUKE32_STANDALONE
A_PlaySound(rnd(128) ? GLASS_HEAVYBREAK : GLASS_BREAKING, spriteNum); A_PlaySound(rnd(128) ? GLASS_HEAVYBREAK : GLASS_BREAKING, spriteNum);
A_SpawnWallGlass(spriteNum, wallNum, 30); A_SpawnWallGlass(spriteNum, wallNum, 30);
#endif
if (pWall->picnum == WALLLIGHT1) if (pWall->picnum == WALLLIGHT1)
pWall->picnum = WALLLIGHTBUST1; pWall->picnum = WALLLIGHTBUST1;
@ -1840,9 +1852,10 @@ void Sect_DamageCeiling_Internal(int const spriteNum, int const sectNum)
{ {
#endif #endif
GLASSBREAK_CODE: GLASSBREAK_CODE:
#ifndef EDUKE32_STANDALONE
A_SpawnCeilingGlass(g_player[myconnectindex].ps->i, sectNum, 10); A_SpawnCeilingGlass(g_player[myconnectindex].ps->i, sectNum, 10);
A_PlaySound(GLASS_BREAKING, g_player[screenpeek].ps->i); A_PlaySound(GLASS_BREAKING, g_player[screenpeek].ps->i);
#endif
if (sector[sectNum].hitag == 0) if (sector[sectNum].hitag == 0)
{ {
for (bssize_t SPRITES_OF_SECT(sectNum, i)) for (bssize_t SPRITES_OF_SECT(sectNum, i))
@ -1913,6 +1926,7 @@ void A_DamageObject_Internal(int spriteNum, int const dmgSrc)
if (sector[SECT(spriteNum)].floorpicnum == FANSHADOW) if (sector[SECT(spriteNum)].floorpicnum == FANSHADOW)
sector[SECT(spriteNum)].floorpicnum = FANSHADOWBROKE; sector[SECT(spriteNum)].floorpicnum = FANSHADOWBROKE;
#ifndef EDUKE32_STANDALONE
A_PlaySound(GLASS_HEAVYBREAK, spriteNum); A_PlaySound(GLASS_HEAVYBREAK, spriteNum);
for (bssize_t j=16; j>0; j--) for (bssize_t j=16; j>0; j--)
@ -1920,7 +1934,7 @@ void A_DamageObject_Internal(int spriteNum, int const dmgSrc)
spritetype * const pSprite = &sprite[spriteNum]; spritetype * const pSprite = &sprite[spriteNum];
RANDOMSCRAP(pSprite, spriteNum); RANDOMSCRAP(pSprite, spriteNum);
} }
#endif
break; break;
#ifndef EDUKE32_STANDALONE #ifndef EDUKE32_STANDALONE