EXTERN_C VOID HookHandler(PGuestContext context)
{
static
bool
flag
=
false;
if
(!flag) { flag
=
true; A(
"inline hook成功!"
); }
float
xgap
=
0.064935
, ygap
=
0.118343
;
/
/
同一格子内部距离
float
xbet
=
0.012987
, ybet
=
0.023669
;
/
/
两个相邻格子之间的距离
float
trans
=
getScreenZoom()
/
1.25
;
xgap
*
=
trans, ygap
*
=
trans, xbet
*
=
trans, ybet
*
=
trans;
/
/
进行缩放
float
origin_a1_x
=
-
0.9305
;
float
origin_a1_y
=
0.906692
;
if
(fabs(getScreenZoom()
-
1.00
) < eps) origin_a1_y
=
0.906692
;
/
/
缩放
100
%
else
if
(fabs(getScreenZoom()
-
1.25
) < eps) origin_a1_y
=
0.882840
;
/
/
缩放
125
%
else
if
(fabs(getScreenZoom()
-
1.50
) < eps) origin_a1_y
=
0.858773
;
/
/
缩放
150
%
else
if
(fabs(getScreenZoom()
-
1.75
) < eps) origin_a1_y
=
0.834448
;
/
/
缩放
175
%
if
(fabs(getScreenZoom()
-
1.00
) < eps) origin_a1_x
=
-
0.9472
;
/
/
缩放
100
%
else
if
(fabs(getScreenZoom()
-
1.25
) < eps) origin_a1_x
=
-
0.9305
;
/
/
缩放
125
%
else
if
(fabs(getScreenZoom()
-
1.50
) < eps) origin_a1_x
=
-
0.9236
;
/
/
缩放
150
%
else
if
(fabs(getScreenZoom()
-
1.75
) < eps) origin_a1_x
=
-
0.9139
;
/
/
缩放
175
%
PInfo info
=
(PInfo)(context
-
>mRcx);
static
int
ct
=
0
;
ct
+
+
;
if
(ct <
=
6
)
{
float
a1x
=
origin_a1_x;
float
a1y
=
origin_a1_y
-
(ct
-
1
)
*
(ygap
+
ybet);
info
-
>a1.x
=
a1x, info
-
>a1.y
=
a1y;
info
-
>a2.x
=
a1x
+
xgap, info
-
>a2.y
=
a1y;
info
-
>a3.x
=
a1x, info
-
>a3.y
=
a1y
-
ygap;
info
-
>a4.x
=
a1x
+
xgap, info
-
>a4.y
=
a1y
-
ygap;
}
else
if
(ct <
=
9
)
{
float
a1x
=
origin_a1_x
+
(ct
-
6
)
*
(xgap
+
xbet);
float
a1y
=
origin_a1_y
-
(
4
-
1
)
*
(ygap
+
ybet);
info
-
>a1.x
=
a1x, info
-
>a1.y
=
a1y;
info
-
>a2.x
=
a1x
+
xgap, info
-
>a2.y
=
a1y;
info
-
>a3.x
=
a1x, info
-
>a3.y
=
a1y
-
ygap;
info
-
>a4.x
=
a1x
+
xgap, info
-
>a4.y
=
a1y
-
ygap;
}
else
if
(ct
=
=
10
)
{
float
a1x
=
origin_a1_x
+
(
7
-
6
)
*
(xgap
+
xbet);
float
a1y
=
origin_a1_y
-
(
2
-
1
)
*
(ygap
+
ybet);
info
-
>a1.x
=
a1x, info
-
>a1.y
=
a1y;
info
-
>a2.x
=
a1x
+
xgap, info
-
>a2.y
=
a1y;
info
-
>a3.x
=
a1x, info
-
>a3.y
=
a1y
-
ygap;
info
-
>a4.x
=
a1x
+
xgap, info
-
>a4.y
=
a1y
-
ygap;
}
else
if
(ct
=
=
11
)
{
float
a1x
=
origin_a1_x
+
(
8
-
6
)
*
(xgap
+
xbet);
float
a1y
=
origin_a1_y
-
(
3
-
1
)
*
(ygap
+
ybet);
info
-
>a1.x
=
a1x, info
-
>a1.y
=
a1y;
info
-
>a2.x
=
a1x
+
xgap, info
-
>a2.y
=
a1y;
info
-
>a3.x
=
a1x, info
-
>a3.y
=
a1y
-
ygap;
info
-
>a4.x
=
a1x
+
xgap, info
-
>a4.y
=
a1y
-
ygap;
}
if
(ct
=
=
42
) ct
=
0
;
}