From b1347517eeb58f61fab22d486902fca1efbe451a Mon Sep 17 00:00:00 2001 From: helixhorned Date: Sun, 22 Feb 2015 12:43:02 +0000 Subject: [PATCH] Classic/Polymost: factor out update of starting sectnum, use updatesectorbreadth(). The latter means that running perpendicular thin sector is handled better if there are e.g. TROR sectors in the same x/y space. git-svn-id: https://svn.eduke32.com/eduke32@5024 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/src/engine.c | 31 ++++++++++++++-------------- polymer/eduke32/build/src/polymost.c | 9 -------- 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/polymer/eduke32/build/src/engine.c b/polymer/eduke32/build/src/engine.c index 411b64b16..8bb94c13f 100644 --- a/polymer/eduke32/build/src/engine.c +++ b/polymer/eduke32/build/src/engine.c @@ -9456,6 +9456,21 @@ int32_t drawrooms(int32_t daposx, int32_t daposy, int32_t daposz, } # endif + // Update starting sector number (common to classic and Polymost). + if (globalcursectnum >= MAXSECTORS) + globalcursectnum -= MAXSECTORS; + else + { + i = globalcursectnum; + updatesectorbreadth(globalposx,globalposy,&globalcursectnum); + if (globalcursectnum < 0) globalcursectnum = i; + + // PK 20110123: I'm not sure what the line above is supposed to do, but 'i' + // *can* be negative, so let's just quit here in that case... + if (globalcursectnum<0) + return 0; + } + //============================================================================= //POLYMOST BEGINS polymost_drawrooms(); @@ -9499,22 +9514,6 @@ int32_t drawrooms(int32_t daposx, int32_t daposy, int32_t daposz, } #endif - if (globalcursectnum >= MAXSECTORS) - globalcursectnum -= MAXSECTORS; - else - { - i = globalcursectnum; - updatesector(globalposx,globalposy,&globalcursectnum); - if (globalcursectnum < 0) globalcursectnum = i; - - // PK 20110123: I'm not sure what the line above is supposed to do, but 'i' - // *can* be negative, so let's just quit here in that case... - if (globalcursectnum<0) - { - enddrawing(); //!!! - return 0; - } - } /* globparaceilclip = 1; globparaflorclip = 1; diff --git a/polymer/eduke32/build/src/polymost.c b/polymer/eduke32/build/src/polymost.c index 32fc5d392..2923079d4 100644 --- a/polymer/eduke32/build/src/polymost.c +++ b/polymer/eduke32/build/src/polymost.c @@ -3468,15 +3468,6 @@ void polymost_drawrooms() // Fixes access of stale maskwall[maskwallcnt] (a "scan" index, in BUILD lingo): maskwallcnt = 0; - if (globalcursectnum >= MAXSECTORS) - globalcursectnum -= MAXSECTORS; - else - { - i = globalcursectnum; - updatesector(globalposx,globalposy,&globalcursectnum); - if (globalcursectnum < 0) globalcursectnum = i; - } - polymost_scansector(globalcursectnum); if (inpreparemirror)