diff --git a/engine/Makefile b/engine/Makefile index fc1d846a4..26db42cc1 100644 --- a/engine/Makefile +++ b/engine/Makefile @@ -409,6 +409,7 @@ CLIENT_OBJS = \ cl_ents.o \ clq2_ents.o \ cl_input.o \ + in_generic.o \ cl_main.o \ cl_parse.o \ cl_pred.o \ @@ -671,7 +672,7 @@ ifeq ($(FTE_TARGET),nacl) BASELDFLAGS = -lm -lppapi_gles2 -lnosys -lppapi IMAGELDFLAGS = - GLCL_OBJS=$(GL_OBJS) $(D3DGL_OBJS) $(GLQUAKE_OBJS) sys_ppapi.o cd_null.o gl_vidppapi.o in_generic.o fs_ppapi.o snd_ppapi.o + GLCL_OBJS=$(GL_OBJS) $(D3DGL_OBJS) $(GLQUAKE_OBJS) sys_ppapi.o cd_null.o gl_vidppapi.o fs_ppapi.o snd_ppapi.o GLB_DIR=gl_nacl_x86_$(BITS) GL_EXE_NAME=../fteqw_x86_$(BITS).nexe @@ -994,12 +995,12 @@ ifeq ($(FTE_TARGET),droid) SV_DIR=sv_droid-$(DROID_ARCH) SV_LDFLAGS=-lz - SV_OBJS=$(COMMON_OBJS) $(SERVER_OBJS) $(PROGS_OBJS) $(BOTLIB_OBJS) svmodel.o sys_droid.o in_droid.o + SV_OBJS=$(COMMON_OBJS) $(SERVER_OBJS) $(PROGS_OBJS) $(BOTLIB_OBJS) svmodel.o sys_droid.o SV_EXE_NAME=libftedroid.so SV_LDFLAGS= - GLCL_OBJS=$(GL_OBJS) $(D3DGL_OBJS) $(GLQUAKE_OBJS) $(BOTLIB_OBJS) gl_viddroid.o sys_droid.o in_droid.o cd_null.o snd_droid.o + GLCL_OBJS=$(GL_OBJS) $(D3DGL_OBJS) $(GLQUAKE_OBJS) $(BOTLIB_OBJS) gl_viddroid.o sys_droid.o cd_null.o snd_droid.o GL_LDFLAGS=$(GLLDFLAGS) GLB_DIR=gl_droid-$(DROID_ARCH) GL_EXE_NAME=libftedroid.so diff --git a/engine/botlib/q_platform.h b/engine/botlib/q_platform.h index 11836b616..6622e45f3 100644 --- a/engine/botlib/q_platform.h +++ b/engine/botlib/q_platform.h @@ -317,6 +317,19 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #endif +#ifdef __CYGWIN__ +#define OS_STRING "cygwin" +#define ID_INLINE inline +#define PATH_SEP '/' + +#define ARCH_STRING "x86" + +#define Q3_BIG_ENDIAN + +#define DLL_EXT ".dll" + +#endif + //================================================================== Q3VM === #ifdef Q3_VM diff --git a/engine/client/console.c b/engine/client/console.c index 6191edcfe..0a1e67d52 100644 --- a/engine/client/console.c +++ b/engine/client/console.c @@ -1568,9 +1568,6 @@ void Con_DrawConsole (int lines, qboolean noback) } Font_EndString(font_conchar); - -// draw the input prompt, user text, and cursor if desired - SCR_DrawCursor(0); } diff --git a/engine/client/in_droid.c b/engine/client/in_droid.c deleted file mode 100644 index 194b7460f..000000000 --- a/engine/client/in_droid.c +++ /dev/null @@ -1,330 +0,0 @@ -#include "quakedef.h" - -#include - -extern qboolean mouse_active; - -cvar_t m_filter = CVARF("m_filter", "0", CVAR_ARCHIVE); -cvar_t m_strafeonleft = CVARFD("m_strafeonleft", "1", CVAR_ARCHIVE, "If 1, touching the right half of the touchscreen will strafe/move, while the left side will turn."); -cvar_t m_fatpressthreshold = CVARFD("m_fatpressthreshold", "0.5", CVAR_ARCHIVE, "How fat your thumb has to be to register a fat press."); -cvar_t m_slidethreshold = CVARFD("m_slidethreshold", "5", CVAR_ARCHIVE, "How far your finger needs to move to be considered a slide event."); - -extern cvar_t _windowed_mouse; - -int mousecursor_x, mousecursor_y; /*absolute position*/ -extern int mousemove_x, mousemove_y; -static float mouse_x, mouse_y; -static float mousestrafe_x, mousestrafe_y; -static float old_mouse_x, old_mouse_y; /*for smoothing*/ - - -#define EVENTQUEUELENGTH 128 -struct eventlist_s -{ - enum - { - IEV_KEYDOWN, - IEV_KEYRELEASE, - IEV_MOUSEABS - } type; - int devid; - - union - { - struct - { - float x, y; - float tsize; //the size of the touch - } mouse; - struct - { - int scancode, unicode; - } keyboard; - }; -} eventlist[EVENTQUEUELENGTH]; -volatile int events_avail; /*volatile to make sure the cc doesn't try leaving these cached in a register*/ -volatile int events_used; - -static struct eventlist_s *in_newevent(void) -{ - if (events_avail >= events_used + EVENTQUEUELENGTH) - return NULL; - return &eventlist[events_avail & (EVENTQUEUELENGTH-1)]; -} - -static void in_finishevent(void) -{ - events_avail++; -} - -#define MAXPOINTERS 8 -struct -{ - vec2_t oldpos; - vec2_t downpos; - float movedist; - vec2_t move; - int down; -} ptr[MAXPOINTERS]; - - - -void IN_Shutdown(void) -{ -} - -void IN_ReInit() -{ -} - -void IN_Init(void) -{ - Cvar_Register (&m_filter, "input controls"); - Cvar_Register (&m_strafeonleft, "input controls"); - Cvar_Register (&m_fatpressthreshold, "input controls"); - Cvar_Register (&m_slidethreshold, "input controls"); -} - -/*on android, each 'pointer' is a separate touch location*/ -void IN_Commands(void) -{ - struct eventlist_s *ev; - while (events_used != events_avail) - { - ev = &eventlist[events_used & (EVENTQUEUELENGTH-1)]; - switch(ev->type) - { - case IEV_KEYDOWN: - case IEV_KEYRELEASE: - if (ev->keyboard.scancode == K_MOUSE1 && ev->devid < MAXPOINTERS) - { - if (Key_MouseShouldBeFree()) - ptr[ev->devid].down = 0; - else - { - if (ev->type == IEV_KEYDOWN) - { - ptr[ev->devid].down = 1; - ptr[ev->devid].movedist = 0; - ptr[ev->devid].downpos[0] = ptr[ev->devid].oldpos[0]; - ptr[ev->devid].downpos[1] = ptr[ev->devid].oldpos[1]; - ptr[ev->devid].move[0] = 0; - ptr[ev->devid].move[1] = 0; - - if (ev->mouse.tsize > m_fatpressthreshold.value) - { - int key = (m_strafeonleft.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; - Key_Event(ev->devid, key, 0, true); - ptr[ev->devid].down = 2; - } - } - else - { - if (ptr[ev->devid].down > 1) - { - int key = (m_strafeonleft.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; - Key_Event(ev->devid, key, 0, false); - ptr[ev->devid].down = 1; - } - if (ptr[ev->devid].down) - { - if (ptr[ev->devid].movedist < m_slidethreshold.value) - { - /*if its on the right, make it a mouse2*/ - int key = (m_strafeonleft.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; - Key_Event(ev->devid, key, 0, true); - Key_Event(ev->devid, key, 0, false); - } - } - ptr[ev->devid].down = 0; - } - break; - } - } - Key_Event(ev->devid, ev->keyboard.scancode, ev->keyboard.unicode, ev->type == IEV_KEYDOWN); - break; - case IEV_MOUSEABS: - /*mouse cursors only really work with one pointer*/ - if (ev->devid == 0) - { - float fl; - fl = ev->mouse.x * vid.width / vid.pixelwidth; - mousecursor_x = bound(0, fl, vid.width-1); - fl = ev->mouse.y * vid.height / vid.pixelheight; - mousecursor_y = bound(0, fl, vid.height-1); - } - - if (ev->devid < MAXPOINTERS) - { - ptr[ev->devid].move[0] += ev->mouse.x - ptr[ev->devid].oldpos[0]; - ptr[ev->devid].move[1] += ev->mouse.y - ptr[ev->devid].oldpos[1]; - - ptr[ev->devid].movedist += fabs(ev->mouse.x - ptr[ev->devid].oldpos[0]) + fabs(ev->mouse.y - ptr[ev->devid].oldpos[1]); - - ptr[ev->devid].oldpos[0] = ev->mouse.x; - ptr[ev->devid].oldpos[1] = ev->mouse.y; - - - if (ptr[ev->devid].down > 1 && ev->mouse.tsize < m_fatpressthreshold.value) - { - int key = (m_strafeonleft.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; - Key_Event(ev->devid, key, 0, false); - ptr[ev->devid].down = 1; - } - if (ptr[ev->devid].down == 1 && ev->mouse.tsize > m_fatpressthreshold.value) - { - int key = (m_strafeonleft.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; - Key_Event(ev->devid, key, 0, true); - ptr[ev->devid].down = 2; - } - } - break; - } - events_used++; - } -} - - - -static void IN_Update(qboolean ingame) -{ - int i; - //strafing speed is absolute - mousestrafe_x = 0; - mousestrafe_y = 0; - - for (i = 0; i < MAXPOINTERS; i++) - { - /*ignore if no action, to avoid phantom csqc input events*/ - if (!ptr[i].down && !ptr[i].move[0] && !ptr[i].move[1]) - continue; - - if (!CSQC_MousePosition(ptr[i].oldpos[0], ptr[i].oldpos[1], i)) - { - if (!CSQC_MouseMove(ptr[i].move[0], ptr[i].move[1], i)) - { - if (ptr[i].down && m_strafeonleft.ival && ptr[i].downpos[0] > vid.pixelwidth/2 && ingame) - { - mousestrafe_x += ptr[i].oldpos[0] - ptr[i].downpos[0]; - mousestrafe_y += ptr[i].oldpos[1] - ptr[i].downpos[1]; - } - else - { - mouse_x += ptr[i].move[0]; - mouse_y += ptr[i].move[1]; - } - } - } - ptr[i].move[0] = 0; - ptr[i].move[1] = 0; - } -} - - -void IN_Move (float *movements, int pnum) -{ - qboolean ingame; - extern int mousecursor_x, mousecursor_y; - - if (pnum != 0) - return; //we're lazy today. - - ingame = movements != NULL && (key_dest == key_game); - - IN_Update(ingame); - - if (m_filter.value) - { - mouse_x = (mouse_x + old_mouse_x) * 0.5; - mouse_y = (mouse_y + old_mouse_y) * 0.5; - } - old_mouse_x = mouse_x; - old_mouse_y = mouse_y; - - if(in_xflip.value) mouse_x *= -1; - - mousemove_x += mouse_x; - mousemove_y += mouse_y; - - if (!ingame) - { - mouse_x = mouse_y = 0; -#ifdef VM_UI - UI_MousePosition(mousecursor_x, mousecursor_y); -#endif - } - - /*if the look-mouse is set to always strafe instead...*/ - if ( (in_strafe.state[pnum] & 1) || (lookstrafe.value && (in_mlook.state[pnum] & 1) )) - { - mousestrafe_x += mouse_x; - mouse_x = 0; - } - if ( (in_strafe.state[pnum] & 1) || !(in_mlook.state[pnum] & 1)) - { - mousestrafe_y += mouse_y; - mouse_y = 0; - } - - /*handle strafes*/ - if (movements) - { - float scale; - - scale = m_side.value * sensitivity.value; - movements[1] += mousestrafe_x * scale; - - scale = m_forward.value * sensitivity.value; - if ((in_strafe.state[pnum] & 1) && noclip_anglehack) - movements[2] -= mousestrafe_y * scale; - else - movements[0] -= mousestrafe_y * scale; - } - - if (in_mlook.state[pnum] & 1) - V_StopPitchDrift (pnum); - - /*handle looks*/ - cl.playerview[pnum].viewanglechange[YAW] -= m_yaw.value * mouse_x * sensitivity.value; - cl.playerview[pnum].viewanglechange[PITCH] += m_pitch.value * mouse_y * sensitivity.value; - - mouse_x = mouse_y = 0.0; -} - - - -JNIEXPORT void JNICALL Java_com_fteqw_FTEDroidEngine_keypress(JNIEnv *env, jobject obj, - jint down, jint keycode, jint unicode) -{ - struct eventlist_s *ev = in_newevent(); - if (!ev) - return; - ev->type = down?IEV_KEYDOWN:IEV_KEYRELEASE; - ev->devid = 0; - ev->keyboard.scancode = keycode; - ev->keyboard.unicode = unicode; - in_finishevent(); -} - -JNIEXPORT void JNICALL Java_com_fteqw_FTEDroidEngine_motion(JNIEnv *env, jobject obj, - jint act, jint ptrid, jfloat x, jfloat y, jfloat size) -{ - struct eventlist_s *ev = in_newevent(); - if (!ev) - return; - ev->devid = ptrid; - if (act) - { - ev->type = (act==1)?IEV_KEYDOWN:IEV_KEYRELEASE; - ev->keyboard.scancode = K_MOUSE1; - ev->keyboard.unicode = 0; - } - else - { - ev->type = IEV_MOUSEABS; - ev->mouse.x = x; - ev->mouse.y = y; - ev->mouse.tsize = size; - } - in_finishevent(); -} diff --git a/engine/client/in_generic.c b/engine/client/in_generic.c index 63421435f..05e595f44 100644 --- a/engine/client/in_generic.c +++ b/engine/client/in_generic.c @@ -1,19 +1,25 @@ +//Generic input code. +//mostly mouse support, but can also handle a few keyboard events. + #include "quakedef.h" -extern qboolean mouse_active; - -cvar_t m_simtouch = CVARF("m_simtouch", "0", CVAR_ARCHIVE); -cvar_t m_filter = CVARF("m_filter", "0", CVAR_ARCHIVE); -cvar_t m_strafeonright = CVARFD("m_strafeonright", "1", CVAR_ARCHIVE, "If 1, touching the right half of the touchscreen will strafe/move, while the left side will turn."); - -extern cvar_t _windowed_mouse; - -int mousecursor_x, mousecursor_y; /*absolute position*/ -extern int mousemove_x, mousemove_y; -static float mouse_x, mouse_y; -static float mousestrafe_x, mousestrafe_y; -static float old_mouse_x, old_mouse_y; /*for smoothing*/ - +extern qboolean mouse_active; + +static cvar_t m_filter = CVARF("m_filter", "0", CVAR_ARCHIVE); +static cvar_t m_accel = CVARF("m_accel", "0", CVAR_ARCHIVE); +static cvar_t m_forcewheel = CVARD("m_forcewheel", "1", "0: ignore mousewheels in apis where it is abiguous.\n1: Use mousewheel when it is treated as a third axis. Motion above a threshold is ignored, to avoid issues with an unknown threshold.\n2: Like 1, but excess motion is retained. The threshold specifies exact z-axis distance per notice."); +static cvar_t m_forcewheel_threshold = CVARD("m_forcewheel_threshold", "32", "Mousewheel graduations smaller than this will not trigger mousewheel deltas."); +static cvar_t m_strafeonright = CVARFD("m_strafeonright", "1", CVAR_ARCHIVE, "If 1, touching the right half of the touchscreen will strafe/move, while the left side will turn."); +static cvar_t m_fatpressthreshold = CVARFD("m_fatpressthreshold", "0.5", CVAR_ARCHIVE, "How fat your thumb has to be to register a fat press (touchscreens)."); +static cvar_t m_slidethreshold = CVARFD("m_slidethreshold", "5", CVAR_ARCHIVE, "How far your finger needs to move to be considered a slide event (touchscreens)."); + +extern cvar_t cl_forcesplitclient; //all devices claim to be a single player +extern cvar_t _windowed_mouse; + +int mousecursor_x, mousecursor_y; /*absolute position*/ +extern int mousemove_x, mousemove_y; + + #define EVENTQUEUELENGTH 128 struct eventlist_s { @@ -30,7 +36,8 @@ struct eventlist_s { struct { - float x, y; + float x, y, z; + float tsize; //the size of the touch } mouse; struct { @@ -47,12 +54,6 @@ static struct eventlist_s *in_newevent(void) return NULL; return &eventlist[events_avail & (EVENTQUEUELENGTH-1)]; } -static struct eventlist_s *in_lastevent(void) -{ - if (events_avail == events_used) - return NULL; - return &eventlist[(events_avail-1) & (EVENTQUEUELENGTH-1)]; -} static void in_finishevent(void) { @@ -60,43 +61,68 @@ static void in_finishevent(void) } #define MAXPOINTERS 8 -struct +struct mouse_s { - vec2_t oldpos; - vec2_t downpos; - float movedist; - vec2_t move; enum { - MT_UNPRESSED, - MT_PRESSED, - MT_DELTA - } mtype; -} ptr[MAXPOINTERS]; - - - -void IN_Shutdown(void) -{ -} - -void IN_ReInit() -{ -} - -void IN_Init(void) -{ - Cvar_Register (&m_simtouch, "input controls"); - Cvar_Register (&m_filter, "input controls"); - Cvar_Register (&m_strafeonright, "input controls"); - - IN_ReInit(); -} - -/*on android, each 'pointer' is a separate touch location*/ -void IN_Commands(void) -{ + M_INVALID, + M_MOUSE, //using deltas + M_TOUCH //using absolutes + } type; + int qdeviceid; + vec2_t oldpos; + vec2_t downpos; + float moveddist; //how far it has moved while held. this provides us with our emulated mouse1 when they release the press + vec2_t delta; //how far its moved recently + vec2_t old_delta; //how far its moved previously, for mouse smoothing + float wheeldelta; + int down; +} ptr[MAXPOINTERS]; + + + +void IN_Shutdown(void) +{ + INS_Shutdown(); +} + +void IN_ReInit(void) +{ + int i; + + events_avail = 0; + events_used = 0; + + for (i = 0; i < MAXPOINTERS; i++) + { + ptr[i].type = M_INVALID; + ptr[i].qdeviceid = i; + } + + INS_ReInit(); +} + +void IN_Init(void) +{ + Cvar_Register (&m_filter, "input controls"); + Cvar_Register (&m_accel, "input controls"); + Cvar_Register (&m_forcewheel, "Input Controls"); + Cvar_Register (&m_forcewheel_threshold, "Input Controls"); + Cvar_Register (&m_strafeonright, "input controls"); + Cvar_Register (&m_fatpressthreshold, "input controls"); + Cvar_Register (&m_slidethreshold, "input controls"); + + INS_Init(); +} + +/*a 'pointer' is either a multitouch pointer, or a separate device +note that mice use the keyboard button api, but separate devices*/ +void IN_Commands(void) +{ struct eventlist_s *ev; + + INS_Commands(); + while (events_used != events_avail) { ev = &eventlist[events_used & (EVENTQUEUELENGTH-1)]; @@ -104,213 +130,339 @@ void IN_Commands(void) { case IEV_KEYDOWN: case IEV_KEYRELEASE: - if (ev->keyboard.scancode == K_MOUSE1 && ev->devid < MAXPOINTERS && ptr[ev->devid].mtype != MT_DELTA) + //on touchscreens, mouse1 is used as up/down state. we have to emulate actual mouse clicks based upon distance moved, so we can get movement events. + if (ev->keyboard.scancode == K_MOUSE1 && ev->devid < MAXPOINTERS && (ptr[ev->devid].type == M_TOUCH)) { if (Key_MouseShouldBeFree()) - ptr[ev->devid].mtype = MT_UNPRESSED; + ptr[ev->devid].down = 0; else { if (ev->type == IEV_KEYDOWN) { - ptr[ev->devid].mtype = MT_PRESSED; - ptr[ev->devid].movedist = 0; + ptr[ev->devid].down = 1; + ptr[ev->devid].moveddist = 0; ptr[ev->devid].downpos[0] = ptr[ev->devid].oldpos[0]; ptr[ev->devid].downpos[1] = ptr[ev->devid].oldpos[1]; - ptr[ev->devid].move[0] = 0; - ptr[ev->devid].move[1] = 0; + ptr[ev->devid].delta[0] = 0; + ptr[ev->devid].delta[1] = 0; + + if (ev->mouse.tsize > m_fatpressthreshold.value) + { + int key = (m_strafeonright.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; + Key_Event(ev->devid, key, 0, true); + ptr[ev->devid].down = 2; + } } else { - if (ptr[ev->devid].mtype == MT_PRESSED) + if (ptr[ev->devid].down > 1) { - if (ptr[ev->devid].movedist < 5) + int key = (m_strafeonright.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; + Key_Event(ev->devid, key, 0, false); + ptr[ev->devid].down = 1; + } + if (ptr[ev->devid].down) + { + if (ptr[ev->devid].moveddist < m_slidethreshold.value) { /*if its on the right, make it a mouse2*/ - int key = (m_strafeonright.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE3:K_MOUSE1; + int key = (m_strafeonright.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; Key_Event(ev->devid, key, 0, true); Key_Event(ev->devid, key, 0, false); } } - ptr[ev->devid].mtype = MT_UNPRESSED; + ptr[ev->devid].down = 0; } break; } } Key_Event(ev->devid, ev->keyboard.scancode, ev->keyboard.unicode, ev->type == IEV_KEYDOWN); break; + case IEV_MOUSEDELTA: + if (ev->devid < MAXPOINTERS) + { + if (ptr[ev->devid].type != M_MOUSE) + { + ptr[ev->devid].type = M_MOUSE; + } + ptr[ev->devid].delta[0] += ev->mouse.x; + ptr[ev->devid].delta[1] += ev->mouse.y; + + if (m_forcewheel.value >= 2) + ptr[ev->devid].wheeldelta -= ev->mouse.z; + else if (m_forcewheel.value) + { + int mfwt = (int)m_forcewheel_threshold.value; + + if (ev->mouse.z > mfwt) + ptr[ev->devid].wheeldelta -= mfwt; + else if (ev->mouse.z < -mfwt) + ptr[ev->devid].wheeldelta += mfwt; + } + } + break; case IEV_MOUSEABS: /*mouse cursors only really work with one pointer*/ if (ev->devid == 0) { - mousecursor_x = bound(0, ev->mouse.x, vid.width - 1); - mousecursor_y = bound(0, ev->mouse.y, vid.height - 1); + float fl; + fl = ev->mouse.x * vid.width / vid.pixelwidth; + mousecursor_x = bound(0, fl, vid.width-1); + fl = ev->mouse.y * vid.height / vid.pixelheight; + mousecursor_y = bound(0, fl, vid.height-1); } if (ev->devid < MAXPOINTERS) { - if (ptr[ev->devid%MAXPOINTERS].mtype == MT_DELTA) - ptr[ev->devid%MAXPOINTERS].mtype = MT_UNPRESSED; - ptr[ev->devid].move[0] += ev->mouse.x - ptr[ev->devid].oldpos[0]; - ptr[ev->devid].move[1] += ev->mouse.y - ptr[ev->devid].oldpos[1]; - - ptr[ev->devid].movedist += fabs(ev->mouse.x - ptr[ev->devid].oldpos[0]) + fabs(ev->mouse.y - ptr[ev->devid].oldpos[1]); + if (ptr[ev->devid].type != M_TOUCH) + { + //if its now become an absolute device, clear stuff so we don't get confused. + ptr[ev->devid].type = M_TOUCH; + ptr[ev->devid].down = 0; + ptr[ev->devid].moveddist = 0; + ptr[ev->devid].oldpos[0] = ev->mouse.x; + ptr[ev->devid].oldpos[1] = ev->mouse.y; + } + + if (ptr[ev->devid].down) + { + ptr[ev->devid].delta[0] += ev->mouse.x - ptr[ev->devid].oldpos[0]; + ptr[ev->devid].delta[1] += ev->mouse.y - ptr[ev->devid].oldpos[1]; + + ptr[ev->devid].moveddist += fabs(ev->mouse.x - ptr[ev->devid].oldpos[0]) + fabs(ev->mouse.y - ptr[ev->devid].oldpos[1]); + } ptr[ev->devid].oldpos[0] = ev->mouse.x; ptr[ev->devid].oldpos[1] = ev->mouse.y; + + + if (ptr[ev->devid].down > 1 && ev->mouse.tsize < m_fatpressthreshold.value) + { + int key = (m_strafeonright.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; + Key_Event(ev->devid, key, 0, false); + ptr[ev->devid].down = 1; + } + if (ptr[ev->devid].down == 1 && ev->mouse.tsize > m_fatpressthreshold.value) + { + int key = (m_strafeonright.ival && ptr[ev->devid].downpos[0] > vid.pixelwidth/2)?K_MOUSE2:K_MOUSE1; + Key_Event(ev->devid, key, 0, true); + ptr[ev->devid].down = 2; + } } break; - case IEV_MOUSEDELTA: - /*unlike abs, we can combine the mice properly*/ - mousecursor_x += ev->mouse.x; - mousecursor_y += ev->mouse.y; - mousecursor_x = bound(0, mousecursor_x, vid.width - 1); - mousecursor_y = bound(0, mousecursor_y, vid.height - 1); - - ptr[ev->devid%MAXPOINTERS].move[0] += ev->mouse.x; - ptr[ev->devid%MAXPOINTERS].move[1] += ev->mouse.y; - - ptr[ev->devid%MAXPOINTERS].movedist += fabs(ev->mouse.x) + fabs(ev->mouse.y); - - if (m_simtouch.ival) - { - if (ptr[ev->devid%MAXPOINTERS].mtype == MT_DELTA) - ptr[ev->devid%MAXPOINTERS].mtype = MT_UNPRESSED; - ptr[ev->devid].oldpos[0] = mousecursor_x; - ptr[ev->devid].oldpos[1] = mousecursor_y; - } - else - ptr[ev->devid%MAXPOINTERS].mtype = MT_DELTA; - - break; } events_used++; - } -} - - - -static void IN_Update(qboolean ingame) + } +} + +void IN_MoveMouse(struct mouse_s *mouse, float *movements, int pnum) { - int i; - //strafing speed is absolute - mousestrafe_x = 0; - mousestrafe_y = 0; + extern int mousecursor_x, mousecursor_y; + extern int mousemove_x, mousemove_y; - for (i = 0; i < MAXPOINTERS; i++) + int mx, my; + double mouse_x, mouse_y, mouse_deltadist; + int mfwt; + qboolean strafe_x, strafe_y; + int wpnum; + + //small performance boost + if (mouse->type == M_INVALID) + return; + + /*each device will be processed when its player comes to be processed*/ + wpnum = cl.splitclients; + if (wpnum < 1) + wpnum = 1; + if (cl_forcesplitclient.ival) + wpnum = (cl_forcesplitclient.ival-1) % wpnum; + else + wpnum = mouse->qdeviceid % wpnum; + if (wpnum != pnum) + return; + + if (m_forcewheel.value) { - /*ignore if no action, to avoid phantom csqc input events*/ - if (ptr[i].mtype == MT_UNPRESSED && !ptr[i].move[0] && !ptr[i].move[1]) - continue; - - if (ptr[i].mtype == MT_DELTA || !CSQC_MousePosition(ptr[i].oldpos[0], ptr[i].oldpos[1], i)) + mfwt = m_forcewheel_threshold.ival; + if (mfwt) { - if (!CSQC_MouseMove(ptr[i].move[0], ptr[i].move[1], i)) + while(mouse->wheeldelta <= -mfwt) { - switch(ptr[i].mtype) - { - case MT_UNPRESSED: - break; - case MT_PRESSED: - if (m_strafeonright.ival && ptr[i].downpos[0] > vid.pixelwidth/2 && ingame) - { - mousestrafe_x += ptr[i].oldpos[0] - ptr[i].downpos[0]; - mousestrafe_y += ptr[i].oldpos[1] - ptr[i].downpos[1]; - } - else - { - mouse_x += ptr[i].move[0]; - mouse_y += ptr[i].move[1]; - } - break; - case MT_DELTA: - mouse_x += ptr[i].move[0]; - mouse_y += ptr[i].move[1]; - break; - } + Key_Event (mouse->qdeviceid, K_MWHEELUP, 0, true); + Key_Event (mouse->qdeviceid, K_MWHEELUP, 0, false); + mouse->wheeldelta += mfwt; + } + + while(mouse->wheeldelta >= mfwt) + { + Key_Event (mouse->qdeviceid, K_MWHEELDOWN, 0, true); + Key_Event (mouse->qdeviceid, K_MWHEELDOWN, 0, false); + mouse->wheeldelta -= mfwt; } } - ptr[i].move[0] = 0; - ptr[i].move[1] = 0; + + if (m_forcewheel.value < 2) + mouse->wheeldelta = 0; } -} + + mx = mouse->delta[0]; + mouse->delta[0]=0; + my = mouse->delta[1]; + mouse->delta[1]=0; -void IN_Move (float *movements, int pnum) -{ - qboolean ingame; - extern int mousecursor_x, mousecursor_y; + if(in_xflip.value) mx *= -1; - if (pnum != 0) - return; //we're lazy today. + mousemove_x += mx; + mousemove_y += my; - ingame = movements != NULL && (key_dest == key_game); - - IN_Update(ingame); - - if (m_filter.value) + if (Key_MouseShouldBeFree()) { - mouse_x = (mouse_x + old_mouse_x) * 0.5; - mouse_y = (mouse_y + old_mouse_y) * 0.5; + mousecursor_x += mx; + mousecursor_y += my; + + if (mousecursor_y<0) + mousecursor_y=0; + if (mousecursor_x<0) + mousecursor_x=0; + + if (mousecursor_x >= vid.width) + mousecursor_x = vid.width - 1; + + if (mousecursor_y >= vid.height) + mousecursor_y = vid.height - 1; + mx=my=0; + +#ifdef PEXT_CSQC + CSQC_MousePosition(mousecursor_x, mousecursor_y, mouse->qdeviceid); +#endif } - old_mouse_x = mouse_x; - old_mouse_y = mouse_y; - - if(in_xflip.value) mouse_x *= -1; - - mousemove_x += mouse_x; - mousemove_y += mouse_y; - - if (!ingame) + else { - mouse_x = mouse_y = 0; #ifdef VM_UI - UI_MousePosition(mousecursor_x, mousecursor_y); + if (UI_MousePosition(mx, my)) + { + mx = 0; + my = 0; + } #endif } - /*if the look-mouse is set to always strafe instead...*/ - if ( (in_strafe.state[pnum] & 1) || (lookstrafe.value && (in_mlook.state[pnum] & 1) )) + if (mouse->type == M_TOUCH) { - mousestrafe_x += mouse_x; - mouse_x = 0; + if (m_strafeonright.ival && mouse->downpos[0] > vid.pixelwidth/2 && movements != NULL && (key_dest == key_game)) + { + //if they're strafing, calculate the speed to move at based upon their displacement + if (mouse->down) + { + mx = (mouse->oldpos[0] - mouse->downpos[0])*0.1; + my = (mouse->oldpos[1] - mouse->downpos[1])*0.1; + } + else + { + mx = 0; + my = 0; + } + strafe_x = true; + strafe_y = true; + } + else + { + strafe_x = false; + strafe_y = false; + } } - if ( (in_strafe.state[pnum] & 1) || !(in_mlook.state[pnum] & 1)) + else { - mousestrafe_y += mouse_y; - mouse_y = 0; + strafe_x = (in_strafe.state[pnum] & 1) || (lookstrafe.value && (in_mlook.state[pnum] & 1) ); + strafe_y = !((in_mlook.state[pnum] & 1) && !(in_strafe.state[pnum] & 1)); } - /*handle strafes*/ - if (movements) +#ifdef PEXT_CSQC + if (mx || my) + if (CSQC_MouseMove(mx, my, mouse->qdeviceid)) { - float scale; + mx = 0; + my = 0; + } +#endif - scale = m_side.value * sensitivity.value; - movements[1] += mousestrafe_x * scale; + if (m_filter.value) + { + double fraction = bound(0, m_filter.value, 2) * 0.5; + mouse_x = (mx*(1-fraction) + mouse->old_delta[0]*fraction); + mouse_y = (my*(1-fraction) + mouse->old_delta[1]*fraction); + } + else + { + mouse_x = mx; + mouse_y = my; + } - scale = m_forward.value * sensitivity.value; - if ((in_strafe.state[pnum] & 1) && noclip_anglehack) - movements[2] -= mousestrafe_y * scale; - else - movements[0] -= mousestrafe_y * scale; + mouse->old_delta[0] = mx; + mouse->old_delta[1] = my; + + if (m_accel.value) + { + mouse_deltadist = sqrt(mx*mx + my*my); + mouse_x *= (mouse_deltadist*m_accel.value + sensitivity.value*in_sensitivityscale); + mouse_y *= (mouse_deltadist*m_accel.value + sensitivity.value*in_sensitivityscale); + } + else + { + mouse_x *= sensitivity.value*in_sensitivityscale; + mouse_y *= sensitivity.value*in_sensitivityscale; + } + + if (cl.playerview[pnum].stats[STAT_VIEWZOOM]) + { + mouse_x *= cl.playerview[pnum].stats[STAT_VIEWZOOM]/255.0f; + mouse_y *= cl.playerview[pnum].stats[STAT_VIEWZOOM]/255.0f; + } + + if (!movements) + { + return; + } + +// add mouse X/Y movement to cmd + if (strafe_x) + movements[1] += m_side.value * mouse_x; + else + { +// if ((int)((cl.viewangles[pnum][PITCH]+89.99)/180) & 1) +// mouse_x *= -1; + cl.playerview[pnum].viewanglechange[YAW] -= m_yaw.value * mouse_x; } if (in_mlook.state[pnum] & 1) V_StopPitchDrift (pnum); - /*handle looks*/ - cl.viewanglechange[pnum][YAW] -= m_yaw.value * mouse_x * sensitivity.value; - cl.viewanglechange[pnum][PITCH] += m_pitch.value * mouse_y * sensitivity.value; + if (!strafe_y) + { + cl.playerview[pnum].viewanglechange[PITCH] += m_pitch.value * mouse_y; + } + else + { + if ((in_strafe.state[pnum] & 1) && noclip_anglehack) + movements[2] -= m_forward.value * mouse_y; + else + movements[0] -= m_forward.value * mouse_y; + } +} + +void IN_Move (float *movements, int pnum) +{ + int i; + INS_Move(movements, pnum); + for (i = 0; i < MAXPOINTERS; i++) + IN_MoveMouse(&ptr[i], movements, pnum); +} - mouse_x = mouse_y = 0.0; -} - - -/*regular key event*/ -void IN_QueueKey(int down, int keycode, int unicode) +void IN_KeyEvent(int devid, int down, int keycode, int unicode) { struct eventlist_s *ev = in_newevent(); - if (!ev) + if (!ev) return; ev->type = down?IEV_KEYDOWN:IEV_KEYRELEASE; ev->devid = 0; @@ -318,49 +470,23 @@ void IN_QueueKey(int down, int keycode, int unicode) ev->keyboard.unicode = unicode; in_finishevent(); } + /* -in ppapi, we have 'keycode' and 'char' events completely separately -this doesn't match the rest of the system very well -so we update the previous key event instead, where possible (IME can still trigger multiple chars at a time) - -this is risky and may drop the key in rare situations +devid is the mouse device id. generally idependant from keyboards. +for multitouch, devid might be the touch identifier, which will persist until released. +x is horizontal, y is vertical. +z is height... generally its used as a mousewheel instead, but there are some '3d' mice out there, so its provided in this api. */ -void IN_AmmendUnicode(int unicode) -{ - struct eventlist_s *ev = in_lastevent(); - if (ev && ev->type == IEV_KEYDOWN) - { - if (!ev->keyboard.unicode) - { - ev->keyboard.unicode = unicode; - return; - } - } - /*last command was already used? that makes things painful. maybe noone will notice*/ - IN_QueueKey(true, 0, unicode); - IN_QueueKey(false, 0, unicode); -} - -void IN_QueueMouse(int act, int ptrid, float x, float y, int button) +void IN_MouseMove(int devid, int abs, float x, float y, float z, float size) { struct eventlist_s *ev = in_newevent(); if (!ev) return; - ev->devid = ptrid; - switch(act) - { - case 0: - case 3: - ev->type = (act==0)?IEV_MOUSEABS:IEV_MOUSEDELTA; - ev->mouse.x = x; - ev->mouse.y = y; - break; - case 1: - case 2: - ev->type = (act==1)?IEV_KEYDOWN:IEV_KEYRELEASE; - ev->keyboard.scancode = K_MOUSE1+button; - ev->keyboard.unicode = 0; - break; - } + ev->devid = devid; + ev->type = abs?IEV_MOUSEABS:IEV_MOUSEDELTA; + ev->mouse.x = x; + ev->mouse.y = y; + ev->mouse.z = z; + ev->mouse.tsize = size; in_finishevent(); } diff --git a/engine/client/in_morphos.c b/engine/client/in_morphos.c index dec655ee7..af4f55e7a 100644 --- a/engine/client/in_morphos.c +++ b/engine/client/in_morphos.c @@ -50,16 +50,11 @@ static struct MsgPort *inputport = 0; static struct IOStdReq *inputreq = 0; static BYTE inputret = -1; -cvar_t m_filter = {"m_filter", "1", CVAR_ARCHIVE}; - extern cvar_t _windowed_mouse; -float mouse_x, mouse_y; -float old_mouse_x, old_mouse_y; - #define DEBUGRING(x) -void IN_Shutdown(void) +void INS_Shutdown(void) { if (inputret == 0) { @@ -87,10 +82,13 @@ void IN_Shutdown(void) } } -void IN_ReInit() +void INS_ReInit() { /* Cvar_Register (&m_filter, "input controls");*/ + if (inputport) + return; + inputport = CreatePort(0, 0); if (inputport == 0) { @@ -122,182 +120,99 @@ void IN_ReInit() DoIO((struct IORequest *)inputreq); } -void IN_Init(void) +void INS_Init(void) { - IN_ReInit(); + INS_ReInit(); } -static void ExpireRingBuffer() +//IN_KeyEvent is threadsafe (for one other thread, anyway) +void INS_ProcessInputMessage(struct InputEvent *msg, qboolean consumemotion) { - int i = 0; - - while(imsgs[imsglow].ie_Class == IECLASS_NULL && imsglow != imsghigh) + if ((window->Flags & WFLG_WINDOWACTIVE)) { - imsglow++; - i++; - imsglow%= MAXIMSGS; - } - - DEBUGRING(dprintf("Expired %d messages\n", i)); -} - -void IN_Commands(void) -{ - int a; - char key; - int i; - int down; - struct InputEvent ie; - - for(i = imsglow;i != imsghigh;i++, i%= MAXIMSGS) - { - DEBUGRING(dprintf("%d %d\n", i, imsghigh)); - if ((window->Flags & WFLG_WINDOWACTIVE)) + if (msg->ie_Class == IECLASS_NEWMOUSE) { - if (imsgs[i].ie_Class == IECLASS_NEWMOUSE) + key = 0; + + if (msg->ie_Code == NM_WHEEL_UP) + key = K_MWHEELUP; + else if (msg->ie_Code == NM_WHEEL_DOWN) + key = K_MWHEELDOWN; + + if (msg->ie_Code == NM_BUTTON_FOURTH) { - key = 0; - - if (imsgs[i].ie_Code == NM_WHEEL_UP) - key = K_MWHEELUP; - else if (imsgs[i].ie_Code == NM_WHEEL_DOWN) - key = K_MWHEELDOWN; - - if (imsgs[i].ie_Code == NM_BUTTON_FOURTH) - { - Key_Event(0, K_MOUSE4, 0, true); - } - else if (imsgs[i].ie_Code == (NM_BUTTON_FOURTH|IECODE_UP_PREFIX)) - { - Key_Event(0, K_MOUSE4, 0, false); - } - - if (key) - { - Key_Event(0, key, 0, 1); - Key_Event(0, key, 0, 0); - } - + IN_KeyEvent(0, true, K_MOUSE4, 0); } - else if (imsgs[i].ie_Class == IECLASS_RAWKEY) + else if (msg->ie_Code == (NM_BUTTON_FOURTH|IECODE_UP_PREFIX)) { - down = !(imsgs[i].ie_Code&IECODE_UP_PREFIX); - imsgs[i].ie_Code&=~IECODE_UP_PREFIX; - - memcpy(&ie, &imsgs[i], sizeof(ie)); - - key = 0; - if (imsgs[i].ie_Code <= 255) - key = keyconv[imsgs[i].ie_Code]; - - if (key) - Key_Event(0, key, key, down); - else - { - if (developer.value) - Con_Printf("Unknown key %d\n", imsgs[i].ie_Code); - } + IN_KeyEvent(0, false, K_MOUSE4, 0); } - else if (imsgs[i].ie_Class == IECLASS_RAWMOUSE) + if (key) { - if (imsgs[i].ie_Code == IECODE_LBUTTON) - Key_Event(0, K_MOUSE1, 0, true); - else if (imsgs[i].ie_Code == (IECODE_LBUTTON|IECODE_UP_PREFIX)) - Key_Event(0, K_MOUSE1, 0, false); - else if (imsgs[i].ie_Code == IECODE_RBUTTON) - Key_Event(0, K_MOUSE2, 0, true); - else if (imsgs[i].ie_Code == (IECODE_RBUTTON|IECODE_UP_PREFIX)) - Key_Event(0, K_MOUSE2, 0, false); - else if (imsgs[i].ie_Code == IECODE_MBUTTON) - Key_Event(0, K_MOUSE3, 0, true); - else if (imsgs[i].ie_Code == (IECODE_MBUTTON|IECODE_UP_PREFIX)) - Key_Event(0, K_MOUSE3, 0, false); - - mouse_x+= imsgs[i].ie_position.ie_xy.ie_x; - mouse_y+= imsgs[i].ie_position.ie_xy.ie_y; + IN_KeyEvent(0, true, key, 0); + IN_KeyEvent(0, false, key, 0); } } - - imsgs[i].ie_Class = IECLASS_NULL; - - } - - ExpireRingBuffer(); - -} - -void IN_Move (float *movements, int pnum) -{ - extern int mousecursor_x, mousecursor_y; - extern int mousemove_x, mousemove_y; - - if (pnum != 0) - return; //we're lazy today. - - if (m_filter.value) { - mouse_x = (mouse_x + old_mouse_x) * 0.5; - mouse_y = (mouse_y + old_mouse_y) * 0.5; - } - - old_mouse_x = mouse_x; - old_mouse_y = mouse_y; - - if(in_xflip.value) mouse_x *= -1; - - if (Key_MouseShouldBeFree()) - { - mousemove_x += mouse_x; - mousemove_y += mouse_y; - mousecursor_x += mouse_x; - mousecursor_y += mouse_y; - - if (mousecursor_y<0) - mousecursor_y=0; - if (mousecursor_x<0) - mousecursor_x=0; - - if (mousecursor_x >= vid.width) - mousecursor_x = vid.width - 1; - - if (mousecursor_y >= vid.height) - mousecursor_y = vid.height - 1; - - mouse_x = mouse_y = 0; -#ifdef VM_UI - UI_MousePosition(mousecursor_x, mousecursor_y); -#endif - } - - - mouse_x *= sensitivity.value; - mouse_y *= sensitivity.value; - - if ( (in_strafe.state[pnum] & 1) || (lookstrafe.value && (in_mlook.state[pnum] & 1) )) - { - if (movements) - movements[1] += m_side.value * mouse_x; - } - else - { - cl.playerview[pnum].viewanglechange[YAW] -= m_yaw.value * mouse_x; - } - if (in_mlook.state[pnum] & 1) - V_StopPitchDrift (pnum); - - if ( (in_mlook.state[pnum] & 1) && !(in_strafe.state[pnum] & 1)) { - cl.playerview[pnum].viewanglechange[PITCH] += m_pitch.value * mouse_y; - } else { - if (movements) + else if (msg->ie_Class == IECLASS_RAWKEY) { - if ((in_strafe.state[pnum] & 1) && noclip_anglehack) - movements[2] -= m_forward.value * mouse_y; + down = !(msg->ie_Code&IECODE_UP_PREFIX); + msg->ie_Code&=~IECODE_UP_PREFIX; + + memcpy(&ie, msg, sizeof(ie)); + + key = 0; + if (msg->ie_Code <= 255) + key = keyconv[msg->ie_Code]; + + if (key) + IN_KeyEvent(0, down, key, key); else - movements[0] -= m_forward.value * mouse_y; + { +// if (developer.value) +// printf("Unknown key %d\n", msg->ie_Code); + } + } + + else if (msg->ie_Class == IECLASS_RAWMOUSE) + { + if (msg->ie_Code == IECODE_LBUTTON) + IN_KeyEvent(0, true, K_MOUSE1, 0); + else if (msg->ie_Code == (IECODE_LBUTTON|IECODE_UP_PREFIX)) + IN_KeyEvent(0, false, K_MOUSE1, 0); + else if (msg->ie_Code == IECODE_RBUTTON) + IN_KeyEvent(0, true, K_MOUSE2, 0); + else if (msg->ie_Code == (IECODE_RBUTTON|IECODE_UP_PREFIX)) + IN_KeyEvent(0, false, K_MOUSE2, 0); + else if (msg->ie_Code == IECODE_MBUTTON) + IN_KeyEvent(0, true, K_MOUSE3, 0); + else if (msg->ie_Code == (IECODE_MBUTTON|IECODE_UP_PREFIX)) + IN_KeyEvent(0, false, K_MOUSE3, 0); + + if (_windowed_mouse.ival) + { + if (consumemotion) + { + IN_MouseMove(0, 0, msg->ie_position.ie_xy.ie_x, msg->ie_position.ie_xy.ie_y, 0, 0); + +#if 0 + coin->ie_Class = IECLASS_NULL; +#else + coin->ie_position.ie_xy.ie_x = 0; + coin->ie_position.ie_xy.ie_y = 0; +#endif + } + } } } - mouse_x = mouse_y = 0.0; +} + +void INS_Commands(void) +{ +} +void INS_Move (float *movements, int pnum) +{ } char keyconv[] = @@ -597,31 +512,7 @@ struct InputEvent *myinputhandler_real() { if (coin->ie_Class == IECLASS_RAWMOUSE || coin->ie_Class == IECLASS_RAWKEY || coin->ie_Class == IECLASS_NEWMOUSE) { -/* kprintf("Mouse\n");*/ - - if ((imsghigh > imsglow && !(imsghigh == MAXIMSGS-1 && imsglow == 0)) || (imsghigh < imsglow && imsghigh != imsglow-1) || imsglow == imsghigh) - { - memcpy(&imsgs[imsghigh], coin, sizeof(imsgs[0])); - imsghigh++; - imsghigh%= MAXIMSGS; - } - else - { - DEBUGRING(kprintf("FTE: message dropped, imsglow = %d, imsghigh = %d\n", imsglow, imsghigh)); - } - - if (/*mouse_active && */(window->Flags & WFLG_WINDOWACTIVE) && coin->ie_Class == IECLASS_RAWMOUSE && screeninfront && window->MouseX > 0 && window->MouseY > 0) - { - if (_windowed_mouse.value) - { -#if 0 - coin->ie_Class = IECLASS_NULL; -#else - coin->ie_position.ie_xy.ie_x = 0; - coin->ie_position.ie_xy.ie_y = 0; -#endif - } - } + INS_ProcessInputMessage(coin, screeninfront && window->MouseX > 0 && window->MouseY > 0); } coin = coin->ie_NextEvent; diff --git a/engine/client/in_sdl.c b/engine/client/in_sdl.c index 2b9aec277..97def7cc7 100644 --- a/engine/client/in_sdl.c +++ b/engine/client/in_sdl.c @@ -222,8 +222,6 @@ static unsigned int tbl_sdltoquakemouse[] = K_MOUSE10 }; -int mouse_x, mouse_y; - void Sys_SendKeyEvents(void) { SDL_Event event; @@ -253,12 +251,11 @@ void Sys_SendKeyEvents(void) case SDL_KEYUP: case SDL_KEYDOWN: - Key_Event(0, tbl_sdltoquake[event.key.keysym.sym], event.key.keysym.unicode, event.key.state); + IN_KeyEvent(0, event.key.state, tbl_sdltoquake[event.key.keysym.sym], event.key.keysym.unicode); break; case SDL_MOUSEMOTION: - mouse_x += event.motion.xrel; - mouse_y += event.motion.yrel; + IN_MouseMove(0, 0, event.motion.xrel, event.motion.yrel, 0, 0); break; case SDL_MOUSEBUTTONDOWN: @@ -266,7 +263,7 @@ void Sys_SendKeyEvents(void) //Hmm. SDL allows for 255 buttons... if (event.button.button > sizeof(tbl_sdltoquakemouse)/sizeof(tbl_sdltoquakemouse[0])) event.button.button = sizeof(tbl_sdltoquakemouse)/sizeof(tbl_sdltoquakemouse[0]); - Key_Event(0, tbl_sdltoquakemouse[event.button.button-1], 0, event.button.state); + IN_KeyEvent(0, event.button.state, tbl_sdltoquakemouse[event.button.button-1], 0); break; case SDL_QUIT: @@ -281,65 +278,29 @@ void Sys_SendKeyEvents(void) -void IN_Shutdown (void) +void INS_Shutdown (void) { + IN_DeactivateMouse(); } -void IN_ReInit (void) +void INS_ReInit (void) { IN_ActivateMouse(); SDL_EnableUNICODE(SDL_ENABLE); } -void IN_Init (void) -{ - IN_ReInit(); -} -void IN_Move (float *movements, int pnum) //add mouse movement to cmd -{ -#ifdef PEXT_CSQC - if (CSQC_MouseMove(mouse_x, mouse_y, 0)) - { - mouse_x = 0; - mouse_y = 0; - } -#endif - mouse_x *= sensitivity.value*in_sensitivityscale; - mouse_y *= sensitivity.value*in_sensitivityscale; - - - if (!cl.paused && mouseactive) - { -// add mouse X/Y movement to cmd - if ( (in_strafe.state[pnum] & 1) || (lookstrafe.value && (in_mlook.state[pnum] & 1) )) - movements[1] += m_side.value * mouse_x; - else - cl.playerview[pnum].viewanglechange[YAW] -= m_yaw.value * mouse_x; - - if (in_mlook.state[pnum] & 1) - V_StopPitchDrift (pnum); - - if ( (in_mlook.state[pnum] & 1) && !(in_strafe.state[pnum] & 1)) - { - cl.playerview[pnum].viewanglechange[PITCH] += m_pitch.value * mouse_y; - } - else - { - if ((in_strafe.state[pnum] & 1) && noclip_anglehack) - movements[2] -= m_forward.value * mouse_y; - else - movements[0] -= m_forward.value * mouse_y; - } - } - - mouse_x = 0; - mouse_y = 0; -} -void IN_Accumulate(void) //input polling +//stubs, all the work is done in Sys_SendKeyEvents +void INS_Move(float *movements, int pnum) { } -void IN_Commands (void) //used to Cbuf_AddText joystick button events in windows. +void INS_Init (void) +{ +} +void INS_Accumulate(void) //input polling +{ +} +void INS_Commands (void) //used to Cbuf_AddText joystick button events in windows. { } diff --git a/engine/client/in_win.c b/engine/client/in_win.c index f005db4ef..7ad7aa687 100644 --- a/engine/client/in_win.c +++ b/engine/client/in_win.c @@ -30,6 +30,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "in_raw.h" #endif +void INS_Accumulate (void); + #ifdef AVAIL_DINPUT #ifndef _MSC_VER @@ -50,17 +52,15 @@ HRESULT (WINAPI *pDirectInputCreate)(HINSTANCE hinst, DWORD dwVersion, #define DINPUT_VERSION_DX7 0x0700 // mouse variables -cvar_t m_filter = CVAR("m_filter","0"); -cvar_t m_accel = CVAR("m_accel", "0"); -cvar_t m_forcewheel = CVAR("m_forcewheel", "1"); -cvar_t m_forcewheel_threshold = CVAR("m_forcewheel_threshold", "32"); -cvar_t in_dinput = CVARF("in_dinput","0", CVAR_ARCHIVE); -cvar_t in_builtinkeymap = CVARF("in_builtinkeymap", "0", CVAR_ARCHIVE); +static cvar_t m_filter = CVAR("m_filter","0"); +static cvar_t m_accel = CVAR("m_accel", "0"); +static cvar_t in_dinput = CVARF("in_dinput","0", CVAR_ARCHIVE); +static cvar_t in_builtinkeymap = CVARF("in_builtinkeymap", "0", CVAR_ARCHIVE); -cvar_t m_accel_noforce = CVAR("m_accel_noforce", "0"); -cvar_t m_threshold_noforce = CVAR("m_threshold_noforce", "0"); +static cvar_t m_accel_noforce = CVAR("m_accel_noforce", "0"); +static cvar_t m_threshold_noforce = CVAR("m_threshold_noforce", "0"); -cvar_t cl_keypad = CVAR("cl_keypad", "0"); +static cvar_t cl_keypad = CVAR("cl_keypad", "0"); extern cvar_t cl_forcesplitclient; typedef struct { @@ -77,20 +77,11 @@ typedef struct { } handles; int numbuttons; + int oldbuttons; int qdeviceid; /*the device id controls which player slot it controls, if splitscreen splits it that way*/ - - volatile int buttons; - volatile int oldbuttons; - volatile int wheeldelta; - - volatile int delta[2]; - int old_delta[2]; - int accum[2]; - - int pos[2]; } mouse_t; -mouse_t sysmouse; +static mouse_t sysmouse; static qboolean restore_spi; static int originalmouseparms[3], newmouseparms[3] = {0, 0, 0}; @@ -119,46 +110,46 @@ enum _ControlList AxisNada = 0, AxisForward, AxisLook, AxisSide, AxisTurn }; -DWORD dwAxisFlags[JOY_MAX_AXES] = +static DWORD dwAxisFlags[JOY_MAX_AXES] = { JOY_RETURNX, JOY_RETURNY, JOY_RETURNZ, JOY_RETURNR, JOY_RETURNU, JOY_RETURNV }; -DWORD dwAxisMap[JOY_MAX_AXES]; -DWORD dwControlMap[JOY_MAX_AXES]; -PDWORD pdwRawValue[JOY_MAX_AXES]; +static DWORD dwAxisMap[JOY_MAX_AXES]; +static DWORD dwControlMap[JOY_MAX_AXES]; +static PDWORD pdwRawValue[JOY_MAX_AXES]; // none of these cvars are saved over a session // this means that advanced controller configuration needs to be executed // each time. this avoids any problems with getting back to a default usage // or when changing from one controller to another. this way at least something // works. -cvar_t in_joystick = CVARF("joystick","0", CVAR_ARCHIVE); -cvar_t joy_name = CVAR("joyname", "joystick"); -cvar_t joy_advanced = CVAR("joyadvanced", "0"); -cvar_t joy_advaxisx = CVAR("joyadvaxisx", "0"); -cvar_t joy_advaxisy = CVAR("joyadvaxisy", "0"); -cvar_t joy_advaxisz = CVAR("joyadvaxisz", "0"); -cvar_t joy_advaxisr = CVAR("joyadvaxisr", "0"); -cvar_t joy_advaxisu = CVAR("joyadvaxisu", "0"); -cvar_t joy_advaxisv = CVAR("joyadvaxisv", "0"); -cvar_t joy_forwardthreshold = CVAR("joyforwardthreshold", "0.15"); -cvar_t joy_sidethreshold = CVAR("joysidethreshold", "0.15"); -cvar_t joy_pitchthreshold = CVAR("joypitchthreshold", "0.15"); -cvar_t joy_yawthreshold = CVAR("joyyawthreshold", "0.15"); -cvar_t joy_forwardsensitivity = CVAR("joyforwardsensitivity", "-1.0"); -cvar_t joy_sidesensitivity = CVAR("joysidesensitivity", "-1.0"); -cvar_t joy_pitchsensitivity = CVAR("joypitchsensitivity", "1.0"); -cvar_t joy_yawsensitivity = CVAR("joyyawsensitivity", "-1.0"); -cvar_t joy_wwhack1 = CVAR("joywwhack1", "0.0"); -cvar_t joy_wwhack2 = CVAR("joywwhack2", "0.0"); +static cvar_t in_joystick = CVARF("joystick","0", CVAR_ARCHIVE); +static cvar_t joy_name = CVAR("joyname", "joystick"); +static cvar_t joy_advanced = CVAR("joyadvanced", "0"); +static cvar_t joy_advaxisx = CVAR("joyadvaxisx", "0"); +static cvar_t joy_advaxisy = CVAR("joyadvaxisy", "0"); +static cvar_t joy_advaxisz = CVAR("joyadvaxisz", "0"); +static cvar_t joy_advaxisr = CVAR("joyadvaxisr", "0"); +static cvar_t joy_advaxisu = CVAR("joyadvaxisu", "0"); +static cvar_t joy_advaxisv = CVAR("joyadvaxisv", "0"); +static cvar_t joy_forwardthreshold = CVAR("joyforwardthreshold", "0.15"); +static cvar_t joy_sidethreshold = CVAR("joysidethreshold", "0.15"); +static cvar_t joy_pitchthreshold = CVAR("joypitchthreshold", "0.15"); +static cvar_t joy_yawthreshold = CVAR("joyyawthreshold", "0.15"); +static cvar_t joy_forwardsensitivity = CVAR("joyforwardsensitivity", "-1.0"); +static cvar_t joy_sidesensitivity = CVAR("joysidesensitivity", "-1.0"); +static cvar_t joy_pitchsensitivity = CVAR("joypitchsensitivity", "1.0"); +static cvar_t joy_yawsensitivity = CVAR("joyyawsensitivity", "-1.0"); +static cvar_t joy_wwhack1 = CVAR("joywwhack1", "0.0"); +static cvar_t joy_wwhack2 = CVAR("joywwhack2", "0.0"); -qboolean joy_avail, joy_advancedinit, joy_haspov; -DWORD joy_oldbuttonstate, joy_oldpovstate; +static qboolean joy_avail, joy_advancedinit, joy_haspov; +static DWORD joy_oldbuttonstate, joy_oldpovstate; -int joy_id; -DWORD joy_flags; -DWORD joy_numbuttons; +static int joy_id; +static DWORD joy_flags; +static DWORD joy_numbuttons; #ifdef AVAIL_DINPUT static const GUID fGUID_XAxis = {0xA36D02E0, 0xC9F3, 0x11CF, {0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}; @@ -170,8 +161,8 @@ static const GUID fIID_IDirectInputDevice7A = {0x57d7c6bc, 0x2356, 0x11d3, {0x8e static const GUID fIID_IDirectInput7A = {0x9a4cb684, 0x236d, 0x11d3, {0x8e, 0x9d, 0x00, 0xc0, 0x4f, 0x68, 0x44, 0xae}}; // devices -LPDIRECTINPUT g_pdi; -LPDIRECTINPUTDEVICE g_pMouse; +static LPDIRECTINPUT g_pdi; +static LPDIRECTINPUTDEVICE g_pMouse; static HINSTANCE hInstDI; @@ -223,8 +214,8 @@ static DIDATAFORMAT df = { #if (DIRECTINPUT_VERSION >= DINPUT_VERSION_DX7) // DX7 devices -LPDIRECTINPUT7 g_pdi7; -LPDIRECTINPUTDEVICE7 g_pMouse7; +static LPDIRECTINPUT7 g_pdi7; +static LPDIRECTINPUTDEVICE7 g_pMouse7; // DX7 specific calls #define iDirectInputCreateEx(a,b,c,d,e) pDirectInputCreateEx(a,b,c,d,e) @@ -254,34 +245,34 @@ typedef INT(WINAPI *pGetRawInputData)(IN HRAWINPUT hRawInput, IN UINT uiCommand, typedef INT(WINAPI *pGetRawInputDeviceInfoA)(IN HANDLE hDevice, IN UINT uiCommand, OUT LPVOID pData, IN OUT PINT pcbSize); typedef BOOL (WINAPI *pRegisterRawInputDevices)(IN PCRAWINPUTDEVICE pRawInputDevices, IN UINT uiNumDevices, IN UINT cbSize); -pGetRawInputDeviceList _GRIDL; -pGetRawInputData _GRID; -pGetRawInputDeviceInfoA _GRIDIA; -pRegisterRawInputDevices _RRID; +static pGetRawInputDeviceList _GRIDL; +static pGetRawInputData _GRID; +static pGetRawInputDeviceInfoA _GRIDIA; +static pRegisterRawInputDevices _RRID; -keyboard_t *rawkbd; -mouse_t *rawmice; -int rawmicecount; -int rawkbdcount; -RAWINPUT *raw; -int ribuffersize; +static keyboard_t *rawkbd; +static mouse_t *rawmice; +static int rawmicecount; +static int rawkbdcount; +static RAWINPUT *raw; +static int ribuffersize; -cvar_t in_rawinput = CVARD("in_rawinput", "0", "Enables rawinput support for mice in XP onwards. Rawinput permits independant device identification (ie: splitscreen clients can each have their own mouse)"); -cvar_t in_rawinput_keyboard = CVARD("in_rawinput_keyboard", "0", "Enables rawinput support for keyboards in XP onwards as well as just mice. Requires in_rawinput to be set."); -cvar_t in_rawinput_rdp = CVARD("in_rawinput_rdp", "0", "Activate Remote Desktop Protocol devices too."); +static cvar_t in_rawinput = CVARD("in_rawinput", "0", "Enables rawinput support for mice in XP onwards. Rawinput permits independant device identification (ie: splitscreen clients can each have their own mouse)"); +static cvar_t in_rawinput_keyboard = CVARD("in_rawinput_keyboard", "0", "Enables rawinput support for keyboards in XP onwards as well as just mice. Requires in_rawinput to be set."); +static cvar_t in_rawinput_rdp = CVARD("in_rawinput_rdp", "0", "Activate Remote Desktop Protocol devices too."); -void IN_RawInput_MouseDeRegister(void); -int IN_RawInput_MouseRegister(void); -void IN_RawInput_KeyboardDeRegister(void); -int IN_RawInput_KeyboardRegister(void); -void IN_RawInput_DeInit(void); +void INS_RawInput_MouseDeRegister(void); +int INS_RawInput_MouseRegister(void); +void INS_RawInput_KeyboardDeRegister(void); +int INS_RawInput_KeyboardRegister(void); +void INS_RawInput_DeInit(void); #endif // forward-referenced functions -void IN_StartupJoystick (void); +void INS_StartupJoystick (void); void Joy_AdvancedUpdate_f (void); -void IN_JoyMove (float *movements, int pnum); +void INS_JoyMove (float *movements, int pnum); /* =========== @@ -295,12 +286,11 @@ void Force_CenterView_f (void) /* =========== -IN_UpdateClipCursor +INS_UpdateClipCursor =========== */ -void IN_UpdateClipCursor (void) +void INS_UpdateClipCursor (void) { - if (mouseinitialized && mouseactive && !dinput) { ClipCursor (&window_rect); @@ -310,12 +300,11 @@ void IN_UpdateClipCursor (void) /* =========== -IN_ShowMouse +INS_ShowMouse =========== */ -static void IN_ShowMouse (void) +static void INS_ShowMouse (void) { - if (!mouseshowtoggle) { ShowCursor (TRUE); @@ -326,12 +315,11 @@ static void IN_ShowMouse (void) /* =========== -IN_HideMouse +INS_HideMouse =========== */ -static void IN_HideMouse (void) +static void INS_HideMouse (void) { - if (mouseshowtoggle) { ShowCursor (FALSE); @@ -342,12 +330,11 @@ static void IN_HideMouse (void) /* =========== -IN_ActivateMouse +INS_ActivateMouse =========== */ -static void IN_ActivateMouse (void) +static void INS_ActivateMouse (void) { - mouseactivatetoggle = true; if (mouseinitialized && !mouseactive) @@ -392,18 +379,18 @@ static void IN_ActivateMouse (void) #ifdef USINGRAWINPUT if (rawmicecount > 0) { - if (IN_RawInput_MouseRegister()) + if (INS_RawInput_MouseRegister()) { Con_SafePrintf("Raw input: unable to register raw input for mice, deinitializing\n"); - IN_RawInput_MouseDeRegister(); + INS_RawInput_MouseDeRegister(); } } if (rawkbdcount > 0) { - if (IN_RawInput_KeyboardRegister()) + if (INS_RawInput_KeyboardRegister()) { Con_SafePrintf("Raw input: unable to register raw input for keyboard, deinitializing\n"); - IN_RawInput_KeyboardDeRegister(); + INS_RawInput_KeyboardDeRegister(); } } #endif @@ -416,6 +403,7 @@ static void IN_ActivateMouse (void) ClipCursor (&window_rect); } + Con_Printf("Mouse grabbed\n"); mouseactive = true; } } @@ -423,12 +411,11 @@ static void IN_ActivateMouse (void) /* =========== -IN_DeactivateMouse +INS_DeactivateMouse =========== */ -static void IN_DeactivateMouse (void) +static void INS_DeactivateMouse (void) { - mouseactivatetoggle = false; if (mouseinitialized && mouseactive) @@ -468,7 +455,7 @@ static void IN_DeactivateMouse (void) { #ifdef USINGRAWINPUT if (rawmicecount > 0) - IN_RawInput_MouseDeRegister(); + INS_RawInput_MouseDeRegister(); #endif if (restore_spi) @@ -478,33 +465,34 @@ static void IN_DeactivateMouse (void) ReleaseCapture (); } + Con_Printf("Mouse released\n"); mouseactive = false; } } /* =========== -IN_SetQuakeMouseState +INS_SetQuakeMouseState =========== */ -void IN_SetQuakeMouseState (void) +void INS_SetQuakeMouseState (void) { if (mouseactivatetoggle) - IN_ActivateMouse (); + INS_ActivateMouse (); else - IN_DeactivateMouse(); + INS_DeactivateMouse(); } /* =========== -IN_RestoreOriginalMouseState +INS_RestoreOriginalMouseState =========== */ -void IN_RestoreOriginalMouseState (void) +void INS_RestoreOriginalMouseState (void) { if (mouseactivatetoggle) { - IN_DeactivateMouse (); + INS_DeactivateMouse (); mouseactivatetoggle = true; } @@ -517,7 +505,7 @@ void IN_RestoreOriginalMouseState (void) -void IN_UpdateGrabs(int fullscreen, int activeapp) +void INS_UpdateGrabs(int fullscreen, int activeapp) { int grabmouse; @@ -537,9 +525,9 @@ void IN_UpdateGrabs(int fullscreen, int activeapp) //visiblity if (grabmouse) - IN_HideMouse(); + INS_HideMouse(); else - IN_ShowMouse(); + INS_ShowMouse(); #ifdef HLCLIENT //halflife gamecode does its own mouse control... yes this is vile. @@ -551,7 +539,7 @@ void IN_UpdateGrabs(int fullscreen, int activeapp) if (grabmouse == 2) { - IN_DeactivateMouse(); + INS_DeactivateMouse(); CLHL_SetMouseActive(true); return; } @@ -560,9 +548,9 @@ void IN_UpdateGrabs(int fullscreen, int activeapp) #endif if (grabmouse) - IN_ActivateMouse(); + INS_ActivateMouse(); else - IN_DeactivateMouse(); + INS_DeactivateMouse(); } @@ -571,7 +559,7 @@ void IN_UpdateGrabs(int fullscreen, int activeapp) #ifdef AVAIL_DINPUT -BOOL CALLBACK IN_EnumerateDevices(LPCDIDEVICEINSTANCE inst, LPVOID parm) +BOOL CALLBACK INS_EnumerateDevices(LPCDIDEVICEINSTANCE inst, LPVOID parm) { Con_DPrintf("EnumerateDevices found: %s\n", inst->tszProductName); @@ -579,10 +567,10 @@ BOOL CALLBACK IN_EnumerateDevices(LPCDIDEVICEINSTANCE inst, LPVOID parm) } /* =========== -IN_InitDInput +INS_InitDInput =========== */ -int IN_InitDInput (void) +int INS_InitDInput (void) { HRESULT hr; DIPROPDWORD dipdw = { @@ -618,7 +606,7 @@ int IN_InitDInput (void) if (FAILED(hr)) return 0; - IDirectInput7_EnumDevices(g_pdi7, 0, &IN_EnumerateDevices, NULL, DIEDFL_ATTACHEDONLY); + IDirectInput7_EnumDevices(g_pdi7, 0, &INS_EnumerateDevices, NULL, DIEDFL_ATTACHEDONLY); // obtain an interface to the system mouse device. hr = IDirectInput7_CreateDeviceEx(g_pdi7, &fGUID_SysMouse, &fIID_IDirectInputDevice7A, &g_pMouse7, NULL); @@ -676,7 +664,7 @@ int IN_InitDInput (void) { return 0; } - IDirectInput_EnumDevices(g_pdi, 0, &IN_EnumerateDevices, NULL, DIEDFL_ATTACHEDONLY); + IDirectInput_EnumDevices(g_pdi, 0, &INS_EnumerateDevices, NULL, DIEDFL_ATTACHEDONLY); // obtain an interface to the system mouse device. hr = IDirectInput_CreateDevice(g_pdi, &fGUID_SysMouse, &g_pMouse, NULL); @@ -720,7 +708,7 @@ int IN_InitDInput (void) return DINPUT_VERSION_DX3; } -void IN_CloseDInput (void) +void INS_CloseDInput (void) { #if (DIRECTINPUT_VERSION >= DINPUT_VERSION_DX7) if (g_pMouse7) @@ -755,7 +743,7 @@ void IN_CloseDInput (void) #endif #ifdef USINGRAWINPUT -void IN_RawInput_MouseDeRegister(void) +void INS_RawInput_MouseDeRegister(void) { RAWINPUTDEVICE Rid; @@ -768,7 +756,7 @@ void IN_RawInput_MouseDeRegister(void) (*_RRID)(&Rid, 1, sizeof(Rid)); } -void IN_RawInput_KeyboardDeRegister(void) +void INS_RawInput_KeyboardDeRegister(void) { RAWINPUTDEVICE Rid; @@ -781,17 +769,17 @@ void IN_RawInput_KeyboardDeRegister(void) (*_RRID)(&Rid, 1, sizeof(Rid)); } -void IN_RawInput_DeInit(void) +void INS_RawInput_DeInit(void) { if (rawmicecount > 0) { - IN_RawInput_MouseDeRegister(); + INS_RawInput_MouseDeRegister(); Z_Free(rawmice); rawmicecount = 0; } if (rawkbdcount > 0) { - IN_RawInput_KeyboardDeRegister(); + INS_RawInput_KeyboardDeRegister(); Z_Free(rawkbd); rawkbdcount = 0; } @@ -800,7 +788,7 @@ void IN_RawInput_DeInit(void) #ifdef USINGRAWINPUT // raw input registration functions -int IN_RawInput_MouseRegister(void) +int INS_RawInput_MouseRegister(void) { // This function registers to receive the WM_INPUT messages RAWINPUTDEVICE Rid; // Register only for mouse messages from wm_input. @@ -818,7 +806,7 @@ int IN_RawInput_MouseRegister(void) return 0; } -int IN_RawInput_KeyboardRegister(void) +int INS_RawInput_KeyboardRegister(void) { RAWINPUTDEVICE Rid; @@ -833,14 +821,14 @@ int IN_RawInput_KeyboardRegister(void) return 0; } -int IN_RawInput_Register(void) +int INS_RawInput_Register(void) { - if (IN_RawInput_MouseRegister()) - return !in_rawinput_keyboard.ival || IN_RawInput_KeyboardRegister(); + if (INS_RawInput_MouseRegister()) + return !in_rawinput_keyboard.ival || INS_RawInput_KeyboardRegister(); return 0; } -int IN_RawInput_IsRDPDevice(char *cDeviceString) +int INS_RawInput_IsRDPDevice(char *cDeviceString) { // mouse is \\?\Root#RDP_MOU#, keyboard is \\?\Root#RDP_KBD#" char cRDPString[] = "\\\\?\\Root#RDP_"; @@ -859,7 +847,7 @@ int IN_RawInput_IsRDPDevice(char *cDeviceString) return 1; } -void IN_RawInput_Init(void) +void INS_RawInput_Init(void) { // "0" to exclude, "1" to include PRAWINPUTDEVICELIST pRawInputDeviceList; @@ -929,7 +917,7 @@ void IN_RawInput_Init(void) if ((*_GRIDIA)(pRawInputDeviceList[i].hDevice, RIDI_DEVICENAME, dname, &j) < 0) dname[0] = 0; - if (!(in_rawinput_rdp.value) && IN_RawInput_IsRDPDevice(dname)) // use rdp (cvar) + if (!(in_rawinput_rdp.value) && INS_RawInput_IsRDPDevice(dname)) // use rdp (cvar) continue; switch (pRawInputDeviceList[i].dwType) @@ -966,7 +954,7 @@ void IN_RawInput_Init(void) if ((*_GRIDIA)(pRawInputDeviceList[i].hDevice, RIDI_DEVICENAME, dname, &j) < 0) dname[0] = 0; - if (!(in_rawinput_rdp.value) && IN_RawInput_IsRDPDevice(dname)) // use rdp (cvar) + if (!(in_rawinput_rdp.value) && INS_RawInput_IsRDPDevice(dname)) // use rdp (cvar) continue; switch (pRawInputDeviceList[i].dwType) @@ -975,7 +963,6 @@ void IN_RawInput_Init(void) // set handle rawmice[rawmicecount].handles.rawinputhandle = pRawInputDeviceList[i].hDevice; rawmice[rawmicecount].numbuttons = 10; - rawmice[rawmicecount].pos[0] = RI_INVALID_POS; rawmice[rawmicecount].qdeviceid = rawmicecount; rawmicecount++; break; @@ -1020,10 +1007,10 @@ void IN_RawInput_Init(void) /* =========== -IN_StartupMouse +INS_StartupMouse =========== */ -void IN_StartupMouse (void) +void INS_StartupMouse (void) { if ( COM_CheckParm ("-nomouse") ) return; @@ -1031,12 +1018,12 @@ void IN_StartupMouse (void) mouseinitialized = true; //make sure it can't get stuck - IN_DeactivateMouse (); + INS_DeactivateMouse (); #ifdef AVAIL_DINPUT if (in_dinput.value) { - dinput = IN_InitDInput (); + dinput = INS_InitDInput (); if (dinput) { @@ -1074,40 +1061,34 @@ void IN_StartupMouse (void) // if a fullscreen video mode was set before the mouse was initialized, // set the mouse state appropriately if (mouseactivatetoggle) - IN_ActivateMouse (); + INS_ActivateMouse (); } /* =========== -IN_Init +INS_Init =========== */ -void IN_ReInit (void) +void INS_ReInit (void) { #ifdef USINGRAWINPUT if (in_rawinput.value) { - IN_RawInput_Init(); + INS_RawInput_Init(); } #endif - IN_StartupMouse (); - IN_StartupJoystick (); -// IN_ActivateMouse(); + INS_StartupMouse (); + INS_StartupJoystick (); +// INS_ActivateMouse(); } -void IN_Init (void) +void INS_Init (void) { //keyboard variables Cvar_Register (&cl_keypad, "Input Controls"); - // mouse variables - Cvar_Register (&m_filter, "Input Controls"); - Cvar_Register (&m_accel, "Input Controls"); - Cvar_Register (&m_forcewheel, "Input Controls"); - Cvar_Register (&m_forcewheel_threshold, "Input Controls"); - Cvar_Register (&in_dinput, "Input Controls"); Cvar_Register (&in_builtinkeymap, "Input Controls"); @@ -1167,33 +1148,34 @@ void IN_Init (void) /* =========== -IN_Shutdown +INS_Shutdown =========== */ -void IN_Shutdown (void) +void INS_Shutdown (void) { mouseinitialized = false; - IN_DeactivateMouse (); - IN_ShowMouse (); + INS_DeactivateMouse (); + INS_ShowMouse (); mouseparmsvalid = false; #ifdef AVAIL_DINPUT - IN_CloseDInput(); + INS_CloseDInput(); #endif #ifdef USINGRAWINPUT - IN_RawInput_DeInit(); + INS_RawInput_DeInit(); #endif } /* =========== -IN_MouseEvent +INS_MouseEvent =========== +a mouse button was pressed/released, mstate is the current set of buttons pressed. */ -void IN_MouseEvent (int mstate) +void INS_MouseEvent (int mstate) { int i; @@ -1213,13 +1195,13 @@ void IN_MouseEvent (int mstate) if ( (mstate & (1<qdeviceid % wpnum; - if (wpnum != pnum) - return; - - // perform button actions - for (i=0 ; inumbuttons ; i++) - { - if ( (mouse->buttons & (1<oldbuttons & (1<qdeviceid, K_MOUSE1 + i, 0, true); - } - - if ( !(mouse->buttons & (1<oldbuttons & (1<qdeviceid, K_MOUSE1 + i, 0, false); - } - } - mouse->oldbuttons = mouse->buttons; - - if (m_forcewheel.value) - { - mfwt = (int)m_forcewheel_threshold.value; - if (mfwt) - { - while(mouse->wheeldelta <= -mfwt) - { - Key_Event (mouse->qdeviceid, K_MWHEELUP, 0, true); - Key_Event (mouse->qdeviceid, K_MWHEELUP, 0, false); - mouse->wheeldelta += mfwt; - } - - while(mouse->wheeldelta >= mfwt) - { - Key_Event (mouse->qdeviceid, K_MWHEELDOWN, 0, true); - Key_Event (mouse->qdeviceid, K_MWHEELDOWN, 0, false); - mouse->wheeldelta -= mfwt; - } - } - - if (m_forcewheel.value < 2) - mouse->wheeldelta = 0; - } - - mx = mouse->delta[0]; - mouse->delta[0]=0; - my = mouse->delta[1]; - mouse->delta[1]=0; - - - if(in_xflip.value) mx *= -1; - - mousemove_x += mx; - mousemove_y += my; - - if (Key_MouseShouldBeFree()) - { - mousecursor_x += mx; - mousecursor_y += my; - - if (mousecursor_y<0) - mousecursor_y=0; - if (mousecursor_x<0) - mousecursor_x=0; - - if (mousecursor_x >= vid.width) - mousecursor_x = vid.width - 1; - - if (mousecursor_y >= vid.height) - mousecursor_y = vid.height - 1; - mx=my=0; - -#ifdef PEXT_CSQC - CSQC_MousePosition(mousecursor_x, mousecursor_y, mouse->qdeviceid); -#endif - } - else - { -#ifdef VM_UI - if (UI_MousePosition(mx, my)) - { - mx = 0; - my = 0; - } -#endif - } - -#ifdef PEXT_CSQC - if (mx || my) - if (CSQC_MouseMove(mx, my, mouse->qdeviceid)) - { - mx = 0; - my = 0; - } -#endif - - if (m_filter.value) - { - double fraction = bound(0, m_filter.value, 2) * 0.5; - mouse_x = (mx*(1-fraction) + mouse->old_delta[0]*fraction); - mouse_y = (my*(1-fraction) + mouse->old_delta[1]*fraction); - } - else - { - mouse_x = mx; - mouse_y = my; - } - - mouse->old_delta[0] = mx; - mouse->old_delta[1] = my; - - if (m_accel.value) { - mouse_deltadist = sqrt(mx*mx + my*my); - mouse_x *= (mouse_deltadist*m_accel.value + sensitivity.value*in_sensitivityscale); - mouse_y *= (mouse_deltadist*m_accel.value + sensitivity.value*in_sensitivityscale); - } else { - mouse_x *= sensitivity.value*in_sensitivityscale; - mouse_y *= sensitivity.value*in_sensitivityscale; - } - - if (cl.playerview[pnum].stats[STAT_VIEWZOOM]) - { - mouse_x *= cl.playerview[pnum].stats[STAT_VIEWZOOM]/255.0f; - mouse_y *= cl.playerview[pnum].stats[STAT_VIEWZOOM]/255.0f; - } - - - if (!movements) - { - return; - } - -// if (cl.paused) -// return; - -// add mouse X/Y movement to cmd - if ( (in_strafe.state[pnum] & 1) || (lookstrafe.value && (in_mlook.state[pnum] & 1) )) - movements[1] += m_side.value * mouse_x; - else - { -// if ((int)((cl.viewangles[pnum][PITCH]+89.99)/180) & 1) -// mouse_x *= -1; - cl.playerview[pnum].viewanglechange[YAW] -= m_yaw.value * mouse_x; - } - - if (in_mlook.state[pnum] & 1) - V_StopPitchDrift (pnum); - - if ( (in_mlook.state[pnum] & 1) && !(in_strafe.state[pnum] & 1)) - { - cl.playerview[pnum].viewanglechange[PITCH] += m_pitch.value * mouse_y; - } - else - { - if ((in_strafe.state[pnum] & 1) && noclip_anglehack) - movements[2] -= m_forward.value * mouse_y; - else - movements[0] -= m_forward.value * mouse_y; - } - -} - - /* =========== -IN_MouseMove +INS_MouseMove =========== */ -void IN_MouseMove (float *movements, int pnum) +void INS_MouseMove (float *movements, int pnum) { - POINT current_pos; - extern int mousecursor_x, mousecursor_y; extern int window_x, window_y; - if (!mouseactive) - { - GetCursorPos (¤t_pos); - mousecursor_x = current_pos.x-window_x; - mousecursor_y = current_pos.y-window_y; - - mousecursor_x *= vid.width/(float)vid.pixelwidth; - mousecursor_y *= vid.height/(float)vid.pixelheight; - -#ifdef VM_UI - if (!Key_MouseShouldBeFree()) - UI_MousePosition(mousecursor_x, mousecursor_y); -#endif - - return; - } - #ifdef AVAIL_DINPUT if (dinput) { DIDEVICEOBJECTDATA od; DWORD dwElements; HRESULT hr; + int xd = 0, yd = 0, zd = 0; for (;;) { @@ -1488,158 +1269,96 @@ void IN_MouseMove (float *movements, int pnum) switch (od.dwOfs) { case DIMOFS_X: - sysmouse.delta[0] += od.dwData; + xd += od.dwData; break; case DIMOFS_Y: - sysmouse.delta[1] += od.dwData; + yd += od.dwData; break; case DIMOFS_Z: - if (m_forcewheel.value >= 2) - sysmouse.wheeldelta -= (signed int)od.dwData; - else if (m_forcewheel.value) - { - int mfwt = (int)m_forcewheel_threshold.value; - - if ((signed int)od.dwData > mfwt) - sysmouse.wheeldelta -= mfwt; - else if ((signed int)od.dwData < -mfwt) - sysmouse.wheeldelta += mfwt; - } + zd += od.dwData; break; case DIMOFS_BUTTON0: - if (od.dwData & 0x80) - sysmouse.buttons |= 1; - else - sysmouse.buttons &= ~1; - break; - case DIMOFS_BUTTON1: - if (od.dwData & 0x80) - sysmouse.buttons |= (1 << 1); - else - sysmouse.buttons &= ~(1 << 1); - break; - case DIMOFS_BUTTON2: - if (od.dwData & 0x80) - sysmouse.buttons |= (1 << 2); - else - sysmouse.buttons &= ~(1 << 2); - break; - case DIMOFS_BUTTON3: - if (od.dwData & 0x80) - sysmouse.buttons |= (1 << 3); - else - sysmouse.buttons &= ~(1 << 3); - break; - #if (DIRECTINPUT_VERSION >= DINPUT_VERSION_DX7) case DIMOFS_BUTTON4: - if (od.dwData & 0x80) - sysmouse.buttons |= (1 << 4); - else - sysmouse.buttons &= ~(1 << 4); - break; - case DIMOFS_BUTTON5: - if (od.dwData & 0x80) - sysmouse.buttons |= (1 << 5); - else - sysmouse.buttons &= ~(1 << 5); - break; - case DIMOFS_BUTTON6: - if (od.dwData & 0x80) - sysmouse.buttons |= (1 << 6); - else - sysmouse.buttons &= ~(1 << 6); - break; - case DIMOFS_BUTTON7: - if (od.dwData & 0x80) - sysmouse.buttons |= (1 << 7); - else - sysmouse.buttons &= ~(1 << 7); - break; #endif + IN_KeyEvent(sysmouse.qdeviceid, (od.dwData & 0x80)?true:false, K_MOUSE1 + ((od.dwOfs - DIMOFS_BUTTON0) / (DIMOFS_BUTTON1-DIMOFS_BUTTON0)), 0); + break; } } + if (xd || yd || zd) + IN_MouseMove(sysmouse.qdeviceid, false, xd, yd, zd, 0); } else #endif { - IN_Accumulate(); - - sysmouse.buttons = sysmouse.oldbuttons; //don't do it!!! Our buttons are event driven. We don't want to merge em and forget do we now? + INS_Accumulate(); } - -#ifdef USINGRAWINPUT - if (rawmicecount) - { - int x; - for (x = 0; x < rawmicecount; x++) - { - ProcessMouse(rawmice + x, movements, pnum); - } - } -#endif - - ProcessMouse(&sysmouse, movements, pnum); } /* =========== -IN_Move +INS_Move =========== */ -void IN_Move (float *movements, int pnum) +void INS_Move (float *movements, int pnum) { - if (ActiveApp && !Minimized) { - IN_MouseMove (movements, pnum); + INS_MouseMove (movements, pnum); if (pnum == 1 || cl.splitclients<2) - IN_JoyMove (movements, pnum); + INS_JoyMove (movements, pnum); } } /* =========== -IN_Accumulate +INS_Accumulate =========== +potentially called multiple times per frame. */ -void IN_Accumulate (void) +void INS_Accumulate (void) { + POINT current_pos; + if (mouseactive && !dinput) { #ifdef USINGRAWINPUT - if (rawmicecount) - { - } - else + //raw input disables the system mouse, to avoid dupes + if (!rawmicecount) #endif { - POINT current_pos; - GetCursorPos (¤t_pos); - sysmouse.delta[0] += current_pos.x - window_center_x; - sysmouse.delta[1] += current_pos.y - window_center_y; + IN_MouseMove(sysmouse.qdeviceid, false, current_pos.x - window_center_x, current_pos.y - window_center_y, 0, 0); } - // force the mouse to the center, so there's room to move + // force the mouse to the center, so there's room to move (rawinput ignore this apparently) SetCursorPos (window_center_x, window_center_y); } + + if (!mouseactive) + { + extern int window_x, window_y; + GetCursorPos (¤t_pos); + + IN_MouseMove(sysmouse.qdeviceid, true, current_pos.x-window_x, current_pos.y-window_y, 0, 0); + return; + } } #ifdef USINGRAWINPUT -void IN_RawInput_MouseRead(void) +void INS_RawInput_MouseRead(void) { int i, tbuttons, j; mouse_t *mouse; @@ -1658,55 +1377,47 @@ void IN_RawInput_MouseRead(void) // movement if (raw->data.mouse.usFlags & MOUSE_MOVE_ABSOLUTE) { - if (rawmice[i].pos[0] != RI_INVALID_POS) - { - rawmice[i].delta[0] += raw->data.mouse.lLastX - rawmice[i].pos[0]; - rawmice[i].delta[1] += raw->data.mouse.lLastY - rawmice[i].pos[1]; - } - rawmice[i].pos[0] = raw->data.mouse.lLastX; - rawmice[i].pos[1] = raw->data.mouse.lLastY; + IN_MouseMove(mouse->qdeviceid, true, raw->data.mouse.lLastX, raw->data.mouse.lLastY, 0, 0); } else // RELATIVE { - rawmice[i].delta[0] += raw->data.mouse.lLastX; - rawmice[i].delta[1] += raw->data.mouse.lLastY; - rawmice[i].pos[0] = RI_INVALID_POS; + IN_MouseMove(mouse->qdeviceid, false, raw->data.mouse.lLastX, raw->data.mouse.lLastY, 0, 0); } // buttons if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_1_DOWN) - Key_Event(mouse->qdeviceid, K_MOUSE1, 0, true); + IN_KeyEvent(mouse->qdeviceid, true, K_MOUSE1, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_1_UP) - Key_Event(mouse->qdeviceid, K_MOUSE1, 0, false); + IN_KeyEvent(mouse->qdeviceid, false, K_MOUSE1, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_2_DOWN) - Key_Event(mouse->qdeviceid, K_MOUSE2, 0, true); + IN_KeyEvent(mouse->qdeviceid, true, K_MOUSE2, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_2_UP) - Key_Event(mouse->qdeviceid, K_MOUSE2, 0, false); + IN_KeyEvent(mouse->qdeviceid, false, K_MOUSE2, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_3_DOWN) - Key_Event(mouse->qdeviceid, K_MOUSE3, 0, true); + IN_KeyEvent(mouse->qdeviceid, true, K_MOUSE3, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_3_UP) - Key_Event(mouse->qdeviceid, K_MOUSE3, 0, false); + IN_KeyEvent(mouse->qdeviceid, false, K_MOUSE3, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_4_DOWN) - Key_Event(mouse->qdeviceid, K_MOUSE4, 0, true); + IN_KeyEvent(mouse->qdeviceid, true, K_MOUSE4, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_4_UP) - Key_Event(mouse->qdeviceid, K_MOUSE4, 0, false); + IN_KeyEvent(mouse->qdeviceid, false, K_MOUSE4, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_5_DOWN) - Key_Event(mouse->qdeviceid, K_MOUSE5, 0, true); + IN_KeyEvent(mouse->qdeviceid, true, K_MOUSE5, 0); if (raw->data.mouse.usButtonFlags & RI_MOUSE_BUTTON_5_UP) - Key_Event(mouse->qdeviceid, K_MOUSE5, 0, false); + IN_KeyEvent(mouse->qdeviceid, false, K_MOUSE5, 0); // mouse wheel if (raw->data.mouse.usButtonFlags & RI_MOUSE_WHEEL) { // If the current message has a mouse_wheel message if ((SHORT)raw->data.mouse.usButtonData > 0) { - Key_Event(mouse->qdeviceid, K_MWHEELUP, 0, true); - Key_Event(mouse->qdeviceid, K_MWHEELUP, 0, false); + IN_KeyEvent(mouse->qdeviceid, true, K_MWHEELUP, 0); + IN_KeyEvent(mouse->qdeviceid, false, K_MWHEELUP, 0); } if ((SHORT)raw->data.mouse.usButtonData < 0) { - Key_Event(mouse->qdeviceid, K_MWHEELDOWN, 0, true); - Key_Event(mouse->qdeviceid, K_MWHEELDOWN, 0, false); + IN_KeyEvent(mouse->qdeviceid, true, K_MWHEELDOWN, 0); + IN_KeyEvent(mouse->qdeviceid, false, K_MWHEELDOWN, 0); } } @@ -1714,23 +1425,22 @@ void IN_RawInput_MouseRead(void) tbuttons = raw->data.mouse.ulRawButtons & RI_RAWBUTTON_MASK; for (j=6 ; jqdeviceid, K_MOUSE1 + j, 0, true); + IN_KeyEvent (mouse->qdeviceid, true, K_MOUSE1 + j, 0); } - if ( !(tbuttons & (1<qdeviceid, K_MOUSE1 + j, 0, false); + IN_KeyEvent (mouse->qdeviceid, false, K_MOUSE1 + j, 0); } - } - rawmice[i].buttons &= ~RI_RAWBUTTON_MASK; - rawmice[i].buttons |= tbuttons; + rawmice[i].oldbuttons &= ~RI_RAWBUTTON_MASK; + rawmice[i].oldbuttons |= tbuttons; } -void IN_RawInput_KeyboardRead(void) +void INS_RawInput_KeyboardRead(void) { int i; qboolean down; @@ -1750,10 +1460,10 @@ void IN_RawInput_KeyboardRead(void) wParam = (-down) & 0xC0000000; lParam = MapVirtualKey(raw->data.keyboard.VKey, 0)<<16; - IN_TranslateKeyEvent(wParam, lParam, down, rawkbd[i].qdeviceid); + INS_TranslateKeyEvent(wParam, lParam, down, rawkbd[i].qdeviceid); } -void IN_RawInput_Read(HANDLE in_device_handle) +void INS_RawInput_Read(HANDLE in_device_handle) { int dwSize; @@ -1775,21 +1485,21 @@ void IN_RawInput_Read(HANDLE in_device_handle) return; } - IN_RawInput_MouseRead(); - IN_RawInput_KeyboardRead(); + INS_RawInput_MouseRead(); + INS_RawInput_KeyboardRead(); } #else -void IN_RawInput_Read(HANDLE in_device_handle) +void INS_RawInput_Read(HANDLE in_device_handle) { } #endif /* =================== -IN_ClearStates +INS_ClearStates =================== */ -void IN_ClearStates (void) +void INS_ClearStates (void) { if (mouseactive) @@ -1802,10 +1512,10 @@ void IN_ClearStates (void) /* =============== -IN_StartupJoystick +INS_StartupJoystick =============== */ -void IN_StartupJoystick (void) +void INS_StartupJoystick (void) { int numdevs; JOYCAPS jc; @@ -1876,7 +1586,7 @@ void IN_StartupJoystick (void) RawValuePointer =========== */ -PDWORD RawValuePointer (int axis) +static PDWORD RawValuePointer (int axis) { switch (axis) { @@ -1905,7 +1615,7 @@ Joy_AdvancedUpdate_f void Joy_AdvancedUpdate_f (void) { - // called once by IN_ReadJoystick and by user whenever an update is needed + // called once by INS_ReadJoystick and by user whenever an update is needed // cvars are now available int i; DWORD dwTemp; @@ -1971,10 +1681,10 @@ void Joy_AdvancedUpdate_f (void) /* =========== -IN_Commands +INS_Commands =========== */ -void IN_Commands (void) +void INS_Commands (void) { int i, key_index; DWORD buttonstate, povstate; @@ -2041,10 +1751,10 @@ void IN_Commands (void) /* =============== -IN_ReadJoystick +INS_ReadJoystick =============== */ -qboolean IN_ReadJoystick (void) +qboolean INS_ReadJoystick (void) { memset (&ji, 0, sizeof(ji)); @@ -2067,7 +1777,7 @@ qboolean IN_ReadJoystick (void) // read error occurred // turning off the joystick seems too harsh for 1 read error, // but what should be done? - // Con_Printf ("IN_ReadJoystick: no response\n"); + // Con_Printf ("INS_ReadJoystick: no response\n"); // joy_avail = false; return false; } @@ -2076,10 +1786,10 @@ qboolean IN_ReadJoystick (void) /* =========== -IN_JoyMove +INS_JoyMove =========== */ -void IN_JoyMove (float *movements, int pnum) +void INS_JoyMove (float *movements, int pnum) { float speed, aspeed; float fAxisValue, fTemp; @@ -2100,7 +1810,7 @@ void IN_JoyMove (float *movements, int pnum) } // collect the joystick data, if possible - if (IN_ReadJoystick () != true) + if (INS_ReadJoystick () != true) { return; } @@ -2380,7 +2090,7 @@ static int MapKey (int vkey) return scantokey[key]; } -void IN_TranslateKeyEvent(WPARAM wParam, LPARAM lParam, qboolean down, int qdeviceid) +void INS_TranslateKeyEvent(WPARAM wParam, LPARAM lParam, qboolean down, int qdeviceid) { extern cvar_t in_builtinkeymap; int qcode; diff --git a/engine/client/input.h b/engine/client/input.h index 3a93d986f..d8f9b2d7e 100644 --- a/engine/client/input.h +++ b/engine/client/input.h @@ -34,8 +34,6 @@ void IN_Move (float *movements, int pnum); void IN_ModeChanged (void); // called whenever screen dimensions change -void IN_ClearStates (void); -void IN_Accumulate (void); extern cvar_t in_xflip; #ifdef _SDL @@ -44,3 +42,16 @@ void IN_DeactivateMouse(void); #endif int CL_TargettedSplit(qboolean nowrap); + +//specific events for the system-specific input code to call. may be called outside the main thread (so long as you don't call these simultaneously - ie: use a mutex or only one input thread). +void IN_KeyEvent(int devid, int down, int keycode, int unicode); //don't use IN_KeyEvent for mice if you ever use abs mice... +void IN_MouseMove(int devid, int abs, float x, float y, float z, float size); + +//system-specific functions +void INS_Move (float *movements, int pnum); +void INS_Accumulate (void); +void INS_ClearStates (void); +void INS_ReInit (void); +void INS_Init (void); +void INS_Shutdown (void); +void INS_Commands (void); //final chance to call IN_MouseMove/IN_KeyEvent each frame diff --git a/engine/client/keys.c b/engine/client/keys.c index 54dc447b0..6b809a351 100644 --- a/engine/client/keys.c +++ b/engine/client/keys.c @@ -1613,6 +1613,9 @@ qboolean Key_MouseShouldBeFree(void) extern cvar_t cl_prydoncursor; // extern int mouseusedforgui; // if (mouseusedforgui) //I don't like this +// return true; + +// if (!ActiveApp) // return true; if (key_dest == key_menu) diff --git a/engine/client/m_items.c b/engine/client/m_items.c index ac5fcec45..6d4cf1c44 100644 --- a/engine/client/m_items.c +++ b/engine/client/m_items.c @@ -1566,8 +1566,6 @@ void M_Complex_Draw(void) } MenuDraw(cmenu); } - - SCR_DrawCursor(0); } menuoption_t *M_NextItem(menu_t *m, menuoption_t *old) diff --git a/engine/client/snd_dma.c b/engine/client/snd_dma.c index 3073f86ea..76a52cbe2 100644 --- a/engine/client/snd_dma.c +++ b/engine/client/snd_dma.c @@ -2048,7 +2048,7 @@ void S_ExtraUpdate (void) return; #ifdef _WIN32 - IN_Accumulate (); + INS_Accumulate (); #endif if (snd_noextraupdate.ival) diff --git a/engine/client/sys_droid.c b/engine/client/sys_droid.c index 789227f67..4492be6bc 100644 --- a/engine/client/sys_droid.c +++ b/engine/client/sys_droid.c @@ -59,6 +59,36 @@ JNIEXPORT jstring JNICALL Java_com_fteqw_FTEDroidEngine_getpreferedorientation(J return (*env)->NewStringUTF(env, sys_orientation.string); } +/*the java passes in all input directly via a 'UI' thread. we don't need to poll it at all*/ +void INS_Move(float *movements, int pnum) +{ +} +void INS_Commands(void) +{ +} +void INS_Init(void) +{ +} +void INS_ReInit(void) +{ +} +void INS_Shutdown(void) +{ +} +JNIEXPORT void JNICALL Java_com_fteqw_FTEDroidEngine_keypress(JNIEnv *env, jobject obj, + jint down, jint keycode, jint unicode) +{ + IN_KeyEvent(0, down, keycode, unicode); +} +JNIEXPORT void JNICALL Java_com_fteqw_FTEDroidEngine_motion(JNIEnv *env, jobject obj, + jint act, jint ptrid, jfloat x, jfloat y, jfloat size) +{ + if (act) + IN_KeyEvent(ptrid, act==1, K_MOUSE1, 0); + else + IN_MouseMove(ptrid, true, x, y, 0, size); +} + JNIEXPORT jint JNICALL Java_com_fteqw_FTEDroidEngine_frame(JNIEnv *env, jobject obj, jfloat ax, jfloat ay, jfloat az) { diff --git a/engine/client/sys_sdl.c b/engine/client/sys_sdl.c index c3be63fab..44d8151a4 100644 --- a/engine/client/sys_sdl.c +++ b/engine/client/sys_sdl.c @@ -476,7 +476,7 @@ void Sys_CloseTerminal (void) #include #endif -int main(int argc, char **argv) +int QDECL main(int argc, char **argv) { float time, newtime, oldtime; quakeparms_t parms; diff --git a/engine/client/winquake.h b/engine/client/winquake.h index cef9cbbb1..79730abb7 100644 --- a/engine/client/winquake.h +++ b/engine/client/winquake.h @@ -73,11 +73,11 @@ extern qboolean ActiveApp, Minimized; extern qboolean WinNT; -void IN_UpdateGrabs(int fullscreen, int activeapp); -void IN_RestoreOriginalMouseState (void); -void IN_SetQuakeMouseState (void); -void IN_MouseEvent (int mstate); -void IN_RawInput_Read(HANDLE in_device_handle); +void INS_UpdateGrabs(int fullscreen, int activeapp); +void INS_RestoreOriginalMouseState (void); +void INS_SetQuakeMouseState (void); +void INS_MouseEvent (int mstate); +void INS_RawInput_Read(HANDLE in_device_handle); extern qboolean winsock_lib_initialized; @@ -88,9 +88,9 @@ extern qboolean mouseinitialized; //extern HANDLE hinput, houtput; -void IN_UpdateClipCursor (void); +void INS_UpdateClipCursor (void); void CenterWindow(HWND hWndCenter, int width, int height, BOOL lefttopjustify); -void IN_TranslateKeyEvent(WPARAM wParam, LPARAM lParam, qboolean down, int pnum); +void INS_TranslateKeyEvent(WPARAM wParam, LPARAM lParam, qboolean down, int pnum); void S_BlockSound (void); void S_UnblockSound (void); diff --git a/engine/d3d/vid_d3d.c b/engine/d3d/vid_d3d.c index f61321ef2..ff67377d4 100644 --- a/engine/d3d/vid_d3d.c +++ b/engine/d3d/vid_d3d.c @@ -181,7 +181,7 @@ static void D3DVID_UpdateWindowStatus (HWND hWnd) window_center_x = (window_rect.left + window_rect.right) / 2; window_center_y = (window_rect.top + window_rect.bottom) / 2; - IN_UpdateClipCursor (); + INS_UpdateClipCursor (); } static qboolean D3D9AppActivate(BOOL fActive, BOOL minimize) @@ -260,13 +260,13 @@ static LRESULT WINAPI D3D9_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA case WM_KEYDOWN: case WM_SYSKEYDOWN: if (!vid_initializing) - IN_TranslateKeyEvent (wParam, lParam, true, 0); + INS_TranslateKeyEvent (wParam, lParam, true, 0); break; case WM_KEYUP: case WM_SYSKEYUP: if (!vid_initializing) - IN_TranslateKeyEvent (wParam, lParam, false, 0); + INS_TranslateKeyEvent (wParam, lParam, false, 0); break; case WM_SYSCHAR: diff --git a/engine/d3d/vid_d3d11.c b/engine/d3d/vid_d3d11.c index f658a7a73..620b6c882 100644 --- a/engine/d3d/vid_d3d11.c +++ b/engine/d3d/vid_d3d11.c @@ -188,7 +188,7 @@ static void D3DVID_UpdateWindowStatus (HWND hWnd) window_center_x = (window_rect.left + window_rect.right) / 2; window_center_y = (window_rect.top + window_rect.bottom) / 2; - IN_UpdateClipCursor (); + INS_UpdateClipCursor (); } static qboolean D3D11AppActivate(BOOL fActive, BOOL minimize) @@ -268,13 +268,13 @@ static LRESULT WINAPI D3D11_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPAR case WM_KEYDOWN: case WM_SYSKEYDOWN: if (!vid_initializing) - IN_TranslateKeyEvent (wParam, lParam, true, 0); + INS_TranslateKeyEvent (wParam, lParam, true, 0); break; case WM_KEYUP: case WM_SYSKEYUP: if (!vid_initializing) - IN_TranslateKeyEvent (wParam, lParam, false, 0); + INS_TranslateKeyEvent (wParam, lParam, false, 0); break; case WM_SYSCHAR: diff --git a/engine/dotnet2005/botlib.vcproj b/engine/dotnet2005/botlib.vcproj index de5c4ff51..bc698e8f5 100644 --- a/engine/dotnet2005/botlib.vcproj +++ b/engine/dotnet2005/botlib.vcproj @@ -400,6 +400,10 @@ RelativePath="..\botlib\l_utils.h" > + + diff --git a/engine/dotnet2005/ftequake.sln b/engine/dotnet2005/ftequake.sln index 9d7db92e9..a04b039ca 100644 --- a/engine/dotnet2005/ftequake.sln +++ b/engine/dotnet2005/ftequake.sln @@ -5,7 +5,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ftequake", "ftequake.vcproj {0018E098-B12A-4E4D-9B22-6772DA287080} = {0018E098-B12A-4E4D-9B22-6772DA287080} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ftequake", "ftequake_SDL.vcproj", "{F384725A-62D4-4063-9941-6D8D2D6C2A47}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sdlfte", "ftequake_SDL.vcproj", "{F384725A-62D4-4063-9941-6D8D2D6C2A47}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "npfte", "npfte.vcproj", "{88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}" ProjectSection(ProjectDependencies) = postProject @@ -56,8 +56,8 @@ Global Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.D3DDebug|Win32.ActiveCfg = D3DDebug|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.D3DDebug|Win32.Build.0 = D3DDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.D3DDebug|Win32.ActiveCfg = D3DRelease|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.D3DDebug|Win32.Build.0 = D3DRelease|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.D3DDebug|x64.ActiveCfg = D3DDebug|x64 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.D3DDebug|x64.Build.0 = D3DDebug|x64 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.D3DRelease|Win32.ActiveCfg = D3DRelease|Win32 @@ -76,7 +76,6 @@ Global {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.GLDebug|x64.ActiveCfg = GLDebug|x64 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.GLDebug|x64.Build.0 = GLDebug|x64 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.GLRelease|Win32.ActiveCfg = GLRelease|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.GLRelease|Win32.Build.0 = GLRelease|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.GLRelease|x64.ActiveCfg = GLRelease|x64 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.GLRelease|x64.Build.0 = GLRelease|x64 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.MDebug|Win32.ActiveCfg = MDebug|Win32 @@ -103,9 +102,9 @@ Global {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.Release|Win32.Build.0 = MRelease|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.Release|x64.ActiveCfg = GLRelease|x64 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1364}.Release|x64.Build.0 = GLRelease|x64 - {F384725A-62D4-4063-9941-6D8D2D6C2A47}.D3DDebug|Win32.ActiveCfg = D3DDebug_SDL|x64 + {F384725A-62D4-4063-9941-6D8D2D6C2A47}.D3DDebug|Win32.ActiveCfg = D3DRelease_SDL|Win32 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.D3DDebug|x64.ActiveCfg = D3DDebug_SDL|x64 - {F384725A-62D4-4063-9941-6D8D2D6C2A47}.D3DRelease|Win32.ActiveCfg = D3DDebug_SDL|x64 + {F384725A-62D4-4063-9941-6D8D2D6C2A47}.D3DRelease|Win32.ActiveCfg = D3DDebug_SDL|Win32 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.D3DRelease|x64.ActiveCfg = D3DDebug_SDL|x64 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.Debug Dedicated Server|Win32.ActiveCfg = Debug Dedicated Server_SDL|x64 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.Debug Dedicated Server|x64.ActiveCfg = Debug Dedicated Server_SDL|x64 @@ -116,7 +115,8 @@ Global {F384725A-62D4-4063-9941-6D8D2D6C2A47}.GLDebug|Win32.ActiveCfg = GLDebug_SDL|Win32 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.GLDebug|Win32.Build.0 = GLDebug_SDL|Win32 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.GLDebug|x64.ActiveCfg = GLDebug_SDL|x64 - {F384725A-62D4-4063-9941-6D8D2D6C2A47}.GLRelease|Win32.ActiveCfg = GLRelease_SDL|x64 + {F384725A-62D4-4063-9941-6D8D2D6C2A47}.GLRelease|Win32.ActiveCfg = GLRelease_SDL|Win32 + {F384725A-62D4-4063-9941-6D8D2D6C2A47}.GLRelease|Win32.Build.0 = GLRelease_SDL|Win32 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.GLRelease|x64.ActiveCfg = GLRelease_SDL|x64 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.MDebug|Win32.ActiveCfg = MDebug_SDL|x64 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.MDebug|x64.ActiveCfg = MDebug_SDL|x64 @@ -165,7 +165,7 @@ Global {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release|Win32.ActiveCfg = GLRelease|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release|Win32.Build.0 = GLRelease|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release|x64.ActiveCfg = GLDebug|Win32 - {E0EE8B50-3A75-42A9-B80A-787675979B0C}.D3DDebug|Win32.ActiveCfg = Debug + {E0EE8B50-3A75-42A9-B80A-787675979B0C}.D3DDebug|Win32.ActiveCfg = Release {E0EE8B50-3A75-42A9-B80A-787675979B0C}.D3DDebug|x64.ActiveCfg = Debug {E0EE8B50-3A75-42A9-B80A-787675979B0C}.D3DRelease|Win32.ActiveCfg = Release {E0EE8B50-3A75-42A9-B80A-787675979B0C}.D3DRelease|x64.ActiveCfg = Release @@ -190,8 +190,8 @@ Global {E0EE8B50-3A75-42A9-B80A-787675979B0C}.Release Dedicated Server|x64.ActiveCfg = Release {E0EE8B50-3A75-42A9-B80A-787675979B0C}.Release|Win32.ActiveCfg = Release {E0EE8B50-3A75-42A9-B80A-787675979B0C}.Release|x64.ActiveCfg = Release - {0018E098-B12A-4E4D-9B22-6772DA287080}.D3DDebug|Win32.ActiveCfg = Debug|Win32 - {0018E098-B12A-4E4D-9B22-6772DA287080}.D3DDebug|Win32.Build.0 = Debug|Win32 + {0018E098-B12A-4E4D-9B22-6772DA287080}.D3DDebug|Win32.ActiveCfg = Release|Win32 + {0018E098-B12A-4E4D-9B22-6772DA287080}.D3DDebug|Win32.Build.0 = Release|Win32 {0018E098-B12A-4E4D-9B22-6772DA287080}.D3DDebug|x64.ActiveCfg = Debug|Win32 {0018E098-B12A-4E4D-9B22-6772DA287080}.D3DRelease|Win32.ActiveCfg = Release|Win32 {0018E098-B12A-4E4D-9B22-6772DA287080}.D3DRelease|Win32.Build.0 = Release|Win32 @@ -224,8 +224,7 @@ Global {0018E098-B12A-4E4D-9B22-6772DA287080}.Release|Win32.ActiveCfg = Release|Win32 {0018E098-B12A-4E4D-9B22-6772DA287080}.Release|Win32.Build.0 = Release|Win32 {0018E098-B12A-4E4D-9B22-6772DA287080}.Release|x64.ActiveCfg = Release|Win32 - {2866F783-6B44-4655-A38D-D53874037454}.D3DDebug|Win32.ActiveCfg = Debug|Win32 - {2866F783-6B44-4655-A38D-D53874037454}.D3DDebug|Win32.Build.0 = Debug|Win32 + {2866F783-6B44-4655-A38D-D53874037454}.D3DDebug|Win32.ActiveCfg = Release|Win32 {2866F783-6B44-4655-A38D-D53874037454}.D3DDebug|x64.ActiveCfg = Debug|Win32 {2866F783-6B44-4655-A38D-D53874037454}.D3DRelease|Win32.ActiveCfg = Release|Win32 {2866F783-6B44-4655-A38D-D53874037454}.D3DRelease|x64.ActiveCfg = Release|Win32 @@ -239,7 +238,6 @@ Global {2866F783-6B44-4655-A38D-D53874037454}.GLDebug|Win32.Build.0 = Debug|Win32 {2866F783-6B44-4655-A38D-D53874037454}.GLDebug|x64.ActiveCfg = Debug|Win32 {2866F783-6B44-4655-A38D-D53874037454}.GLRelease|Win32.ActiveCfg = Release|Win32 - {2866F783-6B44-4655-A38D-D53874037454}.GLRelease|Win32.Build.0 = Release|Win32 {2866F783-6B44-4655-A38D-D53874037454}.GLRelease|x64.ActiveCfg = Release|Win32 {2866F783-6B44-4655-A38D-D53874037454}.MDebug|Win32.ActiveCfg = Debug|Win32 {2866F783-6B44-4655-A38D-D53874037454}.MDebug|Win32.Build.0 = Debug|Win32 @@ -259,8 +257,7 @@ Global {2866F783-6B44-4655-A38D-D53874037454}.Release|Win32.ActiveCfg = Release|Win32 {2866F783-6B44-4655-A38D-D53874037454}.Release|Win32.Build.0 = Release|Win32 {2866F783-6B44-4655-A38D-D53874037454}.Release|x64.ActiveCfg = Release|Win32 - {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.D3DDebug|Win32.ActiveCfg = Debug|Win32 - {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.D3DDebug|Win32.Build.0 = Debug|Win32 + {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.D3DDebug|Win32.ActiveCfg = Release|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.D3DDebug|x64.ActiveCfg = Debug|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.D3DRelease|Win32.ActiveCfg = Release|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.D3DRelease|x64.ActiveCfg = Release|Win32 @@ -274,7 +271,6 @@ Global {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.GLDebug|Win32.Build.0 = Debug|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.GLDebug|x64.ActiveCfg = Debug|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.GLRelease|Win32.ActiveCfg = Release|Win32 - {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.GLRelease|Win32.Build.0 = Release|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.GLRelease|x64.ActiveCfg = Release|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.MDebug|Win32.ActiveCfg = Debug|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.MDebug|Win32.Build.0 = Debug|Win32 @@ -294,7 +290,7 @@ Global {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.Release|Win32.ActiveCfg = Release|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.Release|Win32.Build.0 = Release|Win32 {62669E6C-7E18-4E4D-BA54-DFBE29E7D24E}.Release|x64.ActiveCfg = Release|Win32 - {AA9D4AA8-2B98-42A8-9F63-B9E5A6221BB6}.D3DDebug|Win32.ActiveCfg = Debug|Win32 + {AA9D4AA8-2B98-42A8-9F63-B9E5A6221BB6}.D3DDebug|Win32.ActiveCfg = Release|Win32 {AA9D4AA8-2B98-42A8-9F63-B9E5A6221BB6}.D3DDebug|x64.ActiveCfg = Debug|Win32 {AA9D4AA8-2B98-42A8-9F63-B9E5A6221BB6}.D3DRelease|Win32.ActiveCfg = Release|Win32 {AA9D4AA8-2B98-42A8-9F63-B9E5A6221BB6}.D3DRelease|x64.ActiveCfg = Release|Win32 @@ -318,7 +314,7 @@ Global {AA9D4AA8-2B98-42A8-9F63-B9E5A6221BB6}.Release Dedicated Server|x64.ActiveCfg = Release|Win32 {AA9D4AA8-2B98-42A8-9F63-B9E5A6221BB6}.Release|Win32.ActiveCfg = Release|Win32 {AA9D4AA8-2B98-42A8-9F63-B9E5A6221BB6}.Release|x64.ActiveCfg = Release|Win32 - {4735677B-6D5A-4BE6-A945-CB32A7282F56}.D3DDebug|Win32.ActiveCfg = Debug|Win32 + {4735677B-6D5A-4BE6-A945-CB32A7282F56}.D3DDebug|Win32.ActiveCfg = Release|Win32 {4735677B-6D5A-4BE6-A945-CB32A7282F56}.D3DDebug|x64.ActiveCfg = Debug|Win32 {4735677B-6D5A-4BE6-A945-CB32A7282F56}.D3DRelease|Win32.ActiveCfg = Release|Win32 {4735677B-6D5A-4BE6-A945-CB32A7282F56}.D3DRelease|x64.ActiveCfg = Release|Win32 @@ -342,8 +338,7 @@ Global {4735677B-6D5A-4BE6-A945-CB32A7282F56}.Release Dedicated Server|x64.ActiveCfg = Release|Win32 {4735677B-6D5A-4BE6-A945-CB32A7282F56}.Release|Win32.ActiveCfg = Release|Win32 {4735677B-6D5A-4BE6-A945-CB32A7282F56}.Release|x64.ActiveCfg = Release|Win32 - {873CCE24-3549-49D4-A4B4-653F91B1532A}.D3DDebug|Win32.ActiveCfg = Debug|Win32 - {873CCE24-3549-49D4-A4B4-653F91B1532A}.D3DDebug|Win32.Build.0 = Debug|Win32 + {873CCE24-3549-49D4-A4B4-653F91B1532A}.D3DDebug|Win32.ActiveCfg = Release|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.D3DDebug|x64.ActiveCfg = Debug|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.D3DRelease|Win32.ActiveCfg = Release|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.D3DRelease|x64.ActiveCfg = Release|Win32 @@ -357,7 +352,6 @@ Global {873CCE24-3549-49D4-A4B4-653F91B1532A}.GLDebug|Win32.Build.0 = Debug|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.GLDebug|x64.ActiveCfg = Debug|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.GLRelease|Win32.ActiveCfg = Release|Win32 - {873CCE24-3549-49D4-A4B4-653F91B1532A}.GLRelease|Win32.Build.0 = Release|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.GLRelease|x64.ActiveCfg = Release|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.MDebug|Win32.ActiveCfg = Debug|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.MDebug|Win32.Build.0 = Debug|Win32 @@ -376,8 +370,8 @@ Global {873CCE24-3549-49D4-A4B4-653F91B1532A}.Release|Win32.ActiveCfg = Release|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.Release|Win32.Build.0 = Release|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.Release|x64.ActiveCfg = Release|Win32 - {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DDebug|Win32.ActiveCfg = Debug|Win32 - {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DDebug|Win32.Build.0 = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DDebug|Win32.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DDebug|Win32.Build.0 = Release|Win32 {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DDebug|x64.ActiveCfg = Debug|Win32 {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DRelease|Win32.ActiveCfg = Release|Win32 {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DRelease|Win32.Build.0 = Release|Win32 @@ -392,7 +386,6 @@ Global {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLDebug|Win32.Build.0 = Debug|Win32 {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLDebug|x64.ActiveCfg = Debug|Win32 {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLRelease|Win32.ActiveCfg = Release|Win32 - {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLRelease|Win32.Build.0 = Release|Win32 {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLRelease|x64.ActiveCfg = Release|Win32 {4877586B-E85B-4DF8-BCCE-59D31514D240}.MDebug|Win32.ActiveCfg = Debug|Win32 {4877586B-E85B-4DF8-BCCE-59D31514D240}.MDebug|Win32.Build.0 = Debug|Win32 diff --git a/engine/dotnet2005/ftequake.vcproj b/engine/dotnet2005/ftequake.vcproj index 86db71ef5..3a7df4cd8 100644 --- a/engine/dotnet2005/ftequake.vcproj +++ b/engine/dotnet2005/ftequake.vcproj @@ -114,934 +114,6 @@ Name="VCPostBuildEventTool" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2197,6 +2107,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2207,6 +2127,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2217,6 +2147,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2227,6 +2167,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2237,6 +2187,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2247,6 +2207,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2257,6 +2227,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2267,6 +2247,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2277,6 +2267,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2301,96 +2301,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2401,6 +2311,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2411,6 +2331,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2421,6 +2351,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2431,6 +2371,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2441,6 +2391,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2451,6 +2411,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2461,6 +2431,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2471,6 +2451,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2481,6 +2471,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2509,96 +2509,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2609,6 +2519,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2619,6 +2539,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2629,6 +2559,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2639,6 +2579,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2649,6 +2599,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2659,6 +2619,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2669,6 +2639,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2679,6 +2659,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2689,6 +2679,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2713,96 +2713,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2813,6 +2723,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2823,6 +2743,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2833,6 +2763,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2843,6 +2783,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2853,6 +2803,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2863,6 +2823,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2873,6 +2843,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2883,6 +2863,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2893,6 +2883,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -2917,96 +2917,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3017,6 +2927,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3027,6 +2947,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3037,6 +2967,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3047,6 +2987,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3057,6 +3007,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3067,6 +3027,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3077,6 +3047,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3087,6 +3067,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3097,6 +3087,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3121,96 +3121,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3221,6 +3131,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3231,6 +3151,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3241,6 +3171,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3251,6 +3191,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3261,6 +3211,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3271,6 +3231,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3281,6 +3251,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3291,6 +3271,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3301,6 +3291,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3325,96 +3325,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3425,6 +3335,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3435,6 +3355,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3445,6 +3375,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3455,6 +3395,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3465,6 +3415,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3475,6 +3435,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3485,6 +3455,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3495,6 +3475,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3505,6 +3495,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3529,96 +3529,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3629,6 +3539,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3639,6 +3559,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3649,6 +3579,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3659,6 +3599,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3669,6 +3619,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3679,6 +3639,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3689,6 +3659,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3699,6 +3679,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3709,6 +3699,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3733,96 +3733,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3833,6 +3743,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3843,6 +3763,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3853,6 +3783,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3863,6 +3803,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3873,6 +3823,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3883,6 +3843,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3893,6 +3863,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3903,6 +3883,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3913,6 +3903,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -3937,96 +3937,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4037,6 +3947,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4047,6 +3967,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4057,6 +3987,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4067,6 +4007,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4077,6 +4027,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4087,6 +4047,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4097,6 +4067,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4107,6 +4087,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4117,6 +4107,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4141,96 +4141,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4241,6 +4151,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4251,6 +4171,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4261,6 +4191,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4271,6 +4211,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4281,6 +4231,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4291,6 +4251,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4301,6 +4271,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4311,6 +4291,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4321,6 +4311,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4345,96 +4345,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4445,6 +4355,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4455,6 +4375,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4465,6 +4395,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4475,6 +4415,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4485,6 +4435,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4495,6 +4455,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4505,6 +4475,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4515,6 +4495,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4525,6 +4515,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4549,96 +4549,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4649,6 +4559,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4659,6 +4579,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4669,6 +4599,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4679,6 +4619,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4689,6 +4639,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4699,6 +4659,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4709,6 +4679,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4719,6 +4699,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4729,6 +4719,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4753,96 +4753,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4853,6 +4763,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4863,6 +4783,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4873,6 +4803,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4883,6 +4823,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4893,6 +4843,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4903,6 +4863,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4913,6 +4883,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4923,6 +4903,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4933,6 +4923,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -4957,96 +4957,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5057,6 +4967,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5067,6 +4987,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5077,6 +5007,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5087,6 +5027,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5097,6 +5047,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5107,6 +5067,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5117,6 +5087,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5127,6 +5107,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5137,6 +5127,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5159,78 +5159,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5239,6 +5167,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5247,6 +5183,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5255,6 +5199,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5263,6 +5215,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5271,6 +5231,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5279,6 +5247,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5287,6 +5263,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5295,6 +5279,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5303,6 +5295,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5323,78 +5323,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5403,6 +5331,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5411,6 +5347,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5419,6 +5363,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5427,6 +5379,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5435,6 +5395,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5443,6 +5411,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5451,6 +5427,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5459,6 +5443,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5467,6 +5459,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5487,78 +5487,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5567,6 +5495,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5575,6 +5511,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5583,6 +5527,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5591,6 +5543,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5599,6 +5559,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5607,6 +5575,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5615,6 +5591,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5623,6 +5607,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5631,6 +5623,14 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5653,96 +5653,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5753,6 +5663,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5763,6 +5683,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5773,6 +5703,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5783,6 +5723,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5793,6 +5743,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5803,6 +5763,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5813,6 +5783,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5823,6 +5803,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5833,6 +5823,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5857,96 +5857,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5957,6 +5867,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5967,6 +5887,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5977,6 +5907,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5987,6 +5927,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -5997,6 +5947,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6007,6 +5967,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6017,6 +5987,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6027,6 +6007,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6037,6 +6027,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6062,6 +6062,17 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6072,6 +6083,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -6195,6 +6135,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6205,6 +6155,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6215,6 +6175,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6225,6 +6195,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6235,6 +6215,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6245,6 +6235,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -6272,6 +6272,15 @@ PreprocessorDefinitions="" /> + + + @@ -6281,6 +6290,15 @@ PreprocessorDefinitions="" /> + + + @@ -6290,6 +6308,15 @@ PreprocessorDefinitions="" /> + + + @@ -6299,6 +6326,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -6318,6 +6364,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -6429,6 +6411,15 @@ PreprocessorDefinitions="" /> + + + @@ -6438,6 +6429,15 @@ PreprocessorDefinitions="" /> + + + @@ -6461,6 +6461,16 @@ PreprocessorDefinitions="" /> + + + @@ -6470,6 +6480,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -6489,6 +6518,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -6508,6 +6556,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -6621,6 +6603,15 @@ PreprocessorDefinitions="" /> + + + @@ -6630,6 +6621,15 @@ PreprocessorDefinitions="" /> + + + @@ -6652,6 +6652,15 @@ PreprocessorDefinitions="" /> + + + @@ -6661,6 +6670,15 @@ PreprocessorDefinitions="" /> + + + @@ -6670,6 +6688,15 @@ PreprocessorDefinitions="" /> + + + @@ -6679,6 +6706,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -6698,6 +6744,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -6809,6 +6791,15 @@ PreprocessorDefinitions="" /> + + + @@ -6818,6 +6809,15 @@ PreprocessorDefinitions="" /> + + + @@ -6840,6 +6840,15 @@ PreprocessorDefinitions="" /> + + + @@ -6849,6 +6858,15 @@ PreprocessorDefinitions="" /> + + + @@ -6858,6 +6876,15 @@ PreprocessorDefinitions="" /> + + + @@ -6867,6 +6894,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -6886,6 +6932,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -6997,6 +6979,15 @@ PreprocessorDefinitions="" /> + + + @@ -7006,6 +6997,15 @@ PreprocessorDefinitions="" /> + + + @@ -7028,6 +7028,15 @@ PreprocessorDefinitions="" /> + + + @@ -7037,6 +7046,15 @@ PreprocessorDefinitions="" /> + + + @@ -7046,6 +7064,15 @@ PreprocessorDefinitions="" /> + + + @@ -7055,6 +7082,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -7074,6 +7120,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -7185,6 +7167,15 @@ PreprocessorDefinitions="" /> + + + @@ -7194,6 +7185,15 @@ PreprocessorDefinitions="" /> + + + @@ -7216,6 +7216,15 @@ PreprocessorDefinitions="" /> + + + @@ -7225,6 +7234,15 @@ PreprocessorDefinitions="" /> + + + @@ -7234,6 +7252,15 @@ PreprocessorDefinitions="" /> + + + @@ -7243,6 +7270,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -7262,6 +7308,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -7373,6 +7355,15 @@ PreprocessorDefinitions="" /> + + + @@ -7382,6 +7373,15 @@ PreprocessorDefinitions="" /> + + + @@ -7404,6 +7404,15 @@ PreprocessorDefinitions="" /> + + + @@ -7413,6 +7422,15 @@ PreprocessorDefinitions="" /> + + + @@ -7422,6 +7440,15 @@ PreprocessorDefinitions="" /> + + + @@ -7431,6 +7458,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -7450,6 +7496,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -7561,6 +7543,15 @@ PreprocessorDefinitions="" /> + + + @@ -7570,6 +7561,15 @@ PreprocessorDefinitions="" /> + + + @@ -7592,6 +7592,15 @@ PreprocessorDefinitions="" /> + + + @@ -7601,6 +7610,15 @@ PreprocessorDefinitions="" /> + + + @@ -7610,6 +7628,15 @@ PreprocessorDefinitions="" /> + + + @@ -7619,6 +7646,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -7638,6 +7684,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -7749,6 +7731,15 @@ PreprocessorDefinitions="" /> + + + @@ -7758,6 +7749,15 @@ PreprocessorDefinitions="" /> + + + @@ -7780,6 +7780,15 @@ PreprocessorDefinitions="" /> + + + @@ -7789,6 +7798,15 @@ PreprocessorDefinitions="" /> + + + @@ -7798,6 +7816,15 @@ PreprocessorDefinitions="" /> + + + @@ -7807,6 +7834,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -7826,6 +7872,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -7937,6 +7919,15 @@ PreprocessorDefinitions="" /> + + + @@ -7946,6 +7937,15 @@ PreprocessorDefinitions="" /> + + + @@ -7968,6 +7968,15 @@ PreprocessorDefinitions="" /> + + + @@ -7977,6 +7986,15 @@ PreprocessorDefinitions="" /> + + + @@ -7986,6 +8004,15 @@ PreprocessorDefinitions="" /> + + + @@ -7995,6 +8022,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -8014,6 +8060,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -8125,6 +8107,15 @@ PreprocessorDefinitions="" /> + + + @@ -8134,6 +8125,15 @@ PreprocessorDefinitions="" /> + + + @@ -8156,6 +8156,15 @@ PreprocessorDefinitions="" /> + + + @@ -8165,6 +8174,15 @@ PreprocessorDefinitions="" /> + + + @@ -8174,6 +8192,15 @@ PreprocessorDefinitions="" /> + + + @@ -8183,6 +8210,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -8202,6 +8248,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -8313,6 +8295,15 @@ PreprocessorDefinitions="" /> + + + @@ -8322,6 +8313,15 @@ PreprocessorDefinitions="" /> + + + @@ -8344,6 +8344,15 @@ PreprocessorDefinitions="" /> + + + @@ -8353,6 +8362,15 @@ PreprocessorDefinitions="" /> + + + @@ -8362,6 +8380,15 @@ PreprocessorDefinitions="" /> + + + @@ -8371,6 +8398,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -8390,6 +8436,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -8501,6 +8483,15 @@ PreprocessorDefinitions="" /> + + + @@ -8510,6 +8501,15 @@ PreprocessorDefinitions="" /> + + + @@ -8536,6 +8536,15 @@ PreprocessorDefinitions="" /> + + + @@ -8545,6 +8554,15 @@ PreprocessorDefinitions="" /> + + + @@ -8554,6 +8572,15 @@ PreprocessorDefinitions="" /> + + + @@ -8563,6 +8590,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -8582,6 +8628,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -8693,6 +8675,15 @@ PreprocessorDefinitions="" /> + + + @@ -8702,6 +8693,15 @@ PreprocessorDefinitions="" /> + + + @@ -8724,6 +8724,15 @@ PreprocessorDefinitions="" /> + + + @@ -8733,6 +8742,15 @@ PreprocessorDefinitions="" /> + + + @@ -8742,6 +8760,15 @@ PreprocessorDefinitions="" /> + + + @@ -8751,6 +8778,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -8770,6 +8816,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -8881,6 +8863,15 @@ PreprocessorDefinitions="" /> + + + @@ -8890,6 +8881,15 @@ PreprocessorDefinitions="" /> + + + @@ -8913,6 +8913,16 @@ PreprocessorDefinitions="" /> + + + @@ -8922,6 +8932,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -8941,6 +8970,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -8960,6 +9008,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -9073,6 +9055,15 @@ PreprocessorDefinitions="" /> + + + @@ -9082,6 +9073,15 @@ PreprocessorDefinitions="" /> + + + @@ -9104,6 +9104,15 @@ PreprocessorDefinitions="" /> + + + @@ -9113,6 +9122,15 @@ PreprocessorDefinitions="" /> + + + @@ -9122,6 +9140,15 @@ PreprocessorDefinitions="" /> + + + @@ -9131,6 +9158,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -9150,6 +9196,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -9261,6 +9243,15 @@ PreprocessorDefinitions="" /> + + + @@ -9270,6 +9261,15 @@ PreprocessorDefinitions="" /> + + + @@ -9292,6 +9292,15 @@ PreprocessorDefinitions="" /> + + + @@ -9301,6 +9310,15 @@ PreprocessorDefinitions="" /> + + + @@ -9310,6 +9328,15 @@ PreprocessorDefinitions="" /> + + + @@ -9319,6 +9346,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -9338,6 +9384,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -9449,6 +9431,15 @@ PreprocessorDefinitions="" /> + + + @@ -9458,6 +9449,15 @@ PreprocessorDefinitions="" /> + + + @@ -9480,6 +9480,15 @@ PreprocessorDefinitions="" /> + + + @@ -9489,6 +9498,15 @@ PreprocessorDefinitions="" /> + + + @@ -9498,6 +9516,15 @@ PreprocessorDefinitions="" /> + + + @@ -9507,6 +9534,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -9526,6 +9572,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -9637,6 +9619,15 @@ PreprocessorDefinitions="" /> + + + @@ -9646,6 +9637,15 @@ PreprocessorDefinitions="" /> + + + @@ -9656,6 +9656,10 @@ /> + + @@ -9668,6 +9672,15 @@ PreprocessorDefinitions="" /> + + + @@ -9677,6 +9690,15 @@ PreprocessorDefinitions="" /> + + + @@ -9686,6 +9708,15 @@ PreprocessorDefinitions="" /> + + + @@ -9695,6 +9726,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -9714,6 +9764,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -9825,6 +9811,15 @@ PreprocessorDefinitions="" /> + + + @@ -9834,6 +9829,15 @@ PreprocessorDefinitions="" /> + + + @@ -9856,6 +9860,15 @@ PreprocessorDefinitions="" /> + + + @@ -9865,6 +9878,15 @@ PreprocessorDefinitions="" /> + + + @@ -9874,6 +9896,15 @@ PreprocessorDefinitions="" /> + + + @@ -9883,6 +9914,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -9902,6 +9952,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -10013,6 +9999,15 @@ PreprocessorDefinitions="" /> + + + @@ -10022,6 +10017,15 @@ PreprocessorDefinitions="" /> + + + @@ -10044,6 +10048,15 @@ PreprocessorDefinitions="" /> + + + @@ -10053,6 +10066,15 @@ PreprocessorDefinitions="" /> + + + @@ -10062,6 +10084,15 @@ PreprocessorDefinitions="" /> + + + @@ -10071,6 +10102,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -10090,6 +10140,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -10201,6 +10187,15 @@ PreprocessorDefinitions="" /> + + + @@ -10210,6 +10205,15 @@ PreprocessorDefinitions="" /> + + + @@ -10232,6 +10236,15 @@ PreprocessorDefinitions="" /> + + + @@ -10241,6 +10254,15 @@ PreprocessorDefinitions="" /> + + + @@ -10250,6 +10272,15 @@ PreprocessorDefinitions="" /> + + + @@ -10259,6 +10290,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -10278,6 +10328,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -10389,6 +10375,15 @@ PreprocessorDefinitions="" /> + + + @@ -10398,6 +10393,15 @@ PreprocessorDefinitions="" /> + + + @@ -10420,6 +10424,15 @@ PreprocessorDefinitions="" /> + + + @@ -10429,6 +10442,15 @@ PreprocessorDefinitions="" /> + + + @@ -10438,6 +10460,15 @@ PreprocessorDefinitions="" /> + + + @@ -10447,6 +10478,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -10466,6 +10516,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -10577,6 +10563,15 @@ PreprocessorDefinitions="" /> + + + @@ -10586,6 +10581,15 @@ PreprocessorDefinitions="" /> + + + @@ -10608,6 +10612,15 @@ PreprocessorDefinitions="" /> + + + @@ -10617,6 +10630,15 @@ PreprocessorDefinitions="" /> + + + @@ -10626,6 +10648,15 @@ PreprocessorDefinitions="" /> + + + @@ -10635,6 +10666,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -10654,6 +10704,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -10765,6 +10751,15 @@ PreprocessorDefinitions="" /> + + + @@ -10774,6 +10769,15 @@ PreprocessorDefinitions="" /> + + + @@ -10796,6 +10800,15 @@ PreprocessorDefinitions="" /> + + + @@ -10805,6 +10818,15 @@ PreprocessorDefinitions="" /> + + + @@ -10814,6 +10836,15 @@ PreprocessorDefinitions="" /> + + + @@ -10823,6 +10854,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -10842,6 +10892,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -10953,6 +10939,15 @@ PreprocessorDefinitions="" /> + + + @@ -10962,6 +10957,15 @@ PreprocessorDefinitions="" /> + + + @@ -10984,6 +10988,15 @@ PreprocessorDefinitions="" /> + + + @@ -10993,6 +11006,15 @@ PreprocessorDefinitions="" /> + + + @@ -11002,6 +11024,15 @@ PreprocessorDefinitions="" /> + + + @@ -11011,6 +11042,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -11030,6 +11080,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -11141,6 +11127,15 @@ PreprocessorDefinitions="" /> + + + @@ -11150,6 +11145,15 @@ PreprocessorDefinitions="" /> + + + @@ -11172,6 +11176,15 @@ PreprocessorDefinitions="" /> + + + @@ -11181,6 +11194,15 @@ PreprocessorDefinitions="" /> + + + @@ -11190,6 +11212,15 @@ PreprocessorDefinitions="" /> + + + @@ -11199,6 +11230,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -11218,6 +11268,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -11329,6 +11315,15 @@ PreprocessorDefinitions="" /> + + + @@ -11338,6 +11333,15 @@ PreprocessorDefinitions="" /> + + + @@ -11360,6 +11364,15 @@ PreprocessorDefinitions="" /> + + + @@ -11369,6 +11382,15 @@ PreprocessorDefinitions="" /> + + + @@ -11378,6 +11400,15 @@ PreprocessorDefinitions="" /> + + + @@ -11387,6 +11418,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -11406,6 +11456,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -11517,6 +11503,15 @@ PreprocessorDefinitions="" /> + + + @@ -11526,6 +11521,15 @@ PreprocessorDefinitions="" /> + + + @@ -11548,6 +11552,15 @@ PreprocessorDefinitions="" /> + + + @@ -11557,6 +11570,15 @@ PreprocessorDefinitions="" /> + + + @@ -11566,6 +11588,15 @@ PreprocessorDefinitions="" /> + + + @@ -11575,6 +11606,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -11594,6 +11644,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -11705,6 +11691,15 @@ PreprocessorDefinitions="" /> + + + @@ -11714,6 +11709,15 @@ PreprocessorDefinitions="" /> + + + @@ -11736,6 +11740,15 @@ PreprocessorDefinitions="" /> + + + @@ -11745,6 +11758,15 @@ PreprocessorDefinitions="" /> + + + @@ -11754,6 +11776,15 @@ PreprocessorDefinitions="" /> + + + @@ -11763,6 +11794,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -11782,6 +11832,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -11893,6 +11879,15 @@ PreprocessorDefinitions="" /> + + + @@ -11902,6 +11897,15 @@ PreprocessorDefinitions="" /> + + + @@ -11943,14 +11947,6 @@ Name="VCCLCompilerTool" /> - - - + + + + + + @@ -12011,6 +12024,15 @@ PreprocessorDefinitions="" /> + + + @@ -12020,6 +12042,15 @@ PreprocessorDefinitions="" /> + + + @@ -12029,6 +12060,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -12048,6 +12098,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -12159,6 +12145,15 @@ PreprocessorDefinitions="" /> + + + @@ -12168,6 +12163,15 @@ PreprocessorDefinitions="" /> + + + @@ -12190,6 +12194,15 @@ PreprocessorDefinitions="" /> + + + @@ -12199,6 +12212,15 @@ PreprocessorDefinitions="" /> + + + @@ -12208,6 +12230,15 @@ PreprocessorDefinitions="" /> + + + @@ -12217,6 +12248,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -12236,6 +12286,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -12256,6 +12326,15 @@ PreprocessorDefinitions="" /> + + + @@ -12265,90 +12344,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12358,6 +12353,15 @@ PreprocessorDefinitions="" /> + + + @@ -12380,6 +12384,15 @@ PreprocessorDefinitions="" /> + + + @@ -12389,6 +12402,15 @@ PreprocessorDefinitions="" /> + + + @@ -12398,6 +12420,15 @@ PreprocessorDefinitions="" /> + + + @@ -12407,6 +12438,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -12426,6 +12476,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -12537,6 +12523,15 @@ PreprocessorDefinitions="" /> + + + @@ -12546,6 +12541,15 @@ PreprocessorDefinitions="" /> + + + @@ -12569,6 +12573,16 @@ UsePrecompiledHeader="0" /> + + + @@ -12579,6 +12593,16 @@ UsePrecompiledHeader="0" /> + + + @@ -12589,6 +12613,16 @@ UsePrecompiledHeader="0" /> + + + @@ -12599,6 +12633,16 @@ UsePrecompiledHeader="0" /> + + + + + + @@ -12620,6 +12675,16 @@ UsePrecompiledHeader="0" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -12743,6 +12727,16 @@ UsePrecompiledHeader="0" /> + + + @@ -12753,6 +12747,16 @@ UsePrecompiledHeader="0" /> + + + @@ -12776,6 +12780,15 @@ PreprocessorDefinitions="" /> + + + @@ -12785,6 +12798,15 @@ PreprocessorDefinitions="" /> + + + @@ -12794,6 +12816,15 @@ PreprocessorDefinitions="" /> + + + @@ -12803,6 +12834,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -12822,6 +12872,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -12933,6 +12919,15 @@ PreprocessorDefinitions="" /> + + + @@ -12942,6 +12937,15 @@ PreprocessorDefinitions="" /> + + + @@ -12964,6 +12968,15 @@ PreprocessorDefinitions="" /> + + + @@ -12973,6 +12986,15 @@ PreprocessorDefinitions="" /> + + + @@ -12982,6 +13004,15 @@ PreprocessorDefinitions="" /> + + + @@ -12991,6 +13022,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -13010,6 +13060,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -13121,6 +13107,15 @@ PreprocessorDefinitions="" /> + + + @@ -13130,6 +13125,15 @@ PreprocessorDefinitions="" /> + + + @@ -13152,6 +13156,15 @@ PreprocessorDefinitions="" /> + + + @@ -13161,6 +13174,15 @@ PreprocessorDefinitions="" /> + + + @@ -13170,6 +13192,15 @@ PreprocessorDefinitions="" /> + + + @@ -13179,6 +13210,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -13198,6 +13248,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -13309,6 +13295,15 @@ PreprocessorDefinitions="" /> + + + @@ -13318,6 +13313,15 @@ PreprocessorDefinitions="" /> + + + @@ -13340,6 +13344,15 @@ PreprocessorDefinitions="" /> + + + @@ -13349,6 +13362,15 @@ PreprocessorDefinitions="" /> + + + @@ -13358,6 +13380,15 @@ PreprocessorDefinitions="" /> + + + @@ -13367,6 +13398,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -13386,6 +13436,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -13497,6 +13483,15 @@ PreprocessorDefinitions="" /> + + + @@ -13506,6 +13501,15 @@ PreprocessorDefinitions="" /> + + + @@ -13528,6 +13532,15 @@ PreprocessorDefinitions="" /> + + + @@ -13537,6 +13550,15 @@ PreprocessorDefinitions="" /> + + + @@ -13546,6 +13568,15 @@ PreprocessorDefinitions="" /> + + + @@ -13555,6 +13586,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -13574,6 +13624,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -13685,6 +13671,15 @@ PreprocessorDefinitions="" /> + + + @@ -13694,6 +13689,15 @@ PreprocessorDefinitions="" /> + + + @@ -13716,6 +13720,15 @@ PreprocessorDefinitions="" /> + + + @@ -13725,6 +13738,15 @@ PreprocessorDefinitions="" /> + + + @@ -13734,6 +13756,15 @@ PreprocessorDefinitions="" /> + + + @@ -13743,6 +13774,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -13762,6 +13812,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -13873,6 +13859,15 @@ PreprocessorDefinitions="" /> + + + @@ -13882,6 +13877,15 @@ PreprocessorDefinitions="" /> + + + @@ -13904,6 +13908,15 @@ PreprocessorDefinitions="" /> + + + @@ -13913,6 +13926,15 @@ PreprocessorDefinitions="" /> + + + @@ -13922,6 +13944,15 @@ PreprocessorDefinitions="" /> + + + @@ -13931,6 +13962,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -13950,6 +14000,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -14061,6 +14047,15 @@ PreprocessorDefinitions="" /> + + + @@ -14070,6 +14065,15 @@ PreprocessorDefinitions="" /> + + + @@ -14092,6 +14096,15 @@ PreprocessorDefinitions="" /> + + + @@ -14101,6 +14114,15 @@ PreprocessorDefinitions="" /> + + + @@ -14110,6 +14132,15 @@ PreprocessorDefinitions="" /> + + + @@ -14119,6 +14150,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -14138,6 +14188,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -14249,6 +14235,15 @@ PreprocessorDefinitions="" /> + + + @@ -14258,6 +14253,15 @@ PreprocessorDefinitions="" /> + + + @@ -14280,6 +14284,15 @@ PreprocessorDefinitions="" /> + + + @@ -14289,6 +14302,15 @@ PreprocessorDefinitions="" /> + + + @@ -14298,6 +14320,15 @@ PreprocessorDefinitions="" /> + + + @@ -14307,6 +14338,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -14326,6 +14376,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -14437,6 +14423,15 @@ PreprocessorDefinitions="" /> + + + @@ -14446,6 +14441,15 @@ PreprocessorDefinitions="" /> + + + @@ -14468,6 +14472,15 @@ PreprocessorDefinitions="" /> + + + @@ -14477,6 +14490,15 @@ PreprocessorDefinitions="" /> + + + @@ -14486,6 +14508,15 @@ PreprocessorDefinitions="" /> + + + @@ -14495,6 +14526,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -14514,6 +14564,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -14625,6 +14611,15 @@ PreprocessorDefinitions="" /> + + + @@ -14634,6 +14629,15 @@ PreprocessorDefinitions="" /> + + + @@ -14656,6 +14660,15 @@ PreprocessorDefinitions="" /> + + + @@ -14665,6 +14678,15 @@ PreprocessorDefinitions="" /> + + + @@ -14674,6 +14696,15 @@ PreprocessorDefinitions="" /> + + + @@ -14683,6 +14714,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -14702,6 +14752,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -14813,6 +14799,15 @@ PreprocessorDefinitions="" /> + + + @@ -14822,6 +14817,15 @@ PreprocessorDefinitions="" /> + + + @@ -14847,6 +14851,15 @@ PreprocessorDefinitions="" /> + + + @@ -14856,6 +14869,15 @@ PreprocessorDefinitions="" /> + + + @@ -14865,6 +14887,15 @@ PreprocessorDefinitions="" /> + + + @@ -14874,6 +14905,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -14893,6 +14943,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -15004,6 +14990,15 @@ PreprocessorDefinitions="" /> + + + @@ -15013,6 +15008,15 @@ PreprocessorDefinitions="" /> + + + @@ -15035,7 +15039,7 @@ /> + + + @@ -15080,6 +15093,15 @@ PreprocessorDefinitions="" /> + + + @@ -15089,6 +15111,15 @@ PreprocessorDefinitions="" /> + + + @@ -15098,6 +15129,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -15117,6 +15167,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -15228,6 +15214,15 @@ PreprocessorDefinitions="" /> + + + @@ -15237,6 +15232,15 @@ PreprocessorDefinitions="" /> + + + @@ -15259,6 +15263,15 @@ PreprocessorDefinitions="" /> + + + @@ -15268,6 +15281,15 @@ PreprocessorDefinitions="" /> + + + @@ -15277,6 +15299,15 @@ PreprocessorDefinitions="" /> + + + @@ -15286,6 +15317,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -15305,6 +15355,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -15416,6 +15402,15 @@ PreprocessorDefinitions="" /> + + + @@ -15425,6 +15420,15 @@ PreprocessorDefinitions="" /> + + + @@ -15447,6 +15451,15 @@ PreprocessorDefinitions="" /> + + + @@ -15456,6 +15469,15 @@ PreprocessorDefinitions="" /> + + + @@ -15465,6 +15487,15 @@ PreprocessorDefinitions="" /> + + + @@ -15474,6 +15505,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -15493,6 +15543,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -15604,6 +15590,15 @@ PreprocessorDefinitions="" /> + + + @@ -15613,6 +15608,15 @@ PreprocessorDefinitions="" /> + + + @@ -15635,6 +15639,15 @@ PreprocessorDefinitions="" /> + + + @@ -15644,6 +15657,15 @@ PreprocessorDefinitions="" /> + + + @@ -15653,6 +15675,15 @@ PreprocessorDefinitions="" /> + + + @@ -15662,6 +15693,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -15681,6 +15731,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -15792,6 +15778,15 @@ PreprocessorDefinitions="" /> + + + @@ -15801,6 +15796,15 @@ PreprocessorDefinitions="" /> + + + @@ -15823,6 +15827,15 @@ PreprocessorDefinitions="" /> + + + @@ -15832,6 +15845,15 @@ PreprocessorDefinitions="" /> + + + @@ -15841,6 +15863,15 @@ PreprocessorDefinitions="" /> + + + @@ -15850,6 +15881,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -15869,6 +15919,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -15980,6 +15966,15 @@ PreprocessorDefinitions="" /> + + + @@ -15989,6 +15984,15 @@ PreprocessorDefinitions="" /> + + + @@ -16011,6 +16015,15 @@ PreprocessorDefinitions="" /> + + + @@ -16020,6 +16033,15 @@ PreprocessorDefinitions="" /> + + + @@ -16029,6 +16051,15 @@ PreprocessorDefinitions="" /> + + + @@ -16038,6 +16069,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -16057,6 +16107,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -16168,6 +16154,15 @@ PreprocessorDefinitions="" /> + + + @@ -16177,6 +16172,15 @@ PreprocessorDefinitions="" /> + + + @@ -16205,96 +16209,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -16305,6 +16219,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16315,6 +16239,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16325,6 +16259,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16335,6 +16279,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16345,6 +16299,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16355,6 +16319,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16365,6 +16339,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16375,6 +16359,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16385,6 +16379,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16409,96 +16413,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -16509,6 +16423,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16519,6 +16443,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16529,6 +16463,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16539,6 +16483,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16549,6 +16503,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16559,6 +16523,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16569,6 +16543,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16579,6 +16563,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16589,6 +16583,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16613,96 +16617,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -16713,6 +16627,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16723,6 +16647,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16733,6 +16667,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16743,6 +16687,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16753,6 +16707,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16763,6 +16727,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16773,6 +16747,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16783,6 +16767,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16793,6 +16787,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16817,96 +16821,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -16917,6 +16831,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16927,6 +16851,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16937,6 +16871,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16947,6 +16891,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16957,6 +16911,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16967,6 +16931,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16977,6 +16951,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16987,6 +16971,16 @@ UsePrecompiledHeader="0" /> + + + @@ -16997,6 +16991,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17021,96 +17025,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -17121,6 +17035,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17131,6 +17055,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17141,6 +17075,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17151,6 +17095,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17161,6 +17115,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17171,6 +17135,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17181,6 +17155,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17191,6 +17175,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17201,6 +17195,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17225,96 +17229,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -17325,6 +17239,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17335,6 +17259,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17345,6 +17279,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17355,6 +17299,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17365,6 +17319,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17375,6 +17339,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17385,6 +17359,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17395,6 +17379,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17405,6 +17399,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17427,78 +17431,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -17507,6 +17439,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17515,6 +17455,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17523,6 +17471,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17531,6 +17487,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17539,6 +17503,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17547,6 +17519,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17555,6 +17535,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17563,6 +17551,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17571,6 +17567,14 @@ UsePrecompiledHeader="0" /> + + + @@ -17593,96 +17597,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -17693,6 +17607,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17703,6 +17627,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17713,6 +17647,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17723,6 +17667,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17733,6 +17687,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17743,6 +17707,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17753,6 +17727,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17763,6 +17747,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17773,6 +17767,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17797,96 +17801,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -17897,6 +17811,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17907,6 +17831,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17917,6 +17851,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17927,6 +17871,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17937,6 +17891,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17947,6 +17911,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17957,6 +17931,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17967,6 +17951,16 @@ UsePrecompiledHeader="0" /> + + + @@ -17977,6 +17971,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18001,96 +18005,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -18101,6 +18015,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18111,6 +18035,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18121,6 +18055,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18131,6 +18075,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18141,6 +18095,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18151,6 +18115,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18161,6 +18135,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18171,6 +18155,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18181,6 +18175,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18205,96 +18209,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -18305,6 +18219,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18315,6 +18239,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18325,6 +18259,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18335,6 +18279,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18345,6 +18299,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18355,6 +18319,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18365,6 +18339,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18375,6 +18359,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18385,6 +18379,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18409,96 +18413,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -18509,6 +18423,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18519,6 +18443,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18529,6 +18463,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18539,6 +18483,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18549,6 +18503,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18559,6 +18523,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18569,6 +18543,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18579,6 +18563,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18589,6 +18583,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18613,96 +18617,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -18713,6 +18627,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18723,6 +18647,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18733,6 +18667,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18743,6 +18687,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18753,6 +18707,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18763,6 +18727,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18773,6 +18747,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18783,6 +18767,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18793,6 +18787,16 @@ UsePrecompiledHeader="0" /> + + + @@ -18820,87 +18824,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -18910,6 +18833,15 @@ PreprocessorDefinitions="" /> + + + @@ -18919,6 +18851,15 @@ PreprocessorDefinitions="" /> + + + @@ -18928,6 +18869,15 @@ PreprocessorDefinitions="" /> + + + @@ -18937,6 +18887,15 @@ PreprocessorDefinitions="" /> + + + @@ -18946,6 +18905,15 @@ PreprocessorDefinitions="" /> + + + @@ -18955,6 +18923,15 @@ PreprocessorDefinitions="" /> + + + @@ -18964,6 +18941,15 @@ PreprocessorDefinitions="" /> + + + @@ -18973,6 +18959,15 @@ PreprocessorDefinitions="" /> + + + @@ -18982,6 +18977,15 @@ PreprocessorDefinitions="" /> + + + @@ -19004,87 +19008,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19094,6 +19017,15 @@ PreprocessorDefinitions="" /> + + + @@ -19103,6 +19035,15 @@ PreprocessorDefinitions="" /> + + + @@ -19112,6 +19053,15 @@ PreprocessorDefinitions="" /> + + + @@ -19121,6 +19071,15 @@ PreprocessorDefinitions="" /> + + + @@ -19130,6 +19089,15 @@ PreprocessorDefinitions="" /> + + + @@ -19139,6 +19107,15 @@ PreprocessorDefinitions="" /> + + + @@ -19148,6 +19125,15 @@ PreprocessorDefinitions="" /> + + + @@ -19157,6 +19143,15 @@ PreprocessorDefinitions="" /> + + + @@ -19166,6 +19161,15 @@ PreprocessorDefinitions="" /> + + + @@ -19188,87 +19192,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19278,6 +19201,15 @@ PreprocessorDefinitions="" /> + + + @@ -19287,6 +19219,15 @@ PreprocessorDefinitions="" /> + + + @@ -19296,6 +19237,15 @@ PreprocessorDefinitions="" /> + + + @@ -19305,6 +19255,15 @@ PreprocessorDefinitions="" /> + + + @@ -19314,6 +19273,15 @@ PreprocessorDefinitions="" /> + + + @@ -19323,6 +19291,15 @@ PreprocessorDefinitions="" /> + + + @@ -19332,6 +19309,15 @@ PreprocessorDefinitions="" /> + + + @@ -19341,6 +19327,15 @@ PreprocessorDefinitions="" /> + + + @@ -19350,6 +19345,15 @@ PreprocessorDefinitions="" /> + + + @@ -19372,87 +19376,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19462,6 +19385,15 @@ PreprocessorDefinitions="" /> + + + @@ -19471,6 +19403,15 @@ PreprocessorDefinitions="" /> + + + @@ -19480,6 +19421,15 @@ PreprocessorDefinitions="" /> + + + @@ -19489,6 +19439,15 @@ PreprocessorDefinitions="" /> + + + @@ -19498,6 +19457,15 @@ PreprocessorDefinitions="" /> + + + @@ -19507,6 +19475,15 @@ PreprocessorDefinitions="" /> + + + @@ -19516,6 +19493,15 @@ PreprocessorDefinitions="" /> + + + @@ -19525,6 +19511,15 @@ PreprocessorDefinitions="" /> + + + @@ -19534,6 +19529,15 @@ PreprocessorDefinitions="" /> + + + @@ -19557,96 +19561,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19657,6 +19571,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19667,6 +19591,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19677,6 +19611,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19687,6 +19631,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19697,6 +19651,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19707,6 +19671,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19717,6 +19691,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19727,6 +19711,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19737,6 +19731,16 @@ UsePrecompiledHeader="0" /> + + + @@ -19760,87 +19764,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19850,6 +19773,15 @@ PreprocessorDefinitions="" /> + + + @@ -19859,6 +19791,15 @@ PreprocessorDefinitions="" /> + + + @@ -19868,6 +19809,15 @@ PreprocessorDefinitions="" /> + + + @@ -19877,6 +19827,15 @@ PreprocessorDefinitions="" /> + + + @@ -19886,6 +19845,15 @@ PreprocessorDefinitions="" /> + + + @@ -19895,6 +19863,15 @@ PreprocessorDefinitions="" /> + + + @@ -19904,6 +19881,15 @@ PreprocessorDefinitions="" /> + + + @@ -19913,6 +19899,15 @@ PreprocessorDefinitions="" /> + + + @@ -19922,6 +19917,15 @@ PreprocessorDefinitions="" /> + + + @@ -19949,96 +19953,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + @@ -20089,6 +20043,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + + + + @@ -20109,6 +20083,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + @@ -20293,6 +20247,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + + + + @@ -20313,6 +20287,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -23078,6 +22837,15 @@ PreprocessorDefinitions="" /> + + + @@ -23087,6 +22855,15 @@ PreprocessorDefinitions="" /> + + + @@ -23096,6 +22873,15 @@ PreprocessorDefinitions="" /> + + + @@ -23105,6 +22891,15 @@ PreprocessorDefinitions="" /> + + + @@ -23114,6 +22909,15 @@ PreprocessorDefinitions="" /> + + + @@ -23123,6 +22927,15 @@ PreprocessorDefinitions="" /> + + + @@ -23132,6 +22945,15 @@ PreprocessorDefinitions="" /> + + + @@ -23141,6 +22963,15 @@ PreprocessorDefinitions="" /> + + + @@ -23150,6 +22981,15 @@ PreprocessorDefinitions="" /> + + + @@ -23176,6 +23016,15 @@ PreprocessorDefinitions="" /> + + + @@ -23185,6 +23034,15 @@ PreprocessorDefinitions="" /> + + + @@ -23194,6 +23052,15 @@ PreprocessorDefinitions="" /> + + + @@ -23203,6 +23070,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -23222,6 +23108,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -23333,6 +23155,15 @@ PreprocessorDefinitions="" /> + + + @@ -23342,6 +23173,15 @@ PreprocessorDefinitions="" /> + + + @@ -23364,6 +23204,15 @@ PreprocessorDefinitions="" /> + + + @@ -23373,6 +23222,15 @@ PreprocessorDefinitions="" /> + + + @@ -23382,6 +23240,15 @@ PreprocessorDefinitions="" /> + + + @@ -23391,6 +23258,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -23410,6 +23296,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -23521,6 +23343,15 @@ PreprocessorDefinitions="" /> + + + @@ -23530,6 +23361,15 @@ PreprocessorDefinitions="" /> + + + @@ -23552,6 +23392,15 @@ PreprocessorDefinitions="" /> + + + @@ -23561,6 +23410,15 @@ PreprocessorDefinitions="" /> + + + @@ -23570,6 +23428,15 @@ PreprocessorDefinitions="" /> + + + @@ -23579,6 +23446,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -23598,6 +23484,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -23709,6 +23531,15 @@ PreprocessorDefinitions="" /> + + + @@ -23718,6 +23549,15 @@ PreprocessorDefinitions="" /> + + + @@ -23740,87 +23580,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -23830,6 +23589,15 @@ PreprocessorDefinitions="" /> + + + @@ -23839,6 +23607,15 @@ PreprocessorDefinitions="" /> + + + @@ -23848,6 +23625,15 @@ PreprocessorDefinitions="" /> + + + @@ -23857,6 +23643,15 @@ PreprocessorDefinitions="" /> + + + @@ -23866,6 +23661,15 @@ PreprocessorDefinitions="" /> + + + @@ -23875,6 +23679,15 @@ PreprocessorDefinitions="" /> + + + @@ -23884,6 +23697,15 @@ PreprocessorDefinitions="" /> + + + @@ -23893,6 +23715,15 @@ PreprocessorDefinitions="" /> + + + @@ -23902,6 +23733,15 @@ PreprocessorDefinitions="" /> + + + @@ -23924,6 +23764,15 @@ PreprocessorDefinitions="" /> + + + @@ -23933,6 +23782,15 @@ PreprocessorDefinitions="" /> + + + @@ -23942,6 +23800,15 @@ PreprocessorDefinitions="" /> + + + @@ -23951,6 +23818,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -23970,6 +23856,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -24081,6 +23903,15 @@ PreprocessorDefinitions="" /> + + + @@ -24090,6 +23921,15 @@ PreprocessorDefinitions="" /> + + + @@ -24112,6 +23952,15 @@ PreprocessorDefinitions="" /> + + + @@ -24121,6 +23970,15 @@ PreprocessorDefinitions="" /> + + + @@ -24130,6 +23988,15 @@ PreprocessorDefinitions="" /> + + + @@ -24139,6 +24006,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -24249,6 +24053,15 @@ PreprocessorDefinitions="" /> + + + @@ -24258,6 +24071,15 @@ PreprocessorDefinitions="" /> + + + @@ -24267,6 +24089,15 @@ PreprocessorDefinitions="" /> + + + @@ -24276,6 +24107,15 @@ PreprocessorDefinitions="" /> + + + @@ -24298,6 +24138,15 @@ PreprocessorDefinitions="" /> + + + @@ -24307,6 +24156,15 @@ PreprocessorDefinitions="" /> + + + @@ -24316,6 +24174,15 @@ PreprocessorDefinitions="" /> + + + @@ -24326,6 +24193,15 @@ EnableFunctionLevelLinking="true" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -24437,6 +24240,16 @@ PreprocessorDefinitions="" /> + + + + + + @@ -24456,6 +24278,15 @@ PreprocessorDefinitions="" /> + + + @@ -24465,6 +24296,15 @@ PreprocessorDefinitions="" /> + + + @@ -24487,6 +24327,15 @@ PreprocessorDefinitions="" /> + + + @@ -24496,6 +24345,15 @@ PreprocessorDefinitions="" /> + + + @@ -24505,6 +24363,15 @@ PreprocessorDefinitions="" /> + + + @@ -24514,6 +24381,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -24533,6 +24419,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -24552,6 +24457,15 @@ PreprocessorDefinitions="" /> + + + @@ -24562,89 +24476,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -24654,6 +24485,15 @@ PreprocessorDefinitions="" /> + + + @@ -24688,6 +24528,15 @@ PreprocessorDefinitions="" /> + + + @@ -24697,6 +24546,15 @@ PreprocessorDefinitions="" /> + + + @@ -24706,6 +24564,15 @@ PreprocessorDefinitions="" /> + + + @@ -24715,6 +24582,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -24734,6 +24620,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -24845,6 +24667,15 @@ PreprocessorDefinitions="" /> + + + @@ -24854,6 +24685,15 @@ PreprocessorDefinitions="" /> + + + @@ -24880,96 +24720,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -25092,6 +24941,15 @@ PreprocessorDefinitions="" /> + + + @@ -25101,6 +24959,15 @@ PreprocessorDefinitions="" /> + + + @@ -25110,6 +24977,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -25129,6 +25015,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -25240,6 +25062,15 @@ PreprocessorDefinitions="" /> + + + @@ -25249,6 +25080,15 @@ PreprocessorDefinitions="" /> + + + @@ -25271,6 +25111,15 @@ PreprocessorDefinitions="" /> + + + @@ -25280,6 +25129,15 @@ PreprocessorDefinitions="" /> + + + @@ -25289,6 +25147,15 @@ PreprocessorDefinitions="" /> + + + @@ -25298,6 +25165,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -25317,6 +25203,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -25428,6 +25250,15 @@ PreprocessorDefinitions="" /> + + + @@ -25437,6 +25268,15 @@ PreprocessorDefinitions="" /> + + + @@ -25459,6 +25299,15 @@ PreprocessorDefinitions="" /> + + + @@ -25468,6 +25317,15 @@ PreprocessorDefinitions="" /> + + + @@ -25477,6 +25335,15 @@ PreprocessorDefinitions="" /> + + + @@ -25486,6 +25353,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -25505,6 +25391,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -25616,6 +25438,15 @@ PreprocessorDefinitions="" /> + + + @@ -25625,6 +25456,15 @@ PreprocessorDefinitions="" /> + + + @@ -25647,87 +25487,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -25737,6 +25496,15 @@ PreprocessorDefinitions="" /> + + + @@ -25746,6 +25514,15 @@ PreprocessorDefinitions="" /> + + + @@ -25755,6 +25532,15 @@ PreprocessorDefinitions="" /> + + + @@ -25764,6 +25550,15 @@ PreprocessorDefinitions="" /> + + + @@ -25773,6 +25568,15 @@ PreprocessorDefinitions="" /> + + + @@ -25782,6 +25586,15 @@ PreprocessorDefinitions="" /> + + + @@ -25791,6 +25604,15 @@ PreprocessorDefinitions="" /> + + + @@ -25800,6 +25622,15 @@ PreprocessorDefinitions="" /> + + + @@ -25809,6 +25640,15 @@ PreprocessorDefinitions="" /> + + + @@ -25831,6 +25671,15 @@ PreprocessorDefinitions="" /> + + + @@ -25840,6 +25689,15 @@ PreprocessorDefinitions="" /> + + + @@ -25849,6 +25707,15 @@ PreprocessorDefinitions="" /> + + + @@ -25858,6 +25725,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -25877,6 +25763,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -25988,6 +25810,15 @@ PreprocessorDefinitions="" /> + + + @@ -25997,6 +25828,15 @@ PreprocessorDefinitions="" /> + + + @@ -26019,6 +25859,15 @@ PreprocessorDefinitions="" /> + + + @@ -26028,6 +25877,15 @@ PreprocessorDefinitions="" /> + + + @@ -26037,6 +25895,15 @@ PreprocessorDefinitions="" /> + + + @@ -26047,6 +25914,15 @@ EnableFunctionLevelLinking="true" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -26158,6 +25961,16 @@ PreprocessorDefinitions="" /> + + + + + + @@ -26177,6 +25999,15 @@ PreprocessorDefinitions="" /> + + + @@ -26186,6 +26017,15 @@ PreprocessorDefinitions="" /> + + + @@ -26208,6 +26048,15 @@ PreprocessorDefinitions="" /> + + + @@ -26217,6 +26066,15 @@ PreprocessorDefinitions="" /> + + + @@ -26226,6 +26084,15 @@ PreprocessorDefinitions="" /> + + + @@ -26235,6 +26102,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -26254,6 +26140,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -26365,6 +26187,15 @@ PreprocessorDefinitions="" /> + + + @@ -26374,6 +26205,15 @@ PreprocessorDefinitions="" /> + + + @@ -26396,6 +26236,15 @@ PreprocessorDefinitions="" /> + + + @@ -26405,6 +26254,15 @@ PreprocessorDefinitions="" /> + + + @@ -26414,6 +26272,15 @@ PreprocessorDefinitions="" /> + + + @@ -26423,6 +26290,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -26442,6 +26328,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -26553,6 +26375,15 @@ PreprocessorDefinitions="" /> + + + @@ -26562,6 +26393,15 @@ PreprocessorDefinitions="" /> + + + @@ -26588,6 +26428,15 @@ PreprocessorDefinitions="" /> + + + @@ -26597,6 +26446,15 @@ PreprocessorDefinitions="" /> + + + @@ -26606,6 +26464,15 @@ PreprocessorDefinitions="" /> + + + @@ -26615,6 +26482,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -26634,6 +26520,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -26745,6 +26567,15 @@ PreprocessorDefinitions="" /> + + + @@ -26754,6 +26585,15 @@ PreprocessorDefinitions="" /> + + + @@ -26776,6 +26616,15 @@ PreprocessorDefinitions="" /> + + + @@ -26785,6 +26634,15 @@ PreprocessorDefinitions="" /> + + + @@ -26794,6 +26652,15 @@ PreprocessorDefinitions="" /> + + + @@ -26803,6 +26670,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -26822,6 +26708,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -26933,6 +26755,15 @@ PreprocessorDefinitions="" /> + + + @@ -26942,6 +26773,15 @@ PreprocessorDefinitions="" /> + + + @@ -26964,6 +26804,15 @@ PreprocessorDefinitions="" /> + + + @@ -26973,6 +26822,15 @@ PreprocessorDefinitions="" /> + + + @@ -26982,6 +26840,15 @@ PreprocessorDefinitions="" /> + + + @@ -26991,6 +26858,15 @@ PreprocessorDefinitions="" /> + + + + + + @@ -27010,6 +26896,15 @@ PreprocessorDefinitions="" /> + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -27132,6 +26963,15 @@ PreprocessorDefinitions="" /> + + + @@ -27146,6 +26986,18 @@ + + + + + + @@ -27162,6 +27014,10 @@ RelativePath="..\d3d\vid_d3d.c" > + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -29753,6 +29528,15 @@ PreprocessorDefinitions="" /> + + + @@ -29762,6 +29546,15 @@ PreprocessorDefinitions="" /> + + + @@ -29771,6 +29564,15 @@ PreprocessorDefinitions="" /> + + + @@ -29780,6 +29582,15 @@ PreprocessorDefinitions="" /> + + + @@ -29789,6 +29600,15 @@ PreprocessorDefinitions="" /> + + + @@ -29798,6 +29618,15 @@ PreprocessorDefinitions="" /> + + + @@ -29807,6 +29636,15 @@ PreprocessorDefinitions="" /> + + + @@ -29816,6 +29654,15 @@ PreprocessorDefinitions="" /> + + + @@ -29825,6 +29672,15 @@ PreprocessorDefinitions="" /> + + + @@ -29847,87 +29703,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -29937,6 +29712,15 @@ PreprocessorDefinitions="" /> + + + @@ -29946,6 +29730,15 @@ PreprocessorDefinitions="" /> + + + @@ -29955,6 +29748,15 @@ PreprocessorDefinitions="" /> + + + @@ -29964,6 +29766,15 @@ PreprocessorDefinitions="" /> + + + @@ -29973,6 +29784,15 @@ PreprocessorDefinitions="" /> + + + @@ -29982,6 +29802,15 @@ PreprocessorDefinitions="" /> + + + @@ -29991,6 +29820,15 @@ PreprocessorDefinitions="" /> + + + @@ -30000,6 +29838,15 @@ PreprocessorDefinitions="" /> + + + @@ -30009,6 +29856,15 @@ PreprocessorDefinitions="" /> + + + @@ -30036,96 +29892,6 @@ UsePrecompiledHeader="1" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -30136,6 +29902,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30146,6 +29922,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30156,6 +29942,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30166,6 +29962,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30176,6 +29982,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30186,6 +30002,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30196,6 +30022,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30206,6 +30042,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30216,6 +30062,16 @@ UsePrecompiledHeader="1" /> + + + @@ -30239,87 +30095,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -30329,6 +30104,15 @@ PreprocessorDefinitions="" /> + + + @@ -30338,6 +30122,15 @@ PreprocessorDefinitions="" /> + + + @@ -30347,6 +30140,15 @@ PreprocessorDefinitions="" /> + + + @@ -30356,6 +30158,15 @@ PreprocessorDefinitions="" /> + + + @@ -30365,6 +30176,15 @@ PreprocessorDefinitions="" /> + + + @@ -30374,6 +30194,15 @@ PreprocessorDefinitions="" /> + + + @@ -30383,6 +30212,15 @@ PreprocessorDefinitions="" /> + + + @@ -30392,6 +30230,15 @@ PreprocessorDefinitions="" /> + + + @@ -30401,6 +30248,15 @@ PreprocessorDefinitions="" /> + + + @@ -30423,87 +30279,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -30513,6 +30288,15 @@ PreprocessorDefinitions="" /> + + + @@ -30522,6 +30306,15 @@ PreprocessorDefinitions="" /> + + + @@ -30531,6 +30324,15 @@ PreprocessorDefinitions="" /> + + + @@ -30540,6 +30342,15 @@ PreprocessorDefinitions="" /> + + + @@ -30549,6 +30360,15 @@ PreprocessorDefinitions="" /> + + + @@ -30558,6 +30378,15 @@ PreprocessorDefinitions="" /> + + + @@ -30567,6 +30396,15 @@ PreprocessorDefinitions="" /> + + + @@ -30576,6 +30414,15 @@ PreprocessorDefinitions="" /> + + + @@ -30585,6 +30432,15 @@ PreprocessorDefinitions="" /> + + + @@ -30607,87 +30463,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -30697,6 +30472,15 @@ PreprocessorDefinitions="" /> + + + @@ -30706,6 +30490,15 @@ PreprocessorDefinitions="" /> + + + @@ -30715,6 +30508,15 @@ PreprocessorDefinitions="" /> + + + @@ -30724,6 +30526,15 @@ PreprocessorDefinitions="" /> + + + @@ -30733,6 +30544,15 @@ PreprocessorDefinitions="" /> + + + @@ -30742,6 +30562,15 @@ PreprocessorDefinitions="" /> + + + @@ -30751,6 +30580,15 @@ PreprocessorDefinitions="" /> + + + @@ -30760,6 +30598,15 @@ PreprocessorDefinitions="" /> + + + @@ -30769,6 +30616,15 @@ PreprocessorDefinitions="" /> + + + @@ -30807,87 +30663,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -30897,6 +30672,15 @@ PreprocessorDefinitions="" /> + + + @@ -30906,6 +30690,15 @@ PreprocessorDefinitions="" /> + + + @@ -30915,6 +30708,15 @@ PreprocessorDefinitions="" /> + + + @@ -30924,6 +30726,15 @@ PreprocessorDefinitions="" /> + + + @@ -30933,6 +30744,15 @@ PreprocessorDefinitions="" /> + + + @@ -30942,6 +30762,15 @@ PreprocessorDefinitions="" /> + + + @@ -30951,6 +30780,15 @@ PreprocessorDefinitions="" /> + + + @@ -30960,6 +30798,15 @@ PreprocessorDefinitions="" /> + + + @@ -30969,6 +30816,15 @@ PreprocessorDefinitions="" /> + + + @@ -30991,87 +30847,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -31081,6 +30856,15 @@ PreprocessorDefinitions="" /> + + + @@ -31090,6 +30874,15 @@ PreprocessorDefinitions="" /> + + + @@ -31099,6 +30892,15 @@ PreprocessorDefinitions="" /> + + + @@ -31108,6 +30910,15 @@ PreprocessorDefinitions="" /> + + + @@ -31117,6 +30928,15 @@ PreprocessorDefinitions="" /> + + + @@ -31126,6 +30946,15 @@ PreprocessorDefinitions="" /> + + + @@ -31135,6 +30964,15 @@ PreprocessorDefinitions="" /> + + + @@ -31144,6 +30982,15 @@ PreprocessorDefinitions="" /> + + + @@ -31153,6 +31000,15 @@ PreprocessorDefinitions="" /> + + + @@ -31175,87 +31031,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -31265,6 +31040,15 @@ PreprocessorDefinitions="" /> + + + @@ -31274,6 +31058,15 @@ PreprocessorDefinitions="" /> + + + @@ -31283,6 +31076,15 @@ PreprocessorDefinitions="" /> + + + @@ -31292,6 +31094,15 @@ PreprocessorDefinitions="" /> + + + @@ -31301,6 +31112,15 @@ PreprocessorDefinitions="" /> + + + @@ -31310,6 +31130,15 @@ PreprocessorDefinitions="" /> + + + @@ -31319,6 +31148,15 @@ PreprocessorDefinitions="" /> + + + @@ -31328,6 +31166,15 @@ PreprocessorDefinitions="" /> + + + @@ -31337,6 +31184,15 @@ PreprocessorDefinitions="" /> + + + @@ -31360,96 +31216,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -31460,6 +31226,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31470,6 +31246,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31480,6 +31266,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31490,6 +31286,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31500,6 +31306,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31510,6 +31326,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31520,6 +31346,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31530,6 +31366,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31540,6 +31386,16 @@ UsePrecompiledHeader="0" /> + + + @@ -31563,87 +31419,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -31653,6 +31428,15 @@ PreprocessorDefinitions="" /> + + + @@ -31662,6 +31446,15 @@ PreprocessorDefinitions="" /> + + + @@ -31671,6 +31464,15 @@ PreprocessorDefinitions="" /> + + + @@ -31680,6 +31482,15 @@ PreprocessorDefinitions="" /> + + + @@ -31689,6 +31500,15 @@ PreprocessorDefinitions="" /> + + + @@ -31698,6 +31518,15 @@ PreprocessorDefinitions="" /> + + + @@ -31707,6 +31536,15 @@ PreprocessorDefinitions="" /> + + + @@ -31716,6 +31554,15 @@ PreprocessorDefinitions="" /> + + + @@ -31725,6 +31572,15 @@ PreprocessorDefinitions="" /> + + + @@ -31747,87 +31603,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -31837,6 +31612,15 @@ PreprocessorDefinitions="" /> + + + @@ -31846,6 +31630,15 @@ PreprocessorDefinitions="" /> + + + @@ -31855,6 +31648,15 @@ PreprocessorDefinitions="" /> + + + @@ -31864,6 +31666,15 @@ PreprocessorDefinitions="" /> + + + @@ -31873,6 +31684,15 @@ PreprocessorDefinitions="" /> + + + @@ -31882,6 +31702,15 @@ PreprocessorDefinitions="" /> + + + @@ -31891,6 +31720,15 @@ PreprocessorDefinitions="" /> + + + @@ -31900,6 +31738,15 @@ PreprocessorDefinitions="" /> + + + @@ -31909,6 +31756,15 @@ PreprocessorDefinitions="" /> + + + @@ -31931,87 +31787,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -32021,6 +31796,15 @@ PreprocessorDefinitions="" /> + + + @@ -32030,6 +31814,15 @@ PreprocessorDefinitions="" /> + + + @@ -32039,6 +31832,15 @@ PreprocessorDefinitions="" /> + + + @@ -32048,6 +31850,15 @@ PreprocessorDefinitions="" /> + + + @@ -32057,6 +31868,15 @@ PreprocessorDefinitions="" /> + + + @@ -32066,6 +31886,15 @@ PreprocessorDefinitions="" /> + + + @@ -32075,6 +31904,15 @@ PreprocessorDefinitions="" /> + + + @@ -32084,6 +31922,15 @@ PreprocessorDefinitions="" /> + + + @@ -32093,6 +31940,15 @@ PreprocessorDefinitions="" /> + + + @@ -32115,87 +31971,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -32205,6 +31980,15 @@ PreprocessorDefinitions="" /> + + + @@ -32214,6 +31998,15 @@ PreprocessorDefinitions="" /> + + + @@ -32223,6 +32016,15 @@ PreprocessorDefinitions="" /> + + + @@ -32232,6 +32034,15 @@ PreprocessorDefinitions="" /> + + + @@ -32241,6 +32052,15 @@ PreprocessorDefinitions="" /> + + + @@ -32250,6 +32070,15 @@ PreprocessorDefinitions="" /> + + + @@ -32259,6 +32088,15 @@ PreprocessorDefinitions="" /> + + + @@ -32268,6 +32106,15 @@ PreprocessorDefinitions="" /> + + + @@ -32277,6 +32124,15 @@ PreprocessorDefinitions="" /> + + + @@ -32299,87 +32155,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -32389,6 +32164,15 @@ PreprocessorDefinitions="" /> + + + @@ -32398,6 +32182,15 @@ PreprocessorDefinitions="" /> + + + @@ -32407,6 +32200,15 @@ PreprocessorDefinitions="" /> + + + @@ -32416,6 +32218,15 @@ PreprocessorDefinitions="" /> + + + @@ -32425,6 +32236,15 @@ PreprocessorDefinitions="" /> + + + @@ -32434,6 +32254,15 @@ PreprocessorDefinitions="" /> + + + @@ -32443,6 +32272,15 @@ PreprocessorDefinitions="" /> + + + @@ -32452,6 +32290,15 @@ PreprocessorDefinitions="" /> + + + @@ -32461,6 +32308,15 @@ PreprocessorDefinitions="" /> + + + @@ -32491,87 +32347,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -32581,6 +32356,15 @@ PreprocessorDefinitions="" /> + + + @@ -32590,6 +32374,15 @@ PreprocessorDefinitions="" /> + + + @@ -32599,6 +32392,15 @@ PreprocessorDefinitions="" /> + + + @@ -32608,6 +32410,15 @@ PreprocessorDefinitions="" /> + + + @@ -32617,6 +32428,15 @@ PreprocessorDefinitions="" /> + + + @@ -32626,6 +32446,15 @@ PreprocessorDefinitions="" /> + + + @@ -32635,6 +32464,15 @@ PreprocessorDefinitions="" /> + + + @@ -32644,6 +32482,15 @@ PreprocessorDefinitions="" /> + + + @@ -32653,6 +32500,15 @@ PreprocessorDefinitions="" /> + + + @@ -32675,87 +32531,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -32765,6 +32540,15 @@ PreprocessorDefinitions="" /> + + + @@ -32774,6 +32558,15 @@ PreprocessorDefinitions="" /> + + + @@ -32783,6 +32576,15 @@ PreprocessorDefinitions="" /> + + + @@ -32792,6 +32594,15 @@ PreprocessorDefinitions="" /> + + + @@ -32801,6 +32612,15 @@ PreprocessorDefinitions="" /> + + + @@ -32810,6 +32630,15 @@ PreprocessorDefinitions="" /> + + + @@ -32819,6 +32648,15 @@ PreprocessorDefinitions="" /> + + + @@ -32828,6 +32666,15 @@ PreprocessorDefinitions="" /> + + + @@ -32837,6 +32684,15 @@ PreprocessorDefinitions="" /> + + + @@ -32860,6 +32716,16 @@ PreprocessorDefinitions="" /> + + + @@ -32869,6 +32735,15 @@ PreprocessorDefinitions="" /> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -32980,6 +32782,15 @@ PreprocessorDefinitions="" /> + + + @@ -32989,6 +32800,15 @@ PreprocessorDefinitions="" /> + + + @@ -32998,6 +32818,15 @@ PreprocessorDefinitions="" /> + + + @@ -33007,6 +32836,15 @@ PreprocessorDefinitions="" /> + + + @@ -33016,6 +32854,15 @@ PreprocessorDefinitions="" /> + + + @@ -33025,6 +32872,15 @@ PreprocessorDefinitions="" /> + + + @@ -33047,87 +32903,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -33137,6 +32912,15 @@ PreprocessorDefinitions="" /> + + + @@ -33146,6 +32930,15 @@ PreprocessorDefinitions="" /> + + + @@ -33155,6 +32948,15 @@ PreprocessorDefinitions="" /> + + + @@ -33164,6 +32966,15 @@ PreprocessorDefinitions="" /> + + + @@ -33173,6 +32984,15 @@ PreprocessorDefinitions="" /> + + + @@ -33182,6 +33002,15 @@ PreprocessorDefinitions="" /> + + + @@ -33191,6 +33020,15 @@ PreprocessorDefinitions="" /> + + + @@ -33200,6 +33038,15 @@ PreprocessorDefinitions="" /> + + + @@ -33209,6 +33056,15 @@ PreprocessorDefinitions="" /> + + + @@ -33230,78 +33086,6 @@ UsePrecompiledHeader="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -33310,6 +33094,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33318,6 +33110,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33326,6 +33126,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33334,6 +33142,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33342,6 +33158,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33350,6 +33174,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33358,6 +33190,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33366,6 +33206,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33374,6 +33222,14 @@ UsePrecompiledHeader="0" /> + + + @@ -33396,96 +33252,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -33496,6 +33262,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33506,6 +33282,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33516,6 +33302,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33526,6 +33322,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33536,6 +33342,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33546,6 +33362,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33556,6 +33382,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33566,6 +33402,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33576,6 +33422,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -33600,96 +33456,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -33700,6 +33466,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33710,6 +33486,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33720,6 +33506,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33730,6 +33526,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33740,6 +33546,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33750,6 +33566,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33760,6 +33586,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33770,6 +33606,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33780,6 +33626,16 @@ PrecompiledHeaderThrough="qwsvdef.h" /> + + + @@ -33803,87 +33659,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -33893,6 +33668,15 @@ PreprocessorDefinitions="" /> + + + @@ -33902,6 +33686,15 @@ PreprocessorDefinitions="" /> + + + @@ -33911,6 +33704,15 @@ PreprocessorDefinitions="" /> + + + @@ -33920,6 +33722,15 @@ PreprocessorDefinitions="" /> + + + @@ -33929,6 +33740,15 @@ PreprocessorDefinitions="" /> + + + @@ -33938,6 +33758,15 @@ PreprocessorDefinitions="" /> + + + @@ -33947,6 +33776,15 @@ PreprocessorDefinitions="" /> + + + @@ -33956,6 +33794,15 @@ PreprocessorDefinitions="" /> + + + @@ -33965,6 +33812,15 @@ PreprocessorDefinitions="" /> + + + @@ -33988,96 +33844,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -34088,6 +33854,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34098,6 +33874,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34108,6 +33894,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34118,6 +33914,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34128,6 +33934,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34138,6 +33954,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34148,6 +33974,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34158,6 +33994,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34168,6 +34014,16 @@ PrecompiledHeaderThrough="quakedef.h" /> + + + @@ -34191,87 +34047,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -34281,6 +34056,15 @@ PreprocessorDefinitions="" /> + + + @@ -34290,6 +34074,15 @@ PreprocessorDefinitions="" /> + + + @@ -34299,6 +34092,15 @@ PreprocessorDefinitions="" /> + + + @@ -34308,6 +34110,15 @@ PreprocessorDefinitions="" /> + + + @@ -34317,6 +34128,15 @@ PreprocessorDefinitions="" /> + + + @@ -34326,6 +34146,15 @@ PreprocessorDefinitions="" /> + + + @@ -34335,6 +34164,15 @@ PreprocessorDefinitions="" /> + + + @@ -34344,6 +34182,15 @@ PreprocessorDefinitions="" /> + + + @@ -34353,6 +34200,15 @@ PreprocessorDefinitions="" /> + + + diff --git a/engine/dotnet2005/ftequake_SDL.vcproj b/engine/dotnet2005/ftequake_SDL.vcproj index 22c926bae..10620da5d 100644 --- a/engine/dotnet2005/ftequake_SDL.vcproj +++ b/engine/dotnet2005/ftequake_SDL.vcproj @@ -2,7 +2,7 @@ @@ -64,6 +64,7 @@ WarningLevel="3" SuppressStartupBanner="true" DebugInformationFormat="4" + CallingConvention="0" DisableSpecificWarnings="4996" /> @@ -1719,7 +1724,7 @@ /> @@ -9859,192 +9864,12 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -20150,6 +19931,170 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -25084,7 +25029,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -25578,6 +25727,210 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -26891,7 +27244,7 @@ @@ -30657,202 +31042,6 @@ /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/engine/gl/gl_screen.c b/engine/gl/gl_screen.c index 04b101fcb..69fbe539b 100644 --- a/engine/gl/gl_screen.c +++ b/engine/gl/gl_screen.c @@ -204,6 +204,9 @@ void GLSCR_UpdateScreen (void) SCR_DrawTwoDimensional(uimenu, nohud); + if (Key_MouseShouldBeFree()) + SCR_DrawCursor(0); + V_UpdatePalette (false); #if defined(_WIN32) && defined(GLQUAKE) Media_RecordFrame(); diff --git a/engine/gl/gl_vidlinuxglx.c b/engine/gl/gl_vidlinuxglx.c index a7a25d13a..2a7764492 100644 --- a/engine/gl/gl_vidlinuxglx.c +++ b/engine/gl/gl_vidlinuxglx.c @@ -88,13 +88,6 @@ qboolean originalapplied; //states that the origionalramps arrays are valid, and extern cvar_t _windowed_mouse; - -cvar_t m_filter = {"m_filter", "0"}; -cvar_t m_accel = {"m_accel", "0"}; - -static float mouse_x, mouse_y; -static float old_mouse_x, old_mouse_y; - /*-----------------------------------------------------------------------*/ float gldepthmin, gldepthmax; @@ -396,21 +389,20 @@ static void GetEvent(void) #ifdef USE_DGA if (dgamouse && old_windowed_mouse) { - mouse_x += event.xmotion.x_root; - mouse_y += event.xmotion.y_root; + IN_MouseMove(0, false, event.xmotion.x_root, event.xmotion.y_root, 0, 0); } else #endif { if (old_windowed_mouse) { - mouse_x = (float) ((int)event.xmotion.x - (int)(vid.width/2)); - mouse_y = (float) ((int)event.xmotion.y - (int)(vid.height/2)); + int cx = vid.pixelwidth/2, cy=vid.pixelheight/2; + IN_MouseMove(0, false, event.xmotion.x - cx, event.xmotion.y - cy, 0, 0); /* move the mouse to the window center again */ XSelectInput(vid_dpy, vid_window, X_MASK & ~PointerMotionMask); XWarpPointer(vid_dpy, None, vid_window, 0, 0, 0, 0, - (vid.width/2), (vid.height/2)); + cx, cy); XSelectInput(vid_dpy, vid_window, X_MASK); } } @@ -448,7 +440,7 @@ static void GetEvent(void) b = x11violations?K_MOUSE10:-1; if (b>=0) - Key_Event(0, b, 0, true); + IN_KeyEvent(0, true, b, 0); #ifdef WITH_VMODE if (vidmode_ext && vidmode_usemode>=0) if (!ActiveApp) @@ -491,7 +483,7 @@ static void GetEvent(void) b = x11violations?K_MOUSE10:-1; if (b>=0) - Key_Event(0, b, 0, false); + IN_KeyEvent(0, false, b, 0); break; case FocusIn: @@ -1046,140 +1038,22 @@ void Force_CenterView_f (void) cl.playerview[0].viewangles[PITCH] = 0; } -void IN_ReInit(void) + +//these are done from the x11 event handler. we don't support evdev. +void INS_Move(float *movements, int pnum) { } - -void IN_Init(void) -{ - IN_ReInit(); -} - -void IN_Shutdown(void) +void INS_Commands(void) { } - -/* -=========== -IN_Commands -=========== -*/ -void IN_Commands (void) +void INS_Init(void) { } - -/* -=========== -IN_Move -=========== -*/ -void IN_MouseMove (float *movements, int pnum) +void INS_ReInit(void) { - extern int mousecursor_x, mousecursor_y; - extern int mousemove_x, mousemove_y; - float mx, my; - - mx = mouse_x; - my = mouse_y; - - if (Key_MouseShouldBeFree()) - { - mousemove_x += mouse_x; - mousemove_y += mouse_y; - mousecursor_x += mouse_x; - mousecursor_y += mouse_y; - - if (mousecursor_y<0) - mousecursor_y=0; - if (mousecursor_x<0) - mousecursor_x=0; - - if (mousecursor_x >= vid.width) - mousecursor_x = vid.width - 1; - - if (mousecursor_y >= vid.height) - mousecursor_y = vid.height - 1; - mouse_x=mouse_y=0; -#ifdef VM_UI - UI_MousePosition(mousecursor_x, mousecursor_y); -#endif - -#ifdef PEXT_CSQC - if (CSQC_MousePosition(mousecursor_x, mousecursor_y, 0)) - { - mx = 0; - my = 0; - } -#endif - } - -#ifdef PEXT_CSQC - if (mx || my) - if (CSQC_MouseMove(mx, my, 0)) - { - mx = 0; - my = 0; - } -#endif - - if (m_filter.value) - { - float fraction = bound(0, m_filter.value, 2) * 0.5; - mouse_x = (mouse_x*(1-fraction) + old_mouse_x*fraction); - mouse_y = (mouse_y*(1-fraction) + old_mouse_y*fraction); - } - else - { - mouse_x = mx; - mouse_y = my; - } - old_mouse_x = mx; - old_mouse_y = my; - - if (m_accel.value) - { - float mouse_deltadist = sqrt(mx*mx + my*my); - mouse_x *= (mouse_deltadist*m_accel.value + sensitivity.value*in_sensitivityscale); - mouse_y *= (mouse_deltadist*m_accel.value + sensitivity.value*in_sensitivityscale); - } - else - { - mouse_x *= sensitivity.value*in_sensitivityscale; - mouse_y *= sensitivity.value*in_sensitivityscale; - } - - if(in_xflip.value) mouse_x *= -1; - - if (movements) - { -// add mouse X/Y movement to cmd - if ( (in_strafe.state[pnum] & 1) || (lookstrafe.value && (in_mlook.state[pnum] & 1) )) - movements[1] += m_side.value * mouse_x; - else - cl.playerview[pnum].viewanglechange[YAW] -= m_yaw.value * mouse_x; - - if (in_mlook.state[pnum] & 1) - V_StopPitchDrift (pnum); - - if ( (in_mlook.state[pnum] & 1) && !(in_strafe.state[pnum] & 1)) - { - cl.playerview[pnum].viewanglechange[PITCH] += m_pitch.value * mouse_y; - CL_ClampPitch(pnum); - } - else - { - if ((in_strafe.state[pnum] & 1) && noclip_anglehack) - movements[2] -= m_forward.value * mouse_y; - else - movements[0] -= m_forward.value * mouse_y; - } - } - mouse_x = mouse_y = 0.0; } - -void IN_Move (float *movements, int pnum) +void INS_Shutdown(void) { - IN_MouseMove(movements, pnum); } void GL_DoSwap(void) {} diff --git a/engine/gl/gl_vidnt.c b/engine/gl/gl_vidnt.c index ce1ee05e4..2f5c8c8a3 100644 --- a/engine/gl/gl_vidnt.c +++ b/engine/gl/gl_vidnt.c @@ -859,7 +859,7 @@ static qboolean CreateMainWindow(rendererstate_t *info) stat = VID_SetFullDIBMode(info); } - IN_UpdateGrabs(info->fullscreen, ActiveApp); + INS_UpdateGrabs(info->fullscreen, ActiveApp); return stat; } @@ -1081,7 +1081,7 @@ void VID_UpdateWindowStatus (HWND hWnd) window_center_x = (window_rect.left + window_rect.right) / 2; window_center_y = (window_rect.top + window_rect.bottom) / 2; - IN_UpdateClipCursor (); + INS_UpdateClipCursor (); } @@ -1359,7 +1359,7 @@ void GL_DoSwap (void) // handle the mouse state when windowed if that's changed - IN_UpdateGrabs(modestate != MS_WINDOWED, ActiveApp); + INS_UpdateGrabs(modestate != MS_WINDOWED, ActiveApp); } void GL_EndRendering (void) @@ -1722,7 +1722,7 @@ void ClearAllStates (void) } Key_ClearStates (); - IN_ClearStates (); + INS_ClearStates (); } qboolean GLAppActivate(BOOL fActive, BOOL minimize) @@ -1759,7 +1759,7 @@ qboolean GLAppActivate(BOOL fActive, BOOL minimize) sound_active = true; } - IN_UpdateGrabs(modestate != MS_WINDOWED, ActiveApp); + INS_UpdateGrabs(modestate != MS_WINDOWED, ActiveApp); if (fActive) { @@ -1849,7 +1849,7 @@ LONG WINAPI GLMainWndProc ( case WM_KEYDOWN: case WM_SYSKEYDOWN: if (!vid_initializing) - IN_TranslateKeyEvent(wParam, lParam, true, 0); + INS_TranslateKeyEvent(wParam, lParam, true, 0); break; // case WM_UNICHAR: @@ -1858,13 +1858,13 @@ LONG WINAPI GLMainWndProc ( case WM_CHAR: case WM_SYSCHAR: // if (!vid_initializing) -// IN_TranslateKeyEvent(wParam, lParam, true); +// INS_TranslateKeyEvent(wParam, lParam, true); break; case WM_KEYUP: case WM_SYSKEYUP: if (!vid_initializing) - IN_TranslateKeyEvent(wParam, lParam, false, 0); + INS_TranslateKeyEvent(wParam, lParam, false, 0); break; // this is complicated because Win32 seems to pack multiple mouse events into @@ -1916,7 +1916,7 @@ LONG WINAPI GLMainWndProc ( temp |= 512; if (!vid_initializing) - IN_MouseEvent (temp); + INS_MouseEvent (temp); break; @@ -1942,7 +1942,7 @@ LONG WINAPI GLMainWndProc ( case WM_INPUT: // raw input handling if (!vid_initializing) - IN_RawInput_Read((HANDLE)lParam); + INS_RawInput_Read((HANDLE)lParam); break; case WM_USER: diff --git a/engine/gl/gl_vidsdl.c b/engine/gl/gl_vidsdl.c index 67bb7df24..1734fda66 100644 --- a/engine/gl/gl_vidsdl.c +++ b/engine/gl/gl_vidsdl.c @@ -22,7 +22,10 @@ qboolean mouseactive; extern qboolean mouseusedforgui; - +static void *GLVID_getsdlglfunction(char *functionname) +{ + return SDL_GL_GetProcAddress(functionname); +} qboolean GLVID_Init (rendererstate_t *info, unsigned char *palette) { @@ -72,7 +75,7 @@ Con_Printf("Getting gamma\n"); ActiveApp = true; GLVID_SetPalette (palette); - GL_Init(SDL_GL_GetProcAddress); + GL_Init(GLVID_getsdlglfunction); qglViewport (0, 0, vid.pixelwidth, vid.pixelheight); diff --git a/engine/sw/sw_vidwin.c b/engine/sw/sw_vidwin.c index b6c2717d2..843e8af25 100644 --- a/engine/sw/sw_vidwin.c +++ b/engine/sw/sw_vidwin.c @@ -240,7 +240,7 @@ void SWV_UpdateWindowStatus(void) window_center_x = (window_rect.left + window_rect.right) / 2; window_center_y = (window_rect.top + window_rect.bottom) / 2; - IN_UpdateClipCursor (); + INS_UpdateClipCursor (); } @@ -487,13 +487,13 @@ LONG WINAPI MainWndProc ( case WM_KEYDOWN: case WM_SYSKEYDOWN: // if (!vid_initializing) - IN_TranslateKeyEvent(wParam, lParam, true, 0); + INS_TranslateKeyEvent(wParam, lParam, true, 0); break; case WM_KEYUP: case WM_SYSKEYUP: // if (!vid_initializing) - IN_TranslateKeyEvent(wParam, lParam, false, 0); + INS_TranslateKeyEvent(wParam, lParam, false, 0); break; // this is complicated because Win32 seems to pack multiple mouse events into