git-svn-id: https://spexeah.com:8443/svn/Asuro@539 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
d9d7dfe8fc
commit
e263ff7c17
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/kernel.ppu
BIN
lib/kernel.ppu
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/libpsystem.a
BIN
lib/libpsystem.a
Binary file not shown.
BIN
lib/mouse.ppu
BIN
lib/mouse.ppu
Binary file not shown.
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user