diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index b4cd6a519..0238b34cc 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -703,11 +703,7 @@ static void A_MoveSector(int32_t i) } } -#ifdef SAMESIZE_ACTOR_T -# define LIGHTRAD_PICOFS (T5 ? *(script+T5) + (*(script+T5+2))*T4 : 0) -#else -# define LIGHTRAD_PICOFS (T5 ? (*(intptr_t *)T5) + *(((intptr_t *)T5)+2) * T4 : 0) -#endif +#define LIGHTRAD_PICOFS (T5 ? *(script+T5) + (*(script+T5+2))*T4 : 0) // this is the same crap as in game.c's tspr manipulation. puke. #define LIGHTRAD (s->yrepeat * tilesizy[s->picnum+LIGHTRAD_PICOFS]) @@ -1417,11 +1413,9 @@ ACTOR_STATIC void G_MoveStandables(void) { int32_t i = headspritestat[STAT_STANDABLE], j, k, nexti, nextj, p=0, sect, switchpicnum; int32_t l=0, x; -#ifdef SAMESIZE_ACTOR_T + int32_t *t; -#else - intptr_t *t; -#endif + spritetype *s; int16_t m; @@ -3518,11 +3512,9 @@ static int16_t A_FindLocator(int32_t n,int32_t sn) ACTOR_STATIC void G_MoveActors(void) { int32_t x, m, l; -#ifdef SAMESIZE_ACTOR_T + int32_t *t; -#else - intptr_t *t; -#endif + int32_t a, j, nexti, nextj, sect, p, switchpicnum, k; spritetype *s; int32_t i = headspritestat[STAT_ACTOR]; @@ -4874,11 +4866,9 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5 { int16_t i, j, nexti, sect, p; int32_t l, x; -#ifdef SAMESIZE_ACTOR_T + int32_t *t; -#else - intptr_t *t; -#endif + spritetype *s; int32_t switchpicnum; @@ -5440,11 +5430,9 @@ BOLT: ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3 { int32_t q=0, m, x, st, j, l; -#ifdef SAMESIZE_ACTOR_T + int32_t *t; -#else - intptr_t *t; -#endif + int32_t i = headspritestat[STAT_EFFECTOR], nexti, nextk, p, sh, nextj; int16_t k; spritetype *s; diff --git a/polymer/eduke32/source/actors.h b/polymer/eduke32/source/actors.h index 874101fa5..6b9d6c771 100644 --- a/polymer/eduke32/source/actors.h +++ b/polymer/eduke32/source/actors.h @@ -23,10 +23,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef __actors_h__ #define __actors_h__ -// Uncomment to have the same sizeof(actor_t) and sizeof(netactor_t) across -// 32- and 64-bit builds; KEEPINSYNC with same #define in gamedef.h: -#define SAMESIZE_ACTOR_T - #define MAXSLEEPDIST 16384 #define SLEEPTIME 1536 #define ZOFFSET (1<<8) @@ -87,11 +83,8 @@ typedef struct { // (+ 40 8 6 16 16 4 8 6 4 20) typedef struct { -#ifdef SAMESIZE_ACTOR_T int32_t t_data[10]; // 40b sometimes used to hold offsets to con code -#else - intptr_t t_data[10]; // 40b/80b sometimes used to hold pointers to con code -#endif + int16_t picnum,ang,extra,owner; //8b int16_t movflag,tempang,timetosleep; //6b @@ -123,11 +116,7 @@ typedef struct { // this struct needs to match the beginning of actor_t above typedef struct { -#ifdef SAMESIZE_ACTOR_T int32_t t_data[10]; // 40b sometimes used to hold offsets to con code -#else - intptr_t t_data[10]; // 40b/80b sometimes used to hold pointers to con code -#endif int16_t picnum,ang,extra,owner; //8b int16_t movflag,tempang,timetosleep; // 6b diff --git a/polymer/eduke32/source/duke3d.h b/polymer/eduke32/source/duke3d.h index 0ecee8bbd..3d1b03289 100644 --- a/polymer/eduke32/source/duke3d.h +++ b/polymer/eduke32/source/duke3d.h @@ -63,10 +63,6 @@ extern "C" { #define NAM (g_gameType & GAME_NAM) #define WW2GI (g_gameType & GAME_WW2) -// Uncomment to have the same sizeof(actor_t) and sizeof(netactor_t) across -// 32- and 64-bit builds; KEEPINSYNC with same #define in actors.h and gamedef.h: -#define SAMESIZE_ACTOR_T - // increase by 3, because atomic GRP adds 1, and Shareware adds 2 #define BYTEVERSION_JF 240 diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 961846a0e..33f378958 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -6496,17 +6496,11 @@ PALONLY: t->ang = sprpos[i].ang; } */ -#ifdef SAMESIZE_ACTOR_T + if ((unsigned)t4 + 2 >= (unsigned)g_scriptSize) goto skip; l = *(script + t4 + 2); -#else - if ((unsigned)((intptr_t *)t4 - script + 2) >= (unsigned)g_scriptSize) - goto skip; - - l = *(((intptr_t *)t4)+2); //For TerminX: was *(int32_t *)(t4+8) -#endif #ifdef USE_OPENGL if (getrendermode() >= 3 && usemodels && md_tilehasmodel(s->picnum,t->pal) >= 0 && !(spriteext[i].flags&SPREXT_NOTMD)) @@ -6561,11 +6555,9 @@ PALONLY: k = 0; break; } -#ifdef SAMESIZE_ACTOR_T + t->picnum += k + *(script + t4) + l*t3; -#else - t->picnum += k + (*(intptr_t *)t4) + l * t3; -#endif + if (l > 0) while (tilesizx[t->picnum] == 0 && t->picnum > 0) t->picnum -= l; //Hack, for actors diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c index 2155e917a..0e7f1e7ac 100644 --- a/polymer/eduke32/source/gamedef.c +++ b/polymer/eduke32/source/gamedef.c @@ -1778,20 +1778,10 @@ static int32_t C_GetNextValue(int32_t type) initprintf("%s:%d: debug: accepted %s label `%s'.\n",g_szScriptFileName,g_lineNumber,gl,label+(i<<6)); Bfree(gl); } -#if !defined SAMESIZE_ACTOR_T - if ((labeltype[i]&LABEL_DEFINE)==0) - bitptr[(g_scriptPtr-script)>>3] |= (BITPTR_POINTER<<((g_scriptPtr-script)&7)); - else // the 'define' label type is the only one that doesn't reference the script - bitptr[(g_scriptPtr-script)>>3] &= ~(BITPTR_POINTER<<((g_scriptPtr-script)&7)); - if ((labeltype[i]&LABEL_DEFINE)==0) - *(g_scriptPtr++) = (intptr_t)(script + labelcode[i]); - else - *(g_scriptPtr++) = labelcode[i]; -#else bitptr[(g_scriptPtr-script)>>3] &= ~(BITPTR_POINTER<<((g_scriptPtr-script)&7)); *(g_scriptPtr++) = labelcode[i]; -#endif + textptr += l; return labeltype[i]; } diff --git a/polymer/eduke32/source/gamedef.h b/polymer/eduke32/source/gamedef.h index 6e5dbb401..daf1e119b 100644 --- a/polymer/eduke32/source/gamedef.h +++ b/polymer/eduke32/source/gamedef.h @@ -23,10 +23,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef _gamedef_h_ #define _gamedef_h_ -// Uncomment to have the same sizeof(actor_t) and sizeof(netactor_t) across -// 32- and 64-bit builds; KEEPINSYNC with same #define in actors.h: -#define SAMESIZE_ACTOR_T - #define MAXGAMEEVENTS 128 #define LABEL_HASPARM2 1 #define LABEL_ISSTRING 2 @@ -130,11 +126,7 @@ enum vmflags_t { typedef struct { int32_t g_i, g_p, g_x; -#ifdef SAMESIZE_ACTOR_T int32_t *g_t; -#else - intptr_t *g_t; -#endif spritetype *g_sp; int32_t g_flags; } vmstate_t; diff --git a/polymer/eduke32/source/gameexec.c b/polymer/eduke32/source/gameexec.c index 282ad35b6..0608bb51b 100644 --- a/polymer/eduke32/source/gameexec.c +++ b/polymer/eduke32/source/gameexec.c @@ -421,22 +421,16 @@ GAMEEXEC_STATIC GAMEEXEC_INLINE void VM_AlterAng(int32_t a) { int32_t ticselapsed = (vm.g_t[0])&31; -#ifdef SAMESIZE_ACTOR_T const intptr_t *moveptr; if ((unsigned)vm.g_t[1] >= (unsigned)g_scriptSize) -#else - const intptr_t *moveptr = (intptr_t *)vm.g_t[1]; - if (moveptr < &script[0] || moveptr >= &script[g_scriptSize]) -#endif + { vm.g_t[1] = 0; OSD_Printf(OSD_ERROR "bad moveptr for actor %d (%d)!\n", vm.g_i, vm.g_sp->picnum); return; } -#ifdef SAMESIZE_ACTOR_T moveptr = script + vm.g_t[1]; // RESEARCH: what's with move 0 and >>> 1 <<xvel += (*moveptr-vm.g_sp->xvel)/5; if (vm.g_sp->zvel < 648) vm.g_sp->zvel += ((*(moveptr+1)<<4)-vm.g_sp->zvel)/5; @@ -565,20 +559,14 @@ GAMEEXEC_STATIC void VM_Move(void) } dead: -#ifdef SAMESIZE_ACTOR_T if ((unsigned)vm.g_t[1] >= (unsigned)g_scriptSize) -#else - if ((moveptr = (intptr_t *)vm.g_t[1]) < &script[0] || moveptr >= &script[g_scriptSize]) -#endif { vm.g_t[1] = 0; OSD_Printf(OSD_ERROR "clearing bad moveptr for actor %d (%d)\n", vm.g_i, vm.g_sp->picnum); return; } -#ifdef SAMESIZE_ACTOR_T moveptr = script + vm.g_t[1]; // RESEARCH: what's with move 0 and >>> 1 <<xvel += ((*moveptr)-vm.g_sp->xvel)>>1; if (a&getv) vm.g_sp->zvel += ((*(moveptr+1)<<4)-vm.g_sp->zvel)>>1; @@ -909,15 +897,11 @@ skip_check: insptr++; //Following changed to use pointersizes vm.g_t[5] = *insptr++; // Ai -#ifdef SAMESIZE_ACTOR_T + vm.g_t[4] = *(script + vm.g_t[5]); // Action if (vm.g_t[5]) vm.g_t[1] = *(script + vm.g_t[5] + 1); // move vm.g_sp->hitag = *(script + vm.g_t[5] + 2); // move flags -#else - vm.g_t[4] = *(intptr_t *)(vm.g_t[5]); // Action - if (vm.g_t[5]) vm.g_t[1] = *(((intptr_t *)vm.g_t[5])+1); // move - vm.g_sp->hitag = *(((intptr_t *)vm.g_t[5])+2); // move flags -#endif + vm.g_t[0] = vm.g_t[2] = vm.g_t[3] = 0; // count, actioncount... vm.g_t[3] = ?? if (A_CheckEnemySprite(vm.g_sp) && vm.g_sp->extra <= 0) // hack continue; @@ -1240,18 +1224,11 @@ skip_check: default: // fix for flying/jumping monsters getting stuck in water { -#ifdef SAMESIZE_ACTOR_T int32_t moveScriptOfs = vm.g_t[1]; -#else - const intptr_t *moveptr = (intptr_t *)vm.g_t[1]; -#endif + if (vm.g_sp->hitag & jumptoplayer || (actorscrptr[vm.g_sp->picnum] && -#ifdef SAMESIZE_ACTOR_T (unsigned)moveScriptOfs < (unsigned)g_scriptSize - 1 && *(script + moveScriptOfs + 1) -#else - (unsigned)(moveptr - script) < (unsigned)g_scriptSize - 1 && *(moveptr+1) -#endif )) { // OSD_Printf("%d\n",*(moveptr+1)); @@ -1872,17 +1849,10 @@ nullquote: if (actorscrptr[sprite[i].picnum]) { -#ifdef SAMESIZE_ACTOR_T // offsets T5 = *(actorscrptr[sprite[i].picnum]+1); // action T2 = *(actorscrptr[sprite[i].picnum]+2); // move sprite[i].hitag = *(actorscrptr[sprite[i].picnum]+3); // ai bits -#else - // pointers - T5 = *(actorscrptr[sprite[i].picnum]+1); - T2 = *(actorscrptr[sprite[i].picnum]+2); - sprite[i].hitag = *(actorscrptr[sprite[i].picnum]+3); -#endif } } changespritestat(i,j); @@ -4976,34 +4946,19 @@ void A_Execute(int32_t iActor,int32_t iPlayer,int32_t lDist) * (whether it is int32_t vs intptr_t), Although it is specifically cast to intptr_t* * which might be corrected if the code is converted to use offsets */ /* Helixhorned: let's do away with intptr_t's... */ -#ifdef SAMESIZE_ACTOR_T if ((unsigned)vm.g_t[4] + 4 < (unsigned)g_scriptSize) -#else - if ((unsigned)(vm.g_t[4]-(intptr_t)&script[0]) <= (unsigned)((intptr_t)&script[g_scriptSize]-(intptr_t)&script[0])) -#endif { vm.g_sp->lotag += TICSPERFRAME; -#ifdef SAMESIZE_ACTOR_T if (vm.g_sp->lotag > *(script + vm.g_t[4] + 4)) -#else - if (vm.g_sp->lotag > *(intptr_t *)(vm.g_t[4]+4*sizeof(*insptr))) -#endif { vm.g_t[2]++; vm.g_sp->lotag = 0; -#ifdef SAMESIZE_ACTOR_T + vm.g_t[3] += *(script + vm.g_t[4] + 3); -#else - vm.g_t[3] += *(intptr_t *)(vm.g_t[4]+3*sizeof(*insptr)); -#endif } -#ifdef SAMESIZE_ACTOR_T if (klabs(vm.g_t[3]) >= klabs(*(script + vm.g_t[4] + 1) * *(script + vm.g_t[4] + 3))) -#else - if (klabs(vm.g_t[3]) >= klabs(*(intptr_t *)(vm.g_t[4]+sizeof(*insptr)) * *(intptr_t *)(vm.g_t[4]+3*sizeof(*insptr)))) -#endif vm.g_t[3] = 0; } @@ -5105,53 +5060,8 @@ void G_SaveMapState(mapstate_t *save) Bmemcpy(save->yax_bunchnum, yax_bunchnum, sizeof(yax_bunchnum)); Bmemcpy(save->yax_nextwall, yax_nextwall, sizeof(yax_nextwall)); #endif -#if !defined SAMESIZE_ACTOR_T - for (i=MAXSPRITES-1; i>=0; i--) - { - intptr_t j; - - save->scriptptrs[i] = 0; - - if (actorscrptr[PN] == 0) continue; - - j = (intptr_t)&script[0]; - - if (T2 >= j && T2 < (intptr_t)(&script[g_scriptSize])) - { - save->scriptptrs[i] |= 1; - T2 -= j; - } - if (T5 >= j && T5 < (intptr_t)(&script[g_scriptSize])) - { - save->scriptptrs[i] |= 2; - T5 -= j; - } - if (T6 >= j && T6 < (intptr_t)(&script[g_scriptSize])) - { - save->scriptptrs[i] |= 4; - T6 -= j; - } - } -#endif - Bmemcpy(&save->actor[0],&actor[0],sizeof(actor_t)*MAXSPRITES); -#if !defined SAMESIZE_ACTOR_T - for (i=MAXSPRITES-1; i>=0; i--) - { - intptr_t j; - - if (actorscrptr[PN] == 0) continue; - j = (intptr_t)&script[0]; - - if (save->scriptptrs[i]&1) - T2 += j; - if (save->scriptptrs[i]&2) - T5 += j; - if (save->scriptptrs[i]&4) - T6 += j; - } -#endif Bmemcpy(&save->g_numCyclers,&g_numCyclers,sizeof(g_numCyclers)); Bmemcpy(&save->cyclers[0][0],&cyclers[0][0],sizeof(cyclers)); Bmemcpy(&save->g_playerSpawnPoints[0],&g_playerSpawnPoints[0],sizeof(g_playerSpawnPoints)); @@ -5247,17 +5157,7 @@ void G_RestoreMapState(mapstate_t *save) Bmemcpy(yax_nextwall, save->yax_nextwall, sizeof(yax_nextwall)); #endif Bmemcpy(&actor[0],&save->actor[0],sizeof(actor_t)*MAXSPRITES); -#if !defined SAMESIZE_ACTOR_T - for (i=MAXSPRITES-1; i>=0; i--) - { - intptr_t j; - j = (intptr_t)(&script[0]); - if (save->scriptptrs[i]&1) T2 += j; - if (save->scriptptrs[i]&2) T5 += j; - if (save->scriptptrs[i]&4) T6 += j; - } -#endif Bmemcpy(&g_numCyclers,&save->g_numCyclers,sizeof(g_numCyclers)); Bmemcpy(&cyclers[0][0],&save->cyclers[0][0],sizeof(cyclers)); Bmemcpy(&g_playerSpawnPoints[0],&save->g_playerSpawnPoints[0],sizeof(g_playerSpawnPoints)); diff --git a/polymer/eduke32/source/net.c b/polymer/eduke32/source/net.c index ce0292361..13e6c9238 100644 --- a/polymer/eduke32/source/net.c +++ b/polymer/eduke32/source/net.c @@ -612,10 +612,6 @@ int32_t Net_UnpackSprite(int32_t i, uint8_t *pbuf) if (flags & NET_ACTOR_T2) { actor[i].t_data[1] = *(int32_t *)&pbuf[j]; -#if !defined SAMESIZE_ACTOR_T - if (flags & NET_ACTOR_PTR1) - actor[i].t_data[1] += (intptr_t)&script[0]; -#endif j += sizeof(int32_t); } @@ -634,20 +630,12 @@ int32_t Net_UnpackSprite(int32_t i, uint8_t *pbuf) if (flags & NET_ACTOR_T5) { actor[i].t_data[4] = *(int32_t *)&pbuf[j]; -#if !defined SAMESIZE_ACTOR_T - if (flags & NET_ACTOR_PTR2) - actor[i].t_data[4] += (intptr_t)&script[0]; -#endif j += sizeof(int32_t); } if (flags & NET_ACTOR_T6) { actor[i].t_data[5] = *(int32_t *)&pbuf[j]; -#if !defined SAMESIZE_ACTOR_T - if (flags & NET_ACTOR_PTR3) - actor[i].t_data[5] += (intptr_t)&script[0]; -#endif j += sizeof(int32_t); } @@ -945,15 +933,7 @@ int32_t Net_PackSprite(int32_t i, uint8_t *pbuf) if (!lastupdate[i] || actor[i].t_data[1] != netactor[i].t_data[1]) { *flags |= NET_ACTOR_T2; -#if !defined SAMESIZE_ACTOR_T - if (T2 >= (intptr_t)&script[0] && T2 < (intptr_t)(&script[g_scriptSize])) - { - *flags |= NET_ACTOR_PTR1; - *(int32_t *)&pbuf[j] = (int32_t)(actor[i].t_data[1] - (intptr_t)&script[0]); - } - else -#endif - *(int32_t *)&pbuf[j] = actor[i].t_data[1]; + *(int32_t *)&pbuf[j] = actor[i].t_data[1]; j += sizeof(int32_t); } @@ -974,30 +954,14 @@ int32_t Net_PackSprite(int32_t i, uint8_t *pbuf) if (!lastupdate[i] || actor[i].t_data[4] != netactor[i].t_data[4]) { *flags |= NET_ACTOR_T5; -#if !defined SAMESIZE_ACTOR_T - if (T5 >= (intptr_t)&script[0] && T5 < (intptr_t)(&script[g_scriptSize])) - { - *flags |= NET_ACTOR_PTR2; - *(int32_t *)&pbuf[j] = (int32_t)(actor[i].t_data[4] - (intptr_t)&script[0]); - } - else -#endif - *(int32_t *)&pbuf[j] = actor[i].t_data[4]; + *(int32_t *)&pbuf[j] = actor[i].t_data[4]; j += sizeof(int32_t); } if (!lastupdate[i] || actor[i].t_data[5] != netactor[i].t_data[5]) { *flags |= NET_ACTOR_T6; -#if !defined SAMESIZE_ACTOR_T - if (T6 >= (intptr_t)&script[0] && T6 < (intptr_t)(&script[g_scriptSize])) - { - *flags |= NET_ACTOR_PTR3; - *(int32_t *)&pbuf[j] = (int32_t)(actor[i].t_data[5] - (intptr_t)&script[0]); - } - else -#endif - *(int32_t *)&pbuf[j] = actor[i].t_data[5]; + *(int32_t *)&pbuf[j] = actor[i].t_data[5]; j += sizeof(int32_t); } @@ -1822,22 +1786,9 @@ void Net_ParseServerPacket(ENetEvent *event) i = g_player[l].ps->i; - { -#if defined SAMESIZE_ACTOR_T - j++; - Bmemcpy(&T5, &pbuf[j], sizeof(T5)); - j += sizeof(T5); -#else - int16_t jj = j++; - int32_t oa = (T5 >= (intptr_t)&script[0] && T5 < (intptr_t)&script[g_scriptSize]) ? T5-(intptr_t)&script[0] : T5; - - Bmemcpy(&T5, &pbuf[j], sizeof(T5)); - j += sizeof(T5); - - if (oa != T5) T3 = T4 = 0; - if (pbuf[jj] & 2) T5 += (intptr_t)&script[0]; -#endif - } + j++; + Bmemcpy(&T5, &pbuf[j], sizeof(T5)); + j += sizeof(T5); do { @@ -2814,28 +2765,11 @@ void Net_UpdateClients(void) { int32_t jj; -#if !defined SAMESIZE_ACTOR_T - int32_t oa; -#endif + packbuf[(jj = j++)] = 0; -#if !defined SAMESIZE_ACTOR_T - if (T5 >= (intptr_t)&script[0] && T5 < (intptr_t)(&script[g_scriptSize])) - { - packbuf[jj] |= 2; - T5 -= (intptr_t)&script[0]; - } - - oa = T5; -#endif Bmemcpy(&packbuf[j], &T5, sizeof(T5)); j += sizeof(T5); - -#if !defined SAMESIZE_ACTOR_T - if (oa != T5) T3 = T4 = 0; - - if (packbuf[jj] & 2) T5 += (intptr_t)&script[0]; -#endif } { diff --git a/polymer/eduke32/source/savegame.c b/polymer/eduke32/source/savegame.c index d4b1b2886..7c4c30d42 100644 --- a/polymer/eduke32/source/savegame.c +++ b/polymer/eduke32/source/savegame.c @@ -426,9 +426,6 @@ int32_t G_LoadPlayer(int32_t spot) char fn[13]; char mpfn[13]; char *fnptr; -#if !defined SAMESIZE_ACTOR_T - char *scriptptrs; -#endif int32_t fil, bv, i, x; intptr_t j; int32_t nump; @@ -627,26 +624,8 @@ int32_t G_LoadPlayer(int32_t spot) if (kdfread(&actorLoadEventScrptr[0],sizeof(&actorLoadEventScrptr[0]),MAXTILES,fil) != MAXTILES) goto corrupt; G_Util_PtrToIdx(actorLoadEventScrptr, MAXTILES, script, P2I_BACK_NON0); -#if !defined SAMESIZE_ACTOR_T - scriptptrs = Bmalloc(MAXSPRITES * sizeof(scriptptrs)); - - if (kdfread(&scriptptrs[0],sizeof(scriptptrs),MAXSPRITES,fil) != MAXSPRITES) goto corrupt; -#endif if (kdfread(&actor[0],sizeof(actor_t),MAXSPRITES,fil) != MAXSPRITES) goto corrupt; - for (i=0; i= j && T2 < (intptr_t)(&script[g_scriptSize])) - { - scriptptrs[i] |= 1; - T2 -= j; - } - if (T5 >= j && T5 < (intptr_t)(&script[g_scriptSize])) - { - scriptptrs[i] |= 2; - T5 -= j; - } - if (T6 >= j && T6 < (intptr_t)(&script[g_scriptSize])) - { - scriptptrs[i] |= 4; - T6 -= j; - } - } - - dfwrite(&scriptptrs[0],sizeof(scriptptrs),MAXSPRITES,fil); -#endif - dfwrite(&actor[0],sizeof(actor_t),MAXSPRITES,fil); -#if !defined SAMESIZE_ACTOR_T - for (i=0; i>3][3]; -#endif static uint32_t savegame_bitptrsize; static uint8_t savegame_quotedef[MAXQUOTES>>3]; static char(*savegame_quotes)[MAXQUOTELEN]; @@ -1770,9 +1695,6 @@ static const dataspec_t svgm_script[] = { DS_SAVEFN|DS_LOADFN|DS_NOCHK, (void *)&sv_postscript_once, 0, 1 }, { DS_SAVEFN, (void *)&sv_preactordatasave, 0, 1 }, -#if !defined SAMESIZE_ACTOR_T - { 0, &savegame_bitmap, sizeof(savegame_bitmap), 1 }, -#endif { 0, &actor[0], sizeof(actor_t), MAXSPRITES }, { DS_SAVEFN|DS_LOADFN, (void *)&sv_postactordata, 0, 1 }, @@ -2306,21 +2228,11 @@ static void sv_postscript_once() static void sv_preactordatasave() { int32_t i; -#if !defined SAMESIZE_ACTOR_T - intptr_t j=(intptr_t)&script[0], k=(intptr_t)&script[g_scriptSize]; - Bmemset(savegame_bitmap, 0, sizeof(savegame_bitmap)); -#endif + for (i=0; i= j && T2 < k) savegame_bitmap[i>>3][0] |= 1<<(i&7), T2 -= j; - if (T5 >= j && T5 < k) savegame_bitmap[i>>3][1] |= 1<<(i&7), T5 -= j; - if (T6 >= j && T6 < k) savegame_bitmap[i>>3][2] |= 1<<(i&7), T6 -= j; -#endif } } @@ -2337,13 +2249,6 @@ static void sv_postactordata() { actor[i].lightptr = NULL; actor[i].lightId = -1; - -#if !defined SAMESIZE_ACTOR_T - if (sprite[i].statnum==MAXSTATUS || actorscrptr[PN]==NULL) continue; - if (savegame_bitmap[i>>3][0]&(1<<(i&7))) T2 += (intptr_t)script; - if (savegame_bitmap[i>>3][1]&(1<<(i&7))) T5 += (intptr_t)script; - if (savegame_bitmap[i>>3][2]&(1<<(i&7))) T6 += (intptr_t)script; -#endif } } diff --git a/polymer/eduke32/source/sector.h b/polymer/eduke32/source/sector.h index 8a9d074de..efef1c7a7 100644 --- a/polymer/eduke32/source/sector.h +++ b/polymer/eduke32/source/sector.h @@ -65,9 +65,7 @@ typedef struct { uint8_t g_earthquakeTime; uint8_t g_numPlayerSprites; -#if !defined SAMESIZE_ACTOR_T - uint8_t scriptptrs[MAXSPRITES]; -#endif + uint8_t show2dsector[(MAXSECTORS+7)>>3]; actor_t actor[MAXSPRITES];