code: plan9front

Download patch

ref: 418131d326ab033789a25c0c5cddd5aa776e8f27
parent: 21ae833386940c7414ecaaf1012c0ec87f0088e5
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Fri Aug 19 12:48:02 EDT 2022

games/doom: add "m_forward" cvar to disable vertical motion move; actually implement use_mouse

--- a/sys/src/games/doom/g_game.c
+++ b/sys/src/games/doom/g_game.c
@@ -157,6 +157,7 @@
 int             mousebfire; 
 int             mousebstrafe; 
 int             mousebforward; 
+int             m_forward;
  
 int             joybfire; 
 int             joybstrafe; 
@@ -186,6 +187,7 @@
 // mouse values are used once 
 int             mousex;
 int		mousey;         
+extern int usemouse;
 
 int             dclicktime;
 int		dclickstate;
@@ -399,7 +401,8 @@
 	} 
     } 
  
-    forward += mousey; 
+    if (m_forward)
+        forward += mousey; 
     if (strafe) 
 	side += mousex*2; 
     else 
@@ -563,6 +566,8 @@
 	return false;   // always let key up events filter down 
 		 
       case ev_mouse: 
+	if (!usemouse)
+	    return true;
 	mousebuttons[0] = ev->data1 & 1; 
 	mousebuttons[1] = ev->data1 & 2; 
 	mousebuttons[2] = ev->data1 & 4; 
--- a/sys/src/games/doom/i_video.c
+++ b/sys/src/games/doom/i_video.c
@@ -11,6 +11,7 @@
 
 static int resized;
 static int mouseactive;
+extern int usemouse;
 
 static Rectangle grabout;
 static Point center;
@@ -160,7 +161,7 @@
 	static char nocurs[2*4+2*2*16];
 	static int fd = -1;
 
-	if(mouseactive == on)
+	if(mouseactive == on || !usemouse)
 		return;
 	if(mouseactive = on){
 		if((fd = open("/dev/cursor", ORDWR|OCEXEC)) < 0)
--- a/sys/src/games/doom/m_misc.c
+++ b/sys/src/games/doom/m_misc.c
@@ -163,6 +163,7 @@
 extern int	mousebfire;
 extern int	mousebstrafe;
 extern int	mousebforward;
+extern int  m_forward;
 
 extern int	joybfire;
 extern int	joybstrafe;
@@ -218,6 +219,7 @@
     {"mouseb_fire",&mousebfire,0},
     {"mouseb_strafe",&mousebstrafe,1},
     {"mouseb_forward",&mousebforward,2},
+    {"m_forward",&m_forward, 1},
 
     {"use_joystick",&usejoystick, 0},
     {"joyb_fire",&joybfire,0},