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