diff --git a/README b/README index d35f7ae..c68a1b9 100644 --- a/README +++ b/README @@ -25,6 +25,7 @@ It can run Q1 with all its fancy waterwarping, too. - Water translucency and refractions - Low detail modes - Distance fog +- Video output and window handling done with GDK/GTK - Music playback via DUMB, X Multimedia System and FModEx if desired ************* @@ -38,10 +39,9 @@ For a release build (smaller and faster) issue 'make build_release'. Notes ********* +- Originally based on engoo by leileilol - Carried over soundfixes from reQuiem - Main sound is done via OSS, not ALSA - aoss will most likely not work -- The input is 'not good' right now -- Originally based on engoo by leileilol - If you want to run Q1 with it, launch it with -data id1. You can get a particles.spr file for Q1 here: http://euksy.oldtimes-software.com/files/NGUNIX/particle.spr @@ -49,7 +49,6 @@ For a release build (smaller and faster) issue 'make build_release'. Plans ********* -- Video output switch from X11 to GDK - Audio output switch from direct-OSS to OpenAL - Menu system done primarily using CSQC or similar - HUD system done primarily using CSQC or similar diff --git a/engine/cl_input.c b/engine/cl_input.c index 954352b..2cbdedc 100644 --- a/engine/cl_input.c +++ b/engine/cl_input.c @@ -119,22 +119,6 @@ void KeyUp (kbutton_t *b) void IN_KLookDown (void) {KeyDown(&in_klook);} void IN_KLookUp (void) {KeyUp(&in_klook);} - -void IN_MLookDown (void) -{ - KeyDown(&in_mlook); -// 2001-12-16 M_LOOK cvar by Heffo/Maddes start - if ( !((in_mlook.state & 1) ^ ((int)m_look->value & 1)) && lookspring->value) - V_StartPitchDrift(); -// 2001-12-16 M_LOOK cvar by Heffo/Maddes end -} -void IN_MLookUp (void) -{ - KeyUp(&in_mlook); - if ( !((in_mlook.state & 1) ^ ((int)m_look->value & 1)) && lookspring->value) // 2001-12-16 M_LOOK cvar by Heffo/Maddes - V_StartPitchDrift(); -} - void IN_UpDown(void) {KeyDown(&in_up);} void IN_UpUp(void) {KeyUp(&in_up);} void IN_DownDown(void) {KeyDown(&in_down);} @@ -546,8 +530,6 @@ void CL_InitInput (void) Cmd_AddCommand ("impulse", IN_Impulse); Cmd_AddCommand ("+klook", IN_KLookDown); Cmd_AddCommand ("-klook", IN_KLookUp); - Cmd_AddCommand ("+mlook", IN_MLookDown); - Cmd_AddCommand ("-mlook", IN_MLookUp); Cmd_AddCommand ("+tiltleft",IN_TiltLeftDown); Cmd_AddCommand ("-tiltleft",IN_TiltLeftUp); diff --git a/video/vid_gdk.c b/video/vid_gdk.c index e243314..d46b115 100644 --- a/video/vid_gdk.c +++ b/video/vid_gdk.c @@ -379,6 +379,57 @@ int XLateKey(int keysym) case GDK_grave: key = '`'; break; + case GDK_KEY_underscore: + key = '_'; + break; + case GDK_KEY_KP_Multiply: + key = '*'; + break; + case GDK_KEY_KP_Add: + key = '+'; + break; + case GDK_KEY_KP_Subtract: + key = '-'; + break; + case GDK_KEY_KP_Divide: + key = '/'; + break; + case GDK_KEY_KP_Delete: + key = ','; + break; + case GDK_KEY_KP_Enter: + key = K_ENTER; + break; + case GDK_KEY_KP_0 : + key = '0'; + break; + case GDK_KEY_KP_1 : + key = '1'; + break; + case GDK_KEY_KP_2 : + key = '2'; + break; + case GDK_KEY_KP_3 : + key = '3'; + break; + case GDK_KEY_KP_4: + key = '4'; + break; + case GDK_KEY_KP_5 : + key = '5'; + break; + case GDK_KEY_KP_6 : + key = '6'; + break; + case GDK_KEY_KP_7 : + key = '7'; + break; + case GDK_KEY_KP_8 : + key = '8'; + break; + case GDK_KEY_KP_9 : + key = '9'; + break; default: if (keysym > GDK_space && keysym <= GDK_9) key = keysym; @@ -386,8 +437,6 @@ int XLateKey(int keysym) key = keysym - GDK_A + 'a'; if (keysym >= GDK_a && keysym <= GDK_z) key = keysym - GDK_a + 'a'; - if(keysym == GDK_KEY_underscore) - key = '_'; break; } //printf("keysym: %x, key: %x\n", keysym, key); @@ -453,6 +502,17 @@ void GetEvent(void) if(event->button.button == 2) Key_Event (K_MOUSE3, false); break; + case GDK_SCROLL: + if(event->scroll.direction == GDK_SCROLL_UP) + { + Key_Event (K_MWHEELUP, true); + Key_Event (K_MWHEELUP, false); + } + if(event->scroll.direction == GDK_SCROLL_DOWN){ + Key_Event (K_MWHEELDOWN, true); + Key_Event (K_MWHEELDOWN, false); + } + break; break; } } @@ -460,7 +520,6 @@ void GetEvent(void) // flushes the given rectangles from the view buffer to the screen void VID_Update(vrect_t * rects) { - if (config_notify) { config_notify = 0; @@ -698,29 +757,24 @@ void VID_CreateSplash() void VID_Init_Cvars() { - + // Add stuff in here... later } void IN_Init_Cvars() { m_filter = Cvar_Get ("m_filter", "0", CVAR_ARCHIVE|CVAR_ORIGINAL); } + /* -=========== -IN_DeactivateMouse --eukara -=========== -*/ + * Mouse related functions + * that have nothing todo with aiming or pushing buttons + */ void IN_DeactivateMouse (void) { mouse_enabled = false; gdk_pointer_ungrab (GDK_CURRENT_TIME); } -/* -=========== -IN_DeactivateMouse --eukara -=========== -*/ void IN_ActivateMouse (void) { mouse_enabled = true;