diff --git a/polymer/build/src/build.c b/polymer/build/src/build.c index e919f43a2..2300cab64 100644 --- a/polymer/build/src/build.c +++ b/polymer/build/src/build.c @@ -4277,8 +4277,28 @@ void overheadeditor(void) posy = mousyplc; } - if (((keystatus[buildkeys[8]] > 0) || (bstatus&16)) && (zoom < 16384)) zoom += synctics*(zoom>>4); - if (((keystatus[buildkeys[9]] > 0) || (bstatus&32)) && (zoom > 24)) zoom -= synctics*(zoom>>4); + if (((keystatus[buildkeys[8]] > 0) || (bstatus&16)) && (zoom < 16384)) + { + zoom += synctics*(zoom>>4); + if (bstatus&16 && (keystatus[0x38] || keystatus[0xb8])) + { + searchx = halfxdim16; + searchy = midydim16; + posx = mousxplc; + posy = mousyplc; + } + } + if (((keystatus[buildkeys[9]] > 0) || (bstatus&32)) && (zoom > 24)) + { + zoom -= synctics*(zoom>>4); + if (bstatus&32 && (keystatus[0x38] || keystatus[0xb8])) + { + searchx = halfxdim16; + searchy = midydim16; + posx = mousxplc; + posy = mousyplc; + } + } if (zoom < 24) zoom = 24; if (zoom > 16384) zoom = 16384; diff --git a/polymer/build/src/polymost.c b/polymer/build/src/polymost.c index 147d3a9a7..3b7a792a8 100644 --- a/polymer/build/src/polymost.c +++ b/polymer/build/src/polymost.c @@ -84,7 +84,7 @@ static double dxb1[MAXWALLSB], dxb2[MAXWALLSB]; #define FOGSCALE 0.0000640 #define PI 3.14159265358979323 -float shadescale = 1.050; +static float shadescale = 1.050; static double gyxscale, gxyaspect, gviewxrange, ghalfx, grhalfxdown10, grhalfxdown10x, ghoriz; static double gcosang, gsinang, gcosang2, gsinang2; @@ -131,23 +131,23 @@ static GLuint polymosttext = 0; extern char nofog; // Those THREE globals control the drawing of fullbright tiles -long fullbrightloadingpass = 0; -long fullbrightdrawingpass = 0; -long shadeforfullbrightpass; +static long fullbrightloadingpass = 0; +static long fullbrightdrawingpass = 0; +static long shadeforfullbrightpass; // Depth peeling control long r_depthpeeling = 0; // cvar toggling general depth peeling usage long r_peelscount = 5; // cvar controlling the number of peeling layers long r_curpeel = -1; // cvar controlling the display of independant peeling layers -float curpolygonoffset; // internal polygon offset stack for drawing flat sprites to avoid depth fighting -long peelcompiling = 0; // internal control var to disable blending when compiling the peeling display list -long newpeelscount = 0; // temporary var for peels count changing during the game +static float curpolygonoffset; // internal polygon offset stack for drawing flat sprites to avoid depth fighting +static long peelcompiling = 0; // internal control var to disable blending when compiling the peeling display list +static long newpeelscount = 0; // temporary var for peels count changing during the game // Depth peeling data -GLuint ztexture[3]; // secondary Z-buffers identifier -GLuint *peels; // peels identifiers -GLuint *peelfbos; // peels FBOs identifiers -GLuint peelprogram[2]; // ARBfp peeling fragment program +static GLuint ztexture[3]; // secondary Z-buffers identifier +static GLuint *peels; // peels identifiers +static GLuint *peelfbos; // peels FBOs identifiers +static GLuint peelprogram[2]; // ARBfp peeling fragment program // Detail mapping cvar long r_detailmapping = 1; @@ -155,16 +155,12 @@ long r_detailmapping = 1; // Glow mapping cvar long r_glowmapping = 1; -float fogresult, ofogresult, fogcol[4]; +static float fogresult, ofogresult, fogcol[4]; -void fogcalc (signed char shade, char vis, char pal) +static void fogcalc (signed char shade, char vis, char pal) { - if (vis < 240) fogresult = (float)(vis+16+(shade<0?(-(shade)*(shade))/8.f:((shade)*(shade))/8.f)); - else fogresult = (float)((vis-240+(shade<0?(-(shade)*(shade))/8.f:((shade)*(shade))/8.f))/(klabs(vis-256))); - - fogresult *= gvisibility; - -// initprintf("result: %.f\n",result); + if (vis < 240) fogresult = (float)gvisibility*(vis+16+(shade<0?(-(shade)*(shade))/8.f:((shade)*(shade))/8.f)); + else fogresult = (float)gvisibility*((vis-240+(shade<0?(-(shade)*(shade))/8.f:((shade)*(shade))/8.f))/(klabs(vis-256))); if (fogresult < 0.010) fogresult = 0.010; else if (fogresult > 10.000) fogresult = 10.000; diff --git a/polymer/build/src/winlayer.c b/polymer/build/src/winlayer.c index 3e4e67e9d..c3faa9043 100644 --- a/polymer/build/src/winlayer.c +++ b/polymer/build/src/winlayer.c @@ -117,7 +117,7 @@ char inputdevices=0; char quitevent=0, appactive=1, realfs=0; long mousex=0, mousey=0, mouseb=0; static unsigned long mousewheel[2] = { 0,0 }; -#define MouseWheelFakePressTime (25) // getticks() is a 1000Hz timer, and the button press is faked for 100ms +#define MouseWheelFakePressTime (50) // getticks() is a 1000Hz timer, and the button press is faked for 100ms long *joyaxis = NULL, joyb=0, *joyhat = NULL; char joyisgamepad=0, joynumaxes=0, joynumbuttons=0, joynumhats=0; diff --git a/polymer/eduke32/source/menus.c b/polymer/eduke32/source/menus.c index b18f14edc..0b3467f61 100644 --- a/polymer/eduke32/source/menus.c +++ b/polymer/eduke32/source/menus.c @@ -2398,7 +2398,8 @@ cheat_for_port_credits: "GL texture compression", "Cache textures on disk", "Compress disk cache", - "Detail texture support", + "Detail mapping", + "Glow mapping", "-", "Models", "-", @@ -2407,8 +2408,6 @@ cheat_for_port_credits: "-", "-", "-", - "-", - "-", NULL }; @@ -2486,6 +2485,12 @@ cheat_for_port_credits: gametextpal(d,yy, r_detailmapping && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0); break; case 7: + enabled = usehightile; + if (enabled && x==io) r_glowmapping = !r_glowmapping; + if (enabled) modval(0,1,(int *)&r_glowmapping,1,probey==io); + gametextpal(d,yy, r_glowmapping && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0); + break; + case 8: if (x==io) usemodels = 1-usemodels; modval(0,1,(int *)&usemodels,1,probey==io); gametextpal(d,yy, usemodels ? "On" : "Off", MENUHIGHLIGHT(io), 0); @@ -2802,7 +2807,6 @@ cheat_for_port_credits: case 8: #endif if (x==io) cmenu(200); - probey = 10; break; default: break; diff --git a/polymer/eduke32/source/player.c b/polymer/eduke32/source/player.c index 877ba9ac3..a1dbde28e 100644 --- a/polymer/eduke32/source/player.c +++ b/polymer/eduke32/source/player.c @@ -3399,7 +3399,8 @@ void processinput(int snum) ud.level_number = ud.from_bonus; else ud.level_number++; - if (ud.level_number > 10) ud.level_number = 0; + if (ud.level_number > MAXLEVELS-1) + ud.level_number = 0; ud.m_level_number = ud.level_number; }