Mouse sensitivity stuff

git-svn-id: https://svn.eduke32.com/eduke32@441 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2007-01-02 02:27:31 +00:00
parent 4bc6daa489
commit ad6cfa105e
4 changed files with 36 additions and 13 deletions

View file

@ -531,14 +531,14 @@ void editinput(void)
mousy = (mousy<<16)+mouseysurp; mousy = (mousy<<16)+mouseysurp;
{ {
ldiv_t ld; ldiv_t ld;
ld = ldiv((long)((double)mousx*msens), (1<<16)); mousx = ld.quot; mousexsurp = ld.rem; ld = ldiv((long)(mousx), (1<<16)); mousx = ld.quot; mousexsurp = ld.rem;
ld = ldiv((long)((double)mousy*msens), (1<<16)); mousy = ld.quot; mouseysurp = ld.rem; ld = ldiv((long)(mousy), (1<<16)); mousy = ld.quot; mouseysurp = ld.rem;
} }
if (mlook == 1) if (mlook == 1)
{ {
ang += mousx>>1; ang += (mousx>>1)*msens;
horiz -= (mousy>>2); horiz -= (mousy>>2)*msens;
if (mousy && !(mousy>>2)) if (mousy && !(mousy>>2))
horiz--; horiz--;
@ -2832,11 +2832,11 @@ void overheadeditor(void)
mousy = (mousy<<16)+mouseysurp; mousy = (mousy<<16)+mouseysurp;
{ {
ldiv_t ld; ldiv_t ld;
ld = ldiv((long)((double)mousx*msens), (1<<16)); mousx = ld.quot; mousexsurp = ld.rem; ld = ldiv((long)(mousx), (1<<16)); mousx = ld.quot; mousexsurp = ld.rem;
ld = ldiv((long)((double)mousy*msens), (1<<16)); mousy = ld.quot; mouseysurp = ld.rem; ld = ldiv((long)(mousy), (1<<16)); mousy = ld.quot; mouseysurp = ld.rem;
} }
searchx += mousx; searchx += mousx*msens;
searchy += mousy; searchy += mousy*msens;
if (searchx < 8) searchx = 8; if (searchx < 8) searchx = 8;
if (searchx > xdim-8-1) searchx = xdim-8-1; if (searchx > xdim-8-1) searchx = xdim-8-1;
if (searchy < 8) searchy = 8; if (searchy < 8) searchy = 8;

View file

@ -173,7 +173,6 @@ if (readconfig(fp, "renderer", val, VL) > 0) { i = Batoi(val); setrendermode(i);
if (readconfig(fp, "keyconsole", val, VL) > 0) { keys[19] = Bstrtol(val, NULL, 16); OSD_CaptureKey(keys[19]); } if (readconfig(fp, "keyconsole", val, VL) > 0) { keys[19] = Bstrtol(val, NULL, 16); OSD_CaptureKey(keys[19]); }
if (readconfig(fp, "mousesensitivity", val, VL) > 0) msens = Bstrtod(val, NULL); if (readconfig(fp, "mousesensitivity", val, VL) > 0) msens = Bstrtod(val, NULL);
Bfclose(fp); Bfclose(fp);
return 0; return 0;

View file

@ -62,6 +62,7 @@ enum {
T_FOGPAL, T_FOGPAL,
T_LOADGRP, T_LOADGRP,
T_DUMMYTILE,T_DUMMYTILERANGE, T_DUMMYTILE,T_DUMMYTILERANGE,
T_CACHESIZE
}; };
typedef struct { char *text; int tokenid; } tokenlist; typedef struct { char *text; int tokenid; } tokenlist;
@ -107,6 +108,7 @@ static tokenlist basetokens[] =
{ "loadgrp", T_LOADGRP }, { "loadgrp", T_LOADGRP },
{ "dummytile", T_DUMMYTILE }, { "dummytile", T_DUMMYTILE },
{ "dummytilerange", T_DUMMYTILERANGE }, { "dummytilerange", T_DUMMYTILERANGE },
{ "cachesize", T_CACHESIZE },
}; };
static tokenlist modeltokens[] = { static tokenlist modeltokens[] = {
@ -407,6 +409,13 @@ static int defsparser(scriptfile *script)
scriptfile_getstring(script,&bs); scriptfile_getstring(script,&bs);
} }
break; break;
case T_CACHESIZE:
{
int j;
if (scriptfile_getnumber(script,&j)) break;
}
break;
case T_DUMMYTILE: case T_DUMMYTILE:
{ {
int tile, xsiz, ysiz, j; int tile, xsiz, ysiz, j;

View file

@ -59,6 +59,7 @@ static BFILE *osdlog=NULL; // log filehandle
static char osdinited=0; // text buffer initialised? static char osdinited=0; // text buffer initialised?
static int osdkey=0x29; // tilde shows the osd static int osdkey=0x29; // tilde shows the osd
static int keytime=0; static int keytime=0;
static long osdscrtime = 0;
// command prompt editing // command prompt editing
#define EDITLENGTH 512 #define EDITLENGTH 512
@ -373,6 +374,7 @@ int OSD_HandleKey(int sc, int press)
osdscroll = -1; osdscroll = -1;
osdrowscur += osdscroll; osdrowscur += osdscroll;
OSD_CaptureInput(osdscroll == 1); OSD_CaptureInput(osdscroll == 1);
osdscrtime = getticks();
} }
return 0;//sc; return 0;//sc;
} else if (!osdinput) { } else if (!osdinput) {
@ -519,6 +521,7 @@ int OSD_HandleKey(int sc, int press)
osdscroll = -1; osdscroll = -1;
osdrowscur += osdscroll; osdrowscur += osdscroll;
OSD_CaptureInput(0); OSD_CaptureInput(0);
osdscrtime = getticks();
} else if (sc == 201) { // page up } else if (sc == 201) { // page up
if (osdhead < osdlines-1) if (osdhead < osdlines-1)
osdhead++; osdhead++;
@ -704,6 +707,7 @@ void OSD_ShowDisplay(int onf)
// //
// OSD_Draw() -- Draw the onscreen display // OSD_Draw() -- Draw the onscreen display
// //
void OSD_Draw(void) void OSD_Draw(void)
{ {
unsigned topoffs; unsigned topoffs;
@ -718,11 +722,22 @@ void OSD_Draw(void)
osdscroll = 0; osdscroll = 0;
else else
{ {
/*
int i = getticks();
if (!osdscrtime) osdscrtime = i;
*/
if ((osdrowscur < osdrows && osdscroll == 1) || osdrowscur < -1) if ((osdrowscur < osdrows && osdscroll == 1) || osdrowscur < -1)
osdrowscur++; osdrowscur += 1;//(i-osdscrtime)>>3;
else if ((osdrowscur > -1 && osdscroll == -1) || osdrowscur > osdrows) if ((osdrowscur > -1 && osdscroll == -1) || osdrowscur > osdrows)
osdrowscur--; osdrowscur -= 1;//(i-osdscrtime)>>3;
} /*
if (osdrowscur > osdrows) osdrowscur = osdrows;
if (osdrowscur < -1) osdrowscur = -1;
OSD_Printf("%ld\n",(i-osdscrtime)>>3);
osdscrtime = i;
*/
}
if (!osdvisible || !osdrowscur) return; if (!osdvisible || !osdrowscur) return;