-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
при инжекте всё замечательно , аватарка рисуется всё круто , но если оставить открытой менюшку и подождать секунд 30- 40 , то чит просто крашит
сам код
инцилизирую в present hook
сам код
Код:
LPDIRECT3DTEXTURE9 menu::steam_image()
{
LPDIRECT3DTEXTURE9 asdgsdgadsg;
int iImage = SteamFriends->GetLargeFriendAvatar(SteamUser->GetSteamID());
if (iImage == -1)
return nullptr;
uint32 uAvatarWidth, uAvatarHeight;
if (!SteamUtils->GetImageSize(iImage, &uAvatarWidth, &uAvatarHeight))
return nullptr;
const int uImageSizeInBytes = uAvatarWidth * uAvatarHeight * 4;
uint8* pAvatarRGBA = new uint8[uImageSizeInBytes];
if (!SteamUtils->GetImageRGBA(iImage, pAvatarRGBA, uImageSizeInBytes))
{
delete[] pAvatarRGBA;
return nullptr;
}
auto res = menu::device_new->CreateTexture(uAvatarWidth,
uAvatarHeight,
1,
D3DUSAGE_DYNAMIC,
D3DFMT_A8R8G8B8,
D3DPOOL_DEFAULT,
&asdgsdgadsg,
nullptr);
std::vector<uint8_t> texData;
texData.resize(uAvatarWidth * uAvatarHeight * 4u);
CopyConvert(pAvatarRGBA,
texData.data(),
uAvatarWidth * uAvatarHeight * 4u);
D3DLOCKED_RECT rect;
res = asdgsdgadsg->LockRect(0, &rect, nullptr, D3DLOCK_DISCARD);
auto src = texData.data();
auto dst = reinterpret_cast<uint8_t*>(rect.pBits);
for (auto y = 0u; y < uAvatarHeight; ++y)
{
std::copy(src, src + (uAvatarWidth * 4), dst);
src += uAvatarWidth * 4;
dst += rect.Pitch;
}
res = asdgsdgadsg->UnlockRect(0);
delete[] pAvatarRGBA;
return asdgsdgadsg;
}
Код:
for (static auto i = 0; i < 1; menu::steam_image(), i++);