ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Замена Загрузочного Экрана SAMP (https://forum.antichat.xyz/showthread.php?t=1524845)

vmprotect 13.11.2024 10:19

Попробовал снова заменить загрузочный экран в сампе, но пока безуспешно.

Прикрепляю код ниже. Возможно, проблема в том, что я делаю замену в обычной гташке а не в сампе.

Подскажите, как можно отследить момент рендеринга загрузочного экрана именно в сампе

HOOK LOADSCS:





[CODE]
using
CTxdStore__LoadTxd
=
bool
(
__cdecl
*
)
(
int
index
,
char
const
*
filename
)
;
kthook
::
kthook_simple

CTxdStore__LoadTxd_Hook
;
bool
CLoadScreen_HOOK
(
const
decltype
(
CTxdStore__LoadTxd_Hook
)
&
hook
,
int
index
,
const
char
*
filename
)
{
if
(
strcmp
(
filename
,
"loadscs.txd"
)
==
0
)
{
std
::
cout


Receiver 13.11.2024 19:19

Привет! Есть готовый плагин SR_Team'а выпущенный ещё в 2017 году. Можешь посмотреть его исходный код.

ASI - CustomLoadScreen

Плагин заменяет унылый загрузочный экран на еще более унылый, но уже по вашей вине, а не каких-то там дядичек. Картинка загрузочного экрана хранится в файле CustomLoadScreen.png (ебать неожиданно, да?). Она может быть любого размера. Скачать...

www.blast.hk

vmprotect 13.11.2024 19:25

Цитата:

Сообщение от Receiver

Привет! Есть готовый плагин SR_Team'а выпущенный ещё в 2017 году. Можешь посмотреть его исходный код.

ASI - CustomLoadScreen

Плагин заменяет унылый загрузочный экран на еще более унылый, но уже по вашей вине, а не каких-то там дядичек. Картинка загрузочного экрана хранится в файле CustomLoadScreen.png (ебать неожиданно, да?). Она может быть любого размера. Скачать...

www.blast.hk


он использует QT библиотеки и d3d9 для рендера текстуры, разве нельзя просто через хук заменить ?

Receiver 13.11.2024 19:49

Цитата:

Сообщение от vmprotect

он использует QT библиотеки и d3d9 для рендера текстуры, разве нельзя просто через хук заменить ?

Библиотеки Qt используются в двух местах: в хуке рендера для сигнала, и для получения имени файла. Это можно спокойно убрать/заменить.

Что касается замены в хуке, то с этим есть проблема. SA:MP хранит собственный загрузочный экран в зашифрованном архиве
Код:

samp.saa
, в файле
Код:

loadscs.txd
.

В теории ты действительно можешь хукнуть загрузку TXD и подменить файл, но не факт. Думаю что SR_Team не с проста сделал именно так.

Кстати, замена экрана загрузки ещё реализована в s0beit. Его исходники есть на просторах, тоже можешь глянуть.


Время: 00:05