Add a top menu bar (host/src/ui/app_chrome) as the overlay shell: - View menu toggles each panel (Controllers / Injection / Video / Audio) and a global "Debug details" switch (consumed by panels in a follow-up). - A right-aligned performance readout: stable 1 s FPS plus the frame-time spread (avg, min-max) so stutter is visible; it turns amber on a >25 ms spike. FrameStats keeps the rolling window. Consolidates the FPS that was duplicated in the controllers and video panels into this one readout. First structural step of the "generalize the UI" roadmap task; content rework (debug-vs-general split, renaming the spike-era readouts) follows. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 lines
935 B
CMake
38 lines
935 B
CMake
add_executable(coop_host WIN32
|
|
src/main.cpp
|
|
src/d3d11_window.cpp
|
|
src/imgui_layer.cpp
|
|
src/debug_overlay.cpp
|
|
src/injection_panel.cpp
|
|
src/capture_panel.cpp
|
|
src/audio_panel.cpp
|
|
src/ui/app_chrome.cpp
|
|
src/input/xinput_source.cpp
|
|
src/inject/process_list.cpp
|
|
src/inject/injector.cpp
|
|
src/ipc/ipc_server.cpp
|
|
src/capture/frame_renderer.cpp
|
|
src/capture/window_capture.cpp
|
|
src/audio/audio_loopback.cpp
|
|
src/audio/process_loopback_capture.cpp)
|
|
|
|
target_include_directories(coop_host PRIVATE src)
|
|
|
|
# Process-loopback capture (AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK) needs the
|
|
# Windows 10 20H1 (NTDDI_WIN10_CO) headers; raise the target SDK version for it.
|
|
target_compile_definitions(coop_host PRIVATE NTDDI_VERSION=0x0A00000B)
|
|
|
|
target_link_libraries(coop_host PRIVATE
|
|
coop_common
|
|
imgui
|
|
d3d11
|
|
dxgi
|
|
dwmapi
|
|
d3dcompiler
|
|
windowsapp
|
|
xinput
|
|
mmdevapi
|
|
ole32)
|
|
|
|
set_target_properties(coop_host PROPERTIES OUTPUT_NAME "coop_host")
|