From 35d989646e81c26adb6f3714160e1cb2d8239b47 Mon Sep 17 00:00:00 2001 From: helixhorned Date: Tue, 29 May 2012 20:01:55 +0000 Subject: [PATCH] A couple of minor fixes and comments that got accumulated in my tree. git-svn-id: https://svn.eduke32.com/eduke32@2709 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/src/engine.c | 1 + polymer/eduke32/source/actors.c | 1 + polymer/eduke32/source/astub.c | 2 ++ polymer/eduke32/source/game.c | 2 +- polymer/eduke32/source/gamedef.c | 3 +-- polymer/eduke32/source/gameexec.c | 12 ++++++------ polymer/eduke32/source/gamestructures.c | 3 ++- polymer/eduke32/source/sector.c | 2 +- 8 files changed, 15 insertions(+), 11 deletions(-) diff --git a/polymer/eduke32/build/src/engine.c b/polymer/eduke32/build/src/engine.c index d156616cd..b164131aa 100644 --- a/polymer/eduke32/build/src/engine.c +++ b/polymer/eduke32/build/src/engine.c @@ -14040,6 +14040,7 @@ int32_t getceilzofslope(int16_t sectnum, int32_t dax, int32_t day) walltype *wal; wal = &wall[sector[sectnum].wallptr]; + // ceil(sqrt(2**31-1)) == 46341 dx = wall[wal->point2].x-wal->x; dy = wall[wal->point2].y-wal->y; i = (nsqrtasm(dx*dx+dy*dy)<<5); if (i == 0) return(sector[sectnum].ceilingz); j = dmulscale3(dx,day-wal->y,-dy,dax-wal->x); diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index 954942f2b..5d33a5a8a 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -5877,6 +5877,7 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3 g_player[p].ps->bobposy += x; g_player[p].ps->ang += q; + g_player[p].ps->ang &= 2047; if (g_netServer || numplayers > 1) { diff --git a/polymer/eduke32/source/astub.c b/polymer/eduke32/source/astub.c index 418f098e1..6a5f06310 100644 --- a/polymer/eduke32/source/astub.c +++ b/polymer/eduke32/source/astub.c @@ -748,6 +748,8 @@ static void MultiPskyInit(void) Bmemset(pskymultioff[i], 0, sizeof(pskymultioff[i])); } + // KEEPINSYNC with Polymer MAX OFFSET = 4 + // MOONSKY1 // earth mountian mountain sun pskymultioff[0][6]=1; diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 350eb015a..d8fd081ff 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -3587,7 +3587,7 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio) } else if (software_screen_tilting) { - int32_t oviewingrange = viewingrange; // save it from setviewtotile() + int32_t oviewingrange = viewingrange; // save it from setaspect() const int16_t tang = (ud.screen_tilting) ? p->rotscrnang : 0; // To render a tilted screen in high quality, we need at least diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c index f4e71a183..e84712969 100644 --- a/polymer/eduke32/source/gamedef.c +++ b/polymer/eduke32/source/gamedef.c @@ -5637,8 +5637,7 @@ repeatcase: if (g_scriptVersion == 14) { g_spriteDeleteQueueSize = params[j++]; - if (g_spriteDeleteQueueSize > 1024) g_spriteDeleteQueueSize = 1024; - else if (g_spriteDeleteQueueSize < 0) g_spriteDeleteQueueSize = 0; + g_spriteDeleteQueueSize = clamp(g_spriteDeleteQueueSize, 0, 1024); g_tripbombLaserMode = params[j++]; } diff --git a/polymer/eduke32/source/gameexec.c b/polymer/eduke32/source/gameexec.c index 590011e67..7b926907b 100644 --- a/polymer/eduke32/source/gameexec.c +++ b/polymer/eduke32/source/gameexec.c @@ -93,6 +93,7 @@ void VM_ScriptInfo(void) initprintf("g_errorLineNum: %d, g_tw: %d\n",g_errorLineNum,g_tw); } +// May recurse, e.g. through EVENT_XXX -> ... -> EVENT_KILLIT int32_t VM_OnEvent(int32_t iEventID, int32_t iActor, int32_t iPlayer, int32_t lDist, int32_t iReturn) { #ifdef LUNATIC_ENABLE @@ -428,12 +429,12 @@ int32_t G_GetAngleDelta(int32_t a,int32_t na) return (na-a); } -GAMEEXEC_STATIC GAMEEXEC_INLINE void VM_AlterAng(int32_t a) +GAMEEXEC_STATIC void VM_AlterAng(int32_t a) { int32_t ticselapsed = (vm.g_t[0])&31; const intptr_t *moveptr; - if ((unsigned)vm.g_t[1] >= (unsigned)g_scriptSize) + if ((unsigned)vm.g_t[1] >= (unsigned)g_scriptSize-1) { vm.g_t[1] = 0; @@ -914,10 +915,9 @@ skip_check: vm.g_sp->hitag = *(script + vm.g_t[5] + 2); // move flags 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; - if (vm.g_sp->hitag&random_angle) - vm.g_sp->ang = krand()&2047; + if (!A_CheckEnemySprite(vm.g_sp) || vm.g_sp->extra > 0) // hack + if (vm.g_sp->hitag&random_angle) + vm.g_sp->ang = krand()&2047; continue; case CON_ACTION: diff --git a/polymer/eduke32/source/gamestructures.c b/polymer/eduke32/source/gamestructures.c index 3c07d75c6..099713976 100644 --- a/polymer/eduke32/source/gamestructures.c +++ b/polymer/eduke32/source/gamestructures.c @@ -566,7 +566,8 @@ static void __fastcall VM_AccessUserdef(int32_t iSet, int32_t lLabelID, int32_t case USERDEFS_DETAIL: if (iSet) { - ud.detail = lValue; + // REMINDER: must implement "boolean" setters like this in Lunatic, too. + ud.detail = !!lValue; return; } Gv_SetVarX(lVar2, ud.detail); diff --git a/polymer/eduke32/source/sector.c b/polymer/eduke32/source/sector.c index ff43be677..87fd8f2bc 100644 --- a/polymer/eduke32/source/sector.c +++ b/polymer/eduke32/source/sector.c @@ -44,7 +44,7 @@ int32_t A_CallSound(int32_t sn,int32_t whatsprite) for (SPRITES_OF_SECT(sn, i)) { - if (PN == MUSICANDSFX && SLT < 1000) + if (PN == MUSICANDSFX && (unsigned)SLT < 1000) { if (whatsprite == -1) whatsprite = i;