From 936ef3424ba0bda8e47cb40fa8492c3af57f2a43 Mon Sep 17 00:00:00 2001 From: helixhorned Date: Mon, 6 Aug 2012 20:00:31 +0000 Subject: [PATCH] Clean up game.c and actors.c. git-svn-id: https://svn.eduke32.com/eduke32@2865 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/source/actors.c | 57 ++-- polymer/eduke32/source/game.c | 560 +++++++++++++------------------- 2 files changed, 263 insertions(+), 354 deletions(-) diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index df7c6bcb4..7c7175678 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -3756,29 +3756,27 @@ ACTOR_STATIC void G_MoveActors(void) if (s->z < sector[sect].ceilingz+(32<<8)) s->z = sector[sect].ceilingz+(32<<8); -#ifdef POLYMER - /* - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].sector = s->sectnum; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].x = s->x; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].y = s->y; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].z = s->z + 10248; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].range = 8192; +#if 0 //def POLYMER + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].sector = s->sectnum; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].x = s->x; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].y = s->y; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].z = s->z + 10248; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].range = 8192; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].angle = s->ang; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].horiz = 100; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].radius = 256; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].faderadius = 200; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].angle = s->ang; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].horiz = 100; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].radius = 256; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].faderadius = 200; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[0] = 255; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[1] = 255; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[2] = 255; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[0] = 255; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[1] = 255; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[2] = 255; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX_GAME; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX_GAME; - if (gamelightcount < PR_MAXLIGHTS) - gamelightcount++; - */ -#endif // POLYMER + if (gamelightcount < PR_MAXLIGHTS) + gamelightcount++; +#endif if (!g_netServer && ud.multimode < 2) { @@ -3940,6 +3938,7 @@ ACTOR_STATIC void G_MoveActors(void) else s->hitag++; } + // RECON_T4 t[3] = G_GetAngleDelta(s->ang,a); s->ang += t[3]>>3; @@ -4899,7 +4898,6 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5 goto BOLT; case FORCESPHERE__STATIC: - l = s->xrepeat; if (t[1] > 0) { @@ -4936,30 +4934,33 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5 for (j=t[0]; j > 0; j--) A_SetSprite(i,CLIPMASK0); goto BOLT; - case WATERSPLASH2__STATIC: + case WATERSPLASH2__STATIC: t[0]++; if (t[0] == 1) { if (sector[sect].lotag != 1 && sector[sect].lotag != 2) KILLIT(i); - /* else - { - l = getflorzofslope(sect,s->x,s->y)-s->z; - if( l > (16<<8) ) KILLIT(i); - } - else */ + /* + else + { + l = getflorzofslope(sect,s->x,s->y)-s->z; + if( l > (16<<8) ) KILLIT(i); + } + else + */ if (!S_CheckSoundPlaying(i,ITEM_SPLASH)) A_PlaySound(ITEM_SPLASH,i); } if (t[0] == 3) { t[0] = 0; - t[1]++; + t[1]++; // WATERSPLASH_T2 } if (t[1] == 5) A_DeleteSprite(i); goto BOLT; + case FRAMEEFFECT1_13__STATIC: if (PLUTOPAK) goto BOLT; // JBF: ideally this should never happen... case FRAMEEFFECT1__STATIC: diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 01bb065f8..a5446e9ea 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -5124,7 +5124,6 @@ int32_t A_Spawn(int32_t j, int32_t pn) break; case RECON__STATIC: - if (sp->lotag > ud.player_skill) { sp->xrepeat = sp->yrepeat = 0; @@ -5942,6 +5941,104 @@ static int32_t maybe_take_on_pal_of_floor(spritetype *datspr, int32_t sect) return 0; } +static int32_t getofs_viewtype5(const spritetype *s, spritetype *t, int32_t a) +{ + int32_t k = (((s->ang+3072+128-a)&2047)>>8)&7; + + if (k>4) + { + k = 8-k; + t->cstat |= 4; + } + else t->cstat &= ~4; + + return k; +} + +static int32_t getofs_viewtype7(const spritetype *s, spritetype *t, int32_t a) +{ + int32_t k = ((s->ang+3072+128-a)&2047)/170; + + if (k>6) + { + k = 12-k; + t->cstat |= 4; + } + else t->cstat &= ~4; + + return k; +} + +static int32_t adult_tile_p(int32_t pic) +{ + switch (pic) + { + case FEM1__STATIC: + case FEM2__STATIC: + case FEM3__STATIC: + case FEM4__STATIC: + case FEM5__STATIC: + case FEM6__STATIC: + case FEM7__STATIC: + case FEM8__STATIC: + case FEM9__STATIC: + case FEM10__STATIC: + case MAN__STATIC: + case MAN2__STATIC: + case WOMAN__STATIC: + case NAKED1__STATIC: + case PODFEM1__STATIC: + case FEMMAG1__STATIC: + case FEMMAG2__STATIC: + case FEMPIC1__STATIC: + case FEMPIC2__STATIC: + case FEMPIC3__STATIC: + case FEMPIC4__STATIC: + case FEMPIC5__STATIC: + case FEMPIC6__STATIC: + case FEMPIC7__STATIC: + case BLOODYPOLE__STATIC: + case FEM6PAD__STATIC: + case STATUE__STATIC: + case STATUEFLASH__STATIC: + case OOZ__STATIC: + case OOZ2__STATIC: + case WALLBLOOD1__STATIC: + case WALLBLOOD2__STATIC: + case WALLBLOOD3__STATIC: + case WALLBLOOD4__STATIC: + case WALLBLOOD5__STATIC: + case WALLBLOOD7__STATIC: + case WALLBLOOD8__STATIC: + case SUSHIPLATE1__STATIC: + case SUSHIPLATE2__STATIC: + case SUSHIPLATE3__STATIC: + case SUSHIPLATE4__STATIC: + case FETUS__STATIC: + case FETUSJIB__STATIC: + case FETUSBROKE__STATIC: + case HOTMEAT__STATIC: + case FOODOBJECT16__STATIC: + case DOLPHIN1__STATIC: + case DOLPHIN2__STATIC: + case TOUGHGAL__STATIC: + case TAMPON__STATIC: + case XXXSTACY__STATIC: + case 4946: + case 4947: + case 693: + case 2254: + case 4560: + case 4561: + case 4562: + case 4498: + case 4957: + return 1; + } + + return 0; +} + #if 0 // def _MSC_VER // Visual C thought this was a bit too hard to optimise so we'd better // tell it not to try... such a pussy it is. @@ -6022,13 +6119,7 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) break; } #endif - k = (((t->ang+3072+128-a)&2047)>>8)&7; - if (k>4) - { - k = 8-k; - t->cstat |= 4; - } - else t->cstat &= ~4; + k = getofs_viewtype5(t, t, a); t->picnum = s->picnum+k; break; case BLOODSPLAT1__STATIC: @@ -6078,7 +6169,7 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) else l = sector[t->sectnum].floorshade; if (l < -127) l = -127; - if (l > 128) l = 127; +// if (l > 128) l = 127; } t->shade = l; } @@ -6097,80 +6188,21 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) i = t->owner; s = (i < 0 ? &tsprite[j] : &sprite[i]); - switch (DYNAMICTILEMAP(s->picnum)) + if (ud.lockout && adult_tile_p(DYNAMICTILEMAP(s->picnum))) { - case NATURALLIGHTNING__STATIC: - t->shade = -127; - t->cstat |= 8192; - break; - case FEM1__STATIC: - case FEM2__STATIC: - case FEM3__STATIC: - case FEM4__STATIC: - case FEM5__STATIC: - case FEM6__STATIC: - case FEM7__STATIC: - case FEM8__STATIC: - case FEM9__STATIC: - case FEM10__STATIC: - case MAN__STATIC: - case MAN2__STATIC: - case WOMAN__STATIC: - case NAKED1__STATIC: - case PODFEM1__STATIC: - case FEMMAG1__STATIC: - case FEMMAG2__STATIC: - case FEMPIC1__STATIC: - case FEMPIC2__STATIC: - case FEMPIC3__STATIC: - case FEMPIC4__STATIC: - case FEMPIC5__STATIC: - case FEMPIC6__STATIC: - case FEMPIC7__STATIC: - case BLOODYPOLE__STATIC: - case FEM6PAD__STATIC: - case STATUE__STATIC: - case STATUEFLASH__STATIC: - case OOZ__STATIC: - case OOZ2__STATIC: - case WALLBLOOD1__STATIC: - case WALLBLOOD2__STATIC: - case WALLBLOOD3__STATIC: - case WALLBLOOD4__STATIC: - case WALLBLOOD5__STATIC: - case WALLBLOOD7__STATIC: - case WALLBLOOD8__STATIC: - case SUSHIPLATE1__STATIC: - case SUSHIPLATE2__STATIC: - case SUSHIPLATE3__STATIC: - case SUSHIPLATE4__STATIC: - case FETUS__STATIC: - case FETUSJIB__STATIC: - case FETUSBROKE__STATIC: - case HOTMEAT__STATIC: - case FOODOBJECT16__STATIC: - case DOLPHIN1__STATIC: - case DOLPHIN2__STATIC: - case TOUGHGAL__STATIC: - case TAMPON__STATIC: - case XXXSTACY__STATIC: - case 4946: - case 4947: - case 693: - case 2254: - case 4560: - case 4561: - case 4562: - case 4498: - case 4957: - if (ud.lockout) - { - t->xrepeat = t->yrepeat = 0; - continue; - } + t->xrepeat = t->yrepeat = 0; + continue; } - if (t->statnum == TSPR_TEMP) continue; + if (s->picnum == NATURALLIGHTNING) + { + t->shade = -127; + t->cstat |= 8192; + } + + if (t->statnum == TSPR_TEMP) + continue; + if (s->statnum != STAT_ACTOR && s->picnum == APLAYER && g_player[s->yvel].ps->newowner == -1 && s->owner >= 0) { t->x -= mulscale16(65536-smoothratio,g_player[s->yvel].ps->pos.x-g_player[s->yvel].ps->opos.x); @@ -6200,9 +6232,9 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) #endif switchpic = s->picnum; //some special cases because dynamictostatic system can't handle addition to constants - if ((s->picnum >= SCRAP6)&&(s->picnum<=SCRAP6+7)) + if ((s->picnum >= SCRAP6) && (s->picnum<=SCRAP6+7)) switchpic = SCRAP5; - else if ((s->picnum==MONEY+1)||(s->picnum==MAIL+1)||(s->picnum==PAPER+1)) + else if ((s->picnum==MONEY+1) || (s->picnum==MAIL+1) || (s->picnum==PAPER+1)) switchpic--; switch (DYNAMICTILEMAP(switchpic)) @@ -6305,18 +6337,11 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) break; } #endif - k = (((s->ang+3072+128-getangle(s->x-x,s->y-y))&2047)/170); - if (k > 6) - { - k = 12-k; - t->cstat |= 4; - } - else t->cstat &= ~4; + k = getofs_viewtype7(s, t, getangle(s->x-x,s->y-y)); t->picnum = RPG+k; break; case RECON__STATIC: - #ifdef USE_OPENGL if (getrendermode() >= 3 && usemodels && md_tilehasmodel(t->picnum,t->pal) >= 0 && !(spriteext[i].flags&SPREXT_NOTMD)) { @@ -6324,15 +6349,9 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) break; } #endif - k = (((s->ang+3072+128-getangle(s->x-x,s->y-y))&2047)/170); - - if (k>6) - { - k = 12-k; - t->cstat |= 4; - } - else t->cstat &= ~4; + k = getofs_viewtype7(s, t, getangle(s->x-x,s->y-y)); + // RECON_T4 if (klabs(t_data3) > 64) k += 7; // tilted recon car @@ -6341,7 +6360,6 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) break; case APLAYER__STATIC: - p = s->yvel; if (t->pal == 1) t->z -= (18<<8); @@ -6379,51 +6397,59 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) if ((g_netServer || ud.multimode > 1) && (display_mirror || screenpeek != p || s->owner == -1)) { - if (ud.showweapons && sprite[g_player[p].ps->i].extra > 0 && g_player[p].ps->curr_weapon > 0) + if (ud.showweapons && sprite[g_player[p].ps->i].extra > 0 && g_player[p].ps->curr_weapon > 0 + && spritesortcnt < MAXSPRITESONSCREEN) { - Bmemcpy((spritetype *)&tsprite[spritesortcnt],(spritetype *)t,sizeof(spritetype)); + spritetype *const newt = &tsprite[spritesortcnt]; + int32_t curweap = g_player[p].ps->curr_weapon; - tsprite[spritesortcnt].statnum = TSPR_TEMP; + Bmemcpy(newt, t, sizeof(spritetype)); - /* tsprite[spritesortcnt].yrepeat = (t->yrepeat>>3); - if (t->yrepeat < 4) t->yrepeat = 4; */ + newt->statnum = TSPR_TEMP; + /* + newt->yrepeat = (t->yrepeat>>3); + if (t->yrepeat < 4) t->yrepeat = 4; + */ - tsprite[spritesortcnt].shade = t->shade; - tsprite[spritesortcnt].cstat = tsprite[spritesortcnt].pal = 0; + newt->cstat = newt->pal = 0; - tsprite[spritesortcnt].picnum = (g_player[p].ps->curr_weapon==GROW_WEAPON?GROWSPRITEICON:WeaponPickupSprites[g_player[p].ps->curr_weapon]); + newt->picnum = (curweap==GROW_WEAPON ? GROWSPRITEICON : WeaponPickupSprites[curweap]); if (s->owner >= 0) - tsprite[spritesortcnt].z = g_player[p].ps->pos.z-(12<<8); - else tsprite[spritesortcnt].z = s->z-(51<<8); - - if (tsprite[spritesortcnt].picnum == HEAVYHBOMB) - tsprite[spritesortcnt].xrepeat = tsprite[spritesortcnt].yrepeat = 10; + newt->z = g_player[p].ps->pos.z-(12<<8); else - tsprite[spritesortcnt].xrepeat = tsprite[spritesortcnt].yrepeat = 16; + newt->z = s->z-(51<<8); + + if (newt->picnum == HEAVYHBOMB) + newt->xrepeat = newt->yrepeat = 10; + else + newt->xrepeat = newt->yrepeat = 16; spritesortcnt++; } - if (g_player[p].sync->extbits & (1<<7) && !ud.pause_on) + if (g_player[p].sync->extbits & (1<<7) && !ud.pause_on && spritesortcntyrepeat>>3); - if (tsprite[spritesortcnt].yrepeat < 4) tsprite[spritesortcnt].yrepeat = 4; + newt->statnum = TSPR_TEMP; - tsprite[spritesortcnt].cstat = 0; - tsprite[spritesortcnt].picnum = RESPAWNMARKERGREEN; + newt->yrepeat = (t->yrepeat>>3); + if (newt->yrepeat < 4) newt->yrepeat = 4; + + newt->cstat = 0; + newt->picnum = RESPAWNMARKERGREEN; if (s->owner >= 0) - tsprite[spritesortcnt].z = g_player[p].ps->pos.z-(20<<8); + newt->z = g_player[p].ps->pos.z-(20<<8); else - tsprite[spritesortcnt].z = s->z-(96<<8); + newt->z = s->z-(96<<8); + + newt->xrepeat = newt->yrepeat = 32; + newt->pal = 20; - tsprite[spritesortcnt].xrepeat = tsprite[spritesortcnt].yrepeat = 32; - tsprite[spritesortcnt].pal = 20; spritesortcnt++; } } @@ -6438,15 +6464,7 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) } else #endif - { - k = (((s->ang+3072+128-a)&2047)>>8)&7; - if (k>4) - { - k = 8-k; - t->cstat |= 4; - } - else t->cstat &= ~4; - } + k = getofs_viewtype5(s, t, a); if (sector[s->sectnum].lotag == 2) k += 1795-1405; else if ((actor[i].floorz-s->z) > (64<<8)) k += 60; @@ -6499,15 +6517,7 @@ void G_DoSpriteAnimations(int32_t x,int32_t y,int32_t a,int32_t smoothratio) } else #endif - { - k = (((s->ang+3072+128-a)&2047)>>8)&7; - if (k>4) - { - k = 8-k; - t->cstat |= 4; - } - else t->cstat &= ~4; - } + k = getofs_viewtype5(s, t, a); if (sector[t->sectnum].lotag == 2) k += 1795-1405; else if ((actor[i].floorz-s->z) > (64<<8)) k += 60; @@ -6617,24 +6627,10 @@ PALONLY: break; case 5: - k = getangle(s->x-x,s->y-y); - k = (((s->ang+3072+128-k)&2047)>>8)&7; - if (k>4) - { - k = 8-k; - t->cstat |= 4; - } - else t->cstat &= ~4; + k = getofs_viewtype5(s, t, getangle(s->x-x,s->y-y)); break; case 7: - k = getangle(s->x-x,s->y-y); - k = (((s->ang+3072+128-k)&2047)/170); - if (k>6) - { - k = 12-k; - t->cstat |= 4; - } - else t->cstat &= ~4; + k = getofs_viewtype7(s, t, getangle(s->x-x,s->y-y)); break; case 8: k = (((s->ang+3072+128-a)&2047)>>8)&7; @@ -6690,55 +6686,57 @@ skip: if (ud.shadows && spritesortcnt < (MAXSPRITESONSCREEN-2) && getrendermode() != 4) { - int32_t daz,xrep,yrep; + int32_t daz; if ((sector[sect].lotag&0xff) > 2 || s->statnum == STAT_PROJECTILE || s->statnum == 5 || s->picnum == DRONE || s->picnum == COMMANDER) daz = sector[sect].floorz; else daz = actor[i].floorz; - if ((s->z-daz) < (8<<8)) - if (g_player[screenpeek].ps->pos.z < daz) - { - Bmemcpy((spritetype *)&tsprite[spritesortcnt],(spritetype *)t,sizeof(spritetype)); + if ((s->z-daz) < (8<<8) && g_player[screenpeek].ps->pos.z < daz) + { + //int32_t xrep, yrep; + spritetype *const newt = &tsprite[spritesortcnt]; - tsprite[spritesortcnt].statnum = TSPR_TEMP; + Bmemcpy(newt, t, sizeof(spritetype)); - tsprite[spritesortcnt].yrepeat = (t->yrepeat>>3); - if (t->yrepeat < 4) t->yrepeat = 4; + newt->statnum = TSPR_TEMP; - tsprite[spritesortcnt].shade = 127; - tsprite[spritesortcnt].cstat |= 2; + newt->yrepeat = (t->yrepeat>>3); + if (t->yrepeat < 4) t->yrepeat = 4; - tsprite[spritesortcnt].z = daz; - xrep = tsprite[spritesortcnt].xrepeat;// - (klabs(daz-t->z)>>11); - tsprite[spritesortcnt].xrepeat = xrep; - tsprite[spritesortcnt].pal = 4; - - yrep = tsprite[spritesortcnt].yrepeat;// - (klabs(daz-t->z)>>11); - tsprite[spritesortcnt].yrepeat = yrep; + newt->shade = 127; + newt->cstat |= 2; + newt->z = daz; + newt->pal = 4; + /* + xrep = newt->xrepeat;// - (klabs(daz-t->z)>>11); + newt->xrepeat = xrep; + yrep = newt->yrepeat;// - (klabs(daz-t->z)>>11); + newt->yrepeat = yrep; + */ #ifdef USE_OPENGL - if (getrendermode() >= 3 && usemodels && md_tilehasmodel(t->picnum,t->pal) >= 0) - { - tsprite[spritesortcnt].yrepeat = 0; - // 512:trans reverse - //1024:tell MD2SPRITE.C to use Z-buffer hacks to hide overdraw issues - tsprite[spritesortcnt].cstat |= (512+1024); - } - else if (getrendermode() >= 3) - { - int32_t ii; - - ii = getangle(tsprite[spritesortcnt].x-g_player[screenpeek].ps->pos.x, - tsprite[spritesortcnt].y-g_player[screenpeek].ps->pos.y); - - tsprite[spritesortcnt].x += sintable[(ii+2560)&2047]>>9; - tsprite[spritesortcnt].y += sintable[(ii+2048)&2047]>>9; - } -#endif - spritesortcnt++; + if (getrendermode() >= 3 && usemodels && md_tilehasmodel(t->picnum,t->pal) >= 0) + { + newt->yrepeat = 0; + // 512:trans reverse + //1024:tell MD2SPRITE.C to use Z-buffer hacks to hide overdraw issues + newt->cstat |= (512+1024); } + else if (getrendermode() >= 3) + { + int32_t ii; + + ii = getangle(newt->x-g_player[screenpeek].ps->pos.x, + newt->y-g_player[screenpeek].ps->pos.y); + + newt->x += sintable[(ii+2560)&2047]>>9; + newt->y += sintable[(ii+2048)&2047]>>9; + } +#endif + spritesortcnt++; + } } } @@ -6794,15 +6792,7 @@ skip: } else #endif - { - k = (((t->ang+3072+128-a)&2047)>>8)&7; - if (k>4) - { - k = 8-k; - t->cstat |= 4; - } - else t->cstat &= ~4; - } + k = getofs_viewtype5(t, t, a); t->picnum = s->picnum+k+((T1<4)*5); t->shade = sprite[s->owner].shade; @@ -6810,6 +6800,7 @@ skip: break; case WATERSPLASH2__STATIC: + // WATERSPLASH_T2 t->picnum = WATERSPLASH2+T2; break; case SHELL__STATIC: @@ -6856,13 +6847,7 @@ skip: break; } #endif - k = (((t->ang+3072+128-a)&2047)>>8)&7; - if (k>4) - { - k = 8-k; - t->cstat |= 4; - } - else t->cstat &= ~4; + k = getofs_viewtype5(t, t, a); t->picnum = s->picnum+k; break; } @@ -7763,24 +7748,24 @@ void G_HandleLocalKeys(void) } /* - I_AdvanceTriggerClear(); - ud.show_help ++; + I_AdvanceTriggerClear(); + ud.show_help ++; - if (ud.show_help > 2) - { - ud.show_help = 0; - if ((!g_netServer && ud.multimode < 2) && ud.recstat != 2) ready2send = 1; - G_UpdateScreenArea(); - } - else - { - setview(0,0,xdim-1,ydim-1); - if ((!g_netServer && ud.multimode < 2) && ud.recstat != 2) - { - ready2send = 0; - totalclock = ototalclock; - } - } + if (ud.show_help > 2) + { + ud.show_help = 0; + if ((!g_netServer && ud.multimode < 2) && ud.recstat != 2) ready2send = 1; + G_UpdateScreenArea(); + } + else + { + setview(0,0,xdim-1,ydim-1); + if ((!g_netServer && ud.multimode < 2) && ud.recstat != 2) + { + ready2send = 0; + totalclock = ototalclock; + } + } */ } @@ -10114,86 +10099,6 @@ int32_t app_main(int32_t argc, const char **argv) #endif } - // shitcan the old cache directory -#if 0 && defined(USE_OPENGL) // NOTE: CODE IS STALE, getfilenames() is no longer! - { - struct stat st; - char dir[BMAX_PATH]; - - if (g_modDir[0] != '/') - Bsprintf(dir,"%s/",g_modDir); - else dir[0] = '\0'; - - Bsprintf(tempbuf,"%stexcache",dir); - if (Bstat(tempbuf, &st) >= 0) - { - if ((st.st_mode & S_IFDIR) == S_IFDIR) - { - Bsprintf(tempbuf,"EDuke32 has located an obsolete texture cache in the \"%stexcache\" directory.\n\n" - "Would you like EDuke32 to purge the contents of this directory?",dir); - - if (wm_ynbox("Obsolete Texture Cache Detected",tempbuf)) - { - int32_t recursion = 0; - - Bsprintf(tempbuf,"%stexcache",dir); - getfilenames(tempbuf,"*"); -CLEAN_DIRECTORY: - // initprintf("Cleaning \"%s\"\n",tempbuf); - while (findfiles) - { - Bsprintf(g_szBuf,"%s/%s",tempbuf,findfiles->name); - if (unlink(g_szBuf)) - initprintf("ERROR: couldn't remove \"%s\": %s\n",g_szBuf,strerror(errno)); - findfiles = findfiles->next; - } - while (finddirs) - { - if (!Bstrcmp(finddirs->name, ".") || !Bstrcmp(finddirs->name, "..")) - { - finddirs = finddirs->next; - continue; - } - Bsprintf(g_szBuf,"%s/%s",tempbuf,finddirs->name); - if (rmdir(g_szBuf)) - { - if (errno == EEXIST || errno == ENOTEMPTY) - { - recursion = 1; - Bstrcpy(tempbuf,g_szBuf); - getfilenames(tempbuf,"*"); - goto CLEAN_DIRECTORY; - } - else - { - initprintf("ERROR: couldn't remove \"%s\": %s\n",g_szBuf,strerror(errno)); - } - } - else - { - initprintf("Removed \"%s\"\n",g_szBuf); - finddirs = finddirs->next; - } - } - - if (recursion) - { - Bsprintf(tempbuf,"%stexcache",dir); - getfilenames(tempbuf,"*"); - recursion = 0; - goto CLEAN_DIRECTORY; - } - - Bsprintf(tempbuf,"%stexcache",dir); - if (rmdir(tempbuf)) - initprintf("ERROR: couldn't remove \"%s\": %s\n",tempbuf,strerror(errno)); - else initprintf("Removed \"%s\"\n",tempbuf); - } - } - } - } -#endif - { const char *grpfile = G_GrpFile(); @@ -10638,15 +10543,15 @@ MAIN_LOOP_RESTART: Bmemset(&avg, 0, sizeof(input_t)); /* - if (ud.playerai && (g_netServer || ud.multimode > 1)) - { - for (TRAVERSE_CONNECT(i)) - if (i != myconnectindex) - { - //clearbufbyte(&inputfifo[g_player[i].movefifoend&(MOVEFIFOSIZ-1)][i],sizeof(input_t),0L); - computergetinput(i,&inputfifo[0][i]); - } - } + if (ud.playerai && (g_netServer || ud.multimode > 1)) + { + for (TRAVERSE_CONNECT(i)) + if (i != myconnectindex) + { + //clearbufbyte(&inputfifo[g_player[i].movefifoend&(MOVEFIFOSIZ-1)][i],sizeof(input_t),0L); + computergetinput(i,&inputfifo[0][i]); + } + } */ do @@ -10754,7 +10659,9 @@ int32_t G_DoMoveThings(void) ud.camerasprite = -1; lockclock += TICSPERFRAME; - //if (g_earthquakeTime > 0) g_earthquakeTime--; moved lower so it is restored correctly by diffs + // Moved lower so it is restored correctly by demo diffs: + //if (g_earthquakeTime > 0) g_earthquakeTime--; + if (g_RTSPlaying > 0) g_RTSPlaying--; for (i=0; i 1)) { hitdata_t hitinfo; + DukePlayer_t *const p = g_player[screenpeek].ps; for (i=0; iholoduke_on != -1) sprite[g_player[i].ps->holoduke_on].cstat ^= 256; - hitscan((vec3_t *)g_player[screenpeek].ps,g_player[screenpeek].ps->cursectnum, - sintable[(g_player[screenpeek].ps->ang+512)&2047], - sintable[g_player[screenpeek].ps->ang&2047], - (100-g_player[screenpeek].ps->horiz-g_player[screenpeek].ps->horizoff)<<11,&hitinfo,0xffff0030); + hitscan((vec3_t *)p,p->cursectnum, + sintable[(p->ang+512)&2047], + sintable[p->ang&2047], + (100-p->horiz-p->horizoff)<<11,&hitinfo,0xffff0030); for (i=0; iholoduke_on != -1) @@ -10787,15 +10695,15 @@ int32_t G_DoMoveThings(void) sprite[hitinfo.hitsprite].picnum == APLAYER && sprite[hitinfo.hitsprite].yvel != screenpeek && g_player[sprite[hitinfo.hitsprite].yvel].ps->dead_flag == 0) { - if (g_player[screenpeek].ps->fta == 0 || g_player[screenpeek].ps->ftq == QUOTE_RESERVED3) + if (p->fta == 0 || p->ftq == QUOTE_RESERVED3) { - if (ldist(&sprite[g_player[screenpeek].ps->i],&sprite[hitinfo.hitsprite]) < 9216) + if (ldist(&sprite[p->i],&sprite[hitinfo.hitsprite]) < 9216) { Bsprintf(ScriptQuotes[QUOTE_RESERVED3],"%s",&g_player[sprite[hitinfo.hitsprite].yvel].user_name[0]); - g_player[screenpeek].ps->fta = 12, g_player[screenpeek].ps->ftq = QUOTE_RESERVED3; + p->fta = 12, p->ftq = QUOTE_RESERVED3; } } - else if (g_player[screenpeek].ps->fta > 2) g_player[screenpeek].ps->fta -= 3; + else if (p->fta > 2) p->fta -= 3; } } @@ -10815,7 +10723,7 @@ int32_t G_DoMoveThings(void) randomseed = ticrandomseed; for (TRAVERSE_CONNECT(i)) - Bmemcpy(g_player[i].sync, &inputfifo[(g_netServer && myconnectindex == i) ? 1 : 0][i], + Bmemcpy(g_player[i].sync, &inputfifo[(g_netServer && myconnectindex == i)][i], sizeof(input_t)); G_UpdateInterpolations();