git-svn-id: https://spexeah.com:8443/svn/Asuro@539 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c

This commit is contained in:
kieron
2018-04-26 13:44:49 +00:00
parent d9d7dfe8fc
commit e263ff7c17
9 changed files with 10 additions and 8 deletions

View File

@ -23,8 +23,8 @@ uses
type
PMousePacket = ^TMousePacket;
TMousePacket = record
x_movement : byte;
y_movement : byte;
x_movement : sint32;
y_movement : sint32;
y_overflow : boolean;
x_overflow : boolean;
y_sign : boolean;
@ -141,18 +141,20 @@ begin
if Cycle = 3 then begin
//Process
f:= Mouse_Byte[0];
Packet.x_movement:= Mouse_Byte[1];
Packet.y_movement:= Mouse_Byte[2];
//Packet.x_movement:= Mouse_Byte[1];
//Packet.y_movement:= Mouse_Byte[2];
Packet.x_sign:= (f AND %00010000) = %00010000;
Packet.y_sign:= (f AND %00100000) = %00100000;
Packet.x_overflow:= (f AND $40) = $40;
Packet.y_overflow:= (f AND $80) = $80;
Packet.x_movement:= Packet.x_movement div 4;
Packet.y_movement:= Packet.y_movement div 4;
Packet.x_movement:= Mouse_Byte[1] - ((f SHL 4) AND $100);//Packet.x_movement div 4;
Packet.y_movement:= Mouse_Byte[2] - ((f SHL 3) AND $100);//Packet.y_movement div 4;
if Packet.x_movement < 1 then Packet.x_movement:= 1;
if Packet.y_movement < 1 then Packet.y_movement:= 1;
if not(Packet.x_overflow) and not(Packet.y_overflow) then begin
If (Packet.x_sign) and (Packet.x_movement > 0) then begin
Current.x:= Current.x + Packet.x_movement;
Current.y:= Current.y + Packet.y_movement;
{If (Packet.x_sign) and (Packet.x_movement > 0) then begin
dec(Current.x, Packet.x_movement);
end;
If not(Packet.x_sign) and (Packet.x_movement > 0) then begin
@ -163,7 +165,7 @@ begin
end;
If (Packet.y_sign) and (Packet.y_movement > 0) then begin
inc(Current.y, Packet.y_movement);
end;
end;}
if Current.x < 0 then Current.x:= 0;
if Current.y < 0 then Current.y:= 0;
if Current.x > 1279 then Current.x:= 1279;