YimMenu / HorseMenu

HorseMenu, a beta-stage mod menu for Red Dead Redemption 2 and Red Dead Online, inspired by YimMenu, that protects against crashes and enhances your experience.
59 stars 29 forks source link

GUI Backend #13

Closed DayibBaba closed 1 year ago

DayibBaba commented 1 year ago

Before determining the UI style, a backend has to be crafted to host all sub-menus. Preferably one that intellisense doesn't complain about.

tim-gromeyer commented 1 year ago

And it would be really nice if it was similar to YimMenu, because YimMenu works on Linux and the Family Menu (RDR2) does not (teleporting with the F5 key works, but the menu does not appear, so it is unusable)

Most people use the Vulkan API, so it should support Vulkan

DayibBaba commented 1 year ago

And it would be really nice if it was similar to YimMenu, because YimMenu works on Linux and the Family Menu (RDR2) does not (teleporting with the F5 key works, but the menu does not appear, so it is unusable)

Most people use the Vulkan API, so it should support Vulkan

Vulkan support can be made its own request, feel free to open an issue.

MarkEcza commented 1 year ago

And it would be really nice if it was similar to YimMenu, because YimMenu works on Linux and the Family Menu (RDR2) does not (teleporting with the F5 key works, but the menu does not appear, so it is unusable)

Most people use the Vulkan API, so it should support Vulkan

  1. Of all we're talking about GUI backend not renderer.
  2. Yes it would be nice if we had Vulkan which we will in the future most likely but it's not our main priority.
  3. Code is open source. Feel free to commit one.
tim-gromeyer commented 1 year ago
  1. Code is open source. Feel free to commit one.

I would like to, but I have no knowledge about Vulkan or Reverse Engineering (With all these seeds, offsets, classes, etc.)

And, I'm using Linux. The build fails because of following error messages, so even if I added it, I wouldn't be able to test it:

/tmp/HorseMenu/build/_deps/imgui-src/backends/imgui_impl_dx12.cpp: In function 'bool ImGui_ImplDX12_CreateDeviceObjects()':
/tmp/HorseMenu/build/_deps/imgui-src/backends/imgui_impl_dx12.cpp:519:9: error: 'PFN_D3D12_SERIALIZE_ROOT_SIGNATURE' was not declared in this scope; did you mean 'PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE'?
  519 |         PFN_D3D12_SERIALIZE_ROOT_SIGNATURE D3D12SerializeRootSignatureFn = (PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)::GetProcAddress(d3d12_dll, "D3D12SerializeRootSignature");
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE
/tmp/HorseMenu/build/_deps/imgui-src/backends/imgui_impl_dx12.cpp:520:13: error: 'D3D12SerializeRootSignatureFn' was not declared in this scope; did you mean 'D3D12SerializeRootSignature'?
  520 |         if (D3D12SerializeRootSignatureFn == nullptr)
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             D3D12SerializeRootSignature
/tmp/HorseMenu/build/_deps/imgui-src/backends/imgui_impl_dx12.cpp:524:13: error: 'D3D12SerializeRootSignatureFn' was not declared in this scope; did you mean 'D3D12SerializeRootSignature'?
  524 |         if (D3D12SerializeRootSignatureFn(&desc, D3D_ROOT_SIGNATURE_VERSION_1, &blob, nullptr) != S_OK)
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             D3D12SerializeRootSignature
make[2]: *** [CMakeFiles/imgui.dir/build.make:79: CMakeFiles/imgui.dir/_deps/imgui-src/backends/imgui_impl_dx12.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Yimura commented 1 year ago

Are you compiling on Linux as well? Compiling on Linux is not supported, you're on your own in figuring that out.

Also please do not go off-topic, if there's anything you'd like to know make a discussion. Combined with the current state of the project being an empty box with literally no features at all it's most likely not worth it to spend time compiling it unless you're a developer yourself.

tim-gromeyer commented 1 year ago

Are you compiling on Linux as well? Compiling on Linux is not supported, you're on your own in figuring that out.

Yes, I do. I was too stupid to install MSVC in a Windows VM. I hate that OS. There is no package manager where I can install MSVC. I have to install Visual Studio for it, what a disappointment

Also please do not go off-topic

Sorry about that

Combined with the current state of the project being an empty box with literally no features at all it's most likely not worth it to spend time compiling it unless you're a developer yourself.

I'm a hobby developer... I would have liked to help the project since I'm looking for a free mod menu for RDR2 (Family doesn't work), but I don't have Windows and no experience with DirectX12 or Vulkan...