Add vulkan stuff
This commit is contained in:
parent
72a77c66bc
commit
ea30c15504
@ -10,6 +10,7 @@ set(GTA_SA_DIR F:/GTASanAndreas)
|
|||||||
# Can ignore the below paths if you got them in system paths
|
# Can ignore the below paths if you got them in system paths
|
||||||
set(PLUGIN_SDK_DIR $ENV{PLUGIN_SDK_DIR})
|
set(PLUGIN_SDK_DIR $ENV{PLUGIN_SDK_DIR})
|
||||||
set(DIRECTX9_SDK_DIR $ENV{DIRECTX9_SDK_DIR})
|
set(DIRECTX9_SDK_DIR $ENV{DIRECTX9_SDK_DIR})
|
||||||
|
set(VULKAN_SDK_DIR $ENV{VK_SDK_PATH})
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -93,6 +94,7 @@ include_directories(
|
|||||||
"${PLUGIN_SDK_DIR}/shared"
|
"${PLUGIN_SDK_DIR}/shared"
|
||||||
"${PLUGIN_SDK_DIR}/shared/game"
|
"${PLUGIN_SDK_DIR}/shared/game"
|
||||||
"${DIRECTX9_SDK_DIR}/include"
|
"${DIRECTX9_SDK_DIR}/include"
|
||||||
|
# "${VULKAN_SDK_DIR}/Include"
|
||||||
"deps"
|
"deps"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -109,11 +111,6 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE
|
|||||||
"_CRT_SECURE_NO_WARNINGS;"
|
"_CRT_SECURE_NO_WARNINGS;"
|
||||||
"_CRT_NON_CONFORMING_SWPRINTFS;"
|
"_CRT_NON_CONFORMING_SWPRINTFS;"
|
||||||
"GTASA;"
|
"GTASA;"
|
||||||
"GTAGAME_NAME=\"San Andreas\";"
|
|
||||||
"GTAGAME_ABBR=\"SA\";"
|
|
||||||
"GTAGAME_ABBRLOW=\"sa\";"
|
|
||||||
"GTAGAME_PROTAGONISTNAME=\"CJ\";"
|
|
||||||
"GTAGAME_CITYNAME=\"San Andreas\";"
|
|
||||||
"_LA_SUPPORT;"
|
"_LA_SUPPORT;"
|
||||||
"_DX9_SDK_INSTALLED;"
|
"_DX9_SDK_INSTALLED;"
|
||||||
"PLUGIN_SGV_10US;"
|
"PLUGIN_SGV_10US;"
|
||||||
@ -185,6 +182,7 @@ Depend
|
|||||||
target_link_directories(${PROJECT_NAME} PUBLIC
|
target_link_directories(${PROJECT_NAME} PUBLIC
|
||||||
"${PLUGIN_SDK_DIR}/output/lib/"
|
"${PLUGIN_SDK_DIR}/output/lib/"
|
||||||
"${DIRECTX9_SDK_DIR}/lib/x86/"
|
"${DIRECTX9_SDK_DIR}/lib/x86/"
|
||||||
|
# "${VULKAN_SDK_DIR}/lib32"
|
||||||
"$<$<CONFIG:Release>:"
|
"$<$<CONFIG:Release>:"
|
||||||
"deps/Release/"
|
"deps/Release/"
|
||||||
">"
|
">"
|
||||||
|
10
deps/CMakeLists.txt
vendored
10
deps/CMakeLists.txt
vendored
@ -21,6 +21,8 @@ set(depend_files
|
|||||||
"imgui/imgui_impl_dx9.h"
|
"imgui/imgui_impl_dx9.h"
|
||||||
"imgui/imgui_impl_dx11.cpp"
|
"imgui/imgui_impl_dx11.cpp"
|
||||||
"imgui/imgui_impl_dx11.h"
|
"imgui/imgui_impl_dx11.h"
|
||||||
|
# "imgui/imgui_impl_vulkan.cpp"
|
||||||
|
# "imgui/imgui_impl_vulkan.h"
|
||||||
"imgui/imgui_impl_win32.cpp"
|
"imgui/imgui_impl_win32.cpp"
|
||||||
"imgui/imgui_impl_win32.h"
|
"imgui/imgui_impl_win32.h"
|
||||||
"imgui/imgui_internal.h"
|
"imgui/imgui_internal.h"
|
||||||
@ -53,12 +55,6 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE
|
|||||||
"_CRT_SECURE_NO_WARNINGS;"
|
"_CRT_SECURE_NO_WARNINGS;"
|
||||||
"_CRT_NON_CONFORMING_SWPRINTFS;"
|
"_CRT_NON_CONFORMING_SWPRINTFS;"
|
||||||
"GTASA;"
|
"GTASA;"
|
||||||
"GTAGAME_NAME=\"San Andreas\";"
|
|
||||||
"GTAGAME_ABBR=\"SA\";"
|
|
||||||
"GTAGAME_ABBRLOW=\"sa\";"
|
|
||||||
"GTAGAME_PROTAGONISTNAME=\"CJ\";"
|
|
||||||
"GTAGAME_CITYNAME=\"San Andreas\";"
|
|
||||||
"_LA_SUPPORT;"
|
|
||||||
"_DX9_SDK_INSTALLED;"
|
"_DX9_SDK_INSTALLED;"
|
||||||
"PLUGIN_SGV_10US;"
|
"PLUGIN_SGV_10US;"
|
||||||
"_MBCS"
|
"_MBCS"
|
||||||
@ -71,6 +67,8 @@ include_directories(
|
|||||||
"$ENV{PLUGIN_SDK_DIR}/shared"
|
"$ENV{PLUGIN_SDK_DIR}/shared"
|
||||||
"$ENV{PLUGIN_SDK_DIR}/shared/game"
|
"$ENV{PLUGIN_SDK_DIR}/shared/game"
|
||||||
"$ENV{DIRECTX9_SDK_DIR}/include"
|
"$ENV{DIRECTX9_SDK_DIR}/include"
|
||||||
|
# "${VULKAN_SDK_DIR}/Include"
|
||||||
|
# "${VULKAN_SDK_DIR}/lib32"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE
|
target_compile_options(${PROJECT_NAME} PRIVATE
|
||||||
|
1414
deps/imgui/imgui_impl_vulkan.cpp
vendored
Normal file
1414
deps/imgui/imgui_impl_vulkan.cpp
vendored
Normal file
File diff suppressed because it is too large
Load Diff
148
deps/imgui/imgui_impl_vulkan.h
vendored
Normal file
148
deps/imgui/imgui_impl_vulkan.h
vendored
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
// dear imgui: Renderer Backend for Vulkan
|
||||||
|
// This needs to be used along with a Platform Backend (e.g. GLFW, SDL, Win32, custom..)
|
||||||
|
|
||||||
|
// Implemented features:
|
||||||
|
// [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
|
||||||
|
// Missing features:
|
||||||
|
// [ ] Renderer: User texture binding. Changes of ImTextureID aren't supported by this backend! See https://github.com/ocornut/imgui/pull/914
|
||||||
|
|
||||||
|
// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||||
|
// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
|
||||||
|
// Read online: https://github.com/ocornut/imgui/tree/master/docs
|
||||||
|
|
||||||
|
// The aim of imgui_impl_vulkan.h/.cpp is to be usable in your engine without any modification.
|
||||||
|
// IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
|
||||||
|
|
||||||
|
// Important note to the reader who wish to integrate imgui_impl_vulkan.cpp/.h in their own engine/app.
|
||||||
|
// - Common ImGui_ImplVulkan_XXX functions and structures are used to interface with imgui_impl_vulkan.cpp/.h.
|
||||||
|
// You will use those if you want to use this rendering backend in your engine/app.
|
||||||
|
// - Helper ImGui_ImplVulkanH_XXX functions and structures are only used by this example (main.cpp) and by
|
||||||
|
// the backend itself (imgui_impl_vulkan.cpp), but should PROBABLY NOT be used by your own engine/app code.
|
||||||
|
// Read comments in imgui_impl_vulkan.h.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#include "imgui.h" // IMGUI_IMPL_API
|
||||||
|
|
||||||
|
// [Configuration] in order to use a custom Vulkan function loader:
|
||||||
|
// (1) You'll need to disable default Vulkan function prototypes.
|
||||||
|
// We provide a '#define IMGUI_IMPL_VULKAN_NO_PROTOTYPES' convenience configuration flag.
|
||||||
|
// In order to make sure this is visible from the imgui_impl_vulkan.cpp compilation unit:
|
||||||
|
// - Add '#define IMGUI_IMPL_VULKAN_NO_PROTOTYPES' in your imconfig.h file
|
||||||
|
// - Or as a compilation flag in your build system
|
||||||
|
// - Or uncomment here (not recommended because you'd be modifying imgui sources!)
|
||||||
|
// - Do not simply add it in a .cpp file!
|
||||||
|
// (2) Call ImGui_ImplVulkan_LoadFunctions() before ImGui_ImplVulkan_Init() with your custom function.
|
||||||
|
// If you have no idea what this is, leave it alone!
|
||||||
|
//#define IMGUI_IMPL_VULKAN_NO_PROTOTYPES
|
||||||
|
|
||||||
|
// Vulkan includes
|
||||||
|
#if defined(IMGUI_IMPL_VULKAN_NO_PROTOTYPES) && !defined(VK_NO_PROTOTYPES)
|
||||||
|
#define VK_NO_PROTOTYPES
|
||||||
|
#endif
|
||||||
|
#include <vulkan/vulkan.h>
|
||||||
|
|
||||||
|
// Initialization data, for ImGui_ImplVulkan_Init()
|
||||||
|
// [Please zero-clear before use!]
|
||||||
|
struct ImGui_ImplVulkan_InitInfo
|
||||||
|
{
|
||||||
|
VkInstance Instance;
|
||||||
|
VkPhysicalDevice PhysicalDevice;
|
||||||
|
VkDevice Device;
|
||||||
|
uint32_t QueueFamily;
|
||||||
|
VkQueue Queue;
|
||||||
|
VkPipelineCache PipelineCache;
|
||||||
|
VkDescriptorPool DescriptorPool;
|
||||||
|
uint32_t Subpass;
|
||||||
|
uint32_t MinImageCount; // >= 2
|
||||||
|
uint32_t ImageCount; // >= MinImageCount
|
||||||
|
VkSampleCountFlagBits MSAASamples; // >= VK_SAMPLE_COUNT_1_BIT
|
||||||
|
const VkAllocationCallbacks* Allocator;
|
||||||
|
void (*CheckVkResultFn)(VkResult err);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Called by user code
|
||||||
|
IMGUI_IMPL_API bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info, VkRenderPass render_pass);
|
||||||
|
IMGUI_IMPL_API void ImGui_ImplVulkan_Shutdown();
|
||||||
|
IMGUI_IMPL_API void ImGui_ImplVulkan_NewFrame();
|
||||||
|
IMGUI_IMPL_API void ImGui_ImplVulkan_RenderDrawData(ImDrawData* draw_data, VkCommandBuffer command_buffer, VkPipeline pipeline = VK_NULL_HANDLE);
|
||||||
|
IMGUI_IMPL_API bool ImGui_ImplVulkan_CreateFontsTexture(VkCommandBuffer command_buffer);
|
||||||
|
IMGUI_IMPL_API void ImGui_ImplVulkan_DestroyFontUploadObjects();
|
||||||
|
IMGUI_IMPL_API void ImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count); // To override MinImageCount after initialization (e.g. if swap chain is recreated)
|
||||||
|
|
||||||
|
// Optional: load Vulkan functions with a custom function loader
|
||||||
|
// This is only useful with IMGUI_IMPL_VULKAN_NO_PROTOTYPES / VK_NO_PROTOTYPES
|
||||||
|
IMGUI_IMPL_API bool ImGui_ImplVulkan_LoadFunctions(PFN_vkVoidFunction(*loader_func)(const char* function_name, void* user_data), void* user_data = NULL);
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
// Internal / Miscellaneous Vulkan Helpers
|
||||||
|
// (Used by example's main.cpp. Used by multi-viewport features. PROBABLY NOT used by your own engine/app.)
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
// You probably do NOT need to use or care about those functions.
|
||||||
|
// Those functions only exist because:
|
||||||
|
// 1) they facilitate the readability and maintenance of the multiple main.cpp examples files.
|
||||||
|
// 2) the upcoming multi-viewport feature will need them internally.
|
||||||
|
// Generally we avoid exposing any kind of superfluous high-level helpers in the backends,
|
||||||
|
// but it is too much code to duplicate everywhere so we exceptionally expose them.
|
||||||
|
//
|
||||||
|
// Your engine/app will likely _already_ have code to setup all that stuff (swap chain, render pass, frame buffers, etc.).
|
||||||
|
// You may read this code to learn about Vulkan, but it is recommended you use you own custom tailored code to do equivalent work.
|
||||||
|
// (The ImGui_ImplVulkanH_XXX functions do not interact with any of the state used by the regular ImGui_ImplVulkan_XXX functions)
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
struct ImGui_ImplVulkanH_Frame;
|
||||||
|
struct ImGui_ImplVulkanH_Window;
|
||||||
|
|
||||||
|
// Helpers
|
||||||
|
IMGUI_IMPL_API void ImGui_ImplVulkanH_CreateOrResizeWindow(VkInstance instance, VkPhysicalDevice physical_device, VkDevice device, ImGui_ImplVulkanH_Window* wnd, uint32_t queue_family, const VkAllocationCallbacks* allocator, int w, int h, uint32_t min_image_count);
|
||||||
|
IMGUI_IMPL_API void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device, ImGui_ImplVulkanH_Window* wnd, const VkAllocationCallbacks* allocator);
|
||||||
|
IMGUI_IMPL_API VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat* request_formats, int request_formats_count, VkColorSpaceKHR request_color_space);
|
||||||
|
IMGUI_IMPL_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR* request_modes, int request_modes_count);
|
||||||
|
IMGUI_IMPL_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
|
||||||
|
|
||||||
|
// Helper structure to hold the data needed by one rendering frame
|
||||||
|
// (Used by example's main.cpp. Used by multi-viewport features. Probably NOT used by your own engine/app.)
|
||||||
|
// [Please zero-clear before use!]
|
||||||
|
struct ImGui_ImplVulkanH_Frame
|
||||||
|
{
|
||||||
|
VkCommandPool CommandPool;
|
||||||
|
VkCommandBuffer CommandBuffer;
|
||||||
|
VkFence Fence;
|
||||||
|
VkImage Backbuffer;
|
||||||
|
VkImageView BackbufferView;
|
||||||
|
VkFramebuffer Framebuffer;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGui_ImplVulkanH_FrameSemaphores
|
||||||
|
{
|
||||||
|
VkSemaphore ImageAcquiredSemaphore;
|
||||||
|
VkSemaphore RenderCompleteSemaphore;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Helper structure to hold the data needed by one rendering context into one OS window
|
||||||
|
// (Used by example's main.cpp. Used by multi-viewport features. Probably NOT used by your own engine/app.)
|
||||||
|
struct ImGui_ImplVulkanH_Window
|
||||||
|
{
|
||||||
|
int Width;
|
||||||
|
int Height;
|
||||||
|
VkSwapchainKHR Swapchain;
|
||||||
|
VkSurfaceKHR Surface;
|
||||||
|
VkSurfaceFormatKHR SurfaceFormat;
|
||||||
|
VkPresentModeKHR PresentMode;
|
||||||
|
VkRenderPass RenderPass;
|
||||||
|
VkPipeline Pipeline; // The window pipeline may uses a different VkRenderPass than the one passed in ImGui_ImplVulkan_InitInfo
|
||||||
|
bool ClearEnable;
|
||||||
|
VkClearValue ClearValue;
|
||||||
|
uint32_t FrameIndex; // Current frame being rendered to (0 <= FrameIndex < FrameInFlightCount)
|
||||||
|
uint32_t ImageCount; // Number of simultaneous in-flight frames (returned by vkGetSwapchainImagesKHR, usually derived from min_image_count)
|
||||||
|
uint32_t SemaphoreIndex; // Current set of swapchain wait semaphores we're using (needs to be distinct from per frame data)
|
||||||
|
ImGui_ImplVulkanH_Frame* Frames;
|
||||||
|
ImGui_ImplVulkanH_FrameSemaphores* FrameSemaphores;
|
||||||
|
|
||||||
|
ImGui_ImplVulkanH_Window()
|
||||||
|
{
|
||||||
|
memset(this, 0, sizeof(*this));
|
||||||
|
PresentMode = VK_PRESENT_MODE_MAX_ENUM_KHR;
|
||||||
|
ClearEnable = true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
2
deps/kiero/kiero.cpp
vendored
2
deps/kiero/kiero.cpp
vendored
@ -547,7 +547,7 @@ kiero::Status::Enum kiero::init(RenderType::Enum _renderType)
|
|||||||
|
|
||||||
g_methodsTable = (uint150_t*)::calloc(size, sizeof(uint150_t));
|
g_methodsTable = (uint150_t*)::calloc(size, sizeof(uint150_t));
|
||||||
|
|
||||||
for (int i = 0; i < size; i++)
|
for (unsigned int i = 0; i < size; i++)
|
||||||
{
|
{
|
||||||
g_methodsTable[i] = (uint150_t)::GetProcAddress(libVulkan, methodsNames[i]);
|
g_methodsTable[i] = (uint150_t)::GetProcAddress(libVulkan, methodsNames[i]);
|
||||||
}
|
}
|
||||||
|
@ -546,10 +546,10 @@ Lowers armour, health, stamina etc."))
|
|||||||
|
|
||||||
if (!mission_warning_shown)
|
if (!mission_warning_shown)
|
||||||
{
|
{
|
||||||
ImGui::TextWrapped("Mission selector might cause unintended changes to your game. \
|
ImGui::TextWrapped("Mission loader might cause unintended changes to your game. \
|
||||||
It's recommanded not to save your game after using this. Use it at your own risk!");
|
It's recommanded not to save your game after using this. Use it at your own risk!");
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
if (ImGui::Button("Show mission selector", ImVec2(Ui::GetSize())))\
|
if (ImGui::Button("Show mission loader", ImVec2(Ui::GetSize())))\
|
||||||
mission_warning_shown = true;
|
mission_warning_shown = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
19
src/Hook.cpp
19
src/Hook.cpp
@ -1,6 +1,7 @@
|
|||||||
#include "Hook.h"
|
#include "Hook.h"
|
||||||
#include "kiero/kiero.h"
|
#include "kiero/kiero.h"
|
||||||
#include "kiero/minhook/MinHook.h"
|
#include "kiero/minhook/MinHook.h"
|
||||||
|
// #include "vulkan/vulkan.h"
|
||||||
|
|
||||||
WNDPROC Hook::oWndProc = NULL;
|
WNDPROC Hook::oWndProc = NULL;
|
||||||
f_Present11 Hook::oPresent11 = NULL;
|
f_Present11 Hook::oPresent11 = NULL;
|
||||||
@ -128,6 +129,8 @@ void Hook::Present(void *ptr)
|
|||||||
reinterpret_cast<ID3D11Device*>(Globals::device)->GetImmediateContext(&context);
|
reinterpret_cast<ID3D11Device*>(Globals::device)->GetImmediateContext(&context);
|
||||||
|
|
||||||
ImGui_ImplDX11_Init(reinterpret_cast<ID3D11Device*>(Globals::device), context);
|
ImGui_ImplDX11_Init(reinterpret_cast<ID3D11Device*>(Globals::device), context);
|
||||||
|
|
||||||
|
//ImGui_ImplVulkan_Init()
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui_ImplWin32_EnableDpiAwareness();
|
ImGui_ImplWin32_EnableDpiAwareness();
|
||||||
@ -152,6 +155,15 @@ HRESULT Hook::PresentDx11Handler(IDXGISwapChain* pSwapChain, UINT SyncInterval,
|
|||||||
return oPresent11(pSwapChain, SyncInterval, Flags);
|
return oPresent11(pSwapChain, SyncInterval, Flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// typedef void(*func_vkCmdDrawIndexed_t) (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
|
||||||
|
// func_vkCmdDrawIndexed_t ovkCmdDrawIndexed;
|
||||||
|
|
||||||
|
// void hvkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
|
||||||
|
// {
|
||||||
|
|
||||||
|
// ovkCmdDrawIndexed(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
|
||||||
|
// }
|
||||||
|
|
||||||
// Thanks imring
|
// Thanks imring
|
||||||
void Hook::ShowMouse(bool state)
|
void Hook::ShowMouse(bool state)
|
||||||
{
|
{
|
||||||
@ -210,6 +222,13 @@ Hook::Hook()
|
|||||||
Globals::renderer = Render_DirectX11;
|
Globals::renderer = Render_DirectX11;
|
||||||
kiero::bind(8, (void**)&oPresent11, PresentDx11Handler);
|
kiero::bind(8, (void**)&oPresent11, PresentDx11Handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if (kiero::init(kiero::RenderType::Vulkan) == kiero::Status::Success)
|
||||||
|
// {
|
||||||
|
// Globals::renderer = Render_Vulkan;
|
||||||
|
// flog << "Vulkan detected!" << std::endl;
|
||||||
|
// kiero::bind(105, (void**)&hvkCmdDraw, PresentDx11Handler);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#define MENU_NAME "Cheat Menu"
|
#define MENU_NAME "Cheat Menu"
|
||||||
#define MENU_VERSION "2.6-beta"
|
#define MENU_VERSION "2.6-beta"
|
||||||
#define BUILD_NUMBER "20210215"
|
#define BUILD_NUMBER "20210221"
|
||||||
#define MENU_TITLE MENU_NAME " v" MENU_VERSION "(" BUILD_NUMBER ")"
|
#define MENU_TITLE MENU_NAME " v" MENU_VERSION "(" BUILD_NUMBER ")"
|
@ -56,6 +56,7 @@
|
|||||||
#include "imgui/imgui_internal.h"
|
#include "imgui/imgui_internal.h"
|
||||||
#include "imgui/imgui_impl_dx9.h"
|
#include "imgui/imgui_impl_dx9.h"
|
||||||
#include "imgui/imgui_impl_dx11.h"
|
#include "imgui/imgui_impl_dx11.h"
|
||||||
|
// #include "imgui/imgui_impl_vulkan.h"
|
||||||
#include "imgui/imgui_impl_win32.h"
|
#include "imgui/imgui_impl_win32.h"
|
||||||
|
|
||||||
#include "Events.h"
|
#include "Events.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user