Made MouseFilter selectable over Controls menu while defaulting to OFF - Saved in PLX

This commit is contained in:
zicodxx 2009-01-17 11:02:59 +00:00
parent 85f46e5862
commit 4f535cff23
6 changed files with 29 additions and 14 deletions

View file

@ -1,5 +1,9 @@
D2X-Rebirth Changelog
20090117
--------
arch/sdl/mouse.c, main/menu.c, main/playsave.c, main/playsave.h: Made MouseFilter selectable over Controls menu while defaulting to OFF - Saved in PLX
20090116
--------
arch/ogl/ogl.c, main/gamefont.c, main/menu.c: Reduced size of vectorial reticle to match the size of the original one; Only scale fonts by float if Texture filtering is on - otherwise scale by int

View file

@ -572,7 +572,7 @@ void write_bmp(char *savename,int w,int h,unsigned char *buf)
{
con_printf(CON_URGENT,"Could not create TGA file to dump screenshot!");
d_free(buf);
return 0;
return;
}
HeightH = (GLbyte)(h / 256);

View file

@ -15,6 +15,7 @@
#include "timer.h"
#include "event.h"
#include "mouse.h"
#include "playsave.h"
struct mousebutton {
ubyte pressed;
@ -128,9 +129,12 @@ void mouse_get_delta( int *dx, int *dy, int *dz )
*dy = Mouse.delta_y;
*dz = Mouse.delta_z;
// filter delta
Mouse.delta_x = (*dx + old_delta_x) * 0.5;
Mouse.delta_y = (*dy + old_delta_y) * 0.5;
// filter delta?
if (PlayerCfg.MouseFilter)
{
Mouse.delta_x = (*dx + old_delta_x) * 0.5;
Mouse.delta_y = (*dy + old_delta_y) * 0.5;
}
old_delta_x = *dx;
old_delta_y = *dy;

View file

@ -583,9 +583,9 @@ void input_menuset(int nitems, newmenu_item * items, int *last_key, int citem )
void input_config()
{
newmenu_item m[21];
newmenu_item m[22];
int i, i1 = 5, j;
int nitems = 21;
int nitems = 22;
m[0].type = NM_TYPE_RADIO; m[0].text = "KEYBOARD"; m[0].value = 0; m[0].group = 0;
m[1].type = NM_TYPE_RADIO; m[1].text = "JOYSTICK"; m[1].value = 0; m[1].group = 0;
@ -604,10 +604,11 @@ void input_config()
m[14].type = NM_TYPE_TEXT; m[14].text = "Mouse";
m[15].type = NM_TYPE_SLIDER; m[15].text="X Sensitivity"; m[15].value=PlayerCfg.MouseSensitivityX; m[15].min_value = 0; m[15].max_value = 16;
m[16].type = NM_TYPE_SLIDER; m[16].text="Y Sensitivity"; m[16].value=PlayerCfg.MouseSensitivityY; m[16].min_value = 0; m[16].max_value = 16;
m[17].type = NM_TYPE_TEXT; m[17].text = "";
m[18].type = NM_TYPE_MENU; m[18].text = "GAME SYSTEM KEYS";
m[19].type = NM_TYPE_MENU; m[19].text = "NETGAME SYSTEM KEYS";
m[20].type = NM_TYPE_MENU; m[20].text = "DEMO SYSTEM KEYS";
m[17].type = NM_TYPE_CHECK; m[17].text="Mouse Smoothing/Filtering"; m[17].value=PlayerCfg.MouseFilter;
m[18].type = NM_TYPE_TEXT; m[18].text = "";
m[19].type = NM_TYPE_MENU; m[19].text = "GAME SYSTEM KEYS";
m[20].type = NM_TYPE_MENU; m[20].text = "NETGAME SYSTEM KEYS";
m[21].type = NM_TYPE_MENU; m[21].text = "DEMO SYSTEM KEYS";
do {
@ -623,6 +624,7 @@ void input_config()
PlayerCfg.JoystickDeadzone = m[12].value;
PlayerCfg.MouseSensitivityX = m[15].value;
PlayerCfg.MouseSensitivityY = m[16].value;
PlayerCfg.MouseFilter = m[17].value;
for (j = 0; j <= 3; j++)
if (m[j].value)
@ -643,13 +645,13 @@ void input_config()
case 7:
kconfig(4, "WEAPON KEYS");
break;
case 18:
case 19:
show_help();
break;
case 19:
case 20:
show_netgame_help();
break;
case 20:
case 21:
show_newdemo_help();
break;
}

View file

@ -113,7 +113,8 @@ int new_player_config()
PlayerCfg.JoystickSensitivityY = 8;
PlayerCfg.MouseSensitivityX = 8;
PlayerCfg.MouseSensitivityY = 8;
PlayerCfg.JoystickDeadzone = 0;
PlayerCfg.MouseFilter = 0;
PlayerCfg.JoystickDeadzone = 0;
PlayerCfg.CockpitMode = CM_FULL_COCKPIT;
PlayerCfg.Cockpit3DView[0]=CV_NONE;
PlayerCfg.Cockpit3DView[1]=CV_NONE;
@ -193,6 +194,8 @@ int read_player_d2x(char *filename)
PlayerCfg.MouseSensitivityX = atoi(line);
if(!strcmp(word,"SENSITIVITYY"))
PlayerCfg.MouseSensitivityY = atoi(line);
if(!strcmp(word,"FILTER"))
PlayerCfg.MouseFilter = atoi(line);
d_free(word);
cfgets(line,50,f);
word=splitword(line,'=');
@ -304,6 +307,7 @@ int write_player_d2x(char *filename)
PHYSFSX_printf(fout,"[mouse]\n");
PHYSFSX_printf(fout,"sensitivityx=%d\n",PlayerCfg.MouseSensitivityX);
PHYSFSX_printf(fout,"sensitivityy=%d\n",PlayerCfg.MouseSensitivityY);
PHYSFSX_printf(fout,"filter=%d\n",PlayerCfg.MouseFilter);
PHYSFSX_printf(fout,"[end]\n");
PHYSFSX_printf(fout,"[joystick]\n");
PHYSFSX_printf(fout,"sensitivityx=%d\n",PlayerCfg.JoystickSensitivityX);

View file

@ -48,6 +48,7 @@ typedef struct player_config
hli HighestLevels[MAX_MISSIONS];
ubyte MouseSensitivityX;
ubyte MouseSensitivityY;
int MouseFilter;
ubyte JoystickSensitivityX;
ubyte JoystickSensitivityY;
int JoystickDeadzone;