From fd22359b3cf8abccf814365b79906b15a98c8e4e Mon Sep 17 00:00:00 2001 From: sparky4 Date: Fri, 22 Sep 2017 18:38:12 -0500 Subject: [PATCH] tired i will work on joy stick stuff later --- src/inputest.c | 31 +++++++++++++++++++++++++++---- src/lib/16_dbg.c | 2 +- src/lib/16_dbg.h | 4 ++-- src/lib/16_in.c | 33 +++++++++++++++++++++++++-------- src/lib/16_in.h | 5 +++-- 5 files changed, 58 insertions(+), 17 deletions(-) diff --git a/src/inputest.c b/src/inputest.c index d802ab52..83619cb6 100755 --- a/src/inputest.c +++ b/src/inputest.c @@ -25,6 +25,9 @@ #include "src/lib/16_in.h" #include "src/lib/16_tail.h" +#define INPUTEST_JOYSTICKPADTEST +//#define INPUTEST_MOUSETEST + void main(int argc, char *argv[]) { @@ -32,16 +35,33 @@ main(int argc, char *argv[]) #ifdef __DEBUG_InputMgr__ dbg_testkeyin=1; dbg_testcontrolnoisy=0; + dbg_joymousedelta=1; #endif start_timer(&gvar); //Startup16(&gvar); IN_Startup(&gvar); IN_Default(0,&gvar.player[0], -ctrl_Keyboard1, &gvar); -//ctrl_Joystick1); + #if !defined(INPUTEST_JOYSTICKPADTEST) && !defined(INPUTEST_MOUSETEST) + ctrl_Keyboard1 + #endif + #if defined(INPUTEST_JOYSTICKPADTEST) && !defined(INPUTEST_MOUSETEST) + ctrl_Joystick1 + #endif + #if !defined(INPUTEST_JOYSTICKPADTEST) && defined(INPUTEST_MOUSETEST) + ctrl_Mouse + #endif + , &gvar); IN_SetControlType(&gvar.player[0], -ctrl_Keyboard1); -//ctrl_Joystick1); + #if !defined(INPUTEST_JOYSTICKPADTEST) && !defined(INPUTEST_MOUSETEST) + ctrl_Keyboard1 + #endif + #if defined(INPUTEST_JOYSTICKPADTEST) && !defined(INPUTEST_MOUSETEST) + ctrl_Joystick1 + #endif + #if !defined(INPUTEST_JOYSTICKPADTEST) && defined(INPUTEST_MOUSETEST) + ctrl_Mouse + #endif + ); gvar.player[0].enti.q=1; gvar.player[0].enti.d=2; @@ -112,5 +132,8 @@ ctrl_Keyboard1); #ifdef __DEBUG_InputMgr__ printf("testkeyin=%u\n", dbg_testkeyin); printf("testcontrolnoisy=%u\n", dbg_testcontrolnoisy); + printf("dbg_joymousedelta=%u\n", dbg_joymousedelta); #endif + printf("JoysPresent={%d,%d}\n", gvar.in.JoysPresent[0], gvar.in.JoysPresent[1]); + printf("MousePresent=%d\n", gvar.in.MousePresent); } diff --git a/src/lib/16_dbg.c b/src/lib/16_dbg.c index 5ab4c5dd..854615b0 100755 --- a/src/lib/16_dbg.c +++ b/src/lib/16_dbg.c @@ -33,7 +33,7 @@ boolean dbg_debugpm=0; boolean dbg_debugca=0; #endif #ifdef __DEBUG_InputMgr__ -boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0,dbg_nointest=0; +boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0,dbg_nointest=0,dbg_joymousedelta=0; #endif #ifdef __DEBUG_MAP__ boolean dbg_maptext=0; diff --git a/src/lib/16_dbg.h b/src/lib/16_dbg.h index 37c26963..a500b9b2 100755 --- a/src/lib/16_dbg.h +++ b/src/lib/16_dbg.h @@ -30,7 +30,7 @@ #define __DEBUG__ #ifdef __DEBUG__ -//#define __DEBUG_InputMgr__ +#define __DEBUG_InputMgr__ #define __DEBUG_MAP__ //#define __DEBUG_2__ //#define __DEBUG_CA__ @@ -54,7 +54,7 @@ extern boolean dbg_debugpm; extern boolean dbg_debugca; #endif #ifdef __DEBUG_InputMgr__ -extern boolean dbg_testkeyin,dbg_testcontrolnoisy,dbg_nointest; +extern boolean dbg_testkeyin,dbg_testcontrolnoisy,dbg_nointest,dbg_joymousedelta; #endif #ifdef __DEBUG_MAP__ extern boolean dbg_maptext; diff --git a/src/lib/16_in.c b/src/lib/16_in.c index c543caf9..9dd9d781 100755 --- a/src/lib/16_in.c +++ b/src/lib/16_in.c @@ -251,13 +251,13 @@ static boolean special; void INL_Mouse(int x) { - //union REGS CPURegs; - //x = CPURegs.x.ax; - __asm { + union REGS CPURegs; + x = CPURegs.x.ax; +/*_=_= __asm { mov ax,x int MouseInt - } - //int86(MouseInt,&CPURegs,&CPURegs); + }*/ + int86(MouseInt,&CPURegs,&CPURegs); } /////////////////////////////////////////////////////////////////////////// @@ -273,6 +273,12 @@ INL_GetMouseDelta(int *x,int *y) Mouse(MDelta); *x = CPURegs.x.cx; *y = CPURegs.x.dx; +#ifdef __DEBUG_InputMgr__ + if(dbg_joymousedelta) + { + printf("mousedelta=[%dx%d]\n", *x, *y); + } + #endif } /////////////////////////////////////////////////////////////////////////// @@ -535,15 +541,15 @@ INL_ShutKbd(void) static boolean INL_StartMouse(void) { -#if 0 + union REGS CPURegs; if (getvect(MouseInt)) { Mouse(MReset); - if (_AX == 0xffff) + if (/*_AX*/CPURegs.x.ax == 0xffff) return(true); } return(false); -#endif +#if 0 byte far *vector; @@ -555,6 +561,7 @@ INL_StartMouse(void) Mouse(MReset); return true; +#endif } /////////////////////////////////////////////////////////////////////////// @@ -850,6 +857,9 @@ IN_ReadControl(player_t *player, global_game_variables_t *gvar) sword conpee; byte dir=DirTable[2]; register KeyboardDef *def; +//#ifdef __DEBUG_InputMgr__ +//static int old_dx,old_dy; +//#endif dx = dy = 0; mx = my = motion_None; @@ -1004,6 +1014,13 @@ register KeyboardDef *def; } #endif #ifdef __DEBUG_InputMgr__ +/*if(dbg_joymousedelta) +{ + if(dx!=old_dx || dy!=old_dy) printf("dx,dy [%d,%d] %d,%d\n", dx, dy, mx, my); + if(dx!=old_dx) old_dx=dx; + if(dy!=old_dy) old_dy=dy; +}*/ + if(dbg_testcontrolnoisy > 0) if(player->info.dir!=2/*(inst.Keyboard[def->up] || inst.Keyboard[def->down] || inst.Keyboard[def->left] || inst.Keyboard[def->right])*/ || player->enti.q>1) { diff --git a/src/lib/16_in.h b/src/lib/16_in.h index c2b4b622..84100aec 100755 --- a/src/lib/16_in.h +++ b/src/lib/16_in.h @@ -144,11 +144,12 @@ #define sc_ForeSlash 0x35 // / ? // Stuff for the mouse -#define MReset 0 +//moved to 16_tdef.h +/*#define MReset 0 #define MButtons 3 #define MDelta 11 -#define MouseInt 0x33 +#define MouseInt 0x33*/ #ifdef DEMO0 typedef enum { demo_Off,demo_Record,demo_Playback,demo_PlayDone -- 2.39.2