forked from minexew/Shrine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Mouse.DD
16 lines (12 loc) · 925 Bytes
/
Mouse.DD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$WW,1$$LK,"ms.pos.x",A="MN:ms"$ and $LK,"ms.pos.y",A="MN:ms"$ can be used to access the x and y coordinates of the mouse. They are relative to the scrn, not window. These can be used if you don't want to use msg passing. $LK,"ms.pos.z",A="MN:ms"$ is the wheel.
$LK,"ms.pos_text.x",A="MN:CMsStateGlbls"$ and $LK,"ms.pos_text.y",A="MN:CMsStateGlbls"$ are the text column and row. See $LK,"::/Demo/Games/Maze.HC"$.
See $LK,"CMsStateGlbls",A="MN:CMsStateGlbls"$ and $LK,"CMsHardStateGlbls",A="MN:CMsHardStateGlbls"$.
The $FG,2$hard$FG$ designation, as in $FG,2$ms_hard$FG$, represents hardware layer items before the application of an abstraction layer.
$HL,1$//****
ms_hard.pos.x=ms_hard.prescale.x*ms_hard.scale.x*ms_grid.x_speed;
ms.presnap.x=ToI64(ms.scale.x*ms_hard.pos.x)+ms.offset.x;
if (ms_grid.snap)
ms.pos.x=Trunc(ms.presnap.x/ms_grid.x)*ms_grid.x+ms_grid.x_offset;
else
ms.pos.x=ms.presnap.x;
//****$HL,0$