
26.02.2021, 16:08
|
|
Познавший АНТИЧАТ
Регистрация: 02.08.2018
Сообщений: 1,295
С нами:
4095395
Репутация:
183
|
|
собстсвенно фикс, если кто-то стоклнётся с такой же проблемой.
иницализация переменных где вам удобно:
C++:
Код:
LPDIRECT3DTEXTURE9 pTexture
;
LPD3DXSPRITE pSprite
;
иницализация функций:
C++:
Код:
void
CRender
::
DrawTexture
(
int
x
,
int
y
,
LPDIRECT3DTEXTURE9 pTexture
,
LPD3DXSPRITE pSprite
)
{
pSprite
->
Draw
(
pTexture
,
NULL
,
NULL
,
&
D3DXVECTOR3
(
x
,
y
,
0.0f
)
,
0xFFFFFFFF
)
;
}
void
CRender
::
DrawImage
(
int
x
,
int
y
,
LPDIRECT3DTEXTURE9 pTexture
,
LPD3DXSPRITE pSprite
)
{
pSprite
->
Begin
(
D3DXSPRITE_ALPHABLEND
)
;
DrawTexture
(
x
,
y
,
pTexture
,
pSprite
)
;
pSprite
->
End
(
)
;
}
в dllmain.cpp -> hook present/end scene, там где вы иницилизируете фонты (его также нужно вызвать 1 раз), вставляем это (LI_FN - LAZY IMPORT):
C++:
Код:
LI_FN
(
D3DXCreateTextureFromFileInMemory
)
(
draw
.
pDevice
,
myFile
,
sizeof
(
myFile
)
,
&
draw
.
pTexture
)
;
LI_FN
(
D3DXCreateSprite
)
(
draw
.
pDevice
,
&
draw
.
pSprite
)
;
вызов где хотим там и ставим, главное чтобы потом это вызвалось в хуке сцены после инициализации фонта и прочего шлака:
C++:
Код:
draw
.
DrawImage
(
pViewport
.
Width
-
100
,
-
30
,
draw
.
pTexture
,
draw
.
pSprite
)
;
Всем хорошего дня!
|
|
|