
01.07.2024, 15:02
|
|
Познающий
Регистрация: 21.01.2019
Сообщений: 62
С нами:
3847510
Репутация:
58
|
|
Сообщение от AdCKuY_DpO4uLa
C++:
Код:
class
radar
{
private
:
kthook
::
kthook_simple
TransformRadarPointToScreenSpaceHook
{
}
;
static
void
__cdecl
TransformRadarPointToScreenSpace_HOOKED
(
const
decltype
(
TransformRadarPointToScreenSpaceHook
)
&
hook
,
CVector2D
*
out
,
CVector2D
*
in
)
;
public
:
void
initialize
(
)
;
}
g_radar
;
void
radar
::
initialize
(
)
{
TransformRadarPointToScreenSpaceHook
.
set_dest
(
0x583480
)
;
TransformRadarPointToScreenSpaceHook
.
set_cb
(
&
TransformRadarPointToScreenSpace_HOOKED
)
;
TransformRadarPointToScreenSpaceHook
.
install
(
)
;
}
void
__cdecl radar
::
TransformRadarPointToScreenSpace_HOOKED
(
const
decltype
(
TransformRadarPointToScreenSpaceHook
)
&
hook
,
CVector2D
*
out
,
CVector2D
*
in
)
{
if
(
FrontEndMenuManager
.
drawRadarOrMap
)
{
out
->
x
=
FrontEndMenuManager
.
m_fMapZoom
*
in
->
x
+
FrontEndMenuManager
.
m_fMapBaseX
;
out
->
y
=
FrontEndMenuManager
.
m_fMapBaseY
-
FrontEndMenuManager
.
m_fMapZoom
*
in
->
y
;
}
else
{
out
->
x
=
0.5
*
(
94.0
*
(
RsGlobal
.
maximumWidth
*
0.0015625
)
)
+
RsGlobal
.
maximumWidth
*
0.0015625
*
40.0
+
94.0
*
(
RsGlobal
.
maximumWidth
*
0.0015625
)
*
in
->
x
*
0.5
;
out
->
y
=
RsGlobal
.
maximumHeight
-
0.002232143
*
RsGlobal
.
maximumHeight
*
104.0
+
76.0
*
(
0.002232143
*
RsGlobal
.
maximumHeight
)
*
0.5
-
76.0
*
(
0.002232143
*
RsGlobal
.
maximumHeight
)
*
in
->
y
*
0.5
;
}
//ты ведь в тупую логику переписал?? если так, то не нужно вообще ориг. функцию вызывать, т.к. все рассчеты будут тут
return
;
}
еще я не тестил эту лабуду
не работает, проверь у себя
логику стандартную использую для теста хука, в будущем буду под плагин делать
|
|
|