From 301a6eefd5497f68ccb447f318fc28e528e05e14 Mon Sep 17 00:00:00 2001 From: terminx Date: Sun, 30 Apr 2006 01:39:58 +0000 Subject: [PATCH] Mouse smoothing changes to winlayer that I forgot to commit earlier & a little optional status bar hack for 16 and 32 bit modes that someone requested git-svn-id: https://svn.eduke32.com/eduke32@128 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/build/src/winlayer.c | 8 ++++---- polymer/eduke32/source/config.c | 5 ++++- polymer/eduke32/source/duke3d.h | 2 +- polymer/eduke32/source/game.c | 1 + polymer/eduke32/source/gamedef.c | 1 + polymer/eduke32/source/gamedef.h | 3 ++- polymer/eduke32/source/gameexec.c | 7 +++++++ polymer/eduke32/source/osdcmds.c | 14 ++++++++++++++ polymer/eduke32/source/premap.c | 2 +- 9 files changed, 35 insertions(+), 8 deletions(-) diff --git a/polymer/build/src/winlayer.c b/polymer/build/src/winlayer.c index 6d0ed609a..3df32a01e 100644 --- a/polymer/build/src/winlayer.c +++ b/polymer/build/src/winlayer.c @@ -1621,8 +1621,8 @@ static void ProcessInputDevices(void) if (result == DI_OK) { // process the mouse events - mousex=0; - mousey=0; +// mousex=0; +// mousey=0; for (i=0; i 0) { // wheel up if (mousewheel[1] > 0 && mousepresscallback) mousepresscallback(6,0); diff --git a/polymer/eduke32/source/config.c b/polymer/eduke32/source/config.c index eac2b21bb..1f9ce33b7 100644 --- a/polymer/eduke32/source/config.c +++ b/polymer/eduke32/source/config.c @@ -234,7 +234,8 @@ void CONFIG_SetDefaults( void ) ud.color = 0; ud.msgdisptime = 640; ud.brightness = 16; - + ud.statusbarmode = 0; + ShowOpponentWeapons = 0; Bstrcpy(ud.rtsname, "DUKE.RTS"); Bstrcpy(myname, "Duke"); @@ -608,6 +609,7 @@ void CONFIG_ReadSetup( void ) SCRIPT_GetNumber( scripthandle, "Misc", "ShowFPS",&ud.tickrate); SCRIPT_GetNumber( scripthandle, "Misc", "Color",&ud.color); SCRIPT_GetNumber( scripthandle, "Misc", "MPMessageDisplayTime",&ud.msgdisptime); + SCRIPT_GetNumber( scripthandle, "Misc", "StatusBarMode",&ud.statusbarmode); ps[0].palookup = ud.pcolor[0] = ud.color; dummy = useprecache; SCRIPT_GetNumber( scripthandle, "Misc", "UsePrecache",&dummy); useprecache = dummy != 0; @@ -733,6 +735,7 @@ void CONFIG_WriteSetup( void ) SCRIPT_PutNumber( scripthandle, "Misc", "ShowFPS",ud.tickrate,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "Color",ud.color,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "MPMessageDisplayTime",ud.msgdisptime,false,false); + SCRIPT_PutNumber( scripthandle, "Misc", "StatusBarMode",ud.statusbarmode,false,false); SCRIPT_PutNumber( scripthandle, "Controls", "MouseAimingFlipped",ud.mouseflip,false,false); SCRIPT_PutNumber( scripthandle, "Controls","MouseAiming",ud.mouseaiming,false,false); //SCRIPT_PutNumber( scripthandle, "Controls","GameMouseAiming",(int32) ps[myconnectindex].aim_mode,false,false); diff --git a/polymer/eduke32/source/duke3d.h b/polymer/eduke32/source/duke3d.h index 699c29a68..65ff8d22a 100644 --- a/polymer/eduke32/source/duke3d.h +++ b/polymer/eduke32/source/duke3d.h @@ -338,7 +338,7 @@ struct user_defs { long reccnt; int32 runkey_mode,statusbarscale,mouseaiming,weaponswitch,drawweapon; // JBF 20031125 - int32 brightskins,democams,color,pcolor[MAXPLAYERS],msgdisptime; + int32 brightskins,democams,color,pcolor[MAXPLAYERS],msgdisptime,statusbarmode; int32 entered_name,screen_tilting,shadows,fta_on,executions,auto_run; int32 coords,tickrate,levelstats,m_coop,coop,screen_size,lockout,crosshair; diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 1cb1f027c..bc53356fd 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -343,6 +343,7 @@ void getpackets(void) else ScreenMode = !ScreenMode; KB_ClearKeyDown(sc_Enter); restorepalette = 1; + vscrn(); } // only dispatch commands here when not in a game diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c index 3fdf83274..6c5dbb757 100644 --- a/polymer/eduke32/source/gamedef.c +++ b/polymer/eduke32/source/gamedef.c @@ -802,6 +802,7 @@ LABELS userdefslabels[]= { { "democams", USERDEFS_DEMOCAMS, 0, 0 }, { "color", USERDEFS_COLOR, 0, 0 }, { "msgdisptime", USERDEFS_MSGDISPTIME, 0, 0 }, + { "statusbarmode", USERDEFS_STATUSBARMODE, 0, 0 }, { "", -1, 0, 0 } // END OF LIST }; diff --git a/polymer/eduke32/source/gamedef.h b/polymer/eduke32/source/gamedef.h index 0b9fdc383..df55314a6 100644 --- a/polymer/eduke32/source/gamedef.h +++ b/polymer/eduke32/source/gamedef.h @@ -284,7 +284,8 @@ enum userdefslabels { USERDEFS_BRIGHTSKINS, USERDEFS_DEMOCAMS, USERDEFS_COLOR, - USERDEFS_MSGDISPTIME + USERDEFS_MSGDISPTIME, + USERDEFS_STATUSBARMODE }; enum sectorlabels { diff --git a/polymer/eduke32/source/gameexec.c b/polymer/eduke32/source/gameexec.c index 30ada8fa9..232eec26a 100644 --- a/polymer/eduke32/source/gameexec.c +++ b/polymer/eduke32/source/gameexec.c @@ -617,6 +617,13 @@ void DoUserDef(char bSet, long lLabelID, long lVar2, short sActor, short sPlayer SetGameVarID((int)lVar2, ud.msgdisptime, sActor, sPlayer); break; + case USERDEFS_STATUSBARMODE: + if(bSet) + ud.statusbarmode = lValue; + else + SetGameVarID((int)lVar2, ud.statusbarmode, sActor, sPlayer); + break; + default: break; } diff --git a/polymer/eduke32/source/osdcmds.c b/polymer/eduke32/source/osdcmds.c index dac2d49fa..9cdf99876 100644 --- a/polymer/eduke32/source/osdcmds.c +++ b/polymer/eduke32/source/osdcmds.c @@ -271,6 +271,19 @@ static int osdcmd_setstatusbarscale(const osdfuncparm_t *parm) return OSDCMD_OK; } +static int osdcmd_setstatusbarmode(const osdfuncparm_t *parm) +{ + if (parm->numparms == 0) { + OSD_Printf("cl_statusbarmode: \"%d\"\n", ud.statusbarmode); + return OSDCMD_OK; + } else if (parm->numparms != 1) return OSDCMD_SHOWHELP; + + ud.statusbarmode = Batol(parm->parms[0]); + vscrn(); + OSD_Printf("cl_statusbarmode: \"%d\"\n", ud.statusbarmode); + return OSDCMD_OK; +} + static int osdcmd_spawn(const osdfuncparm_t *parm) { long x=0,y=0,z=0; @@ -624,6 +637,7 @@ int registerosdcommands(void) OSD_RegisterFunction("noclip","noclip: toggles clipping mode", osdcmd_noclip); OSD_RegisterFunction("cl_statusbarscale","cl_statusbarscale: changes the status bar scale", osdcmd_setstatusbarscale); + OSD_RegisterFunction("cl_statusbarmode","cl_statusbarmode: enable/disable status bar drawing hack", osdcmd_setstatusbarmode); OSD_RegisterFunction("sensitivity","sensitivity : changes the mouse sensitivity", osdcmd_sensitivity); OSD_RegisterFunction("spawn","spawn [palnum] [cstat] [ang] [x y z]: spawns a sprite with the given properties",osdcmd_spawn); OSD_RegisterFunction("setvar","setvar : sets the value of a gamevar", osdcmd_setvar); diff --git a/polymer/eduke32/source/premap.c b/polymer/eduke32/source/premap.c index a7a6c3594..dc02fc7a4 100644 --- a/polymer/eduke32/source/premap.c +++ b/polymer/eduke32/source/premap.c @@ -395,7 +395,7 @@ void vscrn(void) if (j >= 12) y1 += 8; } - if (ud.screen_size >= 8) y2 -= (ss+scale(tilesizy[BOTTOMSTATUSBAR],ud.statusbarscale,100)); + if (ud.screen_size >= 8 && !(ud.screen_size == 8 && ud.statusbarmode && bpp > 8)) y2 -= (ss+scale(tilesizy[BOTTOMSTATUSBAR],ud.statusbarscale,100)); y1 = scale(y1,ydim,200); y2 = scale(y2,ydim,200);