From b42b5501f69329a6b808e939c1e26918e3d59a96 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Mon, 11 Jul 2022 23:03:29 +1000 Subject: [PATCH] UI: Massive revamp, new features and improvements --- CMakeLists.txt | 6 +- data/{database => resources}/chtdb.txt | 0 .../database/compatibility.xml | 0 data/{ => resources}/database/gamedb.json | 116 +- .../{ => resources}/database/gamesettings.ini | 0 data/resources/fonts/LICENSE.txt | 202 + .../Roboto-Regular.ttf} | Bin data/resources/fonts/RobotoMono-Medium.ttf | Bin 0 -> 86820 bytes data/resources/{ => fonts}/fa-solid-900.ttf | Bin .../{flag-jp.png => fullscreenui/NTSC-J.png} | Bin .../{flag-uc.png => fullscreenui/NTSC-U.png} | Bin .../{flag-eu.png => fullscreenui/PAL.png} | Bin .../{ => fullscreenui}/address-book-new.png | Bin .../applications-system.png | Bin data/resources/{ => fullscreenui}/duck.png | Bin .../{ => fullscreenui}/media-cdrom.png | Bin .../{ => fullscreenui}/multimedia-player.png | Bin data/resources/fullscreenui/placeholder.png | Bin 0 -> 2762 bytes data/resources/{ => fullscreenui}/star-0.png | Bin data/resources/{ => fullscreenui}/star-1.png | Bin data/resources/{ => fullscreenui}/star-2.png | Bin data/resources/{ => fullscreenui}/star-3.png | Bin data/resources/{ => fullscreenui}/star-4.png | Bin data/resources/{ => fullscreenui}/star-5.png | Bin .../gamecontrollerdb.txt | 0 data/resources/images/cover-placeholder.png | Bin 0 -> 214262 bytes dep/msvc/qt | 2 +- dep/msvc/vsprops/QtCompile.props | 80 +- duckstation.sln | 9 +- src/common/byte_stream.cpp | 99 + src/common/byte_stream.h | 21 + src/common/d3d11/shader_cache.cpp | 2 +- src/common/d3d12/shader_cache.cpp | 2 +- src/common/gl/shader_cache.cpp | 5 +- src/common/http_downloader.cpp | 2 +- src/common/http_downloader.h | 2 +- src/common/http_downloader_curl.cpp | 2 +- src/common/http_downloader_curl.h | 2 +- src/common/http_downloader_uwp.cpp | 2 +- src/common/http_downloader_uwp.h | 2 +- src/common/http_downloader_winhttp.cpp | 2 +- src/common/http_downloader_winhttp.h | 2 +- src/common/lru_cache.h | 3 +- src/common/threading.cpp | 112 +- src/common/types.h | 10 + src/common/vulkan/shader_cache.cpp | 4 +- src/core/CMakeLists.txt | 23 +- src/core/achievements.h | 55 + src/core/analog_controller.cpp | 405 +- src/core/analog_controller.h | 48 +- src/core/analog_joystick.cpp | 313 +- src/core/analog_joystick.h | 42 +- src/core/bios.cpp | 144 + src/core/bios.h | 13 + src/core/bus.cpp | 4 +- src/core/cdrom.cpp | 3 +- src/core/cdrom.h | 1 + src/core/cheats.cpp | 14 +- src/core/cheevos.cpp | 1802 ----- src/core/controller.cpp | 317 +- src/core/controller.h | 123 +- src/core/core.props | 4 +- src/core/core.vcxproj | 16 +- src/core/core.vcxproj.filters | 16 +- src/core/cpu_core.cpp | 42 +- src/core/digital_controller.cpp | 149 +- src/core/digital_controller.h | 22 +- src/core/dma.cpp | 3 +- src/core/game_database.cpp | 1137 +++ src/core/game_database.h | 122 + src/core/gdb_protocol.cpp | 2 +- src/core/gpu.cpp | 27 +- src/core/gpu.h | 4 +- src/core/gpu_backend.cpp | 4 +- src/core/gpu_backend.h | 4 +- src/core/gpu_hw.cpp | 58 +- src/core/gpu_hw.h | 2 +- src/core/gpu_hw_d3d11.cpp | 46 +- src/core/gpu_hw_d3d11.h | 2 +- src/core/gpu_hw_d3d12.cpp | 34 +- src/core/gpu_hw_d3d12.h | 2 +- src/core/gpu_hw_opengl.cpp | 54 +- src/core/gpu_hw_opengl.h | 4 +- src/core/gpu_hw_vulkan.cpp | 39 +- src/core/gpu_hw_vulkan.h | 2 +- src/core/gpu_sw.cpp | 34 +- src/core/gpu_sw.h | 9 +- src/core/gte.cpp | 8 +- src/core/guncon.cpp | 273 + src/core/{namco_guncon.h => guncon.h} | 27 +- src/core/host.cpp | 32 + src/core/host.h | 89 + src/core/host_display.cpp | 63 +- src/core/host_display.h | 31 + src/core/host_interface.cpp | 1162 --- src/core/host_interface.h | 225 - src/core/host_interface_progress_callback.cpp | 34 +- src/core/host_interface_progress_callback.h | 1 - src/core/host_settings.h | 5 +- src/core/imgui_styles.cpp | 56 - src/core/imgui_styles.h | 6 - src/core/mdec.cpp | 3 +- src/core/memory_card.cpp | 16 +- src/core/memory_card_image.cpp | 1 - src/core/namco_guncon.cpp | 314 - src/core/negcon.cpp | 254 +- src/core/negcon.h | 40 +- src/core/pad.cpp | 39 +- src/core/playstation_mouse.cpp | 124 +- src/core/playstation_mouse.h | 22 +- src/core/settings.cpp | 341 +- src/core/settings.h | 114 +- src/core/sio.cpp | 1 - src/core/spu.cpp | 40 +- src/core/spu.h | 19 +- src/core/system.cpp | 2310 +++++- src/core/system.h | 261 +- src/core/texture_replacements.cpp | 26 +- src/core/texture_replacements.h | 1 + src/core/types.h | 2 +- src/duckstation-nogui/CMakeLists.txt | 2 - .../duckstation-nogui.vcxproj | 5 - .../duckstation-nogui.vcxproj.filters | 2 - src/duckstation-nogui/imgui_impl_sdl.cpp | 259 - src/duckstation-nogui/imgui_impl_sdl.h | 28 - src/duckstation-nogui/nogui_host_interface.h | 2 +- src/duckstation-nogui/sdl_host_interface.cpp | 2 +- src/duckstation-qt/CMakeLists.txt | 63 +- src/duckstation-qt/achievementlogindialog.cpp | 8 +- .../achievementsettingswidget.cpp | 124 +- .../achievementsettingswidget.h | 12 +- .../achievementsettingswidget.ui | 6 +- src/duckstation-qt/advancedsettingswidget.cpp | 166 +- src/duckstation-qt/advancedsettingswidget.h | 7 +- src/duckstation-qt/audiosettingswidget.cpp | 63 +- src/duckstation-qt/audiosettingswidget.h | 5 +- src/duckstation-qt/autoupdaterdialog.cpp | 14 +- src/duckstation-qt/autoupdaterdialog.h | 6 +- src/duckstation-qt/biossettingswidget.cpp | 200 +- src/duckstation-qt/biossettingswidget.h | 16 +- src/duckstation-qt/cheatmanagerdialog.cpp | 116 +- src/duckstation-qt/consolesettingswidget.cpp | 74 +- src/duckstation-qt/consolesettingswidget.h | 9 +- src/duckstation-qt/consolesettingswidget.ui | 19 - src/duckstation-qt/controllerbindingwidget.ui | 110 + ...ntrollerbindingwidget_analog_controller.ui | 1271 ++++ ...controllerbindingwidget_analog_joystick.ui | 1186 +++ ...trollerbindingwidget_digital_controller.ui | 737 ++ .../controllerbindingwidget_guncon.ui | 380 + .../controllerbindingwidget_negcon.ui | 719 ++ .../controllerbindingwidgets.cpp | 825 ++ src/duckstation-qt/controllerbindingwidgets.h | 256 + .../controllerglobalsettingswidget.cpp | 98 + .../controllerglobalsettingswidget.h | 31 + .../controllerglobalsettingswidget.ui | 381 + src/duckstation-qt/controllermacrodialog.ui | 71 + .../controllermacroeditwidget.ui | 157 + .../controllersettingsdialog.cpp | 484 ++ src/duckstation-qt/controllersettingsdialog.h | 96 + .../controllersettingsdialog.ui | 137 + .../controllersettingswidget.cpp | 597 -- src/duckstation-qt/controllersettingswidget.h | 61 - .../controllersettingwidgetbinder.h | 161 + src/duckstation-qt/debuggerwindow.cpp | 53 +- src/duckstation-qt/debuggerwindow.h | 3 +- src/duckstation-qt/displaysettingswidget.cpp | 78 +- src/duckstation-qt/displaysettingswidget.h | 5 +- src/duckstation-qt/displaysettingswidget.ui | 22 +- src/duckstation-qt/displaywidget.cpp | 440 ++ src/duckstation-qt/displaywidget.h | 80 + src/duckstation-qt/duckstation-qt.vcxproj | 122 +- .../duckstation-qt.vcxproj.filters | 55 +- src/duckstation-qt/emptygamelistwidget.ui | 141 + .../emulationsettingswidget.cpp | 135 +- src/duckstation-qt/emulationsettingswidget.h | 7 +- .../enhancementsettingswidget.cpp | 39 +- .../enhancementsettingswidget.h | 5 +- src/duckstation-qt/foldersettingswidget.cpp | 24 + src/duckstation-qt/foldersettingswidget.h | 19 + src/duckstation-qt/foldersettingswidget.ui | 208 + src/duckstation-qt/gamelistmodel.cpp | 308 +- src/duckstation-qt/gamelistmodel.h | 32 +- src/duckstation-qt/gamelistrefreshthread.cpp | 104 + src/duckstation-qt/gamelistrefreshthread.h | 60 + .../gamelistsearchdirectoriesmodel.cpp | 25 +- .../gamelistsearchdirectoriesmodel.h | 6 +- src/duckstation-qt/gamelistsettingswidget.cpp | 22 +- src/duckstation-qt/gamelistsettingswidget.h | 7 +- src/duckstation-qt/gamelistwidget.cpp | 308 +- src/duckstation-qt/gamelistwidget.h | 50 +- src/duckstation-qt/gamelistwidget.ui | 220 + src/duckstation-qt/gamepropertiesdialog.cpp | 1101 --- src/duckstation-qt/gamepropertiesdialog.h | 71 - src/duckstation-qt/gamepropertiesdialog.ui | 1137 --- src/duckstation-qt/gamesummarywidget.cpp | 348 + src/duckstation-qt/gamesummarywidget.h | 38 + src/duckstation-qt/gamesummarywidget.ui | 285 + src/duckstation-qt/gdbconnection.cpp | 66 +- src/duckstation-qt/gdbconnection.h | 3 +- src/duckstation-qt/gdbserver.cpp | 5 +- src/duckstation-qt/generalsettingswidget.cpp | 100 +- src/duckstation-qt/generalsettingswidget.h | 8 +- src/duckstation-qt/generalsettingswidget.ui | 136 +- src/duckstation-qt/hotkeysettingswidget.cpp | 70 +- src/duckstation-qt/hotkeysettingswidget.h | 26 +- src/duckstation-qt/inputbindingdialog.cpp | 292 +- src/duckstation-qt/inputbindingdialog.h | 59 +- src/duckstation-qt/inputbindingmonitor.cpp | 151 - src/duckstation-qt/inputbindingmonitor.h | 64 - src/duckstation-qt/inputbindingwidgets.cpp | 472 +- src/duckstation-qt/inputbindingwidgets.h | 99 +- src/duckstation-qt/main.cpp | 159 - src/duckstation-qt/mainwindow.cpp | 1899 +++-- src/duckstation-qt/mainwindow.h | 172 +- src/duckstation-qt/mainwindow.ui | 203 +- src/duckstation-qt/memorycardeditordialog.cpp | 11 +- .../memorycardsettingswidget.cpp | 112 +- src/duckstation-qt/memorycardsettingswidget.h | 10 +- .../postprocessingchainconfigwidget.cpp | 4 +- .../postprocessingsettingswidget.cpp | 22 +- .../postprocessingsettingswidget.h | 7 +- src/duckstation-qt/qtdisplaywidget.cpp | 310 - src/duckstation-qt/qtdisplaywidget.h | 63 - src/duckstation-qt/qthost.cpp | 2282 ++++++ src/duckstation-qt/qthost.h | 264 + src/duckstation-qt/qthostinterface.cpp | 1809 ----- src/duckstation-qt/qthostinterface.h | 297 - src/duckstation-qt/qtkeycodes.cpp | 497 ++ src/duckstation-qt/qtutils.cpp | 122 +- src/duckstation-qt/qtutils.h | 59 +- .../controllers/analog_controller.svg | 323 + .../controllers/digital_controller.svg | 273 + .../resources/controllers/guncon.svg | 349 + .../resources/controllers/negcon.svg | 149 + src/duckstation-qt/resources/generate.sh | 13 + .../resources/icons/black/index.theme | 6 + .../icons/black/svg/arrow-left-right-line.svg | 1 + .../icons/black/svg/artboard-2-line.svg | 6 + .../icons/black/svg/book-open-line.svg | 6 + .../resources/icons/black/svg/brush-line.svg | 6 + .../svg/checkbox-multiple-blank-line.svg | 1 + .../resources/icons/black/svg/close-line.svg | 6 + .../icons/black/svg/dashboard-line.svg | 6 + .../resources/icons/black/svg/disc-line.svg | 6 + .../icons/black/svg/door-open-line.svg | 6 + .../icons/black/svg/download-2-line.svg | 6 + .../resources/icons/black/svg/dvd-line.svg | 6 + .../resources/icons/black/svg/eject-line.svg | 6 + .../icons/black/svg/file-add-line.svg | 6 + .../resources/icons/black/svg/file-line.svg | 6 + .../icons/black/svg/file-list-line.svg | 6 + .../icons/black/svg/file-music-line.svg | 1 + .../icons/black/svg/file-reduce-line.svg | 6 + .../icons/black/svg/file-search-line.svg | 6 + .../icons/black/svg/file-settings-line.svg | 6 + .../icons/black/svg/file-unknow-line.svg | 1 + .../resources/icons/black/svg/filter-line.svg | 1 + .../resources/icons/black/svg/fire-line.svg | 1 + .../icons/black/svg/flashlight-line.svg | 1 + .../resources/icons/black/svg/flask-line.svg | 6 + .../icons/black/svg/folder-add-line.svg | 6 + .../icons/black/svg/folder-open-line.svg | 6 + .../icons/black/svg/folder-reduce-line.svg | 6 + .../icons/black/svg/folder-settings-line.svg | 6 + .../icons/black/svg/fullscreen-line.svg | 6 + .../icons/black/svg/function-line.svg | 6 + .../icons/black/svg/gamepad-line.svg | 6 + .../resources/icons/black/svg/global-line.svg | 1 + .../icons/black/svg/hard-drive-2-line.svg | 6 + .../icons/black/svg/keyboard-line.svg | 6 + .../icons/black/svg/layout-grid-line.svg | 6 + .../resources/icons/black/svg/list-check.svg | 6 + .../icons/black/svg/paint-brush-line.svg | 1 + .../resources/icons/black/svg/paint-fill.svg | 1 + .../icons/black/svg/pantone-line.svg | 1 + .../resources/icons/black/svg/pause-line.svg | 6 + .../icons/black/svg/play-circle-line.svg | 1 + .../resources/icons/black/svg/play-line.svg | 6 + .../icons/black/svg/play-list-2-line.svg | 1 + .../icons/black/svg/price-tag-3-line.svg | 1 + .../icons/black/svg/refresh-line.svg | 6 + .../icons/black/svg/restart-line.svg | 6 + .../resources/icons/black/svg/save-3-line.svg | 6 + .../icons/black/svg/screenshot-2-line.svg | 6 + .../icons/black/svg/sd-card-line.svg | 6 + .../icons/black/svg/settings-3-line.svg | 6 + .../icons/black/svg/settings-5-line.svg | 1 + .../icons/black/svg/shut-down-line.svg | 6 + .../icons/black/svg/steering-line.svg | 1 + .../resources/icons/black/svg/tools-line.svg | 1 + .../resources/icons/black/svg/trophy-line.svg | 1 + .../resources/icons/black/svg/tv-2-line.svg | 6 + .../icons/black/svg/volume-up-line.svg | 6 + .../icons/black/svg/window-2-line.svg | 6 + .../resources/icons/white/index.theme | 6 + .../icons/white/svg/arrow-left-right-line.svg | 1 + .../icons/white/svg/artboard-2-line.svg | 6 + .../icons/white/svg/book-open-line.svg | 6 + .../resources/icons/white/svg/brush-line.svg | 6 + .../svg/checkbox-multiple-blank-line.svg | 1 + .../resources/icons/white/svg/close-line.svg | 6 + .../icons/white/svg/dashboard-line.svg | 6 + .../resources/icons/white/svg/disc-line.svg | 6 + .../icons/white/svg/door-open-line.svg | 6 + .../icons/white/svg/download-2-line.svg | 6 + .../resources/icons/white/svg/dvd-line.svg | 6 + .../resources/icons/white/svg/eject-line.svg | 6 + .../icons/white/svg/file-add-line.svg | 6 + .../resources/icons/white/svg/file-line.svg | 6 + .../icons/white/svg/file-list-line.svg | 6 + .../icons/white/svg/file-music-line.svg | 1 + .../icons/white/svg/file-reduce-line.svg | 6 + .../icons/white/svg/file-search-line.svg | 6 + .../icons/white/svg/file-settings-line.svg | 6 + .../icons/white/svg/file-unknow-line.svg | 1 + .../resources/icons/white/svg/filter-line.svg | 1 + .../resources/icons/white/svg/fire-line.svg | 1 + .../icons/white/svg/flashlight-line.svg | 1 + .../resources/icons/white/svg/flask-line.svg | 6 + .../icons/white/svg/folder-add-line.svg | 6 + .../icons/white/svg/folder-open-line.svg | 6 + .../icons/white/svg/folder-reduce-line.svg | 6 + .../icons/white/svg/folder-settings-line.svg | 6 + .../icons/white/svg/fullscreen-line.svg | 6 + .../icons/white/svg/function-line.svg | 6 + .../icons/white/svg/gamepad-line.svg | 6 + .../resources/icons/white/svg/global-line.svg | 1 + .../icons/white/svg/hard-drive-2-line.svg | 6 + .../icons/white/svg/keyboard-line.svg | 6 + .../icons/white/svg/layout-grid-line.svg | 6 + .../resources/icons/white/svg/list-check.svg | 6 + .../icons/white/svg/paint-brush-line.svg | 1 + .../resources/icons/white/svg/paint-fill.svg | 1 + .../icons/white/svg/pantone-line.svg | 1 + .../resources/icons/white/svg/pause-line.svg | 6 + .../icons/white/svg/play-circle-line.svg | 1 + .../resources/icons/white/svg/play-line.svg | 6 + .../icons/white/svg/play-list-2-line.svg | 1 + .../icons/white/svg/price-tag-3-line.svg | 1 + .../icons/white/svg/refresh-line.svg | 6 + .../icons/white/svg/restart-line.svg | 6 + .../resources/icons/white/svg/save-3-line.svg | 6 + .../icons/white/svg/screenshot-2-line.svg | 6 + .../icons/white/svg/sd-card-line.svg | 6 + .../icons/white/svg/settings-3-line.svg | 6 + .../icons/white/svg/settings-5-line.svg | 1 + .../icons/white/svg/shut-down-line.svg | 6 + .../icons/white/svg/steering-line.svg | 1 + .../resources/icons/white/svg/tools-line.svg | 1 + .../resources/icons/white/svg/trophy-line.svg | 1 + .../resources/icons/white/svg/tv-2-line.svg | 6 + .../icons/white/svg/volume-up-line.svg | 6 + .../icons/white/svg/window-2-line.svg | 6 + src/duckstation-qt/resources/resources.qrc | 1366 ++-- src/duckstation-qt/settingsdialog.cpp | 515 +- src/duckstation-qt/settingsdialog.h | 105 +- src/duckstation-qt/settingsdialog.ui | 141 +- src/duckstation-qt/settingwidgetbinder.h | 797 +- src/duckstation-uwp/uwp_host_interface.h | 2 +- src/frontend-common/CMakeLists.txt | 55 +- src/frontend-common/achievements.cpp | 1991 +++++ .../achievements.h} | 117 +- src/frontend-common/common_host.cpp | 1065 +++ src/frontend-common/common_host.h | 37 + src/frontend-common/common_host_interface.cpp | 4424 ----------- src/frontend-common/common_host_interface.h | 586 -- src/frontend-common/controller_interface.cpp | 189 - src/frontend-common/controller_interface.h | 131 - src/frontend-common/d3d11_host_display.cpp | 11 +- src/frontend-common/d3d12_host_display.cpp | 1 - .../dinput_controller_interface.cpp | 463 -- .../dinput_controller_interface.h | 96 - src/frontend-common/dinput_source.cpp | 441 ++ src/frontend-common/dinput_source.h | 81 + .../evdev_controller_interface.cpp | 5 +- .../evdev_controller_interface.h | 6 +- src/frontend-common/frontend-common.props | 4 +- src/frontend-common/frontend-common.vcxproj | 52 +- .../frontend-common.vcxproj.filters | 44 +- src/frontend-common/fullscreen_ui.cpp | 6736 ++++++++++------- src/frontend-common/fullscreen_ui.h | 98 +- .../fullscreen_ui_progress_callback.cpp | 117 - .../fullscreen_ui_progress_callback.h | 38 - src/frontend-common/game_database.cpp | 329 - src/frontend-common/game_database.h | 63 - src/frontend-common/game_list.cpp | 1071 +-- src/frontend-common/game_list.h | 187 +- src/frontend-common/game_settings.cpp | 1451 ---- src/frontend-common/game_settings.h | 122 - src/frontend-common/host_settings.cpp | 48 - .../imgui_fullscreen.cpp | 1172 ++- .../imgui_fullscreen.h | 145 +- src/frontend-common/imgui_manager.cpp | 814 ++ src/frontend-common/imgui_manager.h | 91 + src/frontend-common/imgui_overlays.cpp | 650 ++ src/frontend-common/imgui_overlays.h | 22 + src/frontend-common/input_manager.cpp | 1473 ++++ src/frontend-common/input_manager.h | 276 + src/frontend-common/input_overlay_ui.cpp | 118 - src/frontend-common/input_overlay_ui.h | 24 - src/frontend-common/input_source.cpp | 120 + src/frontend-common/input_source.h | 72 + src/frontend-common/opengl_host_display.cpp | 4 +- src/frontend-common/postprocessing_chain.cpp | 57 +- src/frontend-common/postprocessing_shader.cpp | 7 +- src/frontend-common/postprocessing_shader.h | 1 + .../save_state_selector_ui.cpp | 323 - src/frontend-common/save_state_selector_ui.h | 71 - .../sdl_controller_interface.cpp | 823 -- .../sdl_controller_interface.h | 96 - src/frontend-common/sdl_input_source.cpp | 655 ++ src/frontend-common/sdl_input_source.h | 74 + src/frontend-common/vulkan_host_display.cpp | 4 +- .../win32_raw_input_source.cpp | 264 + src/frontend-common/win32_raw_input_source.h | 57 + .../xinput_controller_interface.cpp | 369 - .../xinput_controller_interface.h | 85 - src/frontend-common/xinput_source.cpp | 461 ++ src/frontend-common/xinput_source.h | 77 + src/util/CMakeLists.txt | 4 +- .../ini_settings_interface.cpp | 0 .../ini_settings_interface.h | 0 src/util/util.props | 4 +- src/util/util.vcxproj | 2 + src/util/util.vcxproj.filters | 2 + 425 files changed, 39701 insertions(+), 29487 deletions(-) rename data/{database => resources}/chtdb.txt (100%) rename data/{ => resources}/database/compatibility.xml (100%) rename data/{ => resources}/database/gamedb.json (99%) rename data/{ => resources}/database/gamesettings.ini (100%) create mode 100644 data/resources/fonts/LICENSE.txt rename data/resources/{roboto-regular.ttf => fonts/Roboto-Regular.ttf} (100%) create mode 100644 data/resources/fonts/RobotoMono-Medium.ttf rename data/resources/{ => fonts}/fa-solid-900.ttf (100%) rename data/resources/{flag-jp.png => fullscreenui/NTSC-J.png} (100%) rename data/resources/{flag-uc.png => fullscreenui/NTSC-U.png} (100%) rename data/resources/{flag-eu.png => fullscreenui/PAL.png} (100%) rename data/resources/{ => fullscreenui}/address-book-new.png (100%) rename data/resources/{ => fullscreenui}/applications-system.png (100%) rename data/resources/{ => fullscreenui}/duck.png (100%) rename data/resources/{ => fullscreenui}/media-cdrom.png (100%) rename data/resources/{ => fullscreenui}/multimedia-player.png (100%) create mode 100644 data/resources/fullscreenui/placeholder.png rename data/resources/{ => fullscreenui}/star-0.png (100%) rename data/resources/{ => fullscreenui}/star-1.png (100%) rename data/resources/{ => fullscreenui}/star-2.png (100%) rename data/resources/{ => fullscreenui}/star-3.png (100%) rename data/resources/{ => fullscreenui}/star-4.png (100%) rename data/resources/{ => fullscreenui}/star-5.png (100%) rename data/{database => resources}/gamecontrollerdb.txt (100%) create mode 100644 data/resources/images/cover-placeholder.png create mode 100644 src/core/achievements.h delete mode 100644 src/core/cheevos.cpp create mode 100644 src/core/game_database.cpp create mode 100644 src/core/game_database.h create mode 100644 src/core/guncon.cpp rename src/core/{namco_guncon.h => guncon.h} (55%) create mode 100644 src/core/host.cpp delete mode 100644 src/core/host_interface.cpp delete mode 100644 src/core/host_interface.h delete mode 100644 src/core/imgui_styles.cpp delete mode 100644 src/core/imgui_styles.h delete mode 100644 src/core/namco_guncon.cpp delete mode 100644 src/duckstation-nogui/imgui_impl_sdl.cpp delete mode 100644 src/duckstation-nogui/imgui_impl_sdl.h create mode 100644 src/duckstation-qt/controllerbindingwidget.ui create mode 100644 src/duckstation-qt/controllerbindingwidget_analog_controller.ui create mode 100644 src/duckstation-qt/controllerbindingwidget_analog_joystick.ui create mode 100644 src/duckstation-qt/controllerbindingwidget_digital_controller.ui create mode 100644 src/duckstation-qt/controllerbindingwidget_guncon.ui create mode 100644 src/duckstation-qt/controllerbindingwidget_negcon.ui create mode 100644 src/duckstation-qt/controllerbindingwidgets.cpp create mode 100644 src/duckstation-qt/controllerbindingwidgets.h create mode 100644 src/duckstation-qt/controllerglobalsettingswidget.cpp create mode 100644 src/duckstation-qt/controllerglobalsettingswidget.h create mode 100644 src/duckstation-qt/controllerglobalsettingswidget.ui create mode 100644 src/duckstation-qt/controllermacrodialog.ui create mode 100644 src/duckstation-qt/controllermacroeditwidget.ui create mode 100644 src/duckstation-qt/controllersettingsdialog.cpp create mode 100644 src/duckstation-qt/controllersettingsdialog.h create mode 100644 src/duckstation-qt/controllersettingsdialog.ui delete mode 100644 src/duckstation-qt/controllersettingswidget.cpp delete mode 100644 src/duckstation-qt/controllersettingswidget.h create mode 100644 src/duckstation-qt/controllersettingwidgetbinder.h create mode 100644 src/duckstation-qt/displaywidget.cpp create mode 100644 src/duckstation-qt/displaywidget.h create mode 100644 src/duckstation-qt/emptygamelistwidget.ui create mode 100644 src/duckstation-qt/foldersettingswidget.cpp create mode 100644 src/duckstation-qt/foldersettingswidget.h create mode 100644 src/duckstation-qt/foldersettingswidget.ui create mode 100644 src/duckstation-qt/gamelistrefreshthread.cpp create mode 100644 src/duckstation-qt/gamelistrefreshthread.h create mode 100644 src/duckstation-qt/gamelistwidget.ui delete mode 100644 src/duckstation-qt/gamepropertiesdialog.cpp delete mode 100644 src/duckstation-qt/gamepropertiesdialog.h delete mode 100644 src/duckstation-qt/gamepropertiesdialog.ui create mode 100644 src/duckstation-qt/gamesummarywidget.cpp create mode 100644 src/duckstation-qt/gamesummarywidget.h create mode 100644 src/duckstation-qt/gamesummarywidget.ui delete mode 100644 src/duckstation-qt/inputbindingmonitor.cpp delete mode 100644 src/duckstation-qt/inputbindingmonitor.h delete mode 100644 src/duckstation-qt/main.cpp delete mode 100644 src/duckstation-qt/qtdisplaywidget.cpp delete mode 100644 src/duckstation-qt/qtdisplaywidget.h create mode 100644 src/duckstation-qt/qthost.cpp create mode 100644 src/duckstation-qt/qthost.h delete mode 100644 src/duckstation-qt/qthostinterface.cpp delete mode 100644 src/duckstation-qt/qthostinterface.h create mode 100644 src/duckstation-qt/qtkeycodes.cpp create mode 100644 src/duckstation-qt/resources/controllers/analog_controller.svg create mode 100644 src/duckstation-qt/resources/controllers/digital_controller.svg create mode 100644 src/duckstation-qt/resources/controllers/guncon.svg create mode 100644 src/duckstation-qt/resources/controllers/negcon.svg create mode 100644 src/duckstation-qt/resources/generate.sh create mode 100644 src/duckstation-qt/resources/icons/black/svg/arrow-left-right-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/artboard-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/book-open-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/brush-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/checkbox-multiple-blank-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/close-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/dashboard-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/disc-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/door-open-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/download-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/dvd-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/eject-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/file-add-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/file-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/file-list-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/file-music-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/file-reduce-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/file-search-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/file-settings-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/file-unknow-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/filter-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/fire-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/flashlight-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/flask-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/folder-add-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/folder-open-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/folder-reduce-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/folder-settings-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/fullscreen-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/function-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/gamepad-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/global-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/hard-drive-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/keyboard-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/layout-grid-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/list-check.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/paint-brush-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/paint-fill.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/pantone-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/pause-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/play-circle-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/play-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/play-list-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/price-tag-3-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/refresh-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/restart-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/save-3-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/screenshot-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/sd-card-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/settings-3-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/settings-5-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/shut-down-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/steering-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/tools-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/trophy-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/tv-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/volume-up-line.svg create mode 100644 src/duckstation-qt/resources/icons/black/svg/window-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/arrow-left-right-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/artboard-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/book-open-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/brush-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/checkbox-multiple-blank-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/close-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/dashboard-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/disc-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/door-open-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/download-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/dvd-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/eject-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/file-add-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/file-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/file-list-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/file-music-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/file-reduce-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/file-search-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/file-settings-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/file-unknow-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/filter-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/fire-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/flashlight-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/flask-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/folder-add-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/folder-open-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/folder-reduce-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/folder-settings-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/fullscreen-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/function-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/gamepad-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/global-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/hard-drive-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/keyboard-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/layout-grid-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/list-check.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/paint-brush-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/paint-fill.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/pantone-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/pause-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/play-circle-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/play-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/play-list-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/price-tag-3-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/refresh-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/restart-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/save-3-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/screenshot-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/sd-card-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/settings-3-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/settings-5-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/shut-down-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/steering-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/tools-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/trophy-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/tv-2-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/volume-up-line.svg create mode 100644 src/duckstation-qt/resources/icons/white/svg/window-2-line.svg create mode 100644 src/frontend-common/achievements.cpp rename src/{core/cheevos.h => frontend-common/achievements.h} (54%) create mode 100644 src/frontend-common/common_host.cpp create mode 100644 src/frontend-common/common_host.h delete mode 100644 src/frontend-common/common_host_interface.cpp delete mode 100644 src/frontend-common/common_host_interface.h delete mode 100644 src/frontend-common/controller_interface.cpp delete mode 100644 src/frontend-common/controller_interface.h delete mode 100644 src/frontend-common/dinput_controller_interface.cpp delete mode 100644 src/frontend-common/dinput_controller_interface.h create mode 100644 src/frontend-common/dinput_source.cpp create mode 100644 src/frontend-common/dinput_source.h delete mode 100644 src/frontend-common/fullscreen_ui_progress_callback.cpp delete mode 100644 src/frontend-common/fullscreen_ui_progress_callback.h delete mode 100644 src/frontend-common/game_database.cpp delete mode 100644 src/frontend-common/game_database.h delete mode 100644 src/frontend-common/game_settings.cpp delete mode 100644 src/frontend-common/game_settings.h rename src/{core => frontend-common}/imgui_fullscreen.cpp (60%) rename src/{core => frontend-common}/imgui_fullscreen.h (77%) create mode 100644 src/frontend-common/imgui_manager.cpp create mode 100644 src/frontend-common/imgui_manager.h create mode 100644 src/frontend-common/imgui_overlays.cpp create mode 100644 src/frontend-common/imgui_overlays.h create mode 100644 src/frontend-common/input_manager.cpp create mode 100644 src/frontend-common/input_manager.h delete mode 100644 src/frontend-common/input_overlay_ui.cpp delete mode 100644 src/frontend-common/input_overlay_ui.h create mode 100644 src/frontend-common/input_source.cpp create mode 100644 src/frontend-common/input_source.h delete mode 100644 src/frontend-common/save_state_selector_ui.cpp delete mode 100644 src/frontend-common/save_state_selector_ui.h delete mode 100644 src/frontend-common/sdl_controller_interface.cpp delete mode 100644 src/frontend-common/sdl_controller_interface.h create mode 100644 src/frontend-common/sdl_input_source.cpp create mode 100644 src/frontend-common/sdl_input_source.h create mode 100644 src/frontend-common/win32_raw_input_source.cpp create mode 100644 src/frontend-common/win32_raw_input_source.h delete mode 100644 src/frontend-common/xinput_controller_interface.cpp delete mode 100644 src/frontend-common/xinput_controller_interface.h create mode 100644 src/frontend-common/xinput_source.cpp create mode 100644 src/frontend-common/xinput_source.h rename src/{frontend-common => util}/ini_settings_interface.cpp (100%) rename src/{frontend-common => util}/ini_settings_interface.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index a02270e70..964495d6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,12 +89,12 @@ if(WIN32 AND USE_SDL2) set(SDL2_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/lib64/SDL2.lib") set(SDL2MAIN_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/lib64/SDL2main.lib") set(SDL2_DLL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/bin64/SDL2.dll") - set(Qt5_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/qt/5.15.0/msvc2017_64/lib/cmake/Qt5") + set(Qt6_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/qt/6.1.0/msvc2019_64/lib/cmake/Qt6") else() set(SDL2_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/lib32/SDL2.lib") set(SDL2MAIN_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/lib32/SDL2main.lib") set(SDL2_DLL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/bin32/SDL2.dll") - set(Qt5_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/qt/5.15.0/msvc2017_32/lib/cmake/Qt5") + set(Qt6_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/qt/6.1.0/msvc2019_32/lib/cmake/Qt6") endif() endif() @@ -105,7 +105,7 @@ if(NOT ANDROID) find_package(SDL2 REQUIRED) endif() if(BUILD_QT_FRONTEND) - find_package(Qt5 COMPONENTS Core Gui Widgets Network LinguistTools REQUIRED) + find_package(Qt6 COMPONENTS Core Gui Widgets Network LinguistTools REQUIRED) endif() endif() diff --git a/data/database/chtdb.txt b/data/resources/chtdb.txt similarity index 100% rename from data/database/chtdb.txt rename to data/resources/chtdb.txt diff --git a/data/database/compatibility.xml b/data/resources/database/compatibility.xml similarity index 100% rename from data/database/compatibility.xml rename to data/resources/database/compatibility.xml diff --git a/data/database/gamedb.json b/data/resources/database/gamedb.json similarity index 99% rename from data/database/gamedb.json rename to data/resources/database/gamedb.json index 8a832339c..97cded1bf 100644 --- a/data/database/gamedb.json +++ b/data/resources/database/gamedb.json @@ -36683,7 +36683,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -94490,7 +94490,7 @@ "AnalogController", "DigitalController", "PlayStationMouse", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -94528,7 +94528,7 @@ "AnalogController", "DigitalController", "PlayStationMouse", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -94566,7 +94566,7 @@ "AnalogController", "DigitalController", "PlayStationMouse", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -94604,7 +94604,7 @@ "AnalogController", "DigitalController", "PlayStationMouse", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -94642,7 +94642,7 @@ "AnalogController", "DigitalController", "PlayStationMouse", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -118156,7 +118156,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "KonamiJustifier", "PlayStationMouse" ], @@ -131024,7 +131024,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -159741,7 +159741,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "KonamiJustifier", "PlayStationMouse" ], @@ -161094,7 +161094,7 @@ "AnalogController", "DigitalController", "PlayStationMouse", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -168086,7 +168086,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -168130,7 +168130,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -168166,7 +168166,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -168202,7 +168202,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -168264,7 +168264,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -168300,7 +168300,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ] }, { @@ -169280,7 +169280,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -169316,7 +169316,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -169792,7 +169792,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -200165,7 +200165,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -200201,7 +200201,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -201057,7 +201057,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -243440,7 +243440,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -243477,7 +243477,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -250279,7 +250279,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -250316,7 +250316,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "KonamiJustifier" ], "track_data": [ @@ -257141,7 +257141,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -257262,7 +257262,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -290498,7 +290498,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ] }, { @@ -313576,7 +313576,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -313620,7 +313620,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -313660,7 +313660,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -313696,7 +313696,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -313736,7 +313736,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -313772,7 +313772,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -313808,7 +313808,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ] }, { @@ -323119,7 +323119,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -336352,7 +336352,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "PlayStationMouse" ], "track_data": [ @@ -336389,7 +336389,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "PlayStationMouse" ] }, @@ -336437,7 +336437,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon", + "GunCon", "PlayStationMouse" ], "track_data": [ @@ -336837,7 +336837,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -336874,7 +336874,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -336910,7 +336910,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -338230,7 +338230,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -338333,7 +338333,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -338436,7 +338436,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -338539,7 +338539,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -370386,7 +370386,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -372433,7 +372433,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -430122,7 +430122,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon", + "GunCon", "PlayStationMouse" ], "track_data": [ @@ -430287,7 +430287,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon", + "GunCon", "PlayStationMouse" ], "track_data": [ @@ -430451,7 +430451,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon", + "GunCon", "PlayStationMouse" ], "track_data": [ @@ -430615,7 +430615,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon", + "GunCon", "PlayStationMouse" ], "track_data": [ @@ -430780,7 +430780,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ] }, { @@ -430810,7 +430810,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -431114,7 +431114,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -431234,7 +431234,7 @@ "controllers": [ "AnalogController", "DigitalController", - "NamcoGuncon" + "GunCon" ], "track_data": [ { @@ -431353,7 +431353,7 @@ "linkCable": false, "controllers": [ "DigitalController", - "NamcoGuncon", + "GunCon", "PlayStationMouse" ] }, diff --git a/data/database/gamesettings.ini b/data/resources/database/gamesettings.ini similarity index 100% rename from data/database/gamesettings.ini rename to data/resources/database/gamesettings.ini diff --git a/data/resources/fonts/LICENSE.txt b/data/resources/fonts/LICENSE.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/data/resources/fonts/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/data/resources/roboto-regular.ttf b/data/resources/fonts/Roboto-Regular.ttf similarity index 100% rename from data/resources/roboto-regular.ttf rename to data/resources/fonts/Roboto-Regular.ttf diff --git a/data/resources/fonts/RobotoMono-Medium.ttf b/data/resources/fonts/RobotoMono-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8461be77a38bdc0e47b678f1623df33379535d8f GIT binary patch literal 86820 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 Ce6P0v literal 0 HcmV?d00001 diff --git a/data/resources/fa-solid-900.ttf b/data/resources/fonts/fa-solid-900.ttf similarity index 100% rename from data/resources/fa-solid-900.ttf rename to data/resources/fonts/fa-solid-900.ttf diff --git a/data/resources/flag-jp.png b/data/resources/fullscreenui/NTSC-J.png similarity index 100% rename from data/resources/flag-jp.png rename to data/resources/fullscreenui/NTSC-J.png diff --git a/data/resources/flag-uc.png b/data/resources/fullscreenui/NTSC-U.png similarity index 100% rename from data/resources/flag-uc.png rename to data/resources/fullscreenui/NTSC-U.png diff --git a/data/resources/flag-eu.png b/data/resources/fullscreenui/PAL.png similarity index 100% rename from data/resources/flag-eu.png rename to data/resources/fullscreenui/PAL.png diff --git a/data/resources/address-book-new.png b/data/resources/fullscreenui/address-book-new.png similarity index 100% rename from data/resources/address-book-new.png rename to data/resources/fullscreenui/address-book-new.png diff --git a/data/resources/applications-system.png b/data/resources/fullscreenui/applications-system.png similarity index 100% rename from data/resources/applications-system.png rename to data/resources/fullscreenui/applications-system.png diff --git a/data/resources/duck.png b/data/resources/fullscreenui/duck.png similarity index 100% rename from data/resources/duck.png rename to data/resources/fullscreenui/duck.png diff --git a/data/resources/media-cdrom.png b/data/resources/fullscreenui/media-cdrom.png similarity index 100% rename from data/resources/media-cdrom.png rename to data/resources/fullscreenui/media-cdrom.png diff --git a/data/resources/multimedia-player.png b/data/resources/fullscreenui/multimedia-player.png similarity index 100% rename from data/resources/multimedia-player.png rename to data/resources/fullscreenui/multimedia-player.png diff --git a/data/resources/fullscreenui/placeholder.png b/data/resources/fullscreenui/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..064082d2c8704ef09d71ee17a25367f0ce3743ba GIT binary patch literal 2762 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 literal 0 HcmV?d00001 diff --git a/data/resources/star-0.png b/data/resources/fullscreenui/star-0.png similarity index 100% rename from data/resources/star-0.png rename to data/resources/fullscreenui/star-0.png diff --git a/data/resources/star-1.png b/data/resources/fullscreenui/star-1.png similarity index 100% rename from data/resources/star-1.png rename to data/resources/fullscreenui/star-1.png diff --git a/data/resources/star-2.png b/data/resources/fullscreenui/star-2.png similarity index 100% rename from data/resources/star-2.png rename to data/resources/fullscreenui/star-2.png diff --git a/data/resources/star-3.png b/data/resources/fullscreenui/star-3.png similarity index 100% rename from data/resources/star-3.png rename to data/resources/fullscreenui/star-3.png diff --git a/data/resources/star-4.png b/data/resources/fullscreenui/star-4.png similarity index 100% rename from data/resources/star-4.png rename to data/resources/fullscreenui/star-4.png diff --git a/data/resources/star-5.png b/data/resources/fullscreenui/star-5.png similarity index 100% rename from data/resources/star-5.png rename to data/resources/fullscreenui/star-5.png diff --git a/data/database/gamecontrollerdb.txt b/data/resources/gamecontrollerdb.txt similarity index 100% rename from data/database/gamecontrollerdb.txt rename to data/resources/gamecontrollerdb.txt diff --git a/data/resources/images/cover-placeholder.png b/data/resources/images/cover-placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..18dc446febdbae6950771d71ad21d47bd848a440 GIT binary patch literal 214262 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

_YmsK2nO6?ww; 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%0Aer}jdHV-K>Yf?w@qPml7J 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%0AeMqE=AA2N7n~{C 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 z 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 $(SolutionDir)bin\$(Platform)\ - $(SolutionDir)dep\msvc\qt\6.1.0\msvc2019_64\ - $(SolutionDir)dep\msvc\qt\6.1.0\msvc2019_arm64\ - $(QTDIRDefault) - $(QTDIR)\ - $(SolutionDir)dep\msvc\qt\6.1.0\msvc2019_64\ - false - true - $(QTDIR)include\ - $(QTDIR)lib\ - $(QTDIR)bin\ - $(QTDIRHost)bin\ - $(QTDIR)plugins\ - $(QTDIR)translations\ - $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)dep\msvc\qt\6.1.0\msvc2019_64\ + $(SolutionDir)dep\msvc\qt\6.3.1\msvc2022_arm64\ + $(DSQTDIRDefault) + $(DSQTDIR)\ + $(SolutionDir)dep\msvc\qt\6.1.0\msvc2019_64\ + $(SolutionDir)dep\msvc\qt\6.3.1\msvc2022_64\ + false + true + $(DSQTDIR)include\ + $(DSQTDIR)lib\ + $(DSQTDIR)bin\ + $(DSQTDIRHost)bin\ + $(DSQTDIR)plugins\ + $(DSQTDIR)translations\ + $(IntDir) $(QtToolOutDir)moc_ $(BinaryOutputDir)translations\ d - $(QtDebugSuffix) + $(QtDebugSuffix) QtPlugins + $(QtLibDir)Qt6EntryPoint$(QtLibSuffix).lib - QT_NO_DEBUG;%(PreprocessorDefinitions) + QT_NO_DEBUG;%(PreprocessorDefinitions) $(ProjectDir);%(AdditionalIncludeDirectories) $(QtToolOutDir);%(AdditionalIncludeDirectories) $(QtIncludeDir);%(AdditionalIncludeDirectories) $(QtLibDir);%(AdditionalLibraryDirectories) - Qt6Core$(QtLibSuffix).lib;Qt6Gui$(QtLibSuffix).lib;Qt6Widgets$(QtLibSuffix).lib;Qt6Network$(QtLibSuffix).lib;%(AdditionalDependencies) + Qt6Core$(QtLibSuffix).lib;Qt6Gui$(QtLibSuffix).lib;Qt6Widgets$(QtLibSuffix).lib;Qt6Network$(QtLibSuffix).lib;Qt6Concurrent$(QtLibSuffix).lib;%(AdditionalDependencies) @@ -45,7 +47,7 @@ Condition="'@(QtResource)'!=''" Outputs="@(ResFiles->'$(QtToolOutDir)qrc_%(Filename).cpp')"> - + @@ -64,7 +66,7 @@ Condition="'@(QtUi)'!=''" Outputs="@(UiFiles->'$(QtToolOutDir)ui_%(Filename).h')"> - + @@ -77,26 +79,18 @@ - -DQT_NO_DEBUG -DNDEBUG $(MocDefines) - - "-I$(QtIncludeDir)" "-I$(SolutionDir)src" -I. + -DQT_NO_DEBUG -DNDEBUG $(MocDefines) + -I"$(QtIncludeDir)." -I"$(SolutionDir)pcsx2" "-I$(SolutionDir)." -I. - - + Outputs="$(QtToolOutDir)%(QtMoc.RelativeDir)moc_%(QtMoc.Filename).cpp"> + + - + @@ -125,21 +119,24 @@ - + - - + + + + + $(BinaryOutputDir)qt.conf + Inputs="@(QtDlls);@(QtPlugins);@(QtTLSDlls)" + Outputs="@(QtDlls -> '$(BinaryOutputDir)%(RecursiveDir)%(Filename)%(Extension)');@(QtPluginsDest);@(QtTLSDllsDest)"> + - + diff --git a/duckstation.sln b/duckstation.sln index 85630632f..bae76438e 100644 --- a/duckstation.sln +++ b/duckstation.sln @@ -16,6 +16,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "src\common\common {ED601289-AC1A-46B8-A8ED-17DB9EB73423} = {ED601289-AC1A-46B8-A8ED-17DB9EB73423} {8BDA439C-6358-45FB-9994-2FF083BABE06} = {8BDA439C-6358-45FB-9994-2FF083BABE06} {7FF9FDB9-D504-47DB-A16A-B08071999620} = {7FF9FDB9-D504-47DB-A16A-B08071999620} + {8BE398E6-B882-4248-9065-FECC8728E038} = {8BE398E6-B882-4248-9065-FECC8728E038} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "src\core\core.vcxproj", "{868B98C8-65A1-494B-8346-250A73A48C0A}" @@ -811,30 +812,22 @@ Global {39F0ADFF-3A84-470D-9CF0-CA49E164F2F3}.ReleaseUWP|x64.ActiveCfg = ReleaseUWP|x64 {39F0ADFF-3A84-470D-9CF0-CA49E164F2F3}.ReleaseUWP|x86.ActiveCfg = ReleaseUWP|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Debug|ARM64.Build.0 = Debug|ARM64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Debug|x64.ActiveCfg = Debug|x64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Debug|x64.Build.0 = Debug|x64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Debug|x86.ActiveCfg = Debug|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Debug|x86.Build.0 = Debug|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|ARM64.ActiveCfg = DebugFast|ARM64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|ARM64.Build.0 = DebugFast|ARM64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|x64.ActiveCfg = DebugFast|x64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|x64.Build.0 = DebugFast|x64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|x86.ActiveCfg = DebugFast|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|x86.Build.0 = DebugFast|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugUWP|ARM64.ActiveCfg = DebugUWP|ARM64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugUWP|x64.ActiveCfg = DebugUWP|x64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugUWP|x86.ActiveCfg = DebugUWP|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|ARM64.ActiveCfg = Release|ARM64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|ARM64.Build.0 = Release|ARM64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|x64.ActiveCfg = Release|x64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|x64.Build.0 = Release|x64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|x86.ActiveCfg = Release|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|x86.Build.0 = Release|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.ReleaseLTCG|ARM64.ActiveCfg = ReleaseLTCG|ARM64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.ReleaseLTCG|ARM64.Build.0 = ReleaseLTCG|ARM64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.ReleaseLTCG|x64.ActiveCfg = ReleaseLTCG|x64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.ReleaseLTCG|x64.Build.0 = ReleaseLTCG|x64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.ReleaseLTCG|x86.ActiveCfg = ReleaseLTCG|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.ReleaseLTCG|x86.Build.0 = ReleaseLTCG|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.ReleaseUWP|ARM64.ActiveCfg = ReleaseUWP|ARM64 diff --git a/src/common/byte_stream.cpp b/src/common/byte_stream.cpp index 5a2639399..53ba7791b 100644 --- a/src/common/byte_stream.cpp +++ b/src/common/byte_stream.cpp @@ -896,6 +896,105 @@ void GrowableMemoryByteStream::Grow(u32 MinimumGrowth) ResizeMemory(NewSize); } +bool ByteStream::ReadU8(u8* dest) +{ + return Read2(dest, sizeof(u8)); +} + +bool ByteStream::ReadU16(u16* dest) +{ + return Read2(dest, sizeof(u16)); +} + +bool ByteStream::ReadU32(u32* dest) +{ + return Read2(dest, sizeof(u32)); +} + +bool ByteStream::ReadU64(u64* dest) +{ + return Read2(dest, sizeof(u64)); +} + +bool ByteStream::ReadS8(s8* dest) +{ + return Read2(dest, sizeof(s8)); +} + +bool ByteStream::ReadS16(s16* dest) +{ + return Read2(dest, sizeof(s16)); +} + +bool ByteStream::ReadS32(s32* dest) +{ + return Read2(dest, sizeof(s32)); +} + +bool ByteStream::ReadS64(s64* dest) +{ + return Read2(dest, sizeof(s64)); +} + +bool ByteStream::ReadSizePrefixedString(std::string* dest) +{ + u32 size; + if (!Read2(&size, sizeof(size))) + return false; + + dest->resize(size); + if (!Read2(dest->data(), size)) + return false; + + return true; +} + +bool ByteStream::WriteU8(u8 dest) +{ + return Write2(&dest, sizeof(u8)); +} + +bool ByteStream::WriteU16(u16 dest) +{ + return Write2(&dest, sizeof(u16)); +} + +bool ByteStream::WriteU32(u32 dest) +{ + return Write2(&dest, sizeof(u32)); +} + +bool ByteStream::WriteU64(u64 dest) +{ + return Write2(&dest, sizeof(u64)); +} + +bool ByteStream::WriteS8(s8 dest) +{ + return Write2(&dest, sizeof(s8)); +} + +bool ByteStream::WriteS16(s16 dest) +{ + return Write2(&dest, sizeof(s16)); +} + +bool ByteStream::WriteS32(s32 dest) +{ + return Write2(&dest, sizeof(s32)); +} + +bool ByteStream::WriteS64(s64 dest) +{ + return Write2(&dest, sizeof(s64)); +} + +bool ByteStream::WriteSizePrefixedString(const std::string_view& str) +{ + const u32 size = static_cast(str.size()); + return (Write2(&size, sizeof(size)) && (size == 0 || Write2(str.data(), size))); +} + std::unique_ptr ByteStream::OpenFile(const char* fileName, u32 openMode) { if ((openMode & (BYTESTREAM_OPEN_CREATE | BYTESTREAM_OPEN_WRITE)) == BYTESTREAM_OPEN_WRITE) diff --git a/src/common/byte_stream.h b/src/common/byte_stream.h index cc4506cf0..b4f163101 100644 --- a/src/common/byte_stream.h +++ b/src/common/byte_stream.h @@ -2,6 +2,7 @@ #include "types.h" #include #include +#include #include // base byte stream creation functions @@ -76,6 +77,26 @@ public: inline void SetErrorState() { m_errorState = true; } inline void ClearErrorState() { m_errorState = false; } + bool ReadU8(u8* dest); + bool ReadU16(u16* dest); + bool ReadU32(u32* dest); + bool ReadU64(u64* dest); + bool ReadS8(s8* dest); + bool ReadS16(s16* dest); + bool ReadS32(s32* dest); + bool ReadS64(s64* dest); + bool ReadSizePrefixedString(std::string* dest); + + bool WriteU8(u8 dest); + bool WriteU16(u16 dest); + bool WriteU32(u32 dest); + bool WriteU64(u64 dest); + bool WriteS8(s8 dest); + bool WriteS16(s16 dest); + bool WriteS32(s32 dest); + bool WriteS64(s64 dest); + bool WriteSizePrefixedString(const std::string_view& str); + // base byte stream creation functions // opens a local file-based stream. fills in error if passed, and returns false if the file cannot be opened. static std::unique_ptr OpenFile(const char* FileName, u32 OpenMode); diff --git a/src/common/d3d11/shader_cache.cpp b/src/common/d3d11/shader_cache.cpp index 7ed06c32c..1b77c8a62 100644 --- a/src/common/d3d11/shader_cache.cpp +++ b/src/common/d3d11/shader_cache.cpp @@ -167,7 +167,7 @@ std::string ShaderCache::GetCacheBaseFileName(const std::string_view& base_path, bool debug) { std::string base_filename(base_path); - base_filename += "d3d_shaders_"; + base_filename += FS_OSPATH_SEPARATOR_STR "d3d_shaders_"; switch (feature_level) { diff --git a/src/common/d3d12/shader_cache.cpp b/src/common/d3d12/shader_cache.cpp index 4baa09266..4ef40a3e5 100644 --- a/src/common/d3d12/shader_cache.cpp +++ b/src/common/d3d12/shader_cache.cpp @@ -226,7 +226,7 @@ std::string ShaderCache::GetCacheBaseFileName(const std::string_view& base_path, D3D_FEATURE_LEVEL feature_level, bool debug) { std::string base_filename(base_path); - base_filename += "d3d12_"; + base_filename += FS_OSPATH_SEPARATOR_STR "d3d12_"; base_filename += type; base_filename += "_"; diff --git a/src/common/gl/shader_cache.cpp b/src/common/gl/shader_cache.cpp index 3306c4b79..f64055204 100644 --- a/src/common/gl/shader_cache.cpp +++ b/src/common/gl/shader_cache.cpp @@ -2,6 +2,7 @@ #include "../file_system.h" #include "../log.h" #include "../md5_digest.h" +#include "../path.h" #include "../string_util.h" Log_SetChannel(GL::ShaderCache); @@ -251,12 +252,12 @@ ShaderCache::CacheIndexKey ShaderCache::GetCacheKey(const std::string_view& vert std::string ShaderCache::GetIndexFileName() const { - return StringUtil::StdStringFromFormat("%sgl_programs.idx", m_base_path.c_str()); + return Path::Combine(m_base_path, "gl_programs.idx"); } std::string ShaderCache::GetBlobFileName() const { - return StringUtil::StdStringFromFormat("%sgl_programs.bin", m_base_path.c_str()); + return Path::Combine(m_base_path, "gl_programs.bin"); } std::optional ShaderCache::GetProgram(const std::string_view vertex_shader, diff --git a/src/common/http_downloader.cpp b/src/common/http_downloader.cpp index b44dd5db2..ec558595c 100644 --- a/src/common/http_downloader.cpp +++ b/src/common/http_downloader.cpp @@ -7,7 +7,7 @@ Log_SetChannel(HTTPDownloader); static constexpr float DEFAULT_TIMEOUT_IN_SECONDS = 30; static constexpr u32 DEFAULT_MAX_ACTIVE_REQUESTS = 4; -namespace FrontendCommon { +namespace Common { const char HTTPDownloader::DEFAULT_USER_AGENT[] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"; diff --git a/src/common/http_downloader.h b/src/common/http_downloader.h index 2b9e8f82c..5a83aafc7 100644 --- a/src/common/http_downloader.h +++ b/src/common/http_downloader.h @@ -7,7 +7,7 @@ #include #include -namespace FrontendCommon { +namespace Common { class HTTPDownloader { diff --git a/src/common/http_downloader_curl.cpp b/src/common/http_downloader_curl.cpp index 3809a4750..6513817d3 100644 --- a/src/common/http_downloader_curl.cpp +++ b/src/common/http_downloader_curl.cpp @@ -9,7 +9,7 @@ #include Log_SetChannel(HTTPDownloaderCurl); -namespace FrontendCommon { +namespace Common { HTTPDownloaderCurl::HTTPDownloaderCurl() : HTTPDownloader() {} diff --git a/src/common/http_downloader_curl.h b/src/common/http_downloader_curl.h index 3f18ec30b..9fbcf6a57 100644 --- a/src/common/http_downloader_curl.h +++ b/src/common/http_downloader_curl.h @@ -6,7 +6,7 @@ #include #include -namespace FrontendCommon { +namespace Common { class HTTPDownloaderCurl final : public HTTPDownloader { diff --git a/src/common/http_downloader_uwp.cpp b/src/common/http_downloader_uwp.cpp index 3a3573008..e3159923a 100644 --- a/src/common/http_downloader_uwp.cpp +++ b/src/common/http_downloader_uwp.cpp @@ -13,7 +13,7 @@ Log_SetChannel(HTTPDownloaderWinHttp); using namespace winrt::Windows::Foundation; using namespace winrt::Windows::Web::Http; -namespace FrontendCommon { +namespace Common { HTTPDownloaderUWP::HTTPDownloaderUWP(std::string user_agent) : HTTPDownloader(), m_user_agent(std::move(user_agent)) {} diff --git a/src/common/http_downloader_uwp.h b/src/common/http_downloader_uwp.h index f476f5205..3a0be4299 100644 --- a/src/common/http_downloader_uwp.h +++ b/src/common/http_downloader_uwp.h @@ -6,7 +6,7 @@ #include -namespace FrontendCommon { +namespace Common { class HTTPDownloaderUWP final : public HTTPDownloader { diff --git a/src/common/http_downloader_winhttp.cpp b/src/common/http_downloader_winhttp.cpp index 1aa95fb15..cfbc6d7be 100644 --- a/src/common/http_downloader_winhttp.cpp +++ b/src/common/http_downloader_winhttp.cpp @@ -9,7 +9,7 @@ Log_SetChannel(HTTPDownloaderWinHttp); #pragma comment(lib, "winhttp.lib") -namespace FrontendCommon { +namespace Common { HTTPDownloaderWinHttp::HTTPDownloaderWinHttp() : HTTPDownloader() {} diff --git a/src/common/http_downloader_winhttp.h b/src/common/http_downloader_winhttp.h index 5168fbfb0..8fda82232 100644 --- a/src/common/http_downloader_winhttp.h +++ b/src/common/http_downloader_winhttp.h @@ -5,7 +5,7 @@ #include -namespace FrontendCommon { +namespace Common { class HTTPDownloaderWinHttp final : public HTTPDownloader { diff --git a/src/common/lru_cache.h b/src/common/lru_cache.h index 6c76e66cb..aafae1837 100644 --- a/src/common/lru_cache.h +++ b/src/common/lru_cache.h @@ -1,4 +1,5 @@ #pragma once +#include "heterogeneous_containers.h" #include #include @@ -13,7 +14,7 @@ class LRUCache CounterType last_access; }; - using MapType = std::map; + using MapType = std::conditional_t, StringMap, std::map>; public: LRUCache(std::size_t max_capacity = 16, bool manual_evict = false) diff --git a/src/common/threading.cpp b/src/common/threading.cpp index 07428fffc..b814727d9 100644 --- a/src/common/threading.cpp +++ b/src/common/threading.cpp @@ -24,15 +24,18 @@ #include #define gettid() syscall(SYS_gettid) #endif -#else +#elif defined(__APPLE__) +#include +#include +#include +#include +#include #include #endif #endif #ifdef _WIN32 -// This hacky union would probably fail on some cpu platforms if the contents of FILETIME aren't -// packed (but for any x86 CPU and microsoft compiler, they will be). -union FileTimeSucks +union FileTimeU64Union { FILETIME filetime; u64 u64time; @@ -208,18 +211,16 @@ Threading::ThreadHandle& Threading::ThreadHandle::operator=(const ThreadHandle& u64 Threading::ThreadHandle::GetCPUTime() const { -#if defined(_WIN32) -#if 0 +#if defined(_WIN32) && !defined(_UWP) && !defined(_M_ARM64) u64 ret = 0; if (m_native_handle) QueryThreadCycleTime((HANDLE)m_native_handle, &ret); return ret; -#else - FileTimeSucks user = {}, kernel = {}; +#elif defined(_WIN32) + FileTimeU64Union user = {}, kernel = {}; FILETIME dummy; GetThreadTimes((HANDLE)m_native_handle, &dummy, &dummy, &kernel.filetime, &user.filetime); return user.u64time + kernel.u64time; -#endif #elif defined(__APPLE__) return getthreadtime(pthread_mach_thread_np((pthread_t)m_native_handle)); #elif defined(__linux__) @@ -457,17 +458,15 @@ Threading::ThreadHandle& Threading::Thread::operator=(Thread&& thread) u64 Threading::GetThreadCpuTime() { -#if defined(_WIN32) -#if 0 +#if defined(_WIN32) && !defined(_UWP) && !defined(_M_ARM64) u64 ret = 0; QueryThreadCycleTime(GetCurrentThread(), &ret); return ret; -#else - FileTimeSucks user = {}, kernel = {}; +#elif defined(_WIN32) + FileTimeU64Union user = {}, kernel = {}; FILETIME dummy; GetThreadTimes(GetCurrentThread(), &dummy, &dummy, &kernel.filetime, &user.filetime); return user.u64time + kernel.u64time; -#endif #elif defined(__APPLE__) return getthreadtime(pthread_mach_thread_np(pthread_self())); #else @@ -477,17 +476,33 @@ u64 Threading::GetThreadCpuTime() u64 Threading::GetThreadTicksPerSecond() { -#if defined(_WIN32) -#if 0 +#if defined(_WIN32) && !defined(_UWP) && !defined(_M_ARM64) // On x86, despite what the MS documentation says, this basically appears to be rdtsc. // So, the frequency is our base clock speed (and stable regardless of power management). static u64 frequency = 0; - if (unlikely(frequency == 0)) - frequency = x86caps.CachedMHz() * u64(1000000); + if (UNLIKELY(frequency == 0)) + { + frequency = 1000000; + + HKEY hKey; + if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", 0, KEY_READ, &hKey) == + ERROR_SUCCESS) + { + DWORD value; + DWORD value_size = sizeof(value); + if (RegQueryValueExW(hKey, L"~MHz", 0, nullptr, reinterpret_cast(&value), &value_size) == ERROR_SUCCESS) + { + // value is in mhz, convert to hz + frequency *= value; + } + + RegCloseKey(hKey); + } + } + return frequency; -#else +#elif defined(_WIN32) return 10000000; -#endif #elif defined(__APPLE__) return 1000000; @@ -539,3 +554,60 @@ void Threading::SetNameOfCurrentThread(const char* name) pthread_set_name_np(pthread_self(), name); #endif } + +Threading::KernelSemaphore::KernelSemaphore() +{ +#ifdef _WIN32 + m_sema = CreateSemaphore(nullptr, 0, LONG_MAX, nullptr); +#elif defined(__APPLE__) + semaphore_create(mach_task_self(), &m_sema, SYNC_POLICY_FIFO, 0); +#else + sem_init(&m_sema, false, 0); +#endif +} + +Threading::KernelSemaphore::~KernelSemaphore() +{ +#ifdef _WIN32 + CloseHandle(m_sema); +#elif defined(__APPLE__) + semaphore_destroy(mach_task_self(), m_sema); +#else + sem_destroy(&m_sema); +#endif +} + +void Threading::KernelSemaphore::Post() +{ +#ifdef _WIN32 + ReleaseSemaphore(m_sema, 1, nullptr); +#elif defined(__APPLE__) + semaphore_signal(m_sema); +#else + sem_post(&m_sema); +#endif +} + +void Threading::KernelSemaphore::Wait() +{ +#ifdef _WIN32 + WaitForSingleObject(m_sema, INFINITE); +#elif defined(__APPLE__) + semaphore_wait(m_sema); +#else + sem_wait(&m_sema); +#endif +} + +bool Threading::KernelSemaphore::TryWait() +{ +#ifdef _WIN32 + return WaitForSingleObject(m_sema, 0) == WAIT_OBJECT_0; +#elif defined(__APPLE__) + mach_timespec_t time = {}; + kern_return_t res = semaphore_timedwait(m_sema, time); + return (res != KERN_OPERATION_TIMED_OUT); +#else + return sem_trywait(&m_sema) == 0; +#endif +} diff --git a/src/common/types.h b/src/common/types.h index 9a7645c93..c7fbc52e5 100644 --- a/src/common/types.h +++ b/src/common/types.h @@ -55,6 +55,16 @@ char (&__countof_ArraySizeHelper(T (&array)[N]))[N]; #define printflike(n,m) #endif +#ifdef _MSC_VER +// TODO: Use C++20 [[likely]] when available. +#define LIKELY(x) (!!(x)) +#define UNLIKELY(x) (!!(x)) +#else +#define LIKELY(x) __builtin_expect(!!(x), 1) +#define UNLIKELY(x) __builtin_expect(!!(x), 0) +#endif + + // disable warnings that show up at warning level 4 // TODO: Move to build system instead #ifdef _MSC_VER diff --git a/src/common/vulkan/shader_cache.cpp b/src/common/vulkan/shader_cache.cpp index e7f1a8c1b..786f03000 100644 --- a/src/common/vulkan/shader_cache.cpp +++ b/src/common/vulkan/shader_cache.cpp @@ -386,7 +386,7 @@ void ShaderCache::ClosePipelineCache() std::string ShaderCache::GetShaderCacheBaseFileName(const std::string_view& base_path, bool debug) { std::string base_filename(base_path); - base_filename += "vulkan_shaders"; + base_filename += FS_OSPATH_SEPARATOR_STR "vulkan_shaders"; if (debug) base_filename += "_debug"; @@ -397,7 +397,7 @@ std::string ShaderCache::GetShaderCacheBaseFileName(const std::string_view& base std::string ShaderCache::GetPipelineCacheBaseFileName(const std::string_view& base_path, bool debug) { std::string base_filename(base_path); - base_filename += "vulkan_pipelines"; + base_filename += FS_OSPATH_SEPARATOR_STR "vulkan_pipelines"; if (debug) base_filename += "_debug"; diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 85804eef5..f6239e687 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1,4 +1,5 @@ add_library(core + achievements.h analog_controller.cpp analog_controller.h analog_joystick.cpp @@ -28,6 +29,8 @@ add_library(core digital_controller.h dma.cpp dma.h + game_database.cpp + game_database.h gdb_protocol.cpp gdb_protocol.h gpu.cpp @@ -48,21 +51,18 @@ add_library(core gpu_sw_backend.cpp gpu_sw_backend.h gpu_types.h + guncon.cpp + guncon.h gte.cpp gte.h gte_types.h + host.cpp host.h host_display.cpp host_display.h - host_interface.cpp - host_interface.h host_interface_progress_callback.cpp host_interface_progress_callback.h host_settings.h - imgui_styles.cpp - imgui_styles.h - imgui_fullscreen.cpp - imgui_fullscreen.h interrupt_controller.cpp interrupt_controller.h libcrypt_game_codes.cpp @@ -75,8 +75,6 @@ add_library(core memory_card_image.h multitap.cpp multitap.h - namco_guncon.cpp - namco_guncon.h negcon.cpp negcon.h pad.cpp @@ -123,7 +121,7 @@ set(RECOMPILER_SRCS target_include_directories(core PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..") target_include_directories(core PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..") target_link_libraries(core PUBLIC Threads::Threads common util zlib) -target_link_libraries(core PRIVATE glad stb xxhash imgui) +target_link_libraries(core PRIVATE glad stb xxhash imgui rapidjson tinyxml2) if(WIN32) target_sources(core PRIVATE @@ -161,10 +159,5 @@ else() endif() if(ENABLE_CHEEVOS) - target_sources(core PRIVATE - cheevos.cpp - cheevos.h - ) - target_compile_definitions(core PUBLIC -DWITH_CHEEVOS=1) - target_link_libraries(core PRIVATE rcheevos rapidjson) + target_compile_definitions(core PRIVATE -DWITH_CHEEVOS=1) endif() diff --git a/src/core/achievements.h b/src/core/achievements.h new file mode 100644 index 000000000..51d575019 --- /dev/null +++ b/src/core/achievements.h @@ -0,0 +1,55 @@ +#pragma once +#include "common/types.h" + +class StateWrapper; +class CDImage; + +namespace Achievements { + +#ifdef WITH_CHEEVOS + +// Implemented in Host. +extern bool Reset(); +extern bool DoState(StateWrapper& sw); +extern void GameChanged(const std::string& path, CDImage* image); + +/// Re-enables hardcode mode if it is enabled in the settings. +extern void ResetChallengeMode(); + +/// Forces hardcore mode off until next reset. +extern void DisableChallengeMode(); + +/// Prompts the user to disable hardcore mode, if they agree, returns true. +extern bool ConfirmChallengeModeDisable(const char* trigger); + +/// Returns true if features such as save states should be disabled. +extern bool ChallengeModeActive(); + +#else + +// Make noops when compiling without cheevos. +static inline bool Reset() +{ + return true; +} +static inline bool DoState(StateWrapper& sw) +{ + return true; +} +static constexpr inline bool ChallengeModeActive() +{ + return false; +} + +static inline void ResetChallengeMode() {} + +static inline void DisableChallengeMode() {} + +static inline bool ConfirmChallengeModeDisable(const char* trigger) +{ + return true; +} + +#endif + +} // namespace Achievements diff --git a/src/core/analog_controller.cpp b/src/core/analog_controller.cpp index ab5455c4a..b2b213290 100644 --- a/src/core/analog_controller.cpp +++ b/src/core/analog_controller.cpp @@ -1,14 +1,14 @@ #include "analog_controller.h" #include "common/log.h" #include "common/string_util.h" -#include "host_interface.h" +#include "host.h" #include "settings.h" #include "system.h" #include "util/state_wrapper.h" #include Log_SetChannel(AnalogController); -AnalogController::AnalogController(u32 index) : m_index(index) +AnalogController::AnalogController(u32 index) : Controller(index) { m_axis_state.fill(0x80); Reset(); @@ -29,7 +29,12 @@ void AnalogController::Reset() m_tx_buffer.fill(0x00); m_analog_mode = false; m_configuration_mode = false; - m_motor_state.fill(0); + + for (u32 i = 0; i < NUM_MOTORS; i++) + { + if (m_motor_state[i] != 0) + SetMotorState(i, 0); + } m_dualshock_enabled = false; ResetRumbleConfig(); @@ -40,8 +45,8 @@ void AnalogController::Reset() { if (g_settings.controller_disable_analog_mode_forcing) { - g_host_interface->AddOSDMessage( - g_host_interface->TranslateStdString( + Host::AddOSDMessage( + Host::TranslateStdString( "OSDMessage", "Analog mode forcing is disabled by game settings. Controller will start in digital mode."), 10.0f); } @@ -88,72 +93,42 @@ bool AnalogController::DoState(StateWrapper& sw, bool apply_input_state) if (old_analog_mode != m_analog_mode) { - g_host_interface->AddFormattedOSDMessage( + Host::AddFormattedOSDMessage( 5.0f, - m_analog_mode ? - g_host_interface->TranslateString("AnalogController", "Controller %u switched to analog mode.") : - g_host_interface->TranslateString("AnalogController", "Controller %u switched to digital mode."), + m_analog_mode ? Host::TranslateString("AnalogController", "Controller %u switched to analog mode.") : + Host::TranslateString("AnalogController", "Controller %u switched to digital mode."), m_index + 1u); } } return true; } -std::optional AnalogController::GetAxisCodeByName(std::string_view axis_name) const +float AnalogController::GetBindState(u32 index) const { - return StaticGetAxisCodeByName(axis_name); -} + if (index >= static_cast(Button::Count)) + { + const u32 sub_index = index - static_cast(Button::Count); + if (sub_index >= static_cast(m_half_axis_state.size())) + return 0.0f; -std::optional AnalogController::GetButtonCodeByName(std::string_view button_name) const -{ - return StaticGetButtonCodeByName(button_name); -} - -float AnalogController::GetAxisState(s32 axis_code) const -{ - if (axis_code < 0 || axis_code >= static_cast(Axis::Count)) + return static_cast(m_half_axis_state[sub_index]) * (1.0f / 255.0f); + } + else if (index < static_cast(Button::Analog)) + { + return static_cast(((m_button_state >> index) & 1u) ^ 1u); + } + else + { return 0.0f; - - // 0..255 -> -1..1 - const float value = (((static_cast(m_axis_state[static_cast(axis_code)]) / 255.0f) * 2.0f) - 1.0f); - return std::clamp(value / m_axis_scale, -1.0f, 1.0f); + } } -void AnalogController::SetAxisState(s32 axis_code, float value) +void AnalogController::SetBindState(u32 index, float value) { - if (axis_code < 0 || axis_code >= static_cast(Axis::Count)) - return; - - // -1..1 -> 0..255 - const float scaled_value = std::clamp(value * m_axis_scale, -1.0f, 1.0f); - const u8 u8_value = static_cast(std::clamp(std::round(((scaled_value + 1.0f) / 2.0f) * 255.0f), 0.0f, 255.0f)); - - SetAxisState(static_cast(axis_code), u8_value); -} - -void AnalogController::SetAxisState(Axis axis, u8 value) -{ - if (value != m_axis_state[static_cast(axis)]) - System::SetRunaheadReplayFlag(); - - m_axis_state[static_cast(axis)] = value; -} - -bool AnalogController::GetButtonState(s32 button_code) const -{ - if (button_code < 0 || button_code >= static_cast(Button::Analog)) - return false; - - const u16 bit = u16(1) << static_cast(button_code); - return ((m_button_state & bit) == 0); -} - -void AnalogController::SetButtonState(Button button, bool pressed) -{ - if (button == Button::Analog) + if (index == static_cast(Button::Analog)) { // analog toggle - if (pressed) + if (value >= 0.5f) { if (m_command == Command::Idle) ProcessAnalogModeToggle(); @@ -163,10 +138,58 @@ void AnalogController::SetButtonState(Button button, bool pressed) return; } + else if (index >= static_cast(Button::Count)) + { + const u32 sub_index = index - static_cast(Button::Count); + if (sub_index >= static_cast(m_half_axis_state.size())) + return; - const u16 bit = u16(1) << static_cast(button); + value = ApplyAnalogDeadzoneSensitivity(m_analog_deadzone, m_analog_sensitivity, value); + const u8 u8_value = static_cast(std::clamp(value * 255.0f, 0.0f, 255.0f)); + if (u8_value == m_half_axis_state[sub_index]) + return; - if (pressed) + m_half_axis_state[sub_index] = u8_value; + System::SetRunaheadReplayFlag(); + +#define MERGE(pos, neg) \ + ((m_half_axis_state[static_cast(pos)] != 0) ? (127u + ((m_half_axis_state[static_cast(pos)] + 1u) / 2u)) : \ + (127u - (m_half_axis_state[static_cast(neg)] / 2u))) + + switch (static_cast(sub_index)) + { + case HalfAxis::LLeft: + case HalfAxis::LRight: + m_axis_state[static_cast(Axis::LeftX)] = MERGE(HalfAxis::LRight, HalfAxis::LLeft); + break; + + case HalfAxis::LDown: + case HalfAxis::LUp: + m_axis_state[static_cast(Axis::LeftY)] = MERGE(HalfAxis::LDown, HalfAxis::LUp); + break; + + case HalfAxis::RLeft: + case HalfAxis::RRight: + m_axis_state[static_cast(Axis::RightX)] = MERGE(HalfAxis::RRight, HalfAxis::RLeft); + break; + + case HalfAxis::RDown: + case HalfAxis::RUp: + m_axis_state[static_cast(Axis::RightY)] = MERGE(HalfAxis::RDown, HalfAxis::RUp); + break; + + default: + break; + } + +#undef MERGE + + return; + } + + const u16 bit = u16(1) << static_cast(index); + + if (value >= 0.5f) { if (m_button_state & bit) System::SetRunaheadReplayFlag(); @@ -182,14 +205,6 @@ void AnalogController::SetButtonState(Button button, bool pressed) } } -void AnalogController::SetButtonState(s32 button_code, bool pressed) -{ - if (button_code < 0 || button_code >= static_cast(Button::Count)) - return; - - SetButtonState(static_cast