Fixed input, added toggle for dual mouse support
This commit is contained in:
@@ -718,12 +718,8 @@ NEWSYM ReadInputDevice
|
||||
; Process Data
|
||||
mov dword[JoyAOrig],0
|
||||
; Get Player1 input device
|
||||
cmp byte[multiMouseMode],1
|
||||
je .multimouse1
|
||||
cmp byte[snesmouse],1
|
||||
jne .nomouse1
|
||||
.multimouse1
|
||||
mov byte[MouseToRead],1
|
||||
call processmouse
|
||||
ProcSNESMouse JoyAOrig
|
||||
jmp .noinput1
|
||||
@@ -772,17 +768,20 @@ NEWSYM ReadInputDevice
|
||||
and dword[JoyAOrig],7FFFFFFFh
|
||||
.noinput1
|
||||
mov dword[JoyBOrig],0
|
||||
cmp byte[multiMouseMode],1
|
||||
je .multimouse2
|
||||
cmp byte[snesmouse],2
|
||||
jne .nomouse2
|
||||
.multimouse2
|
||||
mov byte[MouseToRead],2
|
||||
call processmouse
|
||||
ProcSNESMouse JoyBOrig
|
||||
jmp .noinput2
|
||||
.nomouse2
|
||||
cmp byte[snesmouse],3
|
||||
je .nomultimouse
|
||||
mov byte[MouseToRead],1
|
||||
ProcSNESMouse JoyAOrig
|
||||
mov byte[MouseToRead],2
|
||||
ProcSNESMouse JoyBOrig
|
||||
.nomultimouse
|
||||
cmp byte[snesmouse],4
|
||||
jne .nosuperscope
|
||||
call processmouse
|
||||
mov byte[JoyBOrig+2],0FFh
|
||||
@@ -802,7 +801,7 @@ NEWSYM ReadInputDevice
|
||||
mov [JoyBOrig+3],al
|
||||
jmp .noinput2
|
||||
.nosuperscope
|
||||
cmp byte[snesmouse],4
|
||||
cmp byte[snesmouse],5
|
||||
jne .nolethalen
|
||||
call processmouse
|
||||
mov eax,[romdata]
|
||||
|
||||
@@ -180,7 +180,7 @@ void cycleinputdevice()
|
||||
for (;;)
|
||||
{
|
||||
snesmouse++;
|
||||
if (snesmouse >= 5)
|
||||
if (snesmouse >= 6)
|
||||
{
|
||||
snesmouse = 0;
|
||||
}
|
||||
@@ -201,10 +201,15 @@ void cycleinputdevice()
|
||||
}
|
||||
if (snesmouse == 3)
|
||||
{
|
||||
if (input2scope) { return; }
|
||||
if (input2mouse) { return; }
|
||||
snesmouse++;
|
||||
}
|
||||
if (snesmouse == 4)
|
||||
{
|
||||
if (input2scope) { return; }
|
||||
snesmouse++;
|
||||
}
|
||||
if (snesmouse == 5)
|
||||
{
|
||||
if (input2just) { return; }
|
||||
}
|
||||
@@ -424,8 +429,6 @@ void DisplayBatteryStatus()
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Make use of multiple mice.
|
||||
|
||||
int MouseCount = 0;
|
||||
@@ -433,6 +436,7 @@ int Mouse1MoveX = 0;
|
||||
int Mouse2MoveX = 0;
|
||||
int Mouse1MoveY = 0;
|
||||
int Mouse2MoveY = 0;
|
||||
int MousePoll = 0;
|
||||
unsigned char MouseToRead = 0;
|
||||
|
||||
void MultiMouseShutdown()
|
||||
@@ -454,6 +458,9 @@ void MultiMouseProcess()
|
||||
ManyMouseEvent event;
|
||||
|
||||
Mouse1MoveX = Mouse1MoveY = Mouse2MoveX = Mouse2MoveY = 0;
|
||||
MousePoll ^= 1;
|
||||
if (MousePoll)
|
||||
{
|
||||
ManyMouse_PollEvent(&event);
|
||||
|
||||
if (event.type == MANYMOUSE_EVENT_RELMOTION)
|
||||
@@ -465,3 +472,4 @@ void MultiMouseProcess()
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -556,10 +556,14 @@ NEWSYM cachevideo
|
||||
.nom2
|
||||
cmp byte[snesmouse],3
|
||||
jne .nom3
|
||||
mov dword[Msgptr],snesmouse12
|
||||
.nom3
|
||||
cmp byte[snesmouse],4
|
||||
jne .nom4
|
||||
mov dword[Msgptr],snesss
|
||||
mov word[mousexloc],128
|
||||
mov word[mouseyloc],112
|
||||
.nom3
|
||||
.nom4
|
||||
mov eax,[MsgCount]
|
||||
mov [MessageOn],eax
|
||||
call Get_MousePositionDisplacement
|
||||
@@ -954,6 +958,7 @@ NEWSYM panickeyp, db 'ALL SWITCHES NORMAL',0
|
||||
NEWSYM snesmousep0, db 'MOUSE/SUPER SCOPE DISABLED',0
|
||||
NEWSYM snesmousep1, db 'MOUSE ENABLED IN PORT 1',0
|
||||
NEWSYM snesmousep2, db 'MOUSE ENABLED IN PORT 2',0
|
||||
NEWSYM snesmouse12, db 'MOUSE ENABLED IN PORT 1 AND 2',0
|
||||
NEWSYM snesss, db 'SUPER SCOPE ENABLED',0
|
||||
NEWSYM snesle, db 'LETHAL ENFORCER GUN ENABLED',0
|
||||
NEWSYM windissw, db 'WINDOWING DISABLED',0
|
||||
|
||||
@@ -173,8 +173,8 @@ NEWSYM processmouse
|
||||
.noautosw
|
||||
mov byte[ssautoswb],0
|
||||
.ss
|
||||
cmp byte[multiMouseMode],0
|
||||
je .nomultimouse
|
||||
cmp byte[snesmouse],3
|
||||
jne .nomultimouse
|
||||
pushad
|
||||
call MultiMouseProcess
|
||||
popad
|
||||
@@ -190,9 +190,9 @@ NEWSYM processmouse
|
||||
.nomultimouse
|
||||
call Get_MousePositionDisplacement
|
||||
.mousestuff
|
||||
cmp byte[snesmouse],4
|
||||
cmp byte[snesmouse],5
|
||||
je .le
|
||||
cmp byte[snesmouse],3
|
||||
cmp byte[snesmouse],4
|
||||
jne .ss2
|
||||
.le
|
||||
add word[mousexloc],cx
|
||||
|
||||
Reference in New Issue
Block a user