mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-27 20:57:08 +01:00
The launcher read no controller at all. Started from Steam (Desktop or Game Mode on a Steam Deck), Steam Input applies the game's gamepad layout to it, where the right trackpad is the right stick and its click is R3, so the trackpad did nothing; only the touch screen, which arrives as mouse messages, worked. - Every XInput pad is merged (Xbox, Steam Input's virtual pad), else a DualShock 4 / DualSense is read over HID with the reader the in-game menu already uses, now its own library (dingosdk_playstation_input). - D-pad and left stick move ImGui's focus, outlined in the launcher's blue; A / Cross presses. The hand-drawn tiles, switches and menu buttons take part in navigation (ImGuiButtonFlags_EnableNav). - B / Circle closes an open combo or menu and leaves a text field, and is Escape otherwise, which the launcher's pages already go back on. Escape now also closes the mod overviews and answers Cancel in the uninstall and replace confirmations; closing an overview no longer also leaves the page. - The right stick (the trackpad) moves a pointer that ImGui draws, and R3 (the trackpad's click) is the left button. The system cursor follows it; a mouse move or a touch elsewhere takes the pointer back. - The ImGui Win32 backend's own gamepad code (slot 0 only) is compiled out so it cannot fight the launcher's events; nothing else used it.
45 lines
2.2 KiB
CMake
45 lines
2.2 KiB
CMake
# DualShock 4 / DualSense read straight from HID, for the in-game menu and the launcher.
|
|
add_library(dingosdk_playstation_input STATIC Extension/UI/Overlay/playstation_input.cpp)
|
|
target_link_libraries(dingosdk_playstation_input PUBLIC dingosdk_logging PRIVATE hid cfgmgr32)
|
|
|
|
add_library(dingosdk_overlay STATIC
|
|
|
|
Extension/UI/Overlay/overlay.cpp
|
|
Extension/UI/Overlay/overlay_render.cpp
|
|
Extension/UI/Overlay/overlay_console.cpp
|
|
Extension/UI/Overlay/overlay_input.cpp
|
|
Extension/UI/Overlay/overlay_notices.cpp
|
|
Extension/UI/Overlay/chat_overlay.cpp
|
|
Extension/UI/Overlay/game_text_overlay.cpp
|
|
Extension/UI/Overlay/perf_overlay.cpp
|
|
Extension/UI/Overlay/skate_hud_overlay.cpp
|
|
Extension/UI/Overlay/nametag_overlay.cpp
|
|
Extension/UI/Overlay/chat_emotes.cpp
|
|
Extension/UI/Overlay/console_suggestions.cpp
|
|
Extension/UI/Overlay/skate_menu.cpp
|
|
Extension/UI/Overlay/skate_menu_world.cpp
|
|
Extension/UI/Overlay/skate_menu_skater.cpp
|
|
Extension/UI/Overlay/skate_menu_settings.cpp
|
|
Extension/UI/Overlay/park_editor.cpp
|
|
Extension/UI/Overlay/park_editor_actions.cpp
|
|
Extension/UI/Overlay/park_editor_panels.cpp
|
|
Extension/UI/Overlay/park_editor_viewport.cpp
|
|
Extension/UI/Overlay/park_previews.cpp
|
|
Extension/UI/Overlay/gpu_diagnostics.cpp
|
|
Extension/UI/Overlay/input_capture.cpp
|
|
Extension/UI/Overlay/cursor.cpp
|
|
Extension/UI/Overlay/progression_menu.cpp
|
|
Extension/UI/Overlay/atmosphere_menu.cpp
|
|
Extension/UI/Overlay/modding_menu.cpp
|
|
Extension/UI/Overlay/multiplayer_menu.cpp
|
|
Extension/UI/Overlay/multiplayer_lobbies.cpp
|
|
Extension/UI/Overlay/multiplayer_session.cpp
|
|
Extension/Trainer/trainer_page.cpp
|
|
Extension/Trainer/trainer_view.cpp
|
|
)
|
|
target_link_libraries(dingosdk_overlay PUBLIC dingosdk_logging dingosdk_profiler dingosdk_imgui dingosdk_hooks dingosdk_console_core dxguid PRIVATE dingosdk_playstation_input shell32 dingosdk_initfs dingosdk_custom_scripts dingosdk_game_archives dingosdk_mods dingosdk_json windowscodecs ole32)
|
|
|
|
# The window shown from the moment ReSkate loads until the game's own window appears.
|
|
add_library(dingosdk_startup_window STATIC Extension/UI/Startup/startup_window.cpp)
|
|
target_link_libraries(dingosdk_startup_window PRIVATE gdi32 user32 msimg32 shell32 ole32 windowscodecs)
|