mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 03:00:46 +00:00
Some mouse changes... previous effect of the "mouse smoothing" menu option is now mandatory (since turning it off just means you'll lose input from tiny movements), new "mouse smoothing" effect is a more traditional average of the last 2 times the mouse input was read
git-svn-id: https://svn.eduke32.com/eduke32@1099 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
09831cd150
commit
60a4224533
11 changed files with 111 additions and 111 deletions
|
@ -895,10 +895,6 @@
|
||||||
<Filter
|
<Filter
|
||||||
Name="Misc"
|
Name="Misc"
|
||||||
>
|
>
|
||||||
<File
|
|
||||||
RelativePath=".\m32help.hlp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
</Filter>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
|
|
|
@ -198,7 +198,7 @@ void CONFIG_SetDefaults(void)
|
||||||
ud.config.MixRate = 48000;
|
ud.config.MixRate = 48000;
|
||||||
#endif
|
#endif
|
||||||
ud.config.MouseBias = 0;
|
ud.config.MouseBias = 0;
|
||||||
ud.config.MouseFilter = 0;
|
ud.config.MouseDeadZone = 0;
|
||||||
ud.config.MusicDevice = 0;
|
ud.config.MusicDevice = 0;
|
||||||
ud.config.MusicToggle = 1;
|
ud.config.MusicToggle = 1;
|
||||||
ud.config.MusicVolume = 200;
|
ud.config.MusicVolume = 200;
|
||||||
|
@ -819,8 +819,9 @@ int32 CONFIG_ReadSetup(void)
|
||||||
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","MouseAiming",&ud.mouseaiming); // 1=momentary/0=toggle
|
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","MouseAiming",&ud.mouseaiming); // 1=momentary/0=toggle
|
||||||
g_player[0].ps->aim_mode = ud.mouseaiming;
|
g_player[0].ps->aim_mode = ud.mouseaiming;
|
||||||
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","MouseBias",&ud.config.MouseBias);
|
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","MouseBias",&ud.config.MouseBias);
|
||||||
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","MouseFilter",&ud.config.MouseFilter);
|
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","MouseDeadZone",&ud.config.MouseDeadZone);
|
||||||
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","SmoothInput",&ud.config.SmoothInput);
|
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","SmoothInput",&ud.config.SmoothInput);
|
||||||
|
control_smoothmouse = ud.config.SmoothInput;
|
||||||
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","UseJoystick",&ud.config.UseJoystick);
|
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","UseJoystick",&ud.config.UseJoystick);
|
||||||
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","UseMouse",&ud.config.UseMouse);
|
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","UseMouse",&ud.config.UseMouse);
|
||||||
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","AimingFlag",(int32 *)&myaimmode); // (if toggle mode) gives state
|
SCRIPT_GetNumber(ud.config.scripthandle, "Controls","AimingFlag",(int32 *)&myaimmode); // (if toggle mode) gives state
|
||||||
|
@ -933,7 +934,7 @@ void CONFIG_WriteSetup(void)
|
||||||
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","MouseAimingFlipped",ud.mouseflip,false,false);
|
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","MouseAimingFlipped",ud.mouseflip,false,false);
|
||||||
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","MouseAiming",ud.mouseaiming,false,false);
|
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","MouseAiming",ud.mouseaiming,false,false);
|
||||||
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","MouseBias",ud.config.MouseBias,false,false);
|
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","MouseBias",ud.config.MouseBias,false,false);
|
||||||
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","MouseFilter",ud.config.MouseFilter,false,false);
|
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","MouseDeadZone",ud.config.MouseDeadZone,false,false);
|
||||||
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","SmoothInput",ud.config.SmoothInput,false,false);
|
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","SmoothInput",ud.config.SmoothInput,false,false);
|
||||||
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","RunKeyBehaviour",ud.runkey_mode,false,false);
|
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","RunKeyBehaviour",ud.runkey_mode,false,false);
|
||||||
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","UseJoystick",ud.config.UseJoystick,false,false);
|
SCRIPT_PutNumber(ud.config.scripthandle, "Controls","UseJoystick",ud.config.UseJoystick,false,false);
|
||||||
|
|
|
@ -340,7 +340,7 @@ typedef struct {
|
||||||
int RunMode;
|
int RunMode;
|
||||||
int AutoAim;
|
int AutoAim;
|
||||||
int ShowOpponentWeapons;
|
int ShowOpponentWeapons;
|
||||||
int MouseFilter,MouseBias;
|
int MouseDeadZone,MouseBias;
|
||||||
int SmoothInput;
|
int SmoothInput;
|
||||||
|
|
||||||
// JBF 20031211: Store the input settings because
|
// JBF 20031211: Store the input settings because
|
||||||
|
|
|
@ -245,8 +245,10 @@ static inline int sbarsc(int sc)
|
||||||
static inline int textsc(int sc)
|
static inline int textsc(int sc)
|
||||||
{
|
{
|
||||||
// prevent ridiculousness to a degree
|
// prevent ridiculousness to a degree
|
||||||
if (xdim <= 640) return sc;
|
if (xdim <= 320) return sc;
|
||||||
if (xdim <= 800) return scale(sc,min(300,ud.textscale),100);
|
else if (xdim <= 640) return scale(sc,min(200,ud.textscale),100);
|
||||||
|
else if (xdim <= 800) return scale(sc,min(300,ud.textscale),100);
|
||||||
|
else if (xdim <= 1024) return scale(sc,min(350,ud.textscale),100);
|
||||||
return scale(sc,ud.textscale,100);
|
return scale(sc,ud.textscale,100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -448,7 +450,7 @@ int gametextlen(int x,const char *t)
|
||||||
static inline int mpgametext(int y,const char *t,int s,int dabits)
|
static inline int mpgametext(int y,const char *t,int s,int dabits)
|
||||||
{
|
{
|
||||||
// if (xdim < 640 || ydim < 480)
|
// if (xdim < 640 || ydim < 480)
|
||||||
// return(gametext_z(0,STARTALPHANUM, 5,y,t,s,0,dabits,0, 0, xdim-1, ydim-1, 65536));
|
// return(gametext_z(0,STARTALPHANUM, 5,y,t,s,0,dabits,0, 0, xdim-1, ydim-1, 65536));
|
||||||
return(gametext_z(4,STARTALPHANUM, 5,y,t,s,0,dabits,0, 0, xdim-1, ydim-1, 65536));
|
return(gametext_z(4,STARTALPHANUM, 5,y,t,s,0,dabits,0, 0, xdim-1, ydim-1, 65536));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2724,13 +2726,13 @@ static void operatefta(void)
|
||||||
else k += 1; */
|
else k += 1; */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if (xdim >= 640 && ydim >= 480)
|
/* if (xdim >= 640 && ydim >= 480)
|
||||||
k = scale(k,ydim,200); */
|
k = scale(k,ydim,200); */
|
||||||
|
|
||||||
j = k;
|
j = k;
|
||||||
|
|
||||||
// quotebot = min(quotebot,j);
|
// quotebot = min(quotebot,j);
|
||||||
// quotebotgoal = min(quotebotgoal,j);
|
// quotebotgoal = min(quotebotgoal,j);
|
||||||
// if (g_player[myconnectindex].ps->gm&MODE_TYPE) j -= 8;
|
// if (g_player[myconnectindex].ps->gm&MODE_TYPE) j -= 8;
|
||||||
//quotebotgoal = j;
|
//quotebotgoal = j;
|
||||||
//j = quotebot;
|
//j = quotebot;
|
||||||
|
@ -2739,9 +2741,18 @@ static void operatefta(void)
|
||||||
{
|
{
|
||||||
if (user_quote_time[i] <= 0) continue;
|
if (user_quote_time[i] <= 0) continue;
|
||||||
k = user_quote_time[i];
|
k = user_quote_time[i];
|
||||||
if (k > 4) { mpgametext(j,user_quote[i],0,2+8+16); j += textsc(8); }
|
if (hud_glowingquotes)
|
||||||
else if (k > 2) { mpgametext(j,user_quote[i],0,2+8+16+1); j += textsc(k<<1); }
|
{
|
||||||
else { mpgametext(j,user_quote[i],0,2+8+16+1+32); j += textsc(k<<1); }
|
if (k > 4) { mpgametext(j,user_quote[i],(sintable[(totalclock<<5)&2047]>>11),2+8+16); j += textsc(8); }
|
||||||
|
else if (k > 2) { mpgametext(j,user_quote[i],(sintable[(totalclock<<5)&2047]>>11),2+8+16+1); j += textsc(k<<1); }
|
||||||
|
else { mpgametext(j,user_quote[i],(sintable[(totalclock<<5)&2047]>>11),2+8+16+1+32); j += textsc(k<<1); }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (k > 4) { mpgametext(j,user_quote[i],0,2+8+16); j += textsc(8); }
|
||||||
|
else if (k > 2) { mpgametext(j,user_quote[i],0,2+8+16+1); j += textsc(k<<1); }
|
||||||
|
else { mpgametext(j,user_quote[i],0,2+8+16+1+32); j += textsc(k<<1); }
|
||||||
|
}
|
||||||
l = gametextlen(USERQUOTE_LEFTOFFSET,stripcolorcodes(tempbuf,user_quote[i]));
|
l = gametextlen(USERQUOTE_LEFTOFFSET,stripcolorcodes(tempbuf,user_quote[i]));
|
||||||
while (l > (ud.config.ScreenWidth - USERQUOTE_RIGHTOFFSET))
|
while (l > (ud.config.ScreenWidth - USERQUOTE_RIGHTOFFSET))
|
||||||
{
|
{
|
||||||
|
@ -2791,9 +2802,9 @@ static void operatefta(void)
|
||||||
else gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],0,2+8+16+1+32);
|
else gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],0,2+8+16+1+32);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (j > 4) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>10),2+8+16);
|
if (j > 4) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>11),2+8+16);
|
||||||
else if (j > 2) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>10),2+8+16+1);
|
else if (j > 2) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>11),2+8+16+1);
|
||||||
else gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>10),2+8+16+1+32);
|
else gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>11),2+8+16+1+32);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FTA(int q, player_struct *p)
|
void FTA(int q, player_struct *p)
|
||||||
|
@ -3542,7 +3553,8 @@ void GetCrosshairColor(void)
|
||||||
}
|
}
|
||||||
ptr++;
|
ptr++;
|
||||||
ii--;
|
ii--;
|
||||||
} while (ii > 0);
|
}
|
||||||
|
while (ii > 0);
|
||||||
|
|
||||||
default_crosshair_colors.r = crosshair_colors.r = curpalette[bri].r;
|
default_crosshair_colors.r = crosshair_colors.r = curpalette[bri].r;
|
||||||
default_crosshair_colors.g = crosshair_colors.g = curpalette[bri].g;
|
default_crosshair_colors.g = crosshair_colors.g = curpalette[bri].g;
|
||||||
|
@ -11427,10 +11439,11 @@ MAIN_LOOP_RESTART:
|
||||||
|
|
||||||
{
|
{
|
||||||
static unsigned int lastrender = 0;
|
static unsigned int lastrender = 0;
|
||||||
|
unsigned int j = getticks();
|
||||||
|
|
||||||
if (r_maxfps == 0 || getticks() >= lastrender+g_FrameDelay)
|
if (r_maxfps == 0 || j >= lastrender+g_FrameDelay)
|
||||||
{
|
{
|
||||||
lastrender = getticks();
|
lastrender = j;
|
||||||
displayrooms(screenpeek,i);
|
displayrooms(screenpeek,i);
|
||||||
displayrest(i);
|
displayrest(i);
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,7 @@ static int32 CONTROL_DoubleClickSpeed;
|
||||||
int extinput[CONTROL_NUM_FLAGS];
|
int extinput[CONTROL_NUM_FLAGS];
|
||||||
keybind boundkeys[MAXBOUNDKEYS], mousebind[MAXMOUSEBUTTONS];
|
keybind boundkeys[MAXBOUNDKEYS], mousebind[MAXMOUSEBUTTONS];
|
||||||
int bindsenabled = 0;
|
int bindsenabled = 0;
|
||||||
|
int control_smoothmouse = 0;
|
||||||
|
|
||||||
void CONTROL_GetMouseDelta(void)
|
void CONTROL_GetMouseDelta(void)
|
||||||
{
|
{
|
||||||
|
@ -66,15 +67,16 @@ void CONTROL_GetMouseDelta(void)
|
||||||
|
|
||||||
MOUSE_GetDelta(&x, &y);
|
MOUSE_GetDelta(&x, &y);
|
||||||
|
|
||||||
/* What in the name of all things sacred is this?
|
if (control_smoothmouse)
|
||||||
if (labs(*x) > labs(*y)) {
|
{
|
||||||
*x /= 3;
|
static int32 lastx = 0, lasty = 0;
|
||||||
} else {
|
|
||||||
*y /= 3;
|
CONTROL_MouseAxes[0].analog = (((x + lastx) / 2) * (CONTROL_MouseSensitivity<<1));
|
||||||
|
CONTROL_MouseAxes[1].analog = (((y + lasty) / 2) * (CONTROL_MouseSensitivity<<1))<<1;
|
||||||
|
lastx = x;
|
||||||
|
lasty = y;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
*y = *y * 96;
|
|
||||||
*x = (*x * 32 * CONTROL_MouseSensitivity) >> 15;
|
|
||||||
*/
|
|
||||||
|
|
||||||
CONTROL_MouseAxes[0].analog = (x * (CONTROL_MouseSensitivity<<1));
|
CONTROL_MouseAxes[0].analog = (x * (CONTROL_MouseSensitivity<<1));
|
||||||
CONTROL_MouseAxes[1].analog = (y * (CONTROL_MouseSensitivity<<1))<<1;
|
CONTROL_MouseAxes[1].analog = (y * (CONTROL_MouseSensitivity<<1))<<1;
|
||||||
|
|
|
@ -231,6 +231,7 @@ void CONTROL_ProcessBinds(void);
|
||||||
|
|
||||||
#define CONTROL_NUM_FLAGS 64
|
#define CONTROL_NUM_FLAGS 64
|
||||||
extern int extinput[CONTROL_NUM_FLAGS];
|
extern int extinput[CONTROL_NUM_FLAGS];
|
||||||
|
extern int control_smoothmouse;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
};
|
};
|
||||||
|
|
|
@ -2433,7 +2433,7 @@ cheat_for_port_credits:
|
||||||
case 230:
|
case 230:
|
||||||
#if defined(POLYMOST) && defined(USE_OPENGL)
|
#if defined(POLYMOST) && defined(USE_OPENGL)
|
||||||
rotatesprite(320<<15,19<<16,65536L,0,MENUBAR,16,0,10,0,0,xdim-1,ydim-1);
|
rotatesprite(320<<15,19<<16,65536L,0,MENUBAR,16,0,10,0,0,xdim-1,ydim-1);
|
||||||
menutext(320>>1,24,0,0,"VIDEO SETUP");
|
menutext(320>>1,24,0,0,"RENDERER SETUP");
|
||||||
|
|
||||||
c = (320>>1)-120;
|
c = (320>>1)-120;
|
||||||
|
|
||||||
|
@ -3020,7 +3020,7 @@ cheat_for_port_credits:
|
||||||
int osdmode = OSD_GetTextMode();
|
int osdmode = OSD_GetTextMode();
|
||||||
if (x==io) osdmode = !osdmode;
|
if (x==io) osdmode = !osdmode;
|
||||||
modval(0,1,(int *)&osdmode,1,probey==io);
|
modval(0,1,(int *)&osdmode,1,probey==io);
|
||||||
mgametextpal(d,yy, osdmode? "Fast" : "Nice", MENUHIGHLIGHT(io), 0);
|
mgametextpal(d,yy, osdmode? "Plain" : "Sprites", MENUHIGHLIGHT(io), 0);
|
||||||
if (OSD_GetTextMode() != osdmode)
|
if (OSD_GetTextMode() != osdmode)
|
||||||
OSD_SetTextMode(osdmode);
|
OSD_SetTextMode(osdmode);
|
||||||
break;
|
break;
|
||||||
|
@ -3482,7 +3482,7 @@ cheat_for_port_credits:
|
||||||
if (gltexfiltermode != filter)
|
if (gltexfiltermode != filter)
|
||||||
gltexapplyprops();
|
gltexapplyprops();
|
||||||
mgametextpal(c+168,50+62+16+16-8,tempbuf,MENUHIGHLIGHT(5),!getrendermode());
|
mgametextpal(c+168,50+62+16+16-8,tempbuf,MENUHIGHLIGHT(5),!getrendermode());
|
||||||
menutext(c,50+62+16+16+16,MENUHIGHLIGHT(6),bpp==8,"MORE SETTINGS");
|
menutext(c,50+62+16+16+16,MENUHIGHLIGHT(6),bpp==8,"RENDERER SETUP");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
@ -3664,6 +3664,7 @@ cheat_for_port_credits:
|
||||||
{
|
{
|
||||||
//input smoothing
|
//input smoothing
|
||||||
ud.config.SmoothInput = !ud.config.SmoothInput;
|
ud.config.SmoothInput = !ud.config.SmoothInput;
|
||||||
|
control_smoothmouse = ud.config.SmoothInput;
|
||||||
}
|
}
|
||||||
else if (x == (MAXMOUSEBUTTONS-2)*2+2+2+2)
|
else if (x == (MAXMOUSEBUTTONS-2)*2+2+2+2)
|
||||||
{
|
{
|
||||||
|
@ -3720,7 +3721,7 @@ cheat_for_port_credits:
|
||||||
mgametextpal(40,118,"Base mouse sensitivity",MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2),10);
|
mgametextpal(40,118,"Base mouse sensitivity",MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2),10);
|
||||||
mgametextpal(40,118+9,"Use mouse aiming",!ud.mouseaiming?MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+1):DISABLEDMENUSHADE,10);
|
mgametextpal(40,118+9,"Use mouse aiming",!ud.mouseaiming?MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+1):DISABLEDMENUSHADE,10);
|
||||||
mgametextpal(40,118+9+9,"Invert mouse",MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+2),10);
|
mgametextpal(40,118+9+9,"Invert mouse",MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+2),10);
|
||||||
mgametextpal(40,118+9+9+9,"Use mouse input smoothing",MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+2+1),10);
|
mgametextpal(40,118+9+9+9,"Smooth mouse movement",MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+2+1),10);
|
||||||
mgametextpal(40,118+9+9+9+9,"Advanced mouse setup",MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+2+2),10);
|
mgametextpal(40,118+9+9+9+9,"Advanced mouse setup",MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+2+2),10);
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -3739,6 +3740,11 @@ cheat_for_port_credits:
|
||||||
|
|
||||||
modval(0,1,(int *)&ud.mouseflip,1,probey == (MAXMOUSEBUTTONS-2)*2+2+2);
|
modval(0,1,(int *)&ud.mouseflip,1,probey == (MAXMOUSEBUTTONS-2)*2+2+2);
|
||||||
modval(0,1,(int *)&ud.config.SmoothInput,1,probey == (MAXMOUSEBUTTONS-2)*2+2+2+1);
|
modval(0,1,(int *)&ud.config.SmoothInput,1,probey == (MAXMOUSEBUTTONS-2)*2+2+2+1);
|
||||||
|
if (probey == (MAXMOUSEBUTTONS-2)*2+2+2+1)
|
||||||
|
{
|
||||||
|
mgametext(160,160+9,"THIS OPTION INCURS A MOVEMENT DELAY",0,2+8+16);
|
||||||
|
control_smoothmouse = ud.config.SmoothInput;
|
||||||
|
}
|
||||||
|
|
||||||
mgametextpal(240,118+9, myaimmode && !ud.mouseaiming ? "Yes" : "No", !ud.mouseaiming?MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+1):DISABLEDMENUSHADE, 0);
|
mgametextpal(240,118+9, myaimmode && !ud.mouseaiming ? "Yes" : "No", !ud.mouseaiming?MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+1):DISABLEDMENUSHADE, 0);
|
||||||
mgametextpal(240,118+9+9, !ud.mouseflip ? "Yes" : "No", MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+2), 0);
|
mgametextpal(240,118+9+9, !ud.mouseflip ? "Yes" : "No", MENUHIGHLIGHT((MAXMOUSEBUTTONS-2)*2+2+2), 0);
|
||||||
|
@ -4004,19 +4010,19 @@ cheat_for_port_credits:
|
||||||
mgametext(c+160-16,46+16-8,tempbuf,MENUHIGHLIGHT(1),2+8+16);
|
mgametext(c+160-16,46+16-8,tempbuf,MENUHIGHLIGHT(1),2+8+16);
|
||||||
|
|
||||||
menutext(c,46+16+16,MENUHIGHLIGHT(2),0,"DEAD ZONE");
|
menutext(c,46+16+16,MENUHIGHLIGHT(2),0,"DEAD ZONE");
|
||||||
l = ud.config.MouseFilter>>1;
|
l = ud.config.MouseDeadZone>>1;
|
||||||
bar(c+160+40,46+16+16,&l,2,x==2,MENUHIGHLIGHT(2),0);
|
bar(c+160+40,46+16+16,&l,2,x==2,MENUHIGHLIGHT(2),0);
|
||||||
ud.config.MouseFilter = l<<1;
|
ud.config.MouseDeadZone = l<<1;
|
||||||
rotatesprite(320<<15,94<<16,65536L,0,MENUBAR,16,0,10,0,0,xdim-1,ydim-1);
|
rotatesprite(320<<15,94<<16,65536L,0,MENUBAR,16,0,10,0,0,xdim-1,ydim-1);
|
||||||
menutext(320>>1,43+16+16+16+8,0,0,"DIGITAL AXES SETUP");
|
menutext(320>>1,43+16+16+16+8,0,0,"DIGITAL AXES SETUP");
|
||||||
|
|
||||||
if (ud.config.MouseFilter == 0)
|
if (ud.config.MouseDeadZone == 0)
|
||||||
Bsprintf(tempbuf," OFF");
|
Bsprintf(tempbuf," OFF");
|
||||||
else if (ud.config.MouseFilter < 48)
|
else if (ud.config.MouseDeadZone < 48)
|
||||||
Bsprintf(tempbuf," LOW");
|
Bsprintf(tempbuf," LOW");
|
||||||
else if (ud.config.MouseFilter < 96)
|
else if (ud.config.MouseDeadZone < 96)
|
||||||
Bsprintf(tempbuf," MED");
|
Bsprintf(tempbuf," MED");
|
||||||
else if (ud.config.MouseFilter < 128)
|
else if (ud.config.MouseDeadZone < 128)
|
||||||
Bsprintf(tempbuf,"HIGH");
|
Bsprintf(tempbuf,"HIGH");
|
||||||
|
|
||||||
mgametext(c+160-16,46+16+16-8,tempbuf,MENUHIGHLIGHT(2),2+8+16);
|
mgametext(c+160-16,46+16+16-8,tempbuf,MENUHIGHLIGHT(2),2+8+16);
|
||||||
|
@ -4444,7 +4450,7 @@ cheat_for_port_credits:
|
||||||
"Restart sound system",
|
"Restart sound system",
|
||||||
"-",
|
"-",
|
||||||
"Duke talk",
|
"Duke talk",
|
||||||
"Other player sounds in DM",
|
"Dukematch player sounds",
|
||||||
"Ambient sounds",
|
"Ambient sounds",
|
||||||
"Reverse stereo channels",
|
"Reverse stereo channels",
|
||||||
NULL
|
NULL
|
||||||
|
|
|
@ -747,8 +747,8 @@ cvarmappings cvar[] =
|
||||||
{ "cl_angleinterpolation", "cl_angleinterpolation: enable/disable angle interpolation", (void*)&ud.angleinterpolation, CVAR_INT, 0, 0, 256 },
|
{ "cl_angleinterpolation", "cl_angleinterpolation: enable/disable angle interpolation", (void*)&ud.angleinterpolation, CVAR_INT, 0, 0, 256 },
|
||||||
|
|
||||||
{ "in_mousebias", "in_mousebias: emulates the original mouse code's weighting of input towards whichever axis is moving the most at any given time\n", (void*)&ud.config.MouseBias, CVAR_INT, 0, 0, 32 },
|
{ "in_mousebias", "in_mousebias: emulates the original mouse code's weighting of input towards whichever axis is moving the most at any given time\n", (void*)&ud.config.MouseBias, CVAR_INT, 0, 0, 32 },
|
||||||
{ "in_mousefilter", "in_mousefilter: amount of mouse movement to filter out\n", (void*)&ud.config.MouseFilter, CVAR_INT, 0, 0, 512 },
|
{ "in_mousedeadzone", "in_mousedeadzone: amount of mouse movement to filter out\n", (void*)&ud.config.MouseDeadZone, CVAR_INT, 0, 0, 512 },
|
||||||
{ "in_smoothinput", "in_smoothinput: enable/disable input smoothing\n", (void*)&ud.config.SmoothInput, CVAR_BOOL, 0, 0, 1 },
|
{ "in_mousesmoothing", "in_mousesmoothing: enable/disable mouse input smoothing\n", (void*)&ud.config.SmoothInput, CVAR_BOOL, 0, 0, 1 },
|
||||||
|
|
||||||
#if defined(POLYMOST) && defined(USE_OPENGL)
|
#if defined(POLYMOST) && defined(USE_OPENGL)
|
||||||
{ "r_anamorphic", "r_anamorphic: enable/disable widescreen mode", (void*)&glwidescreen, CVAR_BOOL, 0, 0, 1 },
|
{ "r_anamorphic", "r_anamorphic: enable/disable widescreen mode", (void*)&glwidescreen, CVAR_BOOL, 0, 0, 1 },
|
||||||
|
|
|
@ -2789,8 +2789,7 @@ int jump_input = 0;
|
||||||
void getinput(int snum)
|
void getinput(int snum)
|
||||||
{
|
{
|
||||||
int j, daang;
|
int j, daang;
|
||||||
static ControlInfo info;
|
static ControlInfo info[2];
|
||||||
static ControlInfo lastinfo = { 0,0,0,0,0,0 };
|
|
||||||
int32 tics;
|
int32 tics;
|
||||||
boolean running;
|
boolean running;
|
||||||
int32 turnamount;
|
int32 turnamount;
|
||||||
|
@ -2801,8 +2800,8 @@ void getinput(int snum)
|
||||||
if ((p->gm&MODE_MENU) || (p->gm&MODE_TYPE) || (ud.pause_on && !KB_KeyPressed(sc_Pause)) || (numplayers > 1 && totalclock < 10)) // HACK: kill getinput() for the first 10 tics of a new map in multi
|
if ((p->gm&MODE_MENU) || (p->gm&MODE_TYPE) || (ud.pause_on && !KB_KeyPressed(sc_Pause)) || (numplayers > 1 && totalclock < 10)) // HACK: kill getinput() for the first 10 tics of a new map in multi
|
||||||
{
|
{
|
||||||
if (!(p->gm&MODE_MENU))
|
if (!(p->gm&MODE_MENU))
|
||||||
CONTROL_GetInput(&info);
|
CONTROL_GetInput(&info[0]);
|
||||||
memset(&lastinfo, 0, sizeof(lastinfo));
|
memset(&info[1], 0, sizeof(info[1]));
|
||||||
loc.fvel = vel = 0;
|
loc.fvel = vel = 0;
|
||||||
loc.svel = svel = 0;
|
loc.svel = svel = 0;
|
||||||
loc.avel = angvel = 0;
|
loc.avel = angvel = 0;
|
||||||
|
@ -2838,41 +2837,41 @@ void getinput(int snum)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CONTROL_GetInput(&info);
|
CONTROL_GetInput(&info[0]);
|
||||||
|
|
||||||
if (ud.config.MouseFilter)
|
if (ud.config.MouseDeadZone)
|
||||||
{
|
{
|
||||||
if (info.dpitch > 0)
|
if (info[0].dpitch > 0)
|
||||||
{
|
{
|
||||||
if (info.dpitch > ud.config.MouseFilter)
|
if (info[0].dpitch > ud.config.MouseDeadZone)
|
||||||
info.dpitch -= ud.config.MouseFilter;
|
info[0].dpitch -= ud.config.MouseDeadZone;
|
||||||
else info.dpitch = 0;
|
else info[0].dpitch = 0;
|
||||||
}
|
}
|
||||||
else if (info.dpitch < 0)
|
else if (info[0].dpitch < 0)
|
||||||
{
|
{
|
||||||
if (info.dpitch < -ud.config.MouseFilter)
|
if (info[0].dpitch < -ud.config.MouseDeadZone)
|
||||||
info.dpitch += ud.config.MouseFilter;
|
info[0].dpitch += ud.config.MouseDeadZone;
|
||||||
else info.dpitch = 0;
|
else info[0].dpitch = 0;
|
||||||
}
|
}
|
||||||
if (info.dyaw > 0)
|
if (info[0].dyaw > 0)
|
||||||
{
|
{
|
||||||
if (info.dyaw > ud.config.MouseFilter)
|
if (info[0].dyaw > ud.config.MouseDeadZone)
|
||||||
info.dyaw -= ud.config.MouseFilter;
|
info[0].dyaw -= ud.config.MouseDeadZone;
|
||||||
else info.dyaw = 0;
|
else info[0].dyaw = 0;
|
||||||
}
|
}
|
||||||
else if (info.dyaw < 0)
|
else if (info[0].dyaw < 0)
|
||||||
{
|
{
|
||||||
if (info.dyaw < -ud.config.MouseFilter)
|
if (info[0].dyaw < -ud.config.MouseDeadZone)
|
||||||
info.dyaw += ud.config.MouseFilter;
|
info[0].dyaw += ud.config.MouseDeadZone;
|
||||||
else info.dyaw = 0;
|
else info[0].dyaw = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ud.config.MouseBias)
|
if (ud.config.MouseBias)
|
||||||
{
|
{
|
||||||
if (klabs(info.dyaw) > klabs(info.dpitch))
|
if (klabs(info[0].dyaw) > klabs(info[0].dpitch))
|
||||||
info.dpitch /= ud.config.MouseBias;
|
info[0].dpitch /= ud.config.MouseBias;
|
||||||
else info.dyaw /= ud.config.MouseBias;
|
else info[0].dyaw /= ud.config.MouseBias;
|
||||||
}
|
}
|
||||||
|
|
||||||
tics = totalclock-lastcontroltime;
|
tics = totalclock-lastcontroltime;
|
||||||
|
@ -2963,44 +2962,26 @@ void getinput(int snum)
|
||||||
|
|
||||||
svel = vel = angvel = horiz = 0;
|
svel = vel = angvel = horiz = 0;
|
||||||
|
|
||||||
if (ud.config.SmoothInput)
|
if (BUTTON(gamefunc_Strafe))
|
||||||
{
|
{
|
||||||
if (BUTTON(gamefunc_Strafe))
|
svel = -(info[0].dyaw+info[1].dyaw)/8;
|
||||||
{
|
info[1].dyaw = (info[1].dyaw+info[0].dyaw) % 8;
|
||||||
svel = -(info.dyaw+lastinfo.dyaw)/8;
|
|
||||||
lastinfo.dyaw = (lastinfo.dyaw+info.dyaw) % 8;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
angvel = (info.dyaw+lastinfo.dyaw)/64;
|
|
||||||
lastinfo.dyaw = (lastinfo.dyaw+info.dyaw) % 64;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ud.mouseflip)
|
|
||||||
horiz = -(info.dpitch+lastinfo.dpitch)/(314-128);
|
|
||||||
else horiz = (info.dpitch+lastinfo.dpitch)/(314-128);
|
|
||||||
|
|
||||||
lastinfo.dpitch = (lastinfo.dpitch+info.dpitch) % (314-128);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (BUTTON(gamefunc_Strafe))
|
angvel = (info[0].dyaw+info[1].dyaw)/64;
|
||||||
{
|
info[1].dyaw = (info[1].dyaw+info[0].dyaw) % 64;
|
||||||
svel = -info.dyaw/8;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
angvel = info.dyaw/64;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ud.mouseflip)
|
|
||||||
horiz -= info.dpitch/(314-128);
|
|
||||||
else horiz += info.dpitch/(314-128);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
svel -= info.dx;
|
if (ud.mouseflip)
|
||||||
lastinfo.dz = info.dz % (1<<6);
|
horiz = -(info[0].dpitch+info[1].dpitch)/(314-128);
|
||||||
vel = -info.dz>>6;
|
else horiz = (info[0].dpitch+info[1].dpitch)/(314-128);
|
||||||
|
|
||||||
|
info[1].dpitch = (info[1].dpitch+info[0].dpitch) % (314-128);
|
||||||
|
|
||||||
|
svel -= info[0].dx;
|
||||||
|
info[1].dz = info[0].dz % (1<<6);
|
||||||
|
vel = -info[0].dz>>6;
|
||||||
|
|
||||||
if (running)
|
if (running)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1649,14 +1649,14 @@ void checkhitwall(int spr,int dawallnum,int x,int y,int z,int atwith)
|
||||||
case SEENINE__STATIC:
|
case SEENINE__STATIC:
|
||||||
case OOZFILTER__STATIC:
|
case OOZFILTER__STATIC:
|
||||||
case EXPLODINGBARREL__STATIC:
|
case EXPLODINGBARREL__STATIC:
|
||||||
if (wal->nextwall == -1 || wall[wal->nextwall].pal != 4)
|
if (wal->nextwall == -1 || wall[wal->nextwall].pal != 4)
|
||||||
{
|
{
|
||||||
lotsofglass(spr,dawallnum,70);
|
lotsofglass(spr,dawallnum,70);
|
||||||
wal->cstat &= ~16;
|
wal->cstat &= ~16;
|
||||||
wal->overpicnum = MIRRORBROKE;
|
wal->overpicnum = MIRRORBROKE;
|
||||||
spritesound(GLASS_HEAVYBREAK,spr);
|
spritesound(GLASS_HEAVYBREAK,spr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue