- Статус
- Оффлайн
- Регистрация
- 16 Окт 2018
- Сообщения
- 329
- Реакции
- 41
В общем проблема в том, что как бы я не инициализировал (и где кстати тоже)
у меня всегда ошибка LNK2001 "Неразрешенный внешний символ D3DXCreateTextureFromFileInMemoryEx" хотя в этом же сурсе когда то я уже рендерил картинку и все было ок, а щас не пойму в чем проблема
хелпаните плз, жоская тема
C++:
if (my_welc == nullptr)D3DXCreateTextureFromFileInMemoryEx(device, &logo_welc_Byte, sizeof(logo_welc_Byte), 100, 100, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &my_welc);
C++:
IDirect3DTexture9* my_welc = nullptr;
void handle(IDirect3DDevice9* device)
{
if (my_welc == nullptr)D3DXCreateTextureFromFileInMemoryEx(device, &logo_welc_Byte, sizeof(logo_welc_Byte), 100, 100, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &my_welc);
}
extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
static LRESULT __stdcall wndProc(HWND window, UINT msg, WPARAM wParam, LPARAM lParam) noexcept
{
if (GetAsyncKeyState(config.misc.menuKey) & 1) {
gui.isOpen = !gui.isOpen;
if (!gui.isOpen) {
ImGui::GetIO().MouseDown[0] = false;
interfaces.inputSystem->resetInputState();
}
}
if (gui.isOpen && !ImGui_ImplWin32_WndProcHandler(window, msg, wParam, lParam))
return true;
return CallWindowProc(hooks.originalWndProc, window, msg, wParam, lParam);
}
static HRESULT __stdcall present(IDirect3DDevice9* device, const RECT* src, const RECT* dest, HWND windowOverride, const RGNDATA* dirtyRegion) noexcept
{
static bool imguiInit{ ImGui_ImplDX9_Init(device) };
if (gui.isOpen) {
device->SetRenderState(D3DRS_COLORWRITEENABLE, D3DCOLORWRITEENABLE_RED | D3DCOLORWRITEENABLE_GREEN | D3DCOLORWRITEENABLE_BLUE);
IDirect3DVertexDeclaration9* vertexDeclaration;
device->GetVertexDeclaration(&vertexDeclaration);
ImGui_ImplDX9_NewFrame();
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
gui.render();
ImGui::EndFrame();
ImGui::Render();
ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());
device->SetVertexDeclaration(vertexDeclaration);
vertexDeclaration->Release();
}
return hooks.originalPresent(device, src, dest, windowOverride, dirtyRegion);
}
static HRESULT __stdcall reset(IDirect3DDevice9* device, D3DPRESENT_PARAMETERS* params) noexcept
{
ImGui_ImplDX9_InvalidateDeviceObjects();
auto result = hooks.originalReset(device, params);
ImGui_ImplDX9_CreateDeviceObjects();
return result;
}
хелпаните плз, жоская тема