Показать сообщение отдельно

  #56  
Старый 21.09.2020, 21:03
imring
Флудер
Регистрация: 03.08.2016
Сообщений: 2,363
С нами: 5145387

Репутация: 183


По умолчанию

включает курсор (нужен plugin-sdk)

C++:





Код:
#ifdef IMGUI_VERSION
void
show_cursor
(
bool
show
,
bool
is_imgui
=
false
)
#else
void
show_cursor
(
bool
show
)
#endif
{
if
(
show
)
{
patch
::
Nop
(
0x541DF5
,
5
)
;
// don't call CControllerConfigManager::AffectPadFromKeyBoard
patch
::
Nop
(
0x53F417
,
5
)
;
// don't call CPad__getMouseState
patch
::
SetRaw
(
0x53F41F
,
"\x33\xC0\x0F\x84"
,
4
)
;
// test eax, eax -> xor eax, eax
// jl loc_53F526 -> jz loc_53F526
patch
::
PutRetn
(
0x6194A0
)
;
// disable RsMouseSetPos (ret)
#ifdef IMGUI_VERSION
if
(
is_imgui
)
ImGui
::
GetIO
(
)
.
MouseDrawCursor
=
true
;
else
#endif
static_cast

(
RwD3D9GetCurrentD3DDevice
(
)
)
->
ShowCursor
(
TRUE
)
;
}
else
{
patch
::
SetRaw
(
0x541DF5
,
"\xE8\x46\xF3\xFE\xFF"
,
5
)
;
// call CControllerConfigManager::AffectPadFromKeyBoard
patch
::
SetRaw
(
0x53F417
,
"\xE8\xB4\x7A\x20\x00"
,
5
)
;
// call CPad__getMouseState
patch
::
SetRaw
(
0x53F41F
,
"\x85\xC0\x0F\x8C"
,
4
)
;
// xor eax, eax -> test eax, eax
// jz loc_53F526 -> jl loc_53F526
patch
::
SetUChar
(
0x6194A0
,
0xE9
)
;
// jmp setup
static_cast

(
RwD3D9GetCurrentD3DDevice
(
)
)
->
ShowCursor
(
FALSE
)
;
#ifdef IMGUI_VERSION
ImGui
::
GetIO
(
)
.
MouseDrawCursor
=
false
;
#endif
}
CPad
::
NewMouseControllerState
.
X
=
0
;
CPad
::
NewMouseControllerState
.
Y
=
0
;
Call

(
)
;
// CPad::ClearMouseHistory
Call

(
)
;
// CPad::UpdatePads
}
 
Ответить с цитированием