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
|
type
|
||||||
PMousePacket = ^TMousePacket;
|
PMousePacket = ^TMousePacket;
|
||||||
TMousePacket = record
|
TMousePacket = record
|
||||||
x_movement : byte;
|
x_movement : sint32;
|
||||||
y_movement : byte;
|
y_movement : sint32;
|
||||||
y_overflow : boolean;
|
y_overflow : boolean;
|
||||||
x_overflow : boolean;
|
x_overflow : boolean;
|
||||||
y_sign : boolean;
|
y_sign : boolean;
|
||||||
@ -141,18 +141,20 @@ begin
|
|||||||
if Cycle = 3 then begin
|
if Cycle = 3 then begin
|
||||||
//Process
|
//Process
|
||||||
f:= Mouse_Byte[0];
|
f:= Mouse_Byte[0];
|
||||||
Packet.x_movement:= Mouse_Byte[1];
|
//Packet.x_movement:= Mouse_Byte[1];
|
||||||
Packet.y_movement:= Mouse_Byte[2];
|
//Packet.y_movement:= Mouse_Byte[2];
|
||||||
Packet.x_sign:= (f AND %00010000) = %00010000;
|
Packet.x_sign:= (f AND %00010000) = %00010000;
|
||||||
Packet.y_sign:= (f AND %00100000) = %00100000;
|
Packet.y_sign:= (f AND %00100000) = %00100000;
|
||||||
Packet.x_overflow:= (f AND $40) = $40;
|
Packet.x_overflow:= (f AND $40) = $40;
|
||||||
Packet.y_overflow:= (f AND $80) = $80;
|
Packet.y_overflow:= (f AND $80) = $80;
|
||||||
Packet.x_movement:= Packet.x_movement div 4;
|
Packet.x_movement:= Mouse_Byte[1] - ((f SHL 4) AND $100);//Packet.x_movement div 4;
|
||||||
Packet.y_movement:= Packet.y_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.x_movement < 1 then Packet.x_movement:= 1;
|
||||||
if Packet.y_movement < 1 then Packet.y_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 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);
|
dec(Current.x, Packet.x_movement);
|
||||||
end;
|
end;
|
||||||
If not(Packet.x_sign) and (Packet.x_movement > 0) then begin
|
If not(Packet.x_sign) and (Packet.x_movement > 0) then begin
|
||||||
@ -163,7 +165,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
If (Packet.y_sign) and (Packet.y_movement > 0) then begin
|
If (Packet.y_sign) and (Packet.y_movement > 0) then begin
|
||||||
inc(Current.y, Packet.y_movement);
|
inc(Current.y, Packet.y_movement);
|
||||||
end;
|
end;}
|
||||||
if Current.x < 0 then Current.x:= 0;
|
if Current.x < 0 then Current.x:= 0;
|
||||||
if Current.y < 0 then Current.y:= 0;
|
if Current.y < 0 then Current.y:= 0;
|
||||||
if Current.x > 1279 then Current.x:= 1279;
|
if Current.x > 1279 then Current.x:= 1279;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user