Compare commits

...

280 Commits

Author SHA1 Message Date
Admiral H. Curtiss 66d8a89220 Merge pull request #14788 from phire/mach_msg_alignment
Mach exception thread: Fix msg alignment
2026-08-03 16:04:47 +02:00
Scott Mansell 9c5ff6b248 Mach exception thread: Fix msg alignment
msg_in and msg_out were ending up with only 4-byte alignment, which
is undefined behaviour, since they contain 64-bit fields. Probably
doesn't cause any issues, but it showed up in ubsan.
2026-08-03 22:46:45 +12:00
Admiral H. Curtiss 4af65cbed0 Merge pull request #14785 from JosJuice/fix-texture-count
VideoCommon: Fix custom texture count in OSD message
2026-08-02 14:19:09 +02:00
JosJuice f5be1c30e5 VideoCommon: Fix custom texture count in OSD message
83dc468 broke the OSD message that shows the number of custom textures.
If Prefetch Custom Textures was disabled, the number would always be 0.
2026-08-02 10:11:15 +02:00
Scott Mansell 35925ceb15 Merge pull request #14777 from tygyh/Use-designated-constructors
Use designated constructors
2026-08-02 15:59:42 +12:00
Dr. Dystopia be3ad38ec7 Use designated constructors 2026-08-01 21:37:43 +02:00
Scott Mansell 5c6dcce721 Merge pull request #14758 from JoshuaVandaele/egl-platform-nowayland
Forbid EGL_PLATFORM to be "wayland"
2026-08-02 02:57:00 +12:00
JosJuice ad7e793548 Merge pull request #14768 from phire/security/gcz_overflows
Better validation and handling of GCZ
2026-08-01 12:26:10 +02:00
Scott Mansell 3c63788e01 Merge pull request #14776 from tygyh/Core/Use-static-cast
Replace functional cast with `static_cast`
2026-08-01 22:17:15 +12:00
Scott Mansell 463bcb8aeb Merge pull request #14781 from sepalani/gai-error
IP/Top: Add getaddrinfo() error log message
2026-08-01 22:15:10 +12:00
Sepalani a3a43f9bd2 IP/Top: Add getaddrinfo() error log message 2026-07-31 18:25:54 +04:00
Joshua Vandaële 1c2b7fbf7f EGLX11: Forbid EGL_PLATFORM to be "wayland" 2026-07-31 10:34:00 +02:00
Scott Mansell f1b4345d08 Merge pull request #14755 from JoshuaVandaele/cmakeupd-qt-useless-dlls
windeployqt: Disable uneeded DLLs
2026-07-31 18:00:43 +12:00
Scott Mansell 3bd410c4c5 Merge pull request #14775 from tygyh/Replace-zero-constants-with-nullptr
Replace zero constants with `nullptr`
2026-07-31 13:49:48 +12:00
OatmealDome e463c64b7a Merge pull request #14779 from phire/cmake_osx_sysroot
Make sure CMAKE_OSX_SYSROOT is set
2026-07-30 19:54:12 -04:00
Scott Mansell 74c51895c8 Merge pull request #13452 from tygyh/Use-structured-binding-DolphinQt-FifoAnalyzer
DolphinQt/FIFO/FifoAnalyzer: Use structured bindings
2026-07-31 01:02:32 +12:00
Scott Mansell 5e1e4dbc4c Merge pull request #14778 from JoshuaVandaele/about-enable-sdl
AboutDialog: Fix compilation with ENABLE_SDL=OFF
2026-07-31 00:57:12 +12:00
Dr. Dystopia a5552e612c Replace functional cast with static_cast 2026-07-30 14:18:47 +02:00
Scott Mansell dbbe5c403e Make sure CMAKE_OSX_SYSROOT is set
Otherwise we can get some really weird build issues
2026-07-30 23:36:01 +12:00
Scott Mansell 20fea85b53 Merge pull request #14765 from slick-daddy/opt-6
InputCommon: return the device list directly in GetAllDevices
2026-07-30 21:10:41 +12:00
JosJuice 8b8d0847ae Merge pull request #14725 from matheuswillder/NFS-Codes-update
GameINI: Update codes to unlock Black Edition and Collector's Edition in Need for Speed (update to #14581)
2026-07-29 22:49:32 +02:00
Joshua Vandaële d5e3c2bcfc AboutDialog: Fix compilation with ENABLE_SDL=OFF 2026-07-29 21:27:06 +02:00
Dr. Dystopia 61e97c9a09 Replace zero constants with nullptr 2026-07-29 18:15:38 +02:00
Scott Mansell 73de7b8d3e Merge pull request #13502 from tygyh/Replace-lazy-implementation-Tools-find-includes-cycles
Tools/find-includes-cycles: Replace lazy implementation
2026-07-29 18:25:39 +12:00
Scott Mansell e9317dbe48 Merge pull request #14115 from techflashYT/elf-loader-fix
Core/Boot: Fix ELF load address semantics
2026-07-29 18:12:24 +12:00
Scott Mansell a7345f8bde Merge pull request #14753 from matellush/flatpak-libevdev
Flatpak: Bump `libevdev` to the latest version
2026-07-29 17:52:35 +12:00
Scott Mansell c863abc0d3 Merge pull request #14770 from JoshuaVandaele/gen-approved-hash
AchievementApprovedHash: Automatically generate hash using CMake
2026-07-29 17:49:48 +12:00
Scott Mansell 9b726fd56b Merge pull request #13543 from tygyh/DiscIO-Use-views-keys
DiscIO: Use views::keys
2026-07-29 17:49:24 +12:00
Scott Mansell a3a5834100 Merge pull request #14766 from phire/security/dol_reader
DolReader: Fix integer wraparound
2026-07-29 13:30:04 +12:00
Scott Mansell 1c10b9e9ab Merge pull request #14738 from tygyh/Replace-concatination-with-stdformat
Replace string concatination with `fmt::format`
2026-07-29 13:28:58 +12:00
Scott Mansell 475f35e2fa Merge pull request #14747 from AdmiralCurtiss/dsp-hle-oob
HW/DSPHLE/AXVoice: Check array bounds in ApplyUpdatesForMs()
2026-07-29 13:26:27 +12:00
Scott Mansell 443094f020 Merge pull request #14751 from JoshuaVandaele/vendor-flatpak-sdl
Flatpak: Use vendored-in SDL
2026-07-29 13:26:04 +12:00
Scott Mansell fa80e2bc9a Merge pull request #14754 from JoshuaVandaele/cmakeupd-sdl-3412
Externals/SDL: Update to release-3.4.12
2026-07-29 13:25:29 +12:00
Scott Mansell 3c4659ce34 Merge pull request #14757 from JoshuaVandaele/cmake-version-check
CMake: Improve our version checking
2026-07-29 13:24:59 +12:00
Scott Mansell bc6688c0aa Merge pull request #14752 from JoshuaVandaele/about-sdl
AboutDialog: Report the SDL version being used
2026-07-29 13:23:16 +12:00
Dr. Dystopia 08e183d322 Replace string concatination with fmt::format 2026-07-28 12:39:54 +02:00
Scott Mansell 4782a04c20 GCZ: use 64-bit for m_data_offset
A malicious GCZ file could probably force this to be negative.
Shouldn't cause any issues other than file read failures, but need to fix
because it is causing errors on MSVC.
2026-07-28 19:44:49 +12:00
Scott Mansell feeb36bf07 GCZ: validate while loading 2026-07-28 19:44:49 +12:00
Scott Mansell ffb0e2c594 GCZ: Don't trust block_num either
SectorReader::ReadChunk does do some validation on it, but it only
checks against the original disc size (reported by the GCZ file).
It has no idea how many blocks the header claimed the disc had.

A maliciously crafted GCZ file could trigger read overflows off the end
of the m_block_pointers/m_hashes arrays.
2026-07-28 19:44:49 +12:00
Scott Mansell a3740b5f71 GCZ: Don't trust GetBlockCompressedSize
It comes unverified from the file, and a maliciously crafted file could
trigger not one, but two buffer overflows in the heap.
2026-07-28 19:44:49 +12:00
Scott Mansell 8fb464040c DolReader: Fix integer wraparound
A malicious dol could theoretically use integer wraparound to bypass
bounds checking and cause DolReader to read past the end of m_bytes.

Could result in crashes, wasting large amounts of memory, or even the
disclosure of heap memory contents.
2026-07-27 21:15:51 +12:00
Joshua Vandaële 55c015e6ac AchievementApprovedHash: Automatically generate hash using CMake 2026-07-27 07:09:11 +02:00
slick-daddy aa2167d473 Return m_devices directly in GetAllDevices(). 2026-07-27 06:15:36 +03:00
Matheus Willder 7788e6824e Update codes to unlock Black Edition and Collector's Edition in Need for Speed 2026-07-26 16:26:12 +00:00
JosJuice d742aa8b4c Merge pull request #14756 from JoshuaVandaele/gcc16-warns-fix
Resolve various warnings
2026-07-26 17:37:10 +02:00
matellush 47d82300a9 Flatpak: Bump libevdev to the latest version 2026-07-25 19:22:35 +02:00
Joshua Vandaële 24361f49d1 CMake: Enforce minimum stdlib versions 2026-07-25 06:10:43 +02:00
Joshua Vandaële 32c5f09767 Socket: Resolve incorrect include warning
This is a musl warning, according to fcntl.h's man page, the include should always be <fcntl.h> anyways
2026-07-25 05:19:26 +02:00
Joshua Vandaële f1a639b12b CWDemangler: Resolve missing-declarations warnings 2026-07-25 05:19:26 +02:00
Joshua Vandaële b0a46872eb DolphinQt/Config: Resolve sign-compare warnings 2026-07-25 05:19:26 +02:00
Joshua Vandaële 682490c220 FileSystemCommon: Resolve maybe-uninitialized warning 2026-07-25 05:19:26 +02:00
Joshua Vandaële 69527ec44b DirectoryBlob: Resolve reorder warning 2026-07-25 05:19:26 +02:00
Joshua Vandaële 1edea92358 HSP_DeviceGBPlayer: Resolve shadowed variable warning 2026-07-25 05:19:26 +02:00
Joshua Vandaële d7615aa0b0 AboutDialog: Report the SDL version being used 2026-07-25 04:42:07 +02:00
Joshua Vandaële 13238340ae CMake: Enforce minimum toolset versions 2026-07-25 04:32:28 +02:00
Joshua Vandaële f98c974a0d CMake: Update compiler version checking
We now only show the minimum version of the compiler being used to build Dolphin instead of all supported compilers.
2026-07-25 04:32:28 +02:00
OatmealDome 707d3c7a73 Merge pull request #14475 from JoshuaVandaele/cmake-replaces-vs
CMake: Replace the Visual Studio project
2026-07-24 22:28:25 -04:00
Joshua Vandaële 9cd05b9387 Externals/SDL: Update to release-3.4.12
We are updating from 3.4.8

Changes relevant to us include:
3.4.10:
- Added controller sensor support for GameInput v3
- Fixed Ipega controllers being ignored in keyboard mode
- Added support for GameCube rumble when the adapter is in PC mode and has the latest firmware
- Fixed rumble on the new Steam Controller
- Added support for the GameSir Super Nova in Xbox 360 mode
- Added support for the PDP Afterglow Wave Wireless Controller for Switch
3.4.12:
- Added hotplug detection support when using libusb for HIDAPI controllers
- Fixed flipped Xbox 360 controller axes on macOS

It's not in the changelogs, but 3.4.10 is the revision which allowed for my Steam Controller's gyro to properly work in Dolphin
2026-07-24 21:02:45 +02:00
Joshua Vandaële 6ec57bcc5d windeployqt: Disable uneeded DLLs
Since our bump to Qt, dxcompiler.dll and dxil.dll have been added alongside other Qt dlls as part of QtGui. Those DLLs are not needed since we use QtWidgets and not QML.
2026-07-24 20:56:31 +02:00
Joshua Vandaële c1261e7406 CMake: Introduce Presets, replacing Settings
This introduces a CMakePresets file for both Unix-likes and Windows that replace the old CMakeSettings.

It adds presets for **Debug** and **Release** profiles for both **x64** and **ARM64** architectures, as well as **Generic builds**.
Presets can be used using[ Visual Studio's built-in CMakePresets support](https://learn.microsoft.com/en-us/cpp/build/cmake-presets-vs?view=msvc-170), or [Visual Studio Code's CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) extension.

They can also be used from the command line, like so:

- x64/Unix-like/Ninja:
  - Configure: `cmake --preset ninja-release-x64`
  - Build: `cmake --build --preset ninja-build-release-x64`
  - Configure + Build: `cmake --workflow --preset ninja-release-x64`
- ARM64/Windows/Visual Studio:
  - Configure: `cmake --preset visualstudio-release-arm64`
  - Build: `cmake --build --preset visualstudio-build-release-arm64`
  - Configure + Build: `cmake --workflow --preset visualstudio-release-arm64`

The Ninja generator is available to both Windows and Unix-likes, while the Visual Studio Generator is only available on Windows.

**Cross-compiling**

On **Windows**, the Visual Studio generator automatically takes care of everything, you just need to select an ARM64 preset.

On **Unix-likes**, to cross-compile you need to install a cross-compiler and (optionally) a sysroot of the target system.
Here is an example to compile from x64 to ARM64 with a sysroot:

- `cmake --preset ninja-release-arm64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SYSROOT=/opt/sysroots/aarch64-linux-gnu`
- `cmake --build --preset ninja-build-release-arm64`

You will need a sysroot to link against Qt, since we do not vendor it in on platforms other than Windows.

**User presets**

A `CMakeUserPresets.json` file may be created locally at the root of the project to further customize your presets.
For example, here are the user presets I used to test this PR on Arch Linux with a generic Arch Linux ARM sysroot:

```json
{
  "version": 10,
  "configurePresets": [
    {
      "name": "gcc-debug-arm64",
      "inherits": "ninja-debug-arm64",
      "cacheVariables": {
        "CMAKE_C_COMPILER": "aarch64-linux-gnu-gcc",
        "CMAKE_CXX_COMPILER": "aarch64-linux-gnu-g++",
        "CMAKE_EXE_LINKER_FLAGS": "-L/opt/sysroots/ArchLinuxARM/lib",
        "CMAKE_SYSROOT": "/opt/sysroots/ArchLinuxARM"
      }
    },
    {
      "name": "clang-debug-arm64",
      "inherits": "ninja-debug-arm64",
      "cacheVariables": {
        "CMAKE_C_COMPILER": "clang",
        "CMAKE_CXX_COMPILER": "clang++",
        "CMAKE_C_FLAGS": "-target aarch64-linux-gnu",
        "CMAKE_CXX_FLAGS": "-target aarch64-linux-gnu",
        "CMAKE_SYSROOT": "/opt/sysroots/ArchLinuxARM"
      }
    },
    {
      "name": "clang-debug-x64",
      "inherits": "ninja-debug-x64",
      "cacheVariables": {
        "CMAKE_C_COMPILER": "clang",
        "CMAKE_CXX_COMPILER": "clang++"
      }
    }
  ],
  "buildPresets": [
    {
      "name": "gcc-build-debug-arm64",
      "configurePreset": "gcc-debug-arm64"
    },
    {
      "name": "clang-build-debug-arm64",
      "configurePreset": "clang-debug-arm64"
    },
    {
      "name": "clang-build-debug-x64",
      "configurePreset": "clang-debug-x64"
    }
  ],
  "workflowPresets": [
    {
      "name": "gcc-debug-arm64",
      "steps": [
        { "type": "configure", "name": "gcc-debug-arm64" },
        { "type": "build", "name": "gcc-build-debug-arm64" }
      ]
    },
    {
      "name": "clang-debug-arm64",
      "steps": [
        { "type": "configure", "name": "clang-debug-arm64" },
        { "type": "build", "name": "clang-build-debug-arm64" }
      ]
    },
    {
      "name": "clang-debug-x64",
      "steps": [
        { "type": "configure", "name": "clang-debug-x64" },
        { "type": "build", "name": "clang-build-debug-x64" }
      ]
    }
  ]
}
```

They are then used like so:
Configure + Build with GCC: `cmake --workflow --preset gcc-debug-arm64`
Configure + Build with Clang: `cmake --workflow --preset clang-debug-arm64`
Configure + Build with Clang (x64): `cmake --workflow --preset clang-debug-x64`

*Addendum: It should also now be possible to cross-compile from Windows to Unix-likes, and Unix-like to other Unix-like (e.g. Linux -> FreeBSD), however this is untested.*
2026-07-24 03:45:13 +02:00
Joshua Vandaële c7b621ad08 CMake: Set VS startup project to dolphin-emu 2026-07-24 03:45:13 +02:00
Joshua Vandaële fa83b0fe49 CMake: Disable install targets on Windows 2026-07-24 03:45:13 +02:00
Joshua Vandaële 8366609fc1 CMake: Error out if trying to build generic builds on Windows
Generic builds have never been supported on Windows.
2026-07-24 03:45:13 +02:00
Joshua Vandaële 808a82d5dd CMake: Bump minimum requirement to 3.25 2026-07-24 03:45:13 +02:00
Joshua Vandaële 6da4bc38e1 CMake: Unify output directory 2026-07-24 03:45:13 +02:00
Joshua Vandaële 3d9f46cd64 CMake: Remove LINUX_LOCAL_DEV and symlink required files 2026-07-24 03:45:13 +02:00
Joshua Vandaële fa2a250f01 CMake: Unify sys directories 2026-07-24 03:45:13 +02:00
Joshua Vandaële a30aa5cf36 CMake: Unify translation directories 2026-07-24 03:45:13 +02:00
Joshua Vandaële 20bded8066 CMake: PDBs outside of Binaries 2026-07-24 03:45:13 +02:00
Joshua Vandaële d2833fb788 Remove Visual Studio Projects and Solutions in favor of CMake 2026-07-24 03:45:13 +02:00
Joshua Vandaële 2eebf6fc28 Flatpak: Use vendored-in SDL 2026-07-24 02:53:28 +02:00
OatmealDome d6e803e63d Merge pull request #14737 from matellush/flatpak-runtime
Flatpak: Update runtime to `6.11`
2026-07-23 20:02:57 -04:00
matellush a7f5427279 Flatpak: Update runtime to 6.11 2026-07-23 22:46:23 +02:00
OatmealDome e2013caea0 Merge pull request #14748 from OatmealDome/mac-ccache
BuildMacOSUniversalBinary: Add flag to enable CCache
2026-07-22 20:32:09 -04:00
Scott Mansell 03e409a3e1 Merge pull request #14749 from tygyh/Replace-conditions-with-regex
UICommon: Replace `find != std::npos` with `contains`
2026-07-23 09:27:47 +12:00
OatmealDome c490bc2c2e BuildMacOSUniversalBinary: Add flag to enable CCache 2026-07-22 17:11:18 -04:00
Admiral H. Curtiss af38db4a23 HW/DSPHLE/AXVoice: Prefer BitCastPtr over BitCastToArray in ApplyUpdatesForMs() 2026-07-22 12:18:43 +02:00
Dr. Dystopia 2ca2a5c875 UICommon: Replace find != std::npos with contains 2026-07-22 12:15:55 +02:00
Admiral H. Curtiss d5d2f7c8fb HW/DSPHLE/AXVoice: Check array bounds in ApplyUpdatesForMs()
Fixes https://github.com/dolphin-emu/dolphin/security/advisories/GHSA-4q28-hhjv-hf3f
2026-07-22 11:53:12 +02:00
Scott Mansell b008142f72 Merge pull request #14436 from cbartondock/master
Loading custom textures using combination of elf/dol game ids and iso game ids.
2026-07-22 09:54:01 +12:00
Scott Mansell 00626b263f Merge pull request #14744 from acts-1631/security/elf-reader-bounds
Core/Boot: validate standalone ELF input ranges
2026-07-21 14:58:38 +12:00
Jordan Woyak b24783f84d Merge pull request #14743 from AdmiralCurtiss/sockaddr-init
IOS/NetIPTopDevice: Zero-initialize sockaddr structs
2026-07-20 20:17:44 -05:00
Acts1631 49453c045c Core: log invalid ELF input
Log each rejected ELF header, range, and symbol reference. This
provides actionable diagnostics for malformed files without changing the
validation behavior.
2026-07-20 21:10:29 -04:00
Acts1631 24aafdeb47 Core: validate standalone ELF input ranges
ElfReader trusted table offsets and counts from standalone ELF files.
Malformed input could make it read and write past the loaded file buffer.

Validate the ELF header, table ranges, segment data, section data, and
string-table references before accessing them. Invalid files use the
existing executable boot failure path.
2026-07-20 19:50:54 -04:00
Admiral H. Curtiss 95ee7de40e IOS/NetIPTopDevice: Zero-initialize sockaddr structs
Fixes https://github.com/dolphin-emu/dolphin/security/advisories/GHSA-5fqv-9qrg-gm4j
2026-07-21 01:30:30 +02:00
Admiral H. Curtiss da1aad5188 Merge pull request #14740 from acts-1631/security/netplay-lzo-bounds
NetPlay: bound LZO decompression output
2026-07-21 01:30:10 +02:00
Acts1631 5b9961b0c6 NetPlay: bound LZO decompression output
NetPlay save synchronization decoded remote LZO blocks with the unsafe
decoder and no output capacity. A malicious host could overflow a client
buffer with a block larger than its declared size.

Use the bounds-checking decoder, validate the declared output length, and
grow buffer results only after each checked block has been decoded.
2026-07-19 21:28:23 -04:00
Scott Mansell cb9df12645 Merge pull request #14739 from JoshuaVandaele/mod-convert
GameFile: Disallow mods from being converted
2026-07-20 12:34:50 +12:00
Joshua Vandaële 48b640c8bb GameFile: Disallow mods from being converted 2026-07-19 23:50:05 +02:00
JosJuice 415ec4de18 Merge pull request #14673 from tommywaaf/android-dolphinbar-balance-board
Android: Route DolphinBar Balance Board to the Balance Board slot
2026-07-18 12:34:53 +02:00
Scott Mansell b6d8bc299e Merge pull request #14726 from JosJuice/gcadapter-deregister-on-thread-end
GCAdapter: Deregister callback when scan thread exits
2026-07-16 08:58:02 +12:00
Admiral H. Curtiss 81402ca6aa Merge pull request #14732 from khang06/small-tmd-check
IOS/ES: Prevent reading TMDs that are too small
2026-07-15 22:08:12 +02:00
cbartondock 83dc4685aa waterfall loading of textures via id to prefer elfid-gameid when launched via elf; fallback to gameid if no match 2026-07-15 12:02:16 -07:00
Khang 900febec29 IOS/ES: Prevent reading TMDs that are too small 2026-07-15 02:12:31 -04:00
Scott Mansell fd8391a852 Merge pull request #14263 from JoshuaVandaele/ccache-toggle
CCache: Set as opt-in by default
2026-07-15 17:48:30 +12:00
Scott Mansell 566519d135 Merge pull request #14222 from Sintendo/ppcsymboldb-lookup
PPCSymbolDB: Avoid double lookups
2026-07-15 17:46:54 +12:00
Scott Mansell ee5eba860d Merge pull request #14651 from DacoTaco/fixes/dolalignment
fixes: make dolreader validate section addresses and sizes
2026-07-15 17:08:11 +12:00
Scott Mansell 552126a0e6 Merge pull request #14675 from JosJuice/game-ini-gbihf-texcache
GameSettings: Remove SafeTextureCacheColorSamples from gbihf
2026-07-15 17:01:46 +12:00
Scott Mansell 1ab4403c23 Merge pull request #14703 from JoshuaVandaele/miniupnpc-arm64-cross
Externals/miniupnpc: Disable warnings
2026-07-15 17:00:28 +12:00
Scott Mansell d895ed7d5c Merge pull request #14722 from idkwhere1sthisname/master
IOS/ES: allow Wii System Transfer and WagonCompat Transfer Tool to pass SetUID check
2026-07-15 16:45:43 +12:00
Dentomologist d3b2943807 Merge pull request #14705 from JosJuice/directoryblob-dtk-comment
DiscIO: Add DTK alignment comment in DirectoryBlob
2026-07-14 13:52:09 -07:00
Dentomologist 00beaa84a5 Merge pull request #14730 from JoshuaVandaele/contributing-cxx-standard
Contributing.md: Update C++20 mentions to C++23
2026-07-14 11:58:45 -07:00
Admiral H. Curtiss 37726b610d Merge pull request #14723 from Dentomologist/resource_pack_manager_fix_crash_when_removing_pack
ResourcePackManager: Fix crash when removing pack and properly update list
2026-07-14 19:26:15 +02:00
Admiral H. Curtiss fee15d96ad Merge pull request #14719 from cscd98/m3u-fix
m3u: normalize line endings except win32
2026-07-14 19:14:59 +02:00
JosJuice 1b67ed71f4 Merge pull request #14357 from Windsurf7/sonicunleashed-gameini
GameINI: Add codes to Sonic Unleashed
2026-07-14 18:49:16 +02:00
JosJuice baf154de0e DiscIO: Add DTK alignment comment in DirectoryBlob
This requirement came up in the review of e013d95. Instead of just
removing the comment like e013d95 did, let's add a more detailed
comment.
2026-07-14 18:39:56 +02:00
JosJuice 19729879cb Merge pull request #14711 from tom-pratt/landscape-netplay-screens
Android: Netplay layout update for landscape navigation
2026-07-14 18:38:38 +02:00
Joshua Vandaële cdb93d0c99 Contributing.md: Update C++20 mentions to C++23 2026-07-14 14:51:38 +02:00
Scott Mansell 09fbe2a930 Merge pull request #14729 from JoshuaVandaele/fix-clang-libstdcpp
PerformanceMetrics: Fix compiling using clang&libstdc++
2026-07-14 20:24:24 +12:00
Tom Pratt 009a87de59 Scaffold / Appbar composable
Custom composable that switched between compact and medium size app bar depending on a combination of orientation and screen size. (Small app bar when horizontal on small devices, medium app bar otherwise. Medium app bar supports collapse on scroll.
2026-07-13 12:34:06 +02:00
Dentomologist cdaf67c6ce Merge pull request #14643 from Dentomologist/windows_git_bash_fix_command_line_output
Windows: Fix command line output not displaying when using Git Bash
2026-07-12 23:47:20 -07:00
Dentomologist d6d25b5302 Merge pull request #14351 from Windsurf7/nightsjod-gameini
GameINI: Add codes to NiGHTS Journey of Dreams
2026-07-12 23:28:28 -07:00
OatmealDome 990b421233 Merge pull request #14728 from Simonx22/android/api37-ndk30-dependency-updates
Android: Update dependencies and build tools
2026-07-13 01:00:52 -04:00
OatmealDome f544fbc0ae Merge pull request #14630 from Simonx22/android/convert-contenthandler-to-kotlin
Android: Convert ContentHandler to Kotlin and fix warnings
2026-07-13 01:00:44 -04:00
Joshua Vandaële 55761d9e6d PerformanceMetrics: Fix compiling using clang&libstdc++
When using clang and libstdc++, compiling fails with these errors:

```
FAILED: [code=1] Source/Core/VideoCommon/CMakeFiles/videocommon.dir/PerformanceMetrics.cpp.o
/usr/sbin/ccache /usr/sbin/clang++ -DAUTOUPDATE=1 -DDATA_DIR=\"/usr/local/share/dolphin-emu/\" -DHAS_OPENGL -DHAS_VULKAN -DHAVE_CPPIPC -DHAVE_LIBSYSTEMD -DIMGUI_USER_CONFIG=\"imgui_user_config.h\" -DLZMA_API_STATIC -DOFF -DPUGIXML_NO_EXCEPTIONS -DRC_CLIENT_SUPPORTS_HASH -DSFML_STATIC -DSPNG_STATIC -DTINYGLTF_NOEXCEPTION -DTINYGLTF_NO_EXTERNAL_IMAGE -DTINYGLTF_USE_CPP14 -DUSE_ANALYTICS=1 -DUSE_MEMORYWATCHER=1 -DUSE_PIPES=1 -DUSE_RETRO_ACHIEVEMENTS -DZSTD_MULTITHREAD -D_ARCH_64=1 -D_DEFAULT_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_M_X86_64=1 -D__LIBUSB__ -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/dolphin-local/Source/Core -I/dolphin-local/Externals/picojson -I/dolphin-local/build/release/x64/Source/Core -I/dolphin-local/Externals/enet/enet/include -I/dolphin-local/Externals/fmt/fmt/include -I/dolphin-local/Externals/mbedtls/include -I/dolphin-local/Externals/minizip-ng/minizip-ng -I/dolphin-local/Externals/liblzma/api -I/dolphin-local/Externals/zstd/zstd/build/cmake/../../lib -I/dolphin-local/Externals/libiconv/include -I/dolphin-local/build/release/x64/Externals/libiconv/lib -I/dolphin-local/Externals/libiconv/libcharset/include -I/dolphin-local/build/release/x64/Externals/libiconv/libcharset -I/dolphin-local/Externals/SFML/SFML/include -I/dolphin-local/Externals/bzip2/bzip2 -I/dolphin-local/Externals/expr/include -I/dolphin-local/Externals/hidapi/hidapi-src/hidapi -I/dolphin-local/Externals/pugixml/pugixml/src -I/dolphin-local/Externals/glslang/glslang/glslang/.. -I/dolphin-local/build/release/x64/include -I/dolphin-local/Externals/rcheevos -I/dolphin-local/Externals/libspng/libspng/spng -I/dolphin-local/Externals/xxhash/xxHash -I/dolphin-local/Externals/imgui -I/dolphin-local/Externals/imgui/imgui -I/dolphin-local/Externals/implot/implot -I/dolphin-local/Externals/glslang/glslang/SPIRV/.. -I/dolphin-local/Externals/tinygltf -isystem /dolphin-local/Externals/libusb/libusb/libusb -isystem /dolphin-local/Externals/glslang/glslang -isystem /dolphin-local/Externals/glslang/glslang/Public -isystem /dolphin-local/Externals/glslang -Qunused-arguments -fcolor-diagnostics -O3 -DNDEBUG -std=c++23 -msse2 -fdiagnostics-color -fno-strict-aliasing -fno-exceptions -fvisibility-inlines-hidden -fvisibility=hidden -fomit-frame-pointer -Wall -Wtype-limits -Wsign-compare -Wignored-qualifiers -Wuninitialized -Wshadow -Wshadow-field-in-constructor -Winit-self -Wmissing-declarations-Wmissing-variable-declarations -Werror=format -Wno-trigraphs -MD -MT Source/Core/VideoCommon/CMakeFiles/videocommon.dir/PerformanceMetrics.cpp.o -MF Source/Core/VideoCommon/CMakeFiles/videocommon.dir/PerformanceMetrics.cpp.o.d -o Source/Core/VideoCommon/CMakeFiles/videocommon.dir/PerformanceMetrics.cpp.o -c /dolphin-local/Source/Core/VideoCommon/PerformanceMetrics.cpp
In file included from /dolphin-local/Source/Core/VideoCommon/PerformanceMetrics.cpp:4:
/dolphin-local/Source/Core/VideoCommon/PerformanceMetrics.h:69:51: error: no matching constructor for initialization of 'std::atomic<FrameBufferSize>'
   69 |   std::atomic<FrameBufferSize> m_frame_buffer_size{};
      |                                                   ^~
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/16/../../../../include/c++/16/atomic:237:17: note: candidate constructor not viable: constraints not satisfied
  237 |       constexpr atomic() noexcept(is_nothrow_default_constructible_v<_Tp>)
      |                 ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/16/../../../../include/c++/16/atomic:238:11: note: because 'is_default_constructible_v<PerformanceMetrics::FrameBufferSize>' evaluated to false
  238 |         requires is_default_constructible_v<_Tp>
      |                  ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/16/../../../../include/c++/16/atomic:246:7: note: candidate constructor not viable: requires 1 argument, but 0 were provided
  246 |       atomic(const atomic&) = delete;
      |       ^      ~~~~~~~~~~~~~
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/16/../../../../include/c++/16/atomic:252:17: note: candidate constructor not viable: requires single argument '__i', but no arguments were provided
  252 |       constexpr atomic(_Tp __i) noexcept : _M_i(__i)
      |                 ^      ~~~~~~~
1 error generated.
```

This was tested and occurs on both Arch and Alpine Linux.
2026-07-13 02:26:49 +02:00
Dentomologist b947a11380 Merge pull request #14356 from Windsurf7/sonicstorybook-gameini
GameINI: Add codes to Sonic Storybook games
2026-07-12 17:20:45 -07:00
Simonx22 aeb3fec03a Android: Update dependencies and build tools
Update Android dependencies and build tools to their latest available versions.

Rename the GameCube save magic constant to avoid a collision with the NDK 30 ARM64 signal context header.
2026-07-12 10:17:39 -04:00
Craig Carnell 4b55c26cdb m3u: normalize line endings except win32 2026-07-12 13:42:22 +01:00
JosJuice 05855a37f4 GCAdapter: Deregister callback when scan thread exits
We were registering the hotplug callback when starting the thread, but
deregistering it when shutting down GCAdapter as a whole. Because the
thread can start and stop potentially many times before GCAdapter shuts
down, this led to callbacks being registered when we already have
callbacks. On Android, this was making Dolphin's Kotlin code for
registering the callback throw an IllegalStateException.

To fix this, deregister the callback when stopping the thread.
2026-07-12 10:20:58 +02:00
Scott Mansell fc9fd6952a Merge pull request #14665 from cristian64/simulated_memory_size
Core: Adjust emulated memory size automatically.
2026-07-12 11:34:44 +12:00
cristian64 f9ef6c2151 Android: Update description for Enable Emulated Memory Size Override. 2026-07-11 23:02:54 +01:00
cristian64 594e5d2b56 DolphinQt: Update tool tip for Enable Emulated Memory Size Override. 2026-07-11 23:02:54 +01:00
cristian64 0cab1731d6 Core: Adjust emulated memory size automatically.
Dolphin now uses the simulated memory size defined in `bi2.bin` to
adjust the memory size in the emulated console automatically.

If **Enable Emulated Memory Size Override** has been enabled by the
user, the fixed memory size specified for **MEM1** and **MEM2** are
still used as they were before.

Most retail games do not define the simulated memory size (Wii or
Triforce games), or define it to a value that matches the default 24 MiB
(GameCube games), so, in the general case, there is no behavior change.
One game that sets the simulated memory to a non-default value is the
debug build of _Mario Kart: Double Dash!!_, where the value is set to
48 MiB.

This enhancement is focused mainly to the modding community. Prior to
these changes, modded games with extended memory requirements would
fail to launch in Dolphin [with no indication of what the problem is] if
the user failed to set the emulated memory override to the correct
value. Now, modding tools can specify the simulated memory size in the
`bi2.bin` file to produce extended games that _just work_ in Dolphin,
without cumbersome instructions that can be overlooked by the user.
2026-07-11 23:02:54 +01:00
cristian64 03b1f2148b DolphinAnalytics: Add game quirk for game simulated memory size.
This is the 32-bit unsigned integer that is seen at offset `0x04` in the
`bi2.bin` file.

The intent is to study what games define values that departure from the
norm. Common values are 0 MiB (Wii games) and 24 MiB (GameCube games),
with some debug and demo builds featuring 48 MiB (e.g. the debug build
of _Mario Kart: Double Dash!!_).
2026-07-11 23:02:54 +01:00
cristian64 ebcbb79f70 Core: Add SConfig::GetSimulatedMemorySize().
This makes the simulated memory size of the running game accessible via
the `SConfig` singleton.
2026-07-11 23:02:54 +01:00
cristian64 24ad562871 Core: Add Volume::GetSimulatedMemorySize().
The data structure of the `bi2.bin` file in which the simulated memory
size is set:

> **13.2  Disk header Information**
>
> this is loaded to the Address in `0x800000f4` when a disc is initialized by the IPL
>
> |  offset  | end | size | Description           |
> | :------: | --- | :--: | --------------------- |
> | `0x0000` |     |   4  | Debug-monitor Size    |
> | `0x0004` |     |   4  | Simulated Memory Size |
> | `0x0008` |     |   4  | Argument offset       |
> | `0x000c` |     |   4  | Debug flag            |
> | `0x0010` |     |   4  | Track Location        |
> | `0x0014` |     |   4  | Track size            |
> | `0x0018` |     |   4  | Countrycode           |
> | `0x001c` |     |   4  | ?                     |

See https://hitmen.c02.at/files/yagcd/yagcd/chap13.html#sec13.2.

Most GameCube games set the value to `24 MiB`, which matches the
physical memory size. Most Wii games set the value to `0 MiB` (unset).
The debug build of _Mario Kart: Double Dash!!_ is one game that sets the
value to `48 MiB`.
2026-07-11 23:02:54 +01:00
Dentomologist a18fd2d21b ResourcePackManager: Erase Removed pack from list and table
Erase a removed pack from ResourcePack::<anonymous namespace>::packs
instead of only deleting the pack file from the disk.

This causes the repopulated table to actually display that the pack has
been removed (which previously only happened after restarting Dolphin or
hitting `Refresh`), and also removes the pack from the `Packs.ini` file.
2026-07-11 12:49:35 -07:00
Dentomologist 37dd6c287e ResourcePackManager: Fix crash when removing pack
Avoid accessing destroyed `QTableWidgetItem` by retrieving the desired
path from the item before it's destroyed.

In `ResourcePackManager::Remove` pointers to the selected items in `m_table_widget`
were saved in the local variable `items` before calling `Uninstall`.
`Uninstall` called `RepopulateTable` which called
`m_table_widget->clear()`, destroying the table's descendants.  Upon
returning to `Remove` `items` then pointed to some of those destroyed descendants, and
passing `items[0]` to `GetResourcePackIndex` resulted in a call to
`item->row()` which was a use-after-free.

Fixes https://bugs.dolphin-emu.org/issues/14095.
2026-07-11 12:35:47 -07:00
idkwhere1sthisname 8873338b8d allow Wii System Transfer and WagonCompat to call ES_SetUID 2026-07-11 19:10:20 +02:00
Simonx22 c93af1d3f9 Android: Convert ContentHandler to Kotlin and fix warnings 2026-07-11 12:33:11 -04:00
Dentomologist 6de526c684 Merge pull request #14716 from tom-pratt/chat-message-colours
Android: Coloured netplay chat messages
2026-07-09 12:25:06 -07:00
Scott Mansell aaeb6e5dc1 Merge pull request #14479 from JoshuaVandaele/dsp_interc_rm
docs/DSP: Remove DSP_InterC
2026-07-09 13:35:35 +12:00
Dentomologist 2e07d3b4a8 Merge pull request #14702 from JosJuice/android-vibration-usage
Android: Set USAGE_MEDIA for rumble
2026-07-08 17:25:54 -07:00
JosJuice 424269ed4b Android: Silence deprecation warnings in ControllerInterface
We have to use the deprecated APIs when running on old devices.
2026-07-08 23:13:07 +02:00
JMC47 f93f69a1e5 Merge pull request #14688 from SuperSamus/retroachivements-speedhacks-approve
GameSettings: Approve speed hacks for RetroAchievements
2026-07-08 14:47:57 -04:00
Martino Fontana a5f6ba81fa GameSettings: Approve speed hacks for RetroAchievements
Some of the speed hacks were not approved for RetroAchievements, meaning that users had to choose between not getting hardcore achievements, or having poor performance.

Also, renamed the instances of `$Limit internal FPS to VPS (improves performance)` to `$Limit internal frame rate (speed hack)` for consistency. They are enabled by default, so unless the user disabled them, it won't break the configuration.
2026-07-08 18:10:42 +02:00
JMC47 485f5cae55 Merge pull request #14712 from tom-pratt/use-upnp-android
Android: Enable USE_UPNP in android builds
2026-07-08 11:49:19 -04:00
JMC47 77e92d042c Merge pull request #14207 from cscd98/lower-case
mingw: lower case windows includes
2026-07-08 11:48:24 -04:00
JMC47 33dd4a1181 Merge pull request #14260 from cscd98/cpp-ipc-update
Externals: Update cpp-ipc to latest
2026-07-08 11:48:01 -04:00
Craig Carnell e222665eb0 mingw: lower case windows includes 2026-07-08 09:18:29 +01:00
Tom Pratt 11cf49de06 Android: Coloured netplay chat messages 2026-07-07 23:26:06 +02:00
tommywaaf 342115806b Android: Route DolphinBar Balance Board to the Balance Board slot
WiimoteScannerAndroid::FindAttachedWiimotes() added every device
connected through the DolphinBar to the Wii Remote results, with a
TODO noting that balance boards were not differentiated. As a result,
a Wii Balance Board connected through the DolphinBar was always
assigned to a Wii Remote slot (Player 1), and games that request a
Balance Board never detected it.

Use Wiimote::IsBalanceBoard() to route balance boards into the
balance_boards results, matching the Linux and Windows scanner
backends. Tested on an AYN Thor (Android 13) with a Mayflash
DolphinBar in Mode 4 running Wii Fit Plus: the board is now detected
in the Balance Board slot.
2026-07-06 19:58:42 -04:00
Dentomologist 774200dcf4 Merge pull request #14689 from JosJuice/android-internal-resolution-display
VideoCommon: Use XFB for internal resolution stats
2026-07-05 13:28:31 -07:00
JosJuice acf6060a54 Merge pull request #14417 from TryTwo/Cheat_Fix
Bugfix: Cheat codes:  Make newly added codes start disabled.
2026-07-05 17:45:27 +02:00
JosJuice 59d7547c2c Merge pull request #13216 from CelestialAmber/cw-demangler
Core: Implement automatic symbol demangling
2026-07-05 17:38:09 +02:00
JosJuice 2dfb23267c Merge pull request #14619 from JosJuice/no-si-change-device
Core: Remove SerialInterfaceManager::ChangeDevice
2026-07-05 17:33:02 +02:00
JosJuice d27d96a7ce Merge pull request #14623 from Simonx22/android/convert-eglhelper-to-kotlin
Android: Convert EGLHelper to Kotlin
2026-07-05 17:32:27 +02:00
JosJuice 0baa4ae6b1 Merge pull request #14624 from Simonx22/android/convert-filebrowserhelper-to-kotlin
Android: Convert FileBrowserHelper to Kotlin
2026-07-05 17:32:17 +02:00
JosJuice 0ce4436cd8 Merge pull request #14678 from JoshuaVandaele/alt-tools
MenuBar: Add missing Alt shortcuts in Tools
2026-07-05 17:31:17 +02:00
JosJuice 146f2be436 Merge pull request #14516 from Sintendo/jitarm64-subfzex
JitArm64: Minor subfzex optimizations
2026-07-05 17:29:57 +02:00
JosJuice 60c7606812 Merge pull request #14707 from SuperSamus/jit64-computerc-better-early-flush
Jit64: Early flush in ComputeRC even when `needs_test`
2026-07-05 17:00:03 +02:00
JosJuice f5d225691e Android: Set USAGE_MEDIA for rumble
This lets rumble work even if the user has turned off the Android
setting Sound and vibration > Vibration and haptics > Interactive
haptics > Touch feedback. Rumble can still be disabled through Dolphin's
controller bindings and through in-game settings (GameCube) or SYSCONF
(Wii).
2026-07-05 10:23:12 +02:00
JosJuice be1df92153 Rename "Show Internal Resolution" to "Show XFB Resolution"
To make it extra clear that this is measuring the XFB, not the EFB.
2026-07-05 10:20:15 +02:00
JosJuice db77b117d9 Android: Add missing graphics debug settings
These are available in DolphinQt, so let's make them available in the
Android GUI too.
2026-07-05 09:50:13 +02:00
JosJuice aff4d18d59 Move the code for the show internal resolution setting
fb4ff3e put all the code for the show internal resolution setting right
next to the code for the show FPS setting, presumably because an earlier
version of that commit had them next to each other in the GUI. It makes
more conceptual sense to put the code next to the code for the show
statistics settings, matching what the GUI looks like now.
2026-07-05 09:50:13 +02:00
JosJuice 6f72de3579 VideoCommon: Show internal resolution stats below VPS
It looked a bit out of place wedged in between the FPS and VPS.
2026-07-05 09:50:13 +02:00
JosJuice c958dbc46c VideoCommon: Use XFB for internal resolution stats
fb4ff3e added a statistics option to show the internal resolution, but
it just showed the total size of the EFB (which is always 640x528) times
the IR scale, so it didn't convey any useful information.

This commit instead makes the option use the size of the last XFB copy
(not multiplied by the IR scale), which changes based on the game's
rendering resolution.
2026-07-05 09:50:13 +02:00
JosJuice 5f372d6b1d VideoCommon: Reduce padding in PresentInfo
This makes the struct 8 bytes smaller.
2026-07-05 09:50:13 +02:00
Dentomologist 1a62cdca0e Windows: Fix command line output not displaying when using Git Bash
Check if Dolphin already has a handle for stdout or stderr before trying
to attach to the console of the parent process.

Previously, running Dolphin via Git Bash with options like `--help` or
`--version` wouldn't produce any output. This was the result of the fix
(1ce75ce217) for
https://bugs.dolphin-emu.org/issues/11042, before which output did work
for `Git Bash` but didn't for `Command Prompt` or `PowerShell`.
2026-07-03 21:55:23 -07:00
Dentomologist d8d37fdbc4 Merge pull request #14699 from JosJuice/android-vibrator-id-index
Android: Fix mixup between Vibrator id and index
2026-07-01 13:07:25 -07:00
Tom Pratt 6825a4a954 Enable USE_UPNP in android builds
The UI already exists in the Android netplay menu so just need to enable it in the build.
2026-07-01 15:59:46 +02:00
JosJuice 39ef77c716 Merge pull request #14710 from JosJuice/android-netplay-fix
Android: Fix release build
2026-06-30 19:00:06 +02:00
Admiral H. Curtiss 32cd349207 Merge pull request #14708 from JosJuice/state-path-encoding
State: Use proper path encoding conversion for OSD messages
2026-06-29 22:15:49 +02:00
JosJuice b1d81af9cb Android: Fix release build
We don't need to see Compose previews when making a release build, but
androidx.compose.ui.tooling.preview.Preview is referenced in the source
code nonetheless, so the build system needs to know what it is.
2026-06-29 18:47:10 +02:00
JMC47 e2ab15aa23 Merge pull request #14647 from tom-pratt/netplay
Android netplay
2026-06-28 12:38:55 -04:00
Admiral H. Curtiss be33a68335 Merge pull request #14658 from VampireFlower/patch-instruction-assemble
[Debugger]: Assemble instructions in the patch instruction dialog
2026-06-28 16:31:46 +02:00
JosJuice 2aba483a05 State: Use proper path encoding conversion for OSD messages
Otherwise Windows will use the system code page.
2026-06-28 15:18:31 +02:00
Martino Fontana e68a464efd Jit64: Early flush in ComputeRC even when needs_test
Example:
```
nand. r1, r2, r3
```
Assuming that none of these registers will be used again:
- Before #14278, all of them would be flushed on both sides of the branch.
- After #14278, r2 and r3 would have been flushed earlier, but r1 won't.
- With this, r1 is flushed in ComputeRC.
2026-06-28 14:45:20 +02:00
JosJuice d034d41fcc Merge pull request #14572 from jordan-woyak/ult-spider-man-imm-xfb
GameSettings: Don't force immediate XFB off in Ultimate Spider-Man.
2026-06-28 12:11:53 +02:00
JosJuice f2dd20ca40 Merge pull request #14577 from jordan-woyak/fight-for-ny-ini
GameSettings: Disable fast depth calc to fix missing text and allow immediate XFB in Def Jam: Fight for NY.
2026-06-28 12:11:32 +02:00
JosJuice 8038496a07 Merge pull request #14589 from Dentomologist/merge_tooltips_for_disabled_settings_into_balloontips
HacksWidget: Merge tooltips for disabled settings into balloontips
2026-06-28 12:10:54 +02:00
JosJuice 37d6f29e06 Merge pull request #14615 from Dentomologist/code_widgets_allow_mass_enabled_toggling
ARCodeWidget/GeckoCodeWidget: Add button to enable/disable all codes
2026-06-28 11:45:05 +02:00
JosJuice c560a510e2 Merge pull request #14610 from SuperSamus/tlzww-prerelease-demo-gameini
GameSettings: Add Wind Waker pre-release demo
2026-06-28 11:43:37 +02:00
JosJuice afdee595f6 Merge pull request #14198 from JosJuice/jit64-cmpxx-rb-comparand
Jit64: Improve cmpXX imm handling
2026-06-28 11:14:47 +02:00
JosJuice 9416eb9537 Merge pull request #14599 from naari3/fix/directoryblob-gc-triforce-alignment
DirectoryBlob: fix data alignment for GC/Triforce and skip Triforce DIMM memory range
2026-06-28 11:03:03 +02:00
JosJuice 02bacff51f Merge pull request #14278 from JosJuice/ppcanalyst-split-read-write
PPCAnalyst: Split "in use" analysis into reads and writes
2026-06-28 10:58:11 +02:00
JosJuice 200e26c98a Core: Remove SerialInterfaceManager::ChangeDevice
Now SerialInterfaceManager::UpdateDevices reads the configured SI
devices directly from Config instead.

The main reason why I wanted to do this is so that Android can change SI
devices while emulation is running. (Android didn't have the code for
calling ChangeDevice.) But when implementing the change, I noticed that
NetPlay and Movie were using ChangeDevice as a way of overriding the SI
devices configured by the user. Replacing this ended up making the change
larger than I first anticipated.

For Wii Remotes, there was no equivalent to ChangeDevice, so NetPlay and
Movie were using Config::SetCurrent to override the Wii Remote source
configured by the user. If we can use the config system to override Wii
Remote sources, why not do the same for SI devices? This commit makes
NetPlay and Movie set SI devices and Wii Remote sources in the NetPlay
and Movie config layers, as that is the conceptually appropriate place
to do it.

As far as I can tell, the old Movie code for overriding SI devices and
Wii Remote sources didn't actually work. This new code does. I didn't
investigate exactly why it didn't work, but maybe it's because loading
a movie happens before emulation actually starts.
2026-06-28 10:43:31 +02:00
JosJuice 6d796f7863 Merge pull request #14646 from linkmauve/pi-regs
HW/ProcessorInterface: Add support for all known registers
2026-06-28 10:36:43 +02:00
JosJuice b8222da6ca Merge pull request #14650 from JoshuaVandaele/sdl-3.4.8
Externals: Update SDL to release-3.4.8
2026-06-28 10:31:00 +02:00
JosJuice 321f878bb6 Merge pull request #14676 from SuperSamus/jit-dcbx-fixup
JitArm64: Fix uninitialized use of register in dcbx
2026-06-28 10:29:54 +02:00
JosJuice 63121d11fc Merge pull request #14683 from SuperSamus/idle-loop-nop-fix
PPCAnalyst: In `IsBusyWaitLoop`, ignore `nop`
2026-06-28 10:28:52 +02:00
JosJuice c23b4f4f3a Merge pull request #14626 from ChaseParate/approve-xenoblade-chronicles-60-fps-gecko-code
Gecko/RetroAchievements: Approve Xenoblade Chronicles 60 FPS Gecko code
2026-06-28 10:28:15 +02:00
Joshua Vandaële af6c6ffacf Externals/miniupnpc: Disable warnings 2026-06-27 11:56:50 +02:00
Dentomologist f6d14906d8 Merge pull request #14679 from mbc07/vs26_glslang_build_fix
Externals/glslang: fix compilation on Visual Studio 2026
2026-06-26 22:09:45 -07:00
JosJuice 64a73e5636 Android: Fix mixup between Vibrator id and index
This fixes https://bugs.dolphin-emu.org/issues/14076. The issue report
more or less already says it all, but to provide a shorter summary:
We were fetching a list of vibrator IDs, but instead of passing the
vibrator ID to the vibrator manager, we passed the index of the ID in
the list. This happened to work fine on many devices, including all
devices that use DolphinVibratorManagerCompat, due to the only Vibrator
having both an index and ID of 0. But on some devices, it failed due to
the ID of the Vibrator being 1.

This fix makes us correctly pass the ID to the vibrator manager. We
still use indices in controller INI files, both for compatibility with
the controller mappings shipped with Dolphin (which use index 0) and for
backwards compatibility with older controller INI files.
2026-06-26 22:10:16 +02:00
Admiral H. Curtiss d0f9446a8c Merge pull request #14663 from AdmiralCurtiss/qt6.8.3
Update bundled Windows Qt to 6.8.3
2026-06-26 20:56:43 +02:00
Admiral H. Curtiss e87225beb2 Update bundled Windows Qt to 6.8.3 2026-06-26 19:22:16 +02:00
Admiral H. Curtiss 14ee972235 Merge pull request #14684 from Sintendo/rm-unused-headers
Remove unused headers
2026-06-26 19:09:39 +02:00
Admiral H. Curtiss 2812200cee Merge pull request #14695 from JoshuaVandaele/clang-14-check
CMakeLists: Remove redundant clang version check
2026-06-26 19:06:06 +02:00
Link Mauve 82a317124a HW/ProcessorInterface: Add support for all known registers
These changes originate from testing the behaviour of the PI registers
in Linux on my Wii.

I started by testing the masks, writing 0xFFFF_FFFF to the registers on
the Wii, and then got told about their value on a GameCube, and then
figured out most of the registers through a discussion with Extrems.
2026-06-26 01:32:15 +02:00
Dentomologist baf91d4436 Merge pull request #14591 from TryTwo/Registers_Fix
Debugger: Register Widget bug fix. Block updates when changing types
2026-06-25 13:17:29 -07:00
Dentomologist 54b93b8d4f Merge pull request #14681 from Tilka/pony_friends
GameSettings: fix pony not showing up in Pony Friends 2
2026-06-25 12:25:45 -07:00
OatmealDome 1ccbcaa04a Merge branch 'release-prep-2606' 2026-06-25 00:01:35 -04:00
Joshua Vandaële 8200d93199 CMakeLists: Remove redundant clang version check
The minimum clang version is currently 15
2026-06-23 22:45:26 +02:00
Sintendo ec0c4b72ff Remove unused headers 2026-06-14 11:22:02 +02:00
Martino Fontana 2204a789e4 PPCAnalyst: In IsBusyWaitLoop, ignore nop
Found out when attempting to make a speed hack to help Dolphin detect an idle loop. The inserted `nop` was preventing it from considering it an idle loop.
2026-06-14 01:08:31 +02:00
Tillmann Karras 9463c9717f GameSettings: fix pony not showing up in Pony Friends 2
EFB-to-RAM needs to be enabled at the start of grooming.
2026-06-13 18:55:16 +01:00
Mateus B. Cassiano bb41867ffe Externals: ensure glslang respects the selected toolset from Visual Studio 2026-06-13 02:39:46 -04:00
Joshua Vandaële e73bcbd818 MenuBar: Add missing Alt shortcuts in Tools
A few actions were missing from shortcuts in the Tools menu. This allows using e.g. `ALT`+(`T`>`E`>`S`) to open the Skylanders Manager, or `ALT`+(`C`>`C`>`1`) to toggle the first Wii Remote's connection.
2026-06-12 18:39:50 +02:00
Martino Fontana da45cbe8fd JitArm64: Fix uninitialized use of register in dcbx
Also do a little cleanup in the equivalent part of Jit64.
2026-06-08 23:38:05 +02:00
VampireFlower 7ce4db1c7d [Debugger]: Assemble instructions in the patch instruction dialog 2026-06-07 22:01:07 -04:00
JosJuice 896ecddb77 GameSettings: Remove SafeTextureCacheColorSamples from gbihf
Extrems said that it's unnecessary because GBIHF doesn't use the GPU.
Video output doesn't work in GBIHF in Dolphin regardless of this
setting, so I can't actually test it.
2026-06-07 11:01:04 +02:00
Chase Harkcom 915b839598 Approve Xenoblade Chronicles 60 FPS Gecko code 2026-05-23 22:39:42 -04:00
Tom Pratt 1d1c9696ae lint formatting 2026-05-19 12:03:02 +02:00
Tom Pratt 5b49060a9d Fix NetplayScreen edge to edge
NetplayScreen was not drawing under the bottom nav bar like other screens. In landscape mode half of the screen scrolls and half is fixed, to make this look natural with edge to edge, provide a fade on the bottom of the scrolling side so things look natural when the screens loads and is resting at 0 scroll offset.
2026-05-19 12:03:02 +02:00
Tom Pratt fde035dc0c Replace hardcoded save progress string 2026-05-19 12:03:02 +02:00
Tom Pratt 8d565e0331 Use the dual pane netplay screen layout only if the width is sufficient
To avoid using dual pane layout on very small devices, ensure that the current width available for display is at least medium (600dp).

It also has to be landscape, the dual pane mode looks weird on a tablet in portrait mode since there's not that much content.
2026-05-19 12:03:02 +02:00
Tom Pratt 4d1e749977 WithSession helper function
Handles the repeated boiler plate of using a weak reference to NetplaySession from NetplayUICallbacks
2026-05-19 12:03:02 +02:00
Tom Pratt 06cc09cf09 Pass immutable games list to NetplayUICallbacks
Remove corresponding jni config.

Rename Netplay to NetplaySession in jni config to match new kotlin name.
2026-05-19 12:03:02 +02:00
Tom Pratt f63b81dd39 Use unique_ptr when creating netplay client / server 2026-05-19 12:03:01 +02:00
Tom Pratt 22863b3703 Add @Keep annotation to Player constructor
Since it's only instantiated from c++.
2026-05-19 12:03:01 +02:00
Tom Pratt 1bc64a0e6e Fix netplay license headers 2026-05-19 12:03:01 +02:00
Tom Pratt df5e7a9767 Update compose dependencies
Was using 2025 instead of 2026! Fixed some buggy bottom sheet behaviour.

Minor tidying of the chat UI in the bottom sheet
2026-05-19 12:03:01 +02:00
Tom Pratt 4c0bf2944b Implement DoAllPlayersHaveGame() check 2026-05-19 12:03:01 +02:00
Tom Pratt 76ae445694 Add network mode picker for host 2026-05-19 12:03:00 +02:00
Tom Pratt 1c2806dfe9 Add host buffer settings for fair input delay mode
Also rename max buffer to client buffer for better consistency with settings and c++
2026-05-19 12:03:00 +02:00
Tom Pratt 86de5ef4b0 Handle traversal state changes and errors
Traversal connections show in the joining info UI.
Non fatal errors show the retry button.
Fatal errors end the netplay session.
2026-05-19 12:03:00 +02:00
Tom Pratt 86a0f22887 Show joining info for local and external IP addresses
Doesn't support traversal yet
2026-05-19 12:03:00 +02:00
Tom Pratt eb02680cb6 Separate out GetExternalIPAddress helper function
De-duplicates the two inline implementations and prepares it for use from Android.
2026-05-19 12:03:00 +02:00
Tom Pratt 6655672ee3 Add ability to choose game when hosting
Also fix bottom sheets so they survive rotation
2026-05-19 12:02:59 +02:00
Tom Pratt 68e9fd6cde Send own messages to chat
A player's own messages don't come back via the server.
2026-05-19 12:02:59 +02:00
Tom Pratt 77f08364db Create NetPlayServer and start game 2026-05-19 12:02:59 +02:00
Tom Pratt b63ccacdfa Hosting UI 2026-05-19 12:02:59 +02:00
Tom Pratt f9baecd5ed Implement OnMsgPowerButton 2026-05-19 12:02:59 +02:00
Tom Pratt acbf9e155f Game digest progress dialog
We just about get away with using a StateFlow in NetplaySession since the host sends AbortGameDigest when closing their own dialog. Without that it would be harder for the UI to distinguish between subsequent dialogs. If that wasn't the case then NetplaySession might need to expose the individual progress and result updates and have the view model assemble it into the overall GameDigestProgress.
2026-05-19 12:02:58 +02:00
Tom Pratt 117d1d71ac Handle desync messages
Show them in the chat window and also in a toast during game play.
2026-05-19 12:02:58 +02:00
Tom Pratt abd324e98d Make NetplaySession not a singleton
Create a new NetplaySession each time we try to join a netplay game. Hold onto it in NetplayManager so its available to the different activities that need to access it. Close the session when backing out of the netplay UI. Some guardrails in case things go out of sync: creating a session closes the old one if it is still around for some reason, finalizer in NetplaySession to release native resources if not closed explicitly for some reason. Profiling done to ensure all kotlin and native objects are successfully cleared / garbage collected.
2026-05-19 12:02:58 +02:00
Tom Pratt 183d6d778c Use existing settings API instead of custom jni calls 2026-05-19 12:02:58 +02:00
Tom Pratt 8141a74671 Show save transfer progress
When transferring saves from the host. Equivalent of ChunkedProgressDialog in QT.
2026-05-19 12:02:57 +02:00
Tom Pratt 480968f05e Dont try to load temporary save states when launching netplay
An orientation change can trigger this code path immediately when a game starts. e.g. dolphin is portrait when launching the game but settings force gameplay to landscape. We want to avoid this and continue to the netplay launch code below.

If the user backgrounds dolphin during netplay and then resumes after the process has died it will actually resume from the save state in single player mode, not sure if thats good or bad but fine for now.

Netplay doesnt handle rotation very well, seems to go more and more out of sync the more rotations.
2026-05-19 12:02:57 +02:00
Tom Pratt b52ffa3e8b Release boot session data during Netplay cleanup
Boot session data is already handled when the game is booted so this is just fallback in case the game launch fails in some weird way.

Add missing @Keep annotations to functions called from C++
2026-05-19 12:02:57 +02:00
Tom Pratt b1b133b036 Implement OnConnectionLost, show a dialog on the main netplay screen forcing the user to exit 2026-05-19 12:02:56 +02:00
Tom Pratt 38b5c7370c Implement StopGame callback and use it to finish the emulation activity 2026-05-19 12:02:56 +02:00
Tom Pratt 86956b21be Settings refactor
Remove the big saveSetup function and set individual settings immediately after being changed in the UI. Group them all under Netplay.Settings
2026-05-19 12:02:56 +02:00
Tom Pratt 65e4c60158 Max buffer 2026-05-19 12:02:56 +02:00
Tom Pratt e49451b28e Put players table in an OutlinedBox, makes the UI look more consistent. 2026-05-19 12:02:56 +02:00
Tom Pratt c32732714e Implement more NetPlayUICallbacks
Includes chat, game changes, pad buffer changes and host input authority. Merges them all into the chat window.
2026-05-19 12:02:55 +02:00
Tom Pratt dfa3384281 Netplay chat UI 2026-05-19 12:02:55 +02:00
Tom Pratt d9e2725e85 Implement player list 2026-05-19 12:02:55 +02:00
Tom Pratt af2fda5649 Reorder netplay class
Put all the boring settings at the bottom to reduce scrolling!
2026-05-19 12:02:55 +02:00
Tom Pratt b72f3c1afc Add mostly empty Netplay screen, equivalent of NetPlayDialog in QT.
All it can do at this point is quit the current netplay session when backing out of this screen.
2026-05-19 12:02:55 +02:00
Tom Pratt 5527e8138e Move NetplaySetupScreen to its own file 2026-05-19 12:02:55 +02:00
Tom Pratt f52ca02ca2 Show client connection errors and handle connection result
If result is a success sent event to launch the next netplay screen. if it fails, clear up the netplay client
2026-05-19 12:02:54 +02:00
Tom Pratt 3ed9174208 Store netplay BootSessionData and use it to run the netplay game 2026-05-19 12:02:54 +02:00
Tom Pratt 766374434c Pass game list to NetPlayUICallbacks and implement OnMsgChangeGame, OnMsgStartGame, FindGameFile 2026-05-19 12:02:54 +02:00
Tom Pratt 1464fdfc28 Add NetPlayClient join and stub NetPlayUICallbacks 2026-05-19 12:02:54 +02:00
Tom Pratt a1983e5fa2 Add Netplay settings JNI layer and wire up NetplaySetupViewModel 2026-05-19 12:02:54 +02:00
Tom Pratt f10022f2dc Netplay setup UI
Only for connecting, no hosting yet.
2026-05-19 12:02:53 +02:00
Tom Pratt c716c32ce8 Add compose dependencies for Android and empty NetplaySetupActivity
Derive compose colour theming from the existing XML styles already set at the activity level.
2026-05-19 12:02:53 +02:00
DacoTaco 21d44f32ba fixes: make dolreader validate section addresses and sizes
IOS and IPL reject non-32byte aligned sections
2026-05-13 20:46:20 +02:00
JosJuice 0f72b69dc7 PPCAnalyst: Split "in use" analysis into reads and writes
If the last write to a register comes before the last read of it,
we can write the register to ppcState after the last write instead of
after the last read. This will hopefully help spread out m_ppc_state
writes across a code block, improving pipelining. Also, if there's a
conditional branch that's after the last write but before the last read,
instead of needing to emit one m_ppc_state write on each side of the
branch, we now only need to emit one m_ppc_state write.

A note about the changes made to stmw and mfcr: These instructions don't
write to any GPRs or CRs respectively – they only read from them.
With this commit, there are no longer any cases where registers get
written back to m_ppc_state after an instruction that just reads from
them, so we can get rid of all STP logic from these two instructions.
lmw still needs its STP logic, since that one does write to registers.
2026-05-12 14:38:53 +02:00
Joshua Vandaële 9414196958 Externals: Update SDL to release-3.4.8
This jumps us up two releases, both of which only introduce bug fixes. Changes potentially relevant to us are:

[3.4.6](https://github.com/libsdl-org/SDL/tree/release-3.4.6):
- Fixed Xbox controllers being unresponsive on preview release of Windows 11
- Fixed the menu button state on controllers on Apple platforms

[3.4.8](https://github.com/libsdl-org/SDL/tree/release-3.4.8) (hotfix release):
- Fixed a controller related crash on Windows, introduced in 3.4.6
2026-05-12 09:51:15 +02:00
Amber Brault 3f5460a5ff Core: Implement automatic symbol demangling 2026-05-07 09:25:28 +02:00
Simonx22 ca3d896900 Android: Convert FileBrowserHelper to Kotlin 2026-04-26 12:48:46 -04:00
Simonx22 1800f5cf51 Android: Convert EGLHelper to Kotlin 2026-04-26 12:40:08 -04:00
naari3 e013d95053 DirectoryBlob: fix data alignment for GC/Triforce and skip Triforce DIMM memory range
The 0x8000 alignment in DirectoryBlob is needed for Wii disc group encryption,
but for GC/Triforce it inflates file offsets unnecessarily. Use 0x20 alignment
for Triforce (matching original disc layout) while keeping 0x8000 for GC due
to DTK audio streaming requirements.

On Triforce games with many files, the inflated offsets can land in the
AMMediaboard DIMM memory range (0x1F000000-0x1F800000). Reads from that
region return SRAM data instead of disc data, causing the game to hang.

Skip the DIMM range when assigning per-file data offsets if any portion of
the file would overlap [0x1F000000, 0x1F800000).
2026-04-25 19:48:00 +09:00
Dentomologist 39240edc2a GeckoCodeWidget: Add Enable/Disable All button 2026-04-20 15:15:56 -07:00
Dentomologist 0d3ccfada5 ARCodeWidget: Add Enable/Disable All button 2026-04-20 15:15:56 -07:00
Martino Fontana 4a2d48f659 GameSettings: Add Wind Waker pre-release demo
It is listed in the Dolphin wiki with the assumption that it's using the same default settings as regular Wind Waker.
https://wiki.dolphin-emu.org/index.php?title=The_Legend_of_Zelda:_The_Wind_Waker_Demo_Prerelease

I don't know if the Picto Box is even obtainable in the demo... but maybe it is through glitches or something, so I'll keep `EFBToTextureEnable = False` in.
2026-04-19 21:15:20 +02:00
Dentomologist 518f5f458f HacksWidget: Merge BoundingBox disabled tooltip into BalloonTip
When a backend doesn't support BoundingBox, show that information in the
BalloonTip instead of spawning a separate tooltip.
2026-04-16 13:39:52 -07:00
Dentomologist b35223e0f3 HacksWidget: Merge GPU Texture Decoding disabled tooltip with BalloonTip
When GPU Texture Decoding is disabled, explain why in the BalloonTip
instead of spawning a separate tooltip.
2026-04-16 13:29:46 -07:00
TryTwo 158b8cfd7c Debugger: Register Widget bug fix. Block updates when changing column data type. 2026-04-13 23:46:44 -07:00
Dentomologist 908ddf3593 HacksWidget: Move function declarations to match convention
Move function declarations before variable declarations.
2026-04-13 15:45:06 -07:00
Jordan Woyak cb9f8a2b04 GameSettings: Disable fast depth calc to fix missing text and allow immediate XFB in Def Jam: Fight for NY. 2026-04-11 17:55:42 -05:00
Jordan Woyak 9fd77c038f GameSettings: Don't force immediate XFB off in Ultimate Spider-Man. 2026-04-10 13:08:40 -05:00
Sintendo 21c2605298 JitArm64_Integer: subfzex - Optimize a == -1 with in-host carry
Before:
0x12800019   mov    w25, #-0x1                ; =-1
0x7a1903fa   ngcs   w26, w25
0x1a9f37f8   cset   w24, hs
0x390bd3b8   strb   w24, [x29, #0x2f4]

After:
0x1a9f37fa   cset   w26, hs
2026-03-27 01:00:14 +01:00
Sintendo 9be878cd28 JitArm64_Integer: subfzex - Optimize a == 0 with in-host carry
Before:
0x52800019   mov    w25, #0x0                 ; =0
0x7a1903f9   ngcs   w25, w25
0x1a9f37f5   cset   w21, hs
0x390bd3b5   strb   w21, [x29, #0x2f4]

After:
0x5a9f23f9   csetm  w25, lo
2026-03-27 00:53:30 +01:00
Joshua Vandaële c8d2568c52 docs/DSP: Remove DSP_InterC
I am not certain what this was used for, but the last non-formatting related change made to it was over 16 years ago.

The project targets Windows Vista, uses a Visual Studio 2010 project.

Looking at the entry point in `DSP_InterC.cpp`, the program opens a hardcoded path to a DSP rom in `C:\_\dsp_rom.bin` without any documentation on it whatsoever, and decodes something between two mystery addresses before exiting.
2026-03-17 17:57:19 +01:00
TryTwo 8843c14fba Cheat codes: Make newly added codes start disabled.
They don't have the call to be activated immediately after being added.
2026-02-24 01:40:05 -07:00
Windsurf7 b92e98b16c GameINI: Add codes to Sonic Unleashed
This PR provides 60 FPS code additions to Sonic Unleashed.

NTSC-U:
* Added 60 FPS code, coming from the Dolphin wiki.
* Followed my code naming convention for Sega games.
2026-02-13 04:13:21 +03:00
Windsurf7 a0f514cf60 GameINI: Add codes to Sonic Storybook games
This PR provides 60 FPS code additions to Sonic and the Secret Rings & Sonic and the Black Knight.

All regions:
* Formatting fixes.

NTSC-U/PAL:
* Added 60 FPS code, coming from the Dolphin wiki.
* Followed my code naming convention for Sega games.
2026-02-13 04:10:37 +03:00
Windsurf7 b40047fb6e GameINI: Add codes to NiGHTS Journey of Dreams
This PR provides 60 FPS code additions to NiGHTS: Journey of Dreams.

NTSC-U/PAL/NTSC-J:
* Added 60 FPS code, coming from the Dolphin wiki.
* Followed my code naming convention for Sega games.
* The wiki says that the code is for NTSC-U but it's actually region free. It's been confirmed via testing.
* The wiki also says that a certain part in the final level softlocks, but that's actually not true and can be bypassed. An explanation has been included with the code.
2026-02-13 03:51:11 +03:00
Craig Carnell d75794b774 Externals: Update cpp-ipc to latest 2026-02-02 13:19:13 +00:00
JosJuice 711c3e1013 Jit64: Improve cmpXX imm handling
In the past, the register cache would contain either a host register or
an immediate (or neither) for a given guest register. Jit64::cmpXX would
roll with whichever one it got. But now that PR 12134 is merged, the
register cache can contain a host register at the same time as an
immediate. This gives us an optimization opportunity in Jit64::cmpXX.
Some paths are more efficient when we use an immediate and some paths
are more efficient when we don't, so to generate the best code, we
should carefully choose if we want an immediate or not rather than
leaving it to the register cache.
2026-01-18 13:25:53 +01:00
Joshua Vandaële 271a140715 CCache: Set as opt-in by default 2026-01-09 17:49:51 +01:00
Sintendo 56438bde44 PPCSymbolDB: Avoid double lookup 2025-12-22 08:46:44 +01:00
techflashYT b2a57f4391 Core/Boot: Fix ELF load address semantics
Tested with a binary that has VMA != (LMA | 0x80000000), unlike most
libogc binaries.  This is indeed a valid setup for ELFs, and one that is
generally expected to work properly.

Test code: https://github.com/Wii-Linux/NPLL/tree/reloc

In either case, you still need to set the PC in the debugger to get it
to boot properly, though that is a different issue that I will be fixing
in a future patch.
Without this patch, the code to be runtime-relocated ends up already
loaded at the desired final address, and then when the code tries to
relocate from what it thinks is the source address (where the code
should be, where the LMA is) to the destination address (the VMA, where
Dolphin mistakenly already put the code), it ends up overwriting the
code that it is about to execute with garbage, and then promptly
crashing.
After this patch is applied, the behavior now matches the GameCube with
Swiss (assuming a [recent patch](https://github.com/emukidid/swiss-gc/commit/bb4a57186c1481e291b7b0ea6d8e722bab816042)
is applied), and the Wii with the Homebrew Channel.
2025-11-13 06:20:21 -07:00
Dr. Dystopia 851c555c90 DiscIO: Use views::keys 2025-05-18 09:24:47 +02:00
Dr. Dystopia a327466771 Replace lazy implementation - Tools find-includes-cycles 2025-04-18 12:18:02 +02:00
Dr. Dystopia 8f48111ed6 Use structured bindings 2025-03-26 08:38:35 +01:00
468 changed files with 9798 additions and 18278 deletions
+2
View File
@@ -46,3 +46,5 @@ CMakeLists.txt.user
# clangd cache for Neovim
.cache/clangd
# Ignore CMake user presets
CMakeUserPresets.json
+12 -1
View File
@@ -69,6 +69,9 @@ DEFAULT_CONFIG = {
# Whether our autoupdate functionality is enabled or not.
"autoupdate": True,
# Whether CCache is used for the build or not.
"ccache": False,
# The distributor for this build.
"distributor": "None"
}
@@ -119,6 +122,12 @@ def parse_args(conf=DEFAULT_CONFIG):
action=argparse.BooleanOptionalAction,
default=conf["autoupdate"])
parser.add_argument(
"--ccache",
help="Enables CCache",
action=argparse.BooleanOptionalAction,
default=conf["ccache"])
parser.add_argument(
"--distributor",
help="Sets the distributor for this build",
@@ -304,7 +313,9 @@ def build(config):
# iconv, bzip2, and curl
"-DUSE_SYSTEM_ICONV=ON",
"-DUSE_SYSTEM_BZIP2=ON",
"-DUSE_SYSTEM_CURL=ON"
"-DUSE_SYSTEM_CURL=ON",
"-DENABLE_CCACHE="
+ python_to_cmake_bool(config["ccache"]),
],
env=env, cwd=arch)
+31
View File
@@ -1,3 +1,6 @@
include(CheckCXXSourceCompiles)
include(CheckCXXSymbolExists)
# like add_library(new ALIAS old) but avoids add_library cannot create ALIAS target "new" because target "old" is imported but not globally visible. on older cmake
# This can be replaced with a direct alias call once our minimum is cmake 3.18
function(dolphin_alias_library new old)
@@ -138,3 +141,31 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
endif()
endfunction()
function(dolphin_check_toolset_version LABEL VERSION_VAR MIN_VERSION)
if(NOT DEFINED ${VERSION_VAR})
return()
endif()
message(STATUS "Using ${LABEL} ${${VERSION_VAR}}")
if(${VERSION_VAR} VERSION_LESS ${MIN_VERSION})
message(FATAL_ERROR "Requires ${LABEL} ${MIN_VERSION} or higher")
endif()
endfunction()
function(dolphin_check_std_version LABEL VERSION_MACRO MIN_VERSION)
check_cxx_symbol_exists(${VERSION_MACRO} version IS_${LABEL})
if(NOT IS_${LABEL})
return()
endif()
check_cxx_source_compiles([[
#include <version>
#if ${VERSION_MACRO} < ${MIN_VERSION}
#error
#endif
int main(){}
]] HAS_MINIMUM_${LABEL})
if(NOT HAS_MINIMUM_${LABEL})
message(FATAL_ERROR "Requires ${LABEL} ${MIN_VERSION} or higher")
endif()
endfunction()
+20
View File
@@ -0,0 +1,20 @@
if(NOT DEFINED target OR NOT DEFINED link)
message(FATAL_ERROR "`target` and `link` must be defined")
endif()
file(CREATE_LINK "${target}" "${link}" RESULT result SYMBOLIC)
if(result EQUAL 0)
return()
endif()
if(WIN32)
set(hint "On Windows, enable Developer Mode to allow symlinks (https://learn.microsoft.com/windows/advanced-settings/developer-mode).")
endif()
message(WARNING "Symlink failed (${result}). Falling back to copying. ${hint}")
file(REMOVE_RECURSE "${link}")
if(IS_DIRECTORY "${target}")
file(COPY "${target}/." DESTINATION "${link}")
else()
file(COPY_FILE "${target}" "${link}" ONLY_IF_DIFFERENT)
endif()
+50
View File
@@ -0,0 +1,50 @@
set(ARCH "generic" CACHE STRING "Target architecture")
set(VALID_ARCHS x86_64 arm64 generic)
if(NOT ARCH IN_LIST VALID_ARCHS)
message(FATAL_ERROR "Invalid ARCH='${ARCH}'. Valid: ${VALID_ARCHS}")
endif()
if(ARCH STREQUAL "generic")
set(ENABLE_GENERIC "ON")
else()
set(CMAKE_SYSTEM_PROCESSOR "${ARCH}")
endif()
if (NOT DEFINED CMAKE_SYSTEM_NAME)
if(EXISTS "${CMAKE_SYSROOT}/usr/include/linux")
set(CMAKE_SYSTEM_NAME Linux)
elseif(EXISTS "${CMAKE_SYSROOT}/Windows/System32")
set(CMAKE_SYSTEM_NAME Windows)
elseif(EXISTS "${CMAKE_SYSROOT}/System/Library")
set(CMAKE_SYSTEM_NAME Darwin)
elseif(EXISTS "${CMAKE_SYSROOT}/usr/include/osreldate.h")
set(CMAKE_SYSTEM_NAME FreeBSD)
elseif(EXISTS "${CMAKE_SYSROOT}/usr/include/c++/v1/__locale_dir/locale_base_api/openbsd.h")
set(CMAKE_SYSTEM_NAME OpenBSD)
elseif(EXISTS "${CMAKE_SYSROOT}/usr/include/dev/dm/netbsd-dm.h")
set(CMAKE_SYSTEM_NAME NetBSD)
elseif(EXISTS "${CMAKE_SYSROOT}/boot/system/develop")
set(CMAKE_SYSTEM_NAME Haiku)
else()
message(WARNING "Cannot detect OS from sysroot '${CMAKE_SYSROOT}/'. Cross-compilation has been disabled.")
endif()
endif()
set(CMAKE_FIND_ROOT_PATH "${CMAKE_SYSROOT}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
if(NOT QT_HOST_PATH)
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "AMD64")
set(QT_HOST_PATH "${CMAKE_SOURCE_DIR}/Externals/Qt/Qt6.8.3/x64")
else()
set(QT_HOST_PATH "${CMAKE_SOURCE_DIR}/Externals/Qt/Qt6.8.3/ARM64")
endif()
else()
set(QT_HOST_PATH "/usr")
endif()
endif()
+5
View File
@@ -0,0 +1,5 @@
# This file exists to be consumed via `add_custom_command`
# so that file changes are picked up without needing a full reconfigure
file(SHA1 ${JSON_FILE} ACHIEVEMENT_APPROVED_LIST_HASH)
configure_file(${TEMPLATE_FILE} ${OUTPUT_FILE} @ONLY)
+61 -69
View File
@@ -1,18 +1,18 @@
########################################
# General setup
#
cmake_minimum_required(VERSION 3.20...4.2.1)
cmake_minimum_required(VERSION 3.25...4.2.1)
cmake_policy(SET CMP0080 OLD) # allow using BundleUtilities at configure time
if (POLICY CMP0141)
cmake_policy(SET CMP0141 NEW) # MSVC debug information format flags are selected by an abstraction.
endif()
# Minimum OS X version.
# This is inserted into the Info.plist as well.
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.0.0" CACHE STRING "")
# When we don't set a sysroot, AppleClang will put /usr/local/include at a higher
# priority than -isystem paths, which can cause weird include issues in Externals
set(CMAKE_OSX_SYSROOT macosx CACHE STRING "")
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_SOURCE_DIR}/CMake/FlagsOverride.cmake")
# CMake 3.28 and later scan c++ source files for module imports by default. Since we don't use
@@ -23,9 +23,20 @@ set(CMAKE_CXX_SCAN_FOR_MODULES OFF)
project(dolphin-emu)
if (CMAKE_VERSION VERSION_LESS "3.25" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
set(LINUX TRUE)
endif()
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMake)
# Support functions
include(CheckAndAddFlag)
include(CheckCCompilerFlag)
include(CheckSymbolExists)
include(DolphinCompileDefinitions)
include(DolphinDisableWarningsMSVC)
include(DolphinLibraryTools)
include(GNUInstallDirs)
include(RemoveCompileFlag)
# When using the Visual Studio generator, only show our targets and not the ones from Externals.
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT dolphin-emu)
if (MSVC)
set(CMAKE_C_STANDARD 99)
@@ -38,26 +49,36 @@ if (COMPILER STREQUAL "GNU")
set(COMPILER "GCC") # prefer printing GCC instead of GNU
endif()
# Enforce minimum compiler versions that support the c++23 features we use
set (GCC_min_version 12)
set (Clang_min_version 15)
set (AppleClang_min_version 14.0.3)
set (min_xcode_version "14.3") # corresponding xcode version for AppleClang_min_version
set (MSVC_min_version 19.32)
set (min_vs_version "2022 17.2.3") # corresponding Visual Studio version for MSVC_min_version
# Minimum required versions
# Toolsets
set(Xcode_min_version 14.3)
set(MSVC_toolset_min_version 143)
# Compilers
set(GCC_min_version 12)
set(Clang_min_version 15)
set(AppleClang_min_version 14.0.3)
set(MSVC_min_version 19.32)
# Standard libraries
set(libstdc++_min_version 12) # This should match GCC_min_version's major version.
set(libc++_min_version 150000) # This should match Clang_min_version in the format "xxyyzz" instead of "xx.yy.zz"
dolphin_check_toolset_version("Xcode" XCODE_VERSION ${Xcode_min_version})
dolphin_check_toolset_version("MSVC Toolset" MSVC_TOOLSET_VERSION ${MSVC_toolset_min_version})
message(STATUS "Using ${COMPILER} ${CMAKE_CXX_COMPILER_VERSION}")
if ("-" STREQUAL "${${COMPILER}_min_version}-")
if(NOT DEFINED ${COMPILER}_min_version)
message(WARNING "Unknown compiler ${COMPILER}, assuming it is new enough")
else()
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${${COMPILER}_min_version})
message(FATAL_ERROR "Requires GCC ${GCC_min_version}, Clang ${Clang_min_version},"
" AppleClang ${AppleClang_min_version} (Xcode ${min_xcode_version}),"
" or MSVC ${MSVC_min_version} (Visual Studio ${min_vs_version}) or higher")
endif()
elseif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${${COMPILER}_min_version})
message(FATAL_ERROR "Requires ${COMPILER} ${${COMPILER}_min_version} or higher")
endif()
# libstdc++ is almost always used on Linux, even when using clang as the compiler.
# libc++ is used on the likes of Android, Apple devices, FreeBSD, and a few (very) rare Linux distros like Chimera Linux.
# Windows uses its own standard library named STL, which we check as part of the toolset above. (outside of MinGW which can use either libstdc++ or libc++)
dolphin_check_std_version("GNU_libstdc++" _GLIBCXX_RELEASE ${libstdc++_min_version})
dolphin_check_std_version("LLVM_libc++" _LIBCPP_VERSION ${libc++_min_version})
# Name of the Dolphin distributor. If you redistribute Dolphin builds (forks,
# unofficial builds) please consider identifying your distribution with a
# unique name here.
@@ -97,6 +118,7 @@ option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence, show the current gam
option(USE_MGBA "Enables GBA controllers emulation using libmgba" ON)
option(ENABLE_AUTOUPDATE "Enables support for automatic updates" ON)
option(USE_RETRO_ACHIEVEMENTS "Enables integration with retroachievements.org" ON)
option(ENABLE_CCACHE "Enables CCache compiler cache" OFF)
# Maintainers: if you consider blanket disabling this for your users, please
# consider the following points:
@@ -146,26 +168,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
endif()
endif()
if(UNIX)
# Builds a relocatable binary on Linux.
# The Sys folder will need to be copied to the Binaries folder.
option(LINUX_LOCAL_DEV "Enable relocatable binary" OFF)
endif()
list(APPEND CMAKE_MODULE_PATH
${CMAKE_CURRENT_SOURCE_DIR}/CMake
)
# Support functions
include(CheckAndAddFlag)
include(CheckCCompilerFlag)
include(CheckSymbolExists)
include(DolphinCompileDefinitions)
include(DolphinDisableWarningsMSVC)
include(DolphinLibraryTools)
include(GNUInstallDirs)
include(RemoveCompileFlag)
# Enable folders for IDE
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
@@ -179,24 +181,23 @@ if(CMAKE_SYSROOT)
set(ENV{PKG_CONFIG_SYSROOT_DIR} "${CMAKE_SYSROOT}")
endif()
# Set where the binary files will be built. The program will not execute from
# here. You must run "make install" to install these to the proper location
# as defined above.
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Binaries)
# Output directory for the Dolphin binary
# We need to use a generator expression here to ensure that multi-config generators
# (like Visual Studio) put the binaries in the right place.
# See https://cmake.org/cmake/help/v4.2/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.html
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_BINARY_DIR}/Binaries>)
if (WIN32)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Binary)
# Output directory for PDB files. PDBs are only generated on Windows with MSVC.
# We set a common directory for all PDBs to avoid littering the Binaries/ directory.
set(CMAKE_PDB_OUTPUT_DIRECTORY $<1:${CMAKE_BINARY_DIR}/pdb>)
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64")
string(APPEND CMAKE_RUNTIME_OUTPUT_DIRECTORY /x64)
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
string(APPEND CMAKE_RUNTIME_OUTPUT_DIRECTORY /ARM64)
if(ENABLE_CCACHE)
include(CCache)
if(NOT CCACHE_BIN)
message(WARNING "Ccache was enabled but not found. This build will not use Ccache.")
endif()
endif()
# setup CCache
include(CCache)
# Architecture detection and arch specific settings
message(STATUS "Detected architecture: ${CMAKE_SYSTEM_PROCESSOR}")
@@ -213,6 +214,9 @@ else()
endif()
if(ENABLE_GENERIC)
if(WIN32)
message(FATAL_ERROR "Generic builds are not supported on Windows!")
endif()
message(STATUS "Warning! Building generic build!")
set(_M_GENERIC 1)
add_definitions(-D_M_GENERIC=1)
@@ -387,12 +391,6 @@ if(ENABLE_LTO)
endif()
endif()
if(UNIX)
if(LINUX_LOCAL_DEV)
add_definitions(-DLINUX_LOCAL_DEV)
endif()
endif()
# BSDs put packages in /usr/local instead of /usr, so we need to
# force CMake to look in those directories by default, too.
# All commands and submodule commands also need to see these
@@ -402,12 +400,6 @@ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};/usr/local")
set(CMAKE_REQUIRED_INCLUDES "/usr/local/include")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14.0)
# Workaround: the llvm libc++ and versions of clang earlier than 14 have a bug with consteval
# so we define FMT_CONSTEVAL to blank to just disable consteval in fmt
add_definitions(-DFMT_CONSTEVAL=)
endif()
endif()
# Dolphin requires threads.
@@ -453,7 +445,6 @@ if(ANDROID)
# but not as a shared library. We want an executable.
set(ANDROID 0)
endif()
set(USE_UPNP 0)
set(ENABLE_QT 0)
set(USE_DISCORD_PRESENCE 0)
@@ -710,6 +701,7 @@ endif()
if(ENABLE_SDL)
dolphin_find_optional_system_library(SDL3 Externals/SDL 3.2.0)
add_definitions(-DHAVE_SDL3)
endif()
dolphin_find_optional_system_library(SFML Externals/SFML 3.0 COMPONENTS Network System)
@@ -837,7 +829,7 @@ add_subdirectory(Source)
# Install shared data files
#
if(NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|Windows")
install(DIRECTORY Data/Sys/ DESTINATION ${datadir}/sys PATTERN)
install(DIRECTORY Data/Sys/ DESTINATION ${datadir}/Sys PATTERN)
endif()
if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD|Darwin")
install(FILES COPYING DESTINATION ${datadir})
+432
View File
@@ -0,0 +1,432 @@
{
"version": 6,
"configurePresets": [
{
"name": "ninja-generator",
"generator": "Ninja",
"hidden": true
},
{
"name": "visualstudio-generator",
"generator": "Visual Studio 18 2026",
"toolset": {
"value": "v145",
"strategy": "set"
},
"hidden": true
},
{
"name": "release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CONFIGURATION_TYPES": "Release"
},
"hidden": true
},
{
"name": "debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CONFIGURATION_TYPES": "Debug"
},
"hidden": true
},
{
"name": "generic",
"toolchainFile": "CMake/DolphinToolchain.cmake",
"cacheVariables": {
"ARCH": "generic"
},
"hidden": true
},
{
"name": "x64",
"toolchainFile": "CMake/DolphinToolchain.cmake",
"cacheVariables": {
"ARCH": "x86_64"
},
"hidden": true
},
{
"name": "arm64",
"toolchainFile": "CMake/DolphinToolchain.cmake",
"cacheVariables": {
"ARCH": "arm64"
},
"hidden": true
},
{
"name": "release-generic",
"inherits": ["release", "generic"],
"binaryDir": "${sourceDir}/build/release/generic",
"hidden": true
},
{
"name": "release-x64",
"inherits": ["release", "x64"],
"binaryDir": "${sourceDir}/build/release/x64",
"hidden": true
},
{
"name": "release-arm64",
"inherits": ["release", "arm64"],
"binaryDir": "${sourceDir}/build/release/arm64",
"hidden": true
},
{
"name": "debug-generic",
"inherits": ["debug", "generic"],
"binaryDir": "${sourceDir}/build/debug/generic",
"hidden": true
},
{
"name": "debug-x64",
"inherits": ["debug", "x64"],
"binaryDir": "${sourceDir}/build/debug/x64",
"hidden": true
},
{
"name": "debug-arm64",
"inherits": ["debug", "arm64"],
"binaryDir": "${sourceDir}/build/debug/arm64",
"hidden": true
},
{
"name": "visualstudio-generic",
"inherits": ["generic", "visualstudio-generator"],
"hidden": true
},
{
"name": "visualstudio-x64",
"inherits": ["x64", "visualstudio-generator"],
"architecture": {
"value": "x64",
"strategy": "set"
},
"hidden": true
},
{
"name": "visualstudio-arm64",
"inherits": ["arm64", "visualstudio-generator"],
"architecture": {
"value": "arm64",
"strategy": "set"
},
"hidden": true
},
{
"name": "ninja-generic",
"inherits": ["generic", "ninja-generator"],
"hidden": true
},
{
"name": "ninja-x64",
"architecture": {
"value": "x64",
"strategy": "external"
},
"inherits": ["x64", "ninja-generator"],
"hidden": true
},
{
"name": "ninja-arm64",
"architecture": {
"value": "arm64",
"strategy": "external"
},
"inherits": ["arm64", "ninja-generator"],
"hidden": true
},
{
"name": "visualstudio-release-generic",
"displayName": "Configure: Release - Visual Studio - Generic",
"inherits": ["release-generic", "visualstudio-generic"],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-release-x64",
"displayName": "Configure: Release - Visual Studio - x64",
"inherits": ["release-x64", "visualstudio-x64"],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-release-arm64",
"displayName": "Configure: Release - Visual Studio - ARM64",
"inherits": ["release-arm64", "visualstudio-arm64"],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-debug-generic",
"displayName": "Configure: Debug - Visual Studio - Generic",
"inherits": ["debug-generic", "visualstudio-generic"],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-debug-x64",
"displayName": "Configure: Debug - Visual Studio - x64",
"inherits": ["debug-x64", "visualstudio-x64"],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-debug-arm64",
"displayName": "Configure: Debug - Visual Studio - ARM64",
"inherits": ["debug-arm64", "visualstudio-arm64"],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "ninja-release-generic",
"displayName": "Configure: Release - Ninja - Generic",
"inherits": ["release-generic", "ninja-generic"]
},
{
"name": "ninja-release-x64",
"displayName": "Configure: Release - Ninja - x64",
"inherits": ["release-x64", "ninja-x64"]
},
{
"name": "ninja-release-arm64",
"displayName": "Configure: Release - Ninja - ARM64",
"inherits": ["release-arm64", "ninja-arm64"]
},
{
"name": "ninja-debug-generic",
"displayName": "Configure: Debug - Ninja - Generic",
"inherits": ["debug-generic", "ninja-generic"]
},
{
"name": "ninja-debug-x64",
"displayName": "Configure: Debug - Ninja - x64",
"inherits": ["debug-x64", "ninja-x64"]
},
{
"name": "ninja-debug-arm64",
"displayName": "Configure: Debug - Ninja - ARM64",
"inherits": ["debug-arm64", "ninja-arm64"]
}
],
"buildPresets": [
{
"name": "visualstudio-build-release-generic",
"displayName": "Build: Release - Visual Studio - Generic",
"configurePreset": "visualstudio-release-generic",
"configuration": "Release",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-build-release-x64",
"displayName": "Build: Release - Visual Studio - x64",
"configurePreset": "visualstudio-release-x64",
"configuration": "Release",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-build-release-arm64",
"displayName": "Build: Release - Visual Studio - ARM64",
"configurePreset": "visualstudio-release-arm64",
"configuration": "Release",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-build-debug-generic",
"displayName": "Build: Debug - Visual Studio - Generic",
"configurePreset": "visualstudio-debug-generic",
"configuration": "Debug",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-build-debug-x64",
"displayName": "Build: Debug - Visual Studio - x64",
"configurePreset": "visualstudio-debug-x64",
"configuration": "Debug",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "visualstudio-build-debug-arm64",
"displayName": "Build: Debug - Visual Studio - ARM64",
"configurePreset": "visualstudio-debug-arm64",
"configuration": "Debug",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "ninja-build-release-generic",
"displayName": "Build: Release - Ninja - Generic",
"configurePreset": "ninja-release-generic"
},
{
"name": "ninja-build-release-x64",
"displayName": "Build: Release - Ninja - x64",
"configurePreset": "ninja-release-x64"
},
{
"name": "ninja-build-release-arm64",
"displayName": "Build: Release - Ninja - ARM64",
"configurePreset": "ninja-release-arm64"
},
{
"name": "ninja-build-debug-generic",
"displayName": "Build: Debug - Ninja - Generic",
"configurePreset": "ninja-debug-generic"
},
{
"name": "ninja-build-debug-x64",
"displayName": "Build: Debug - Ninja - x64",
"configurePreset": "ninja-debug-x64"
},
{
"name": "ninja-build-debug-arm64",
"displayName": "Build: Debug - Ninja - ARM64",
"configurePreset": "ninja-debug-arm64"
}
],
"workflowPresets": [
{
"name": "visualstudio-release-generic",
"displayName": "Release - Visual Studio - Generic",
"steps": [
{ "type": "configure", "name": "visualstudio-release-generic" },
{ "type": "build", "name": "visualstudio-build-release-generic" }
]
},
{
"name": "visualstudio-release-x64",
"displayName": "Release - Visual Studio - x64",
"steps": [
{ "type": "configure", "name": "visualstudio-release-x64" },
{ "type": "build", "name": "visualstudio-build-release-x64" }
]
},
{
"name": "visualstudio-release-arm64",
"displayName": "Release - Visual Studio - ARM64",
"steps": [
{ "type": "configure", "name": "visualstudio-release-arm64" },
{ "type": "build", "name": "visualstudio-build-release-arm64" }
]
},
{
"name": "visualstudio-debug-generic",
"displayName": "Debug - Visual Studio - Generic",
"steps": [
{ "type": "configure", "name": "visualstudio-debug-generic" },
{ "type": "build", "name": "visualstudio-build-debug-generic" }
]
},
{
"name": "visualstudio-debug-x64",
"displayName": "Debug - Visual Studio - x64",
"steps": [
{ "type": "configure", "name": "visualstudio-debug-x64" },
{ "type": "build", "name": "visualstudio-build-debug-x64" }
]
},
{
"name": "visualstudio-debug-arm64",
"displayName": "Debug - Visual Studio - ARM64",
"steps": [
{ "type": "configure", "name": "visualstudio-debug-arm64" },
{ "type": "build", "name": "visualstudio-build-debug-arm64" }
]
},
{
"name": "ninja-release-generic",
"displayName": "Release - Ninja - Generic",
"steps": [
{ "type": "configure", "name": "ninja-release-generic" },
{ "type": "build", "name": "ninja-build-release-generic" }
]
},
{
"name": "ninja-release-x64",
"displayName": "Release - Ninja - x64",
"steps": [
{ "type": "configure", "name": "ninja-release-x64" },
{ "type": "build", "name": "ninja-build-release-x64" }
]
},
{
"name": "ninja-release-arm64",
"displayName": "Release - Ninja - ARM64",
"steps": [
{ "type": "configure", "name": "ninja-release-arm64" },
{ "type": "build", "name": "ninja-build-release-arm64" }
]
},
{
"name": "ninja-debug-generic",
"displayName": "Debug - Ninja - Generic",
"steps": [
{ "type": "configure", "name": "ninja-debug-generic" },
{ "type": "build", "name": "ninja-build-debug-generic" }
]
},
{
"name": "ninja-debug-x64",
"displayName": "Debug - Ninja - x64",
"steps": [
{ "type": "configure", "name": "ninja-debug-x64" },
{ "type": "build", "name": "ninja-build-debug-x64" }
]
},
{
"name": "ninja-debug-arm64",
"displayName": "Debug - Ninja - ARM64",
"steps": [
{ "type": "configure", "name": "ninja-debug-arm64" },
{ "type": "build", "name": "ninja-build-debug-arm64" }
]
}
]
}
-64
View File
@@ -1,64 +0,0 @@
{
"configurations": [
{
"name": "Release",
"configurationType": "Release",
"generator": "Ninja",
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildCommandArgs": "",
"buildRoot": "${workspaceRoot}\\Build\\${name}",
"cmakeCommandArgs": "",
"variables": [
]
},
{
"name": "Debug",
"configurationType": "Debug",
"generator": "Ninja",
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildCommandArgs": "",
"buildRoot": "${workspaceRoot}\\Build\\${name}",
"cmakeCommandArgs": "",
"variables": [
]
},
{
"name": "Release (arm64)",
"configurationType": "Release",
"generator": "Ninja",
"inheritEnvironments": [ "msvc_arm64_x64" ],
"buildCommandArgs": "",
"buildRoot": "${workspaceRoot}\\Build\\${name}",
"cmakeCommandArgs": "",
"variables": [
{
"name": "CMAKE_SYSTEM_NAME",
"value": "Windows"
},
{
"name": "CMAKE_SYSTEM_PROCESSOR",
"value": "aarch64"
}
]
},
{
"name": "Debug (arm64)",
"configurationType": "Debug",
"generator": "Ninja",
"inheritEnvironments": [ "msvc_arm64_x64" ],
"buildCommandArgs": "",
"buildRoot": "${workspaceRoot}\\Build\\${name}",
"cmakeCommandArgs": "",
"variables": [
{
"name": "CMAKE_SYSTEM_NAME",
"value": "Windows"
},
{
"name": "CMAKE_SYSTEM_PROCESSOR",
"value": "aarch64"
}
]
}
]
}
+1 -1
View File
@@ -195,7 +195,7 @@ Summary:
- [Classes and Structs](#cpp-code-classes-and-structs)
## <a name="cpp-code-general"></a>General
- The codebase currently uses C++20, though not all compilers support all C++20 features.
- The codebase currently uses C++23, though compiler support for newer language features varies.
- See CMakeLists.txt "Enforce minimum compiler versions" for the currently supported compilers.
- Use the [nullptr](https://en.cppreference.com/w/cpp/language/nullptr) type over the macro `NULL`.
- If a [range-based for loop](https://en.cppreference.com/w/cpp/language/range-for) can be used instead of container iterators, use it.
File diff suppressed because one or more lines are too long
+20
View File
@@ -0,0 +1,20 @@
# D44J01 - The Legend of Zelda: The Wind Waker Demo Prerelease
[Video_Hacks]
# Prevent sun flares from going through walls.
EFBAccessEnable = True
# Prevent crash when snapping a picture with the Picto Box.
EFBToTextureEnable = False
# The game logic itself is ignoring VI interrupts
# and keeps updating shadow video registers.
# Because of this, it is incompatible with VISkip.
VISkip = False
[Video_Enhancements]
# Makes sea effects fade in the distance.
ArbitraryMipmapDetection = True
[Video_Stereoscopy]
StereoConvergence = 115
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+5 -2
View File
@@ -8,11 +8,14 @@ SyncOnSkipIdle = False
[OnFrame]
# `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
0x80013818:dword:0x60000000
[ActionReplay]
# Add action replay cheats here.
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -10,3 +10,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -10,3 +10,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -5,6 +5,9 @@ $Limit internal frame rate during startup (speed hack)
0x80277034:dword:0x60000000
0x80277040:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate during startup (speed hack)
[Gecko]
$16:9 Widescreen
04004600 C002A604
+3 -3
View File
@@ -2,11 +2,11 @@
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
0x80149C38:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
+3 -3
View File
@@ -2,11 +2,11 @@
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
0x8014CF88:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
+4 -9
View File
@@ -1,10 +1,5 @@
# GNWE69, GNWP69 - Def Jam Fight For NY
# GNWE69, GNWP69 - Def Jam: Fight for NY
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[Video_Hacks]
ImmediateXFBEnable = False
[Video_Settings]
# Avoids missing text in menus.
FastDepthCalc = False
+2 -3
View File
@@ -1,6 +1,5 @@
# GOWE69 - Need for Speed: Most Wanted
[Gecko]
$Unlock Black Edition [Xanvier]
C241EECC 00000001
00000001 00000000
$Unlock Black Edition [Ralf]
0441EECC 00000001
+3 -3
View File
@@ -2,11 +2,11 @@
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
0x80101A80:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
+3 -3
View File
@@ -2,11 +2,11 @@
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
0x80101B08:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
+3 -3
View File
@@ -2,11 +2,11 @@
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
0x8010F210:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
+3 -3
View File
@@ -2,11 +2,11 @@
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
0x80101390:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)
$Limit internal frame rate (speed hack)
-10
View File
@@ -1,17 +1,7 @@
# GUTD52, GUTE52, GUTF52, GUTI52, GUTJC0, GUTP52, GUTS52 - Ultimate Spider-Man
[Core]
# Values set here will override the main Dolphin settings.
MMU = True
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Hacks]
ImmediateXFBEnable = False
BBoxEnable = True
[Video_Settings]
+2 -3
View File
@@ -1,6 +1,5 @@
# GW5E69 - Need for Speed: Carbon
[ActionReplay]
$Unlock Collector's Edition
0AB3E002 18000000
[Gecko]
$Unlock Collector's Edition [Ralf]
045075B8 00000001
+4 -10
View File
@@ -1,16 +1,9 @@
# GZLE01, GZLJ01, GZLP01 - The Legend of Zelda The Wind Waker
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
# GZLE01, GZLJ01, GZLP01 - The Legend of Zelda: The Wind Waker
[Video_Hacks]
# Prevent sun flares from going through walls.
EFBAccessEnable = True
# Prevent crash when snapping a picture with the Picto Box.
EFBToTextureEnable = False
# The game logic itself is ignoring VI interrupts
@@ -20,6 +13,7 @@ EFBToTextureEnable = False
VISkip = False
[Video_Enhancements]
# Makes sea effects fade in the distance.
ArbitraryMipmapDetection = True
[Video_Stereoscopy]
-3
View File
@@ -6,6 +6,3 @@ DSPHLE = False
[DSP]
# Make sure we get DSP LLE recompiler and not DSP LLE interpreter, for performance.
EnableJIT = True
[Video_Settings]
# Fixes old frames being shown when a game only updates a small part of the screen. Examples include gradually revealed text and the HP bars in Pokémon.
SafeTextureCacheColorSamples = 0
+4
View File
@@ -2,3 +2,7 @@
[Video_Settings]
SuggestedAspectRatio = 2
[Video_Hacks]
# Required to show pony for grooming.
EFBToTextureEnable = False
+4
View File
@@ -12,3 +12,7 @@
[Video_Settings]
SafeTextureCacheColorSamples = 0
[Gecko]
$60FPS [Nick Reynolds]
045524c8 00000001
*During Will's final stage towards the cutscene with Helen, fly towards the bottom of the level to avoid softlocking.
+3 -3
View File
@@ -6,11 +6,11 @@
# The loop waits for a vblank interrupt, spamming `OSYieldThread` in the meantime.
# The patch replaces the call to `VIWaitForRetrace`, which still executes the other threads,
# but sleeps instead of spinlocking when there is no thread to execute.
$Speed hack
$Idle loop speed hack
0x802B2908:dword:0x4826F5C9
[OnFrame_Enabled]
$Speed hack
$Idle loop speed hack
[Patches_RetroAchievements_Verified]
$Speed hack
$Idle loop speed hack
+3 -3
View File
@@ -6,11 +6,11 @@
# The loop waits for a vblank interrupt, spamming `OSYieldThread` in the meantime.
# The patch replaces the call to `VIWaitForRetrace`, which still executes the other threads,
# but sleeps instead of spinlocking when there is no thread to execute.
$Speed hack
$Idle loop speed hack
0x802B3118:dword:0x4826F5B9
[OnFrame_Enabled]
$Speed hack
$Idle loop speed hack
[Patches_RetroAchievements_Verified]
$Speed hack
$Idle loop speed hack
+3 -3
View File
@@ -6,11 +6,11 @@
# The loop waits for a vblank interrupt, spamming `OSYieldThread` in the meantime.
# The patch replaces the call to `VIWaitForRetrace`, which still executes the other threads,
# but sleeps instead of spinlocking when there is no thread to execute.
$Speed hack
$Idle loop speed hack
0x802B2908:dword:0x4826F5C9
[OnFrame_Enabled]
$Speed hack
$Idle loop speed hack
[Patches_RetroAchievements_Verified]
$Speed hack
$Idle loop speed hack
+5
View File
@@ -0,0 +1,5 @@
# RENE8P - Sonic and the Black Knight
[Gecko]
$60FPS [Nick Reynolds]
040887D8 3800003C
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+1 -1
View File
@@ -1,4 +1,4 @@
# RSRP8P, RSRE8P, RSRJ8P - Sonic and the Secret Rings
# RSRE8P, RSRJ8P, RSRP8P - Sonic and the Secret Rings
[Core]
# Fixes detection of motion actions.
+5
View File
@@ -0,0 +1,5 @@
# RSRE8P - Sonic and the Secret Rings
[Gecko]
$60FPS [Nick Reynolds]
040B6878 3800003C
+27
View File
@@ -0,0 +1,27 @@
# RSVE8P - Sonic Unleashed
[Gecko]
$Toggleable 60FPS (Gamecube controller) [yorkiesandskittles, dreamsyntax]
28760BF7 00000008
04868794 3F800000
04792460 0000003C
0419D33C 4E800020
E0000000 80008000
28760BF7 00000004
04868794 40000000
04792460 0000001E
0419D33C 806304C4
E0000000 80008000
*Causes many problems during gameplay. Use D-pad Up to toggle to 60 FPS, and D-pad Down to toggle to 30 FPS, as necessary.
$Toggleable 60FPS (Wii controller) [yorkiesandskittles, dreamsyntax]
288144aa 00000008
04868794 3f800000
04792460 0000003c
0419d33c 4e800020
e0000000 80008000
288144aa 00000004
04868794 40000000
04792460 0000001e
0419d33c 806304c4
e0000000 80008000
*Causes many problems during gameplay. Use D-pad Up to toggle to 60 FPS, and D-pad Down to toggle to 30 FPS, as necessary.
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -7,3 +7,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+3
View File
@@ -7,3 +7,6 @@ $BAT Speedhack
[OnFrame_Enabled]
$BAT Speedhack
[Patches_RetroAchievements_Verified]
$BAT Speedhack
+230
View File
@@ -0,0 +1,230 @@
# SX4E01 - Xenoblade Chronicles
[Gecko]
$60 FPS
# Author: One More Try
# Forum Thread: https://forums.dolphin-emu.org/Thread-ntsc-jp-xenoblade-60fps-and-other-mods
# Notes:
# * Requires a CPU Overclock of at least 110% to maintain stable frame rates during battles.
# * May cause intermittent crashes in some areas; disable temporarily if a consistent crash occurs.
# Run once when apply
A8000000 00000000
# Camera speed optional
C206C36C 00000003
EE81082A EE81A024
EC210532 EC000532
D00D82BC 00000000
C206C384 00000004
EC420532 EEB4A02A
EC150028 EC000532
EC150028 D04D82F4
60000000 00000000
# Melia effect fix
C24CD770 00000002
C022CF74 EC000828
D0170018 00000000
# Affinity screen fixes
04668860 42080000
04668864 41900000
0466886C 41200000
04668868 C1200000
# Gem crafting animations
046684DC 42200000
046684D4 42C80000
046684D8 42700000
# Condition cycle speed
04666fdc 42F00000
04667038 42F00000
# UI slideout
046673f0 43340000
04667420 43340000
# Stairs unsticky
C24C1ED4 00000002
EC3F0024 EC2100B2
60000000 00000000
# Buggy lift
0466606c 3b23d000
# Burst B fix timing
04667870 43480000
C2181264 00000002
EC0010FA EC00182A
60000000 00000000
# Ice Slide Speed
04666090 3F7D6A16
04666098 3F400000
0466609C 3F7DD000
# Slow Text
0412e66c 41820008
C212E668 00000003
7F85E378 7F66DB78
3E608000 82731824
# Text End
2C130001 00000000
# Slow Cutscene Text
041a3dec 41820008
C21A3DE8 00000003
807F0088 7FA4EB78
3E608000 82731824
# End
2C130001 00000000
# Cutscene Switch speed
0466AB90 3F000000
C24A0838 00000002
3E808082 82949E68
2C140002 00000000
# Screen dimming duration
C203A52C 00000004
3E808082 82949E68
2C140001 3803F800
41A20008 3803F000
60000000 00000000
# Head Movement
C24ED0AC 00000001
ECC0C63A 00000000
C24EC8BC 00000001
EC40FFFA 00000000
C24ED0B4 00000001
ECA0C63A 00000000
# Menu 60fps
C249A358 00000004
3FC080CA 63DE54B4
C282CF74 7C03F000
41A20008 EC210532
83C10008 00000000
041C3904 3803FFFA
041C38EC 2800001A
041C3890 2800001A
041C38A8 3803FFFA
046687A0 41A00000
046687A8 40666667
04668890 42080000
# Menu End
04668894 41900000
# Select art controls
C24497D4 00000002
7D084214 7CE83A14
60000000 00000000
C24497FC 00000002
7D084214 7CE83850
60000000 00000000
C2449844 00000002
7D084214 7C083800
# Controls End
60000000 00000000
# Grass double value if fraction
C20BAD8C 00000003
EEA1082A FE810878
FC34A86E C01F2F48
60000000 00000000
# Moving Texture
C23DFE1C 00000003
1C00000C D022FFFC
F0223FF8 E0223FF8
60000000 00000000
C23DFEBC 00000002
C043000C C022FFFC
60000000 00000000
C23E5B54 00000004
C02D9BE0 3D808082
818C9E68 2C0C0002
4182000C C062CF74
EC230072 00000000
C23E5128 00000004
C02D9BE0 3D808082
818C9E68 2C0C0002
4182000C C062CF74
EC230072 00000000
C23E8AEC 00000004
C02D9BE0 3D808082
818C9E68 2C0C0002
4182000C C062CF74
EC230072 00000000
C23DFEB4 00000012
C062FFFC FC030840
C0230004 41820080
C0630000 C043000C
EC621828 C042C010
C0A2CF74 FC021840
41A20038 C023FFF8
C0630004 FC801A10
FC000A10 FC040040
41A10014 FC801050
FC8120AE EC64182A
4BFFFFE4 EC230828
EC25187A 48000030
C0630010 FC801A10
FC000A10 FC040040
41A10014 FC801050
FC8120AE EC64182A
4BFFFFE4 EC43082A
EC220172 00000000
# Timer FPS Multi
C244B714 00000011
# Gr1824
3E808000 62941824
# Extra Speed Multi
80140000 68000001
90140000 3E808066
82944268 2C140000
38000001 3CA03F00
41A20028 3E808066
82943E18 3C008082
6000CB00 7C140000
38000001 41A2000C
38000002 3CA03F80
3E808082 90149E68
3EA080CA 801554C0
2C000000 41820020
3EC08066 80163D24
2C000001 40A20008
3CA03F80 90B554C0
38630001 00000000
# Timer mods using Gr1824
C216ADC4 00000005
# skip if movie
3E808082 82949E68
2C140002 3A800001
4182000C 3E808000
82941824 7C04A214
60000000 00000000
C216ADCC 00000001
7C03A214 00000000
# Not Skipped
C21669CC 00000002
C242CF74 EC0004B2
D01E01E8 00000000
# End Timer
60000000 00000000
# Speed Multi
C249A374 00000005
EE739828 FC019840
41820018 3E808082
82B49E68 2C150002
41820008 C022CF74
D023000C 00000000
# Intro Only
C216AD8C 00000004
3E808082 82949E68
C0229BCC 2C140002
41820008 C022CF74
60000000 00000000
# UI Speeds Half
C2137DE8 00000002
C002CF74 EC210032
C0030010 00000000
# Climb Fix
C205C414 00000002
C3E2CF74 EC01EFFA
60000000 00000000
# Run Speed
C244B460 00000001
38000002 00000000
# Check once
22CA54C0 00000000
# 60 FPS speed
04CA54C0 3F000000
E0000000 80008000
[Gecko_RetroAchievements_Verified]
$60 FPS
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
+3
View File
@@ -6,3 +6,6 @@ $Limit internal frame rate (speed hack)
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)
-43
View File
@@ -1,43 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<Text Include="CMakeLists.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="config.h" />
<ClInclude Include="disasm.h" />
<ClInclude Include="dis_tables.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="dis_decode.cc" />
<ClCompile Include="dis_groups.cc" />
<ClCompile Include="resolve.cc" />
<ClCompile Include="syntax.cc" />
</ItemGroup>
<ItemGroup>
<None Include="opcodes.inc" />
<None Include="dis_tables.inc" />
<None Include="dis_tables_avx.inc" />
<None Include="dis_tables_sse.inc" />
<None Include="dis_tables_x87.inc" />
<None Include="dis_tables_xop.inc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)Bochs_disasm;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)Bochs_disasm\Bochs_disasm.vcxproj">
<Project>{8ada04d7-6db1-4da4-ab55-64fb12a0997b}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-33
View File
@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{3F17D282-A77D-4931-B844-903AD0809A5E}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<ClCompile Include="ff.c" />
<ClCompile Include="ffunicode.c" />
</ItemGroup>
<ItemGroup>
<Text Include="CMakeLists.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="diskio.h" />
<ClInclude Include="ff.h" />
<ClInclude Include="ffconf.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)FatFs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)FatFs\FatFs.vcxproj">
<Project>{3F17D282-A77D-4931-B844-903AD0809A5E}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-39
View File
@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{8498F2FA-5CA6-4169-9971-DE5B1FE6132C}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\FreeSurround\ChannelMaps.h" />
<ClInclude Include="include\FreeSurround\FreeSurroundDecoder.h" />
<ClInclude Include="include\FreeSurround\KissFFT.h" />
<ClInclude Include="include\FreeSurround\KissFFTR.h" />
<ClInclude Include="include\FreeSurround\_KissFFTGuts.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="source\ChannelMaps.cpp" />
<ClCompile Include="source\FreeSurroundDecoder.cpp" />
<ClCompile Include="source\KissFFT.cpp" />
<ClCompile Include="source\KissFFTR.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-42
View File
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemGroup>
<ClCompile Include="source\ChannelMaps.cpp">
<Filter>source</Filter>
</ClCompile>
<ClCompile Include="source\FreeSurroundDecoder.cpp">
<Filter>source</Filter>
</ClCompile>
<ClCompile Include="source\KissFFT.cpp">
<Filter>source</Filter>
</ClCompile>
<ClCompile Include="source\KissFFTR.cpp">
<Filter>source</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\FreeSurround\_KissFFTGuts.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\FreeSurround\ChannelMaps.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\FreeSurround\FreeSurroundDecoder.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\FreeSurround\KissFFT.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\FreeSurround\KissFFTR.h">
<Filter>include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="include">
<UniqueIdentifier>{776ecb31-6d5e-489f-bac9-b91a1b202345}</UniqueIdentifier>
</Filter>
<Filter Include="source">
<UniqueIdentifier>{11345325-d67c-4a21-b2e9-c7c6c8cfc8b4}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)FreeSurround\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)FreeSurround\FreeSurround.vcxproj">
<Project>{8498f2fa-5ca6-4169-9971-de5b1fe6132c}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-35
View File
@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{AB993F38-C31D-4897-B139-A620C42BC565}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<ClInclude Include="lzoconf.h" />
<ClInclude Include="lzodefs.h" />
<ClInclude Include="minilzo.h" />
</ItemGroup>
<ItemGroup>
<Text Include="CMakeLists.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="minilzo.c" />
</ItemGroup>
<ItemGroup>
<None Include="README.LZO" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)LZO;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)LZO\LZO.vcxproj">
<Project>{ab993f38-c31d-4897-b139-a620c42bc565}</Project>
</ProjectReference>
</ItemGroup>
</Project>
+1 -1
-533
View File
@@ -1,533 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>SDL\src;SDL\include;SDL\include\build_config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>SDL_AUDIO_DISABLED;SDL_VIDEO_DISABLED;SDL_GPU_DISABLED;SDL_RENDER_DISABLED;SDL_CAMERA_DISABLED;SDL_DIALOG_DISABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="SDL\include\SDL3\SDL.h" />
<ClInclude Include="SDL\include\SDL3\SDL_assert.h" />
<ClInclude Include="SDL\include\SDL3\SDL_asyncio.h" />
<ClInclude Include="SDL\include\SDL3\SDL_atomic.h" />
<ClInclude Include="SDL\include\SDL3\SDL_audio.h" />
<ClInclude Include="SDL\include\SDL3\SDL_begin_code.h" />
<ClInclude Include="SDL\include\SDL3\SDL_bits.h" />
<ClInclude Include="SDL\include\SDL3\SDL_blendmode.h" />
<ClInclude Include="SDL\include\SDL3\SDL_camera.h" />
<ClInclude Include="SDL\include\SDL3\SDL_clipboard.h" />
<ClInclude Include="SDL\include\SDL3\SDL_close_code.h" />
<ClInclude Include="SDL\include\SDL3\SDL_copying.h" />
<ClInclude Include="SDL\include\SDL3\SDL_cpuinfo.h" />
<ClInclude Include="SDL\include\SDL3\SDL_dialog.h" />
<ClInclude Include="SDL\include\SDL3\SDL_dlopennote.h" />
<ClInclude Include="SDL\include\SDL3\SDL_egl.h" />
<ClInclude Include="SDL\include\SDL3\SDL_endian.h" />
<ClInclude Include="SDL\include\SDL3\SDL_error.h" />
<ClInclude Include="SDL\include\SDL3\SDL_events.h" />
<ClInclude Include="SDL\include\SDL3\SDL_filesystem.h" />
<ClInclude Include="SDL\include\SDL3\SDL_gamepad.h" />
<ClInclude Include="SDL\include\SDL3\SDL_gpu.h" />
<ClInclude Include="SDL\include\SDL3\SDL_guid.h" />
<ClInclude Include="SDL\include\SDL3\SDL_haptic.h" />
<ClInclude Include="SDL\include\SDL3\SDL_hidapi.h" />
<ClInclude Include="SDL\include\SDL3\SDL_hints.h" />
<ClInclude Include="SDL\include\SDL3\SDL_init.h" />
<ClInclude Include="SDL\include\SDL3\SDL_intrin.h" />
<ClInclude Include="SDL\include\SDL3\SDL_iostream.h" />
<ClInclude Include="SDL\include\SDL3\SDL_joystick.h" />
<ClInclude Include="SDL\include\SDL3\SDL_keyboard.h" />
<ClInclude Include="SDL\include\SDL3\SDL_keycode.h" />
<ClInclude Include="SDL\include\SDL3\SDL_loadso.h" />
<ClInclude Include="SDL\include\SDL3\SDL_locale.h" />
<ClInclude Include="SDL\include\SDL3\SDL_log.h" />
<ClInclude Include="SDL\include\SDL3\SDL_main.h" />
<ClInclude Include="SDL\include\SDL3\SDL_main_impl.h" />
<ClInclude Include="SDL\include\SDL3\SDL_messagebox.h" />
<ClInclude Include="SDL\include\SDL3\SDL_metal.h" />
<ClInclude Include="SDL\include\SDL3\SDL_misc.h" />
<ClInclude Include="SDL\include\SDL3\SDL_mouse.h" />
<ClInclude Include="SDL\include\SDL3\SDL_mutex.h" />
<ClInclude Include="SDL\include\SDL3\SDL_oldnames.h" />
<ClInclude Include="SDL\include\SDL3\SDL_opengl.h" />
<ClInclude Include="SDL\include\SDL3\SDL_opengl_glext.h" />
<ClInclude Include="SDL\include\SDL3\SDL_opengles.h" />
<ClInclude Include="SDL\include\SDL3\SDL_opengles2.h" />
<ClInclude Include="SDL\include\SDL3\SDL_opengles2_gl2.h" />
<ClInclude Include="SDL\include\SDL3\SDL_opengles2_gl2ext.h" />
<ClInclude Include="SDL\include\SDL3\SDL_opengles2_gl2platform.h" />
<ClInclude Include="SDL\include\SDL3\SDL_opengles2_khrplatform.h" />
<ClInclude Include="SDL\include\SDL3\SDL_pen.h" />
<ClInclude Include="SDL\include\SDL3\SDL_pixels.h" />
<ClInclude Include="SDL\include\SDL3\SDL_platform.h" />
<ClInclude Include="SDL\include\SDL3\SDL_platform_defines.h" />
<ClInclude Include="SDL\include\SDL3\SDL_power.h" />
<ClInclude Include="SDL\include\SDL3\SDL_process.h" />
<ClInclude Include="SDL\include\SDL3\SDL_properties.h" />
<ClInclude Include="SDL\include\SDL3\SDL_rect.h" />
<ClInclude Include="SDL\include\SDL3\SDL_render.h" />
<ClInclude Include="SDL\include\SDL3\SDL_revision.h" />
<ClInclude Include="SDL\include\SDL3\SDL_scancode.h" />
<ClInclude Include="SDL\include\SDL3\SDL_sensor.h" />
<ClInclude Include="SDL\include\SDL3\SDL_stdinc.h" />
<ClInclude Include="SDL\include\SDL3\SDL_storage.h" />
<ClInclude Include="SDL\include\SDL3\SDL_surface.h" />
<ClInclude Include="SDL\include\SDL3\SDL_system.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_assert.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_common.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_compare.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_crc32.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_font.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_fuzzer.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_harness.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_log.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_md5.h" />
<ClInclude Include="SDL\include\SDL3\SDL_test_memory.h" />
<ClInclude Include="SDL\include\SDL3\SDL_thread.h" />
<ClInclude Include="SDL\include\SDL3\SDL_time.h" />
<ClInclude Include="SDL\include\SDL3\SDL_timer.h" />
<ClInclude Include="SDL\include\SDL3\SDL_touch.h" />
<ClInclude Include="SDL\include\SDL3\SDL_tray.h" />
<ClInclude Include="SDL\include\SDL3\SDL_version.h" />
<ClInclude Include="SDL\include\SDL3\SDL_video.h" />
<ClInclude Include="SDL\include\SDL3\SDL_vulkan.h" />
<ClInclude Include="SDL\src\audio\directsound\SDL_directsound.h" />
<ClInclude Include="SDL\src\audio\disk\SDL_diskaudio.h" />
<ClInclude Include="SDL\src\audio\dummy\SDL_dummyaudio.h" />
<ClInclude Include="SDL\src\audio\SDL_audio_c.h" />
<ClInclude Include="SDL\src\audio\SDL_audiodev_c.h" />
<ClInclude Include="SDL\src\audio\SDL_sysaudio.h" />
<ClInclude Include="SDL\src\audio\SDL_audioqueue.h" />
<ClInclude Include="SDL\src\audio\SDL_audioresample.h" />
<ClInclude Include="SDL\src\audio\SDL_wave.h" />
<ClInclude Include="SDL\src\audio\wasapi\SDL_wasapi.h" />
<ClInclude Include="SDL\src\camera\SDL_camera_c.h" />
<ClInclude Include="SDL\src\camera\SDL_syscamera.h" />
<ClInclude Include="SDL\src\core\SDL_core_unsupported.h" />
<ClInclude Include="SDL\src\core\windows\SDL_directx.h" />
<ClInclude Include="SDL\src\core\windows\SDL_gameinput.h" />
<ClInclude Include="SDL\src\core\windows\SDL_hid.h" />
<ClInclude Include="SDL\src\core\windows\SDL_immdevice.h" />
<ClInclude Include="SDL\src\core\windows\SDL_windows.h" />
<ClInclude Include="SDL\src\core\windows\SDL_xinput.h" />
<ClInclude Include="SDL\src\cpuinfo\SDL_cpuinfo_c.h" />
<ClInclude Include="SDL\src\dynapi\SDL_dynapi.h" />
<ClInclude Include="SDL\src\dynapi\SDL_dynapi_overrides.h" />
<ClInclude Include="SDL\src\dynapi\SDL_dynapi_procs.h" />
<ClInclude Include="SDL\src\dynapi\SDL_dynapi_unsupported.h" />
<ClInclude Include="SDL\src\events\blank_cursor.h" />
<ClInclude Include="SDL\src\events\default_cursor.h" />
<ClInclude Include="SDL\src\events\scancodes_windows.h" />
<ClInclude Include="SDL\src\events\SDL_categories_c.h" />
<ClInclude Include="SDL\src\events\SDL_clipboardevents_c.h" />
<ClInclude Include="SDL\src\events\SDL_displayevents_c.h" />
<ClInclude Include="SDL\src\events\SDL_dropevents_c.h" />
<ClInclude Include="SDL\src\events\SDL_events_c.h" />
<ClInclude Include="SDL\src\events\SDL_eventwatch_c.h" />
<ClInclude Include="SDL\src\events\SDL_keyboard_c.h" />
<ClInclude Include="SDL\src\events\SDL_keymap_c.h" />
<ClInclude Include="SDL\src\events\SDL_mouse_c.h" />
<ClInclude Include="SDL\src\events\SDL_touch_c.h" />
<ClInclude Include="SDL\src\events\SDL_windowevents_c.h" />
<ClInclude Include="SDL\src\filesystem\SDL_sysfilesystem.h" />
<ClInclude Include="SDL\src\gpu\SDL_sysgpu.h" />
<ClInclude Include="SDL\src\gpu\vulkan\SDL_gpu_vulkan_vkfuncs.h" />
<ClInclude Include="SDL\src\io\SDL_asyncio_c.h" />
<ClInclude Include="SDL\src\io\SDL_sysasyncio.h" />
<ClInclude Include="SDL\src\haptic\SDL_haptic_c.h" />
<ClInclude Include="SDL\src\haptic\SDL_syshaptic.h" />
<ClInclude Include="SDL\src\haptic\SDL_hidapihaptic.h" />
<ClInclude Include="SDL\src\haptic\windows\SDL_dinputhaptic_c.h" />
<ClInclude Include="SDL\src\haptic\windows\SDL_windowshaptic_c.h" />
<ClInclude Include="SDL\src\haptic\hidapi\SDL_hidapihaptic_c.h" />
<ClInclude Include="SDL\src\hidapi\hidapi\hidapi.h" />
<ClInclude Include="SDL\src\hidapi\SDL_hidapi_c.h" />
<ClInclude Include="SDL\src\joystick\controller_type.h" />
<ClInclude Include="SDL\src\joystick\hidapi\SDL_hidapijoystick_c.h" />
<ClInclude Include="SDL\src\joystick\hidapi\SDL_hidapi_rumble.h" />
<ClInclude Include="SDL\src\joystick\hidapi\SDL_report_descriptor.h" />
<ClInclude Include="SDL\src\joystick\SDL_gamepad_c.h" />
<ClInclude Include="SDL\src\joystick\SDL_gamepad_db.h" />
<ClInclude Include="SDL\src\joystick\SDL_joystick_c.h" />
<ClInclude Include="SDL\src\joystick\SDL_steam_virtual_gamepad.h" />
<ClInclude Include="SDL\src\joystick\SDL_sysjoystick.h" />
<ClInclude Include="SDL\src\joystick\usb_ids.h" />
<ClInclude Include="SDL\src\joystick\virtual\SDL_virtualjoystick_c.h" />
<ClInclude Include="SDL\src\joystick\windows\SDL_dinputjoystick_c.h" />
<ClInclude Include="SDL\src\joystick\windows\SDL_rawinputjoystick_c.h" />
<ClInclude Include="SDL\src\joystick\windows\SDL_windowsjoystick_c.h" />
<ClInclude Include="SDL\src\joystick\windows\SDL_xinputjoystick_c.h" />
<ClInclude Include="SDL\src\libm\math_libm.h" />
<ClInclude Include="SDL\src\libm\math_private.h" />
<ClInclude Include="SDL\src\locale\SDL_syslocale.h" />
<ClInclude Include="SDL\src\main\SDL_main_callbacks.h" />
<ClInclude Include="SDL\src\misc\SDL_sysurl.h" />
<ClInclude Include="SDL\src\power\SDL_syspower.h" />
<ClInclude Include="SDL\src\render\direct3d11\SDL_shaders_d3d11.h" />
<ClInclude Include="SDL\src\render\direct3d12\SDL_shaders_d3d12.h" />
<ClInclude Include="SDL\src\render\direct3d\SDL_shaders_d3d.h" />
<ClInclude Include="SDL\src\render\opengles2\SDL_gles2funcs.h" />
<ClInclude Include="SDL\src\render\opengles2\SDL_shaders_gles2.h" />
<ClInclude Include="SDL\src\render\opengl\SDL_glfuncs.h" />
<ClInclude Include="SDL\src\render\opengl\SDL_shaders_gl.h" />
<ClInclude Include="SDL\src\render\SDL_d3dmath.h" />
<ClInclude Include="SDL\src\render\SDL_sysrender.h" />
<ClInclude Include="SDL\src\render\SDL_yuv_sw_c.h" />
<ClInclude Include="SDL\src\render\software\SDL_blendfillrect.h" />
<ClInclude Include="SDL\src\render\software\SDL_blendline.h" />
<ClInclude Include="SDL\src\render\software\SDL_blendpoint.h" />
<ClInclude Include="SDL\src\render\software\SDL_draw.h" />
<ClInclude Include="SDL\src\render\software\SDL_drawline.h" />
<ClInclude Include="SDL\src\render\software\SDL_drawpoint.h" />
<ClInclude Include="SDL\src\render\software\SDL_render_sw_c.h" />
<ClInclude Include="SDL\src\render\software\SDL_triangle.h" />
<ClInclude Include="SDL\src\render\vulkan\SDL_shaders_vulkan.h" />
<ClInclude Include="SDL\src\SDL_assert_c.h" />
<ClInclude Include="SDL\src\SDL_error_c.h" />
<ClCompile Include="SDL\src\camera\dummy\SDL_camera_dummy.c" />
<ClCompile Include="SDL\src\camera\mediafoundation\SDL_camera_mediafoundation.c" />
<ClCompile Include="SDL\src\camera\SDL_camera.c" />
<ClCompile Include="SDL\src\dialog\SDL_dialog.c" />
<ClCompile Include="SDL\src\dialog\SDL_dialog_utils.c" />
<ClCompile Include="SDL\src\filesystem\SDL_filesystem.c" />
<ClCompile Include="SDL\src\filesystem\windows\SDL_sysfsops.c" />
<ClCompile Include="SDL\src\io\windows\SDL_asyncio_windows_ioring.c" />
<ClCompile Include="SDL\src\gpu\SDL_gpu.c" />
<ClCompile Include="SDL\src\gpu\d3d12\SDL_gpu_d3d12.c" />
<ClCompile Include="SDL\src\gpu\vulkan\SDL_gpu_vulkan.c" />
<ClCompile Include="SDL\src\io\generic\SDL_asyncio_generic.c" />
<ClCompile Include="SDL\src\io\SDL_asyncio.c" />
<ClCompile Include="SDL\src\main\generic\SDL_sysmain_callbacks.c" />
<ClCompile Include="SDL\src\main\SDL_main_callbacks.c" />
<ClCompile Include="SDL\src\main\SDL_runapp.c" />
<ClCompile Include="SDL\src\main\windows\SDL_sysmain_runapp.c" />
<ClCompile Include="SDL\src\render\vulkan\SDL_render_vulkan.c" />
<ClCompile Include="SDL\src\render\vulkan\SDL_shaders_vulkan.c" />
<ClCompile Include="SDL\src\SDL_guid.c" />
<ClInclude Include="SDL\src\SDL_hashtable.h" />
<ClInclude Include="SDL\src\SDL_hints_c.h" />
<ClInclude Include="SDL\src\SDL_internal.h" />
<ClInclude Include="SDL\src\SDL_list.h" />
<ClInclude Include="SDL\src\SDL_log_c.h" />
<ClInclude Include="SDL\src\SDL_properties_c.h" />
<ClInclude Include="SDL\src\sensor\dummy\SDL_dummysensor.h" />
<ClInclude Include="SDL\src\sensor\SDL_sensor_c.h" />
<ClInclude Include="SDL\src\sensor\SDL_syssensor.h" />
<ClInclude Include="SDL\src\sensor\windows\SDL_windowssensor.h" />
<ClInclude Include="SDL\src\thread\SDL_systhread.h" />
<ClInclude Include="SDL\src\thread\SDL_thread_c.h" />
<ClInclude Include="SDL\src\thread\generic\SDL_syscond_c.h" />
<ClInclude Include="SDL\src\thread\windows\SDL_sysmutex_c.h" />
<ClInclude Include="SDL\src\thread\generic\SDL_sysrwlock_c.h" />
<ClInclude Include="SDL\src\thread\windows\SDL_systhread_c.h" />
<ClInclude Include="SDL\src\timer\SDL_timer_c.h" />
<ClInclude Include="SDL\src\video\dummy\SDL_nullevents_c.h" />
<ClInclude Include="SDL\src\video\dummy\SDL_nullframebuffer_c.h" />
<ClInclude Include="SDL\src\video\dummy\SDL_nullvideo.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vk_icd.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vk_layer.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vk_platform.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vk_sdk_platform.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_android.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_beta.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_core.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_directfb.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_fuchsia.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_ggp.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_ios.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_macos.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_metal.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_vi.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_wayland.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_win32.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_xcb.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_xlib.h" />
<ClInclude Include="SDL\src\video\khronos\vulkan\vulkan_xlib_xrandr.h" />
<ClInclude Include="SDL\src\video\offscreen\SDL_offscreenevents_c.h" />
<ClInclude Include="SDL\src\video\offscreen\SDL_offscreenframebuffer_c.h" />
<ClInclude Include="SDL\src\video\offscreen\SDL_offscreenopengles.h" />
<ClInclude Include="SDL\src\video\offscreen\SDL_offscreenvideo.h" />
<ClInclude Include="SDL\src\video\offscreen\SDL_offscreenvulkan.h" />
<ClInclude Include="SDL\src\video\offscreen\SDL_offscreenwindow.h" />
<ClInclude Include="SDL\src\video\SDL_blit.h" />
<ClInclude Include="SDL\src\video\SDL_blit_auto.h" />
<ClInclude Include="SDL\src\video\SDL_blit_copy.h" />
<ClInclude Include="SDL\src\video\SDL_blit_slow.h" />
<ClInclude Include="SDL\src\video\SDL_clipboard_c.h" />
<ClInclude Include="SDL\src\video\SDL_egl_c.h" />
<ClInclude Include="SDL\src\video\SDL_pixels_c.h" />
<ClInclude Include="SDL\src\video\SDL_rect_c.h" />
<ClInclude Include="SDL\src\video\SDL_RLEaccel_c.h" />
<ClInclude Include="SDL\src\video\SDL_rotate.h" />
<ClInclude Include="SDL\src\video\SDL_stb_c.h" />
<ClInclude Include="SDL\src\video\SDL_surface_c.h" />
<ClInclude Include="SDL\src\video\SDL_sysvideo.h" />
<ClInclude Include="SDL\src\video\SDL_video_unsupported.h" />
<ClInclude Include="SDL\src\video\SDL_vulkan_internal.h" />
<ClInclude Include="SDL\src\video\SDL_yuv_c.h" />
<ClInclude Include="SDL\src\video\windows\SDL_msctf.h" />
<ClInclude Include="SDL\src\video\windows\SDL_surface_utils.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsclipboard.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsevents.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsframebuffer.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowskeyboard.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsgameinput.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsmessagebox.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsmodes.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsmouse.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsopengl.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsopengles.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsrawinput.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsshape.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsvideo.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowsvulkan.h" />
<ClInclude Include="SDL\src\video\windows\SDL_windowswindow.h" />
<ClInclude Include="SDL\src\video\windows\wmmsg.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb_common.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb_internal.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb_lsx.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb_lsx_func.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb_sse.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb_sse_func.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb_std.h" />
<ClInclude Include="SDL\src\video\yuv2rgb\yuv_rgb_std_func.h" />
<ClCompile Include="SDL\src\atomic\SDL_atomic.c" />
<ClCompile Include="SDL\src\atomic\SDL_spinlock.c" />
<ClCompile Include="SDL\src\audio\directsound\SDL_directsound.c" />
<ClCompile Include="SDL\src\audio\disk\SDL_diskaudio.c" />
<ClCompile Include="SDL\src\audio\dummy\SDL_dummyaudio.c" />
<ClCompile Include="SDL\src\audio\SDL_audio.c" />
<ClCompile Include="SDL\src\audio\SDL_audiocvt.c" />
<ClCompile Include="SDL\src\audio\SDL_audiodev.c" />
<ClCompile Include="SDL\src\audio\SDL_audiotypecvt.c" />
<ClCompile Include="SDL\src\audio\SDL_audioqueue.c" />
<ClCompile Include="SDL\src\audio\SDL_audioresample.c" />
<ClCompile Include="SDL\src\audio\SDL_mixer.c" />
<ClCompile Include="SDL\src\audio\SDL_wave.c" />
<ClCompile Include="SDL\src\audio\wasapi\SDL_wasapi.c" />
<ClCompile Include="SDL\src\core\SDL_core_unsupported.c" />
<ClCompile Include="SDL\src\core\windows\SDL_gameinput.cpp" />
<ClCompile Include="SDL\src\core\windows\SDL_hid.c" />
<ClCompile Include="SDL\src\core\windows\SDL_immdevice.c" />
<ClCompile Include="SDL\src\core\windows\SDL_windows.c" />
<ClCompile Include="SDL\src\core\windows\SDL_xinput.c" />
<ClCompile Include="SDL\src\cpuinfo\SDL_cpuinfo.c" />
<ClCompile Include="SDL\src\dialog\windows\SDL_windowsdialog.c" />
<ClCompile Include="SDL\src\dynapi\SDL_dynapi.c" />
<ClCompile Include="SDL\src\events\SDL_categories.c" />
<ClCompile Include="SDL\src\events\SDL_clipboardevents.c" />
<ClCompile Include="SDL\src\events\SDL_displayevents.c" />
<ClCompile Include="SDL\src\events\SDL_dropevents.c" />
<ClCompile Include="SDL\src\events\SDL_events.c" />
<ClCompile Include="SDL\src\events\SDL_eventwatch.c" />
<ClCompile Include="SDL\src\events\SDL_keyboard.c" />
<ClCompile Include="SDL\src\events\SDL_keymap.c" />
<ClCompile Include="SDL\src\events\SDL_mouse.c" />
<ClCompile Include="SDL\src\events\SDL_pen.c" />
<ClCompile Include="SDL\src\events\SDL_quit.c" />
<ClCompile Include="SDL\src\events\SDL_touch.c" />
<ClCompile Include="SDL\src\events\SDL_windowevents.c" />
<ClCompile Include="SDL\src\io\SDL_iostream.c" />
<ClCompile Include="SDL\src\filesystem\windows\SDL_sysfilesystem.c" />
<ClCompile Include="SDL\src\haptic\dummy\SDL_syshaptic.c" />
<ClCompile Include="SDL\src\haptic\SDL_haptic.c" />
<ClCompile Include="SDL\src\haptic\windows\SDL_dinputhaptic.c" />
<ClCompile Include="SDL\src\haptic\windows\SDL_windowshaptic.c" />
<ClCompile Include="SDL\src\haptic\hidapi\SDL_hidapihaptic.c" />
<ClCompile Include="SDL\src\haptic\hidapi\SDL_hidapihaptic_lg4ff.c" />
<ClCompile Include="SDL\src\hidapi\SDL_hidapi.c" />
<ClCompile Include="SDL\src\joystick\controller_type.c" />
<ClCompile Include="SDL\src\joystick\dummy\SDL_sysjoystick.c" />
<ClCompile Include="SDL\src\joystick\gdk\SDL_gameinputjoystick.cpp" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapijoystick.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_8bitdo.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_flydigi.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_combined.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_gamecube.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_gip.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_luna.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_ps3.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_ps4.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_ps5.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_rumble.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_shield.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_sinput.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_stadia.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_steam.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_steam_hori.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_steam_triton.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_steamdeck.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_switch.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_switch2.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_wii.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_xbox360.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_xbox360w.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_xboxone.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_lg4ff.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_hidapi_zuiki.c" />
<ClCompile Include="SDL\src\joystick\hidapi\SDL_report_descriptor.c" />
<ClCompile Include="SDL\src\joystick\SDL_gamepad.c" />
<ClCompile Include="SDL\src\joystick\SDL_joystick.c" />
<ClCompile Include="SDL\src\joystick\SDL_steam_virtual_gamepad.c" />
<ClCompile Include="SDL\src\joystick\virtual\SDL_virtualjoystick.c" />
<ClCompile Include="SDL\src\joystick\windows\SDL_dinputjoystick.c" />
<ClCompile Include="SDL\src\joystick\windows\SDL_rawinputjoystick.c" />
<ClCompile Include="SDL\src\joystick\windows\SDL_windowsjoystick.c" />
<ClCompile Include="SDL\src\joystick\windows\SDL_windows_gaming_input.c" />
<ClCompile Include="SDL\src\joystick\windows\SDL_xinputjoystick.c" />
<ClCompile Include="SDL\src\libm\s_modf.c" />
<ClCompile Include="SDL\src\loadso\windows\SDL_sysloadso.c" />
<ClCompile Include="SDL\src\locale\SDL_locale.c" />
<ClCompile Include="SDL\src\locale\windows\SDL_syslocale.c" />
<ClCompile Include="SDL\src\misc\SDL_libusb.c" />
<ClCompile Include="SDL\src\misc\SDL_url.c" />
<ClCompile Include="SDL\src\misc\windows\SDL_sysurl.c" />
<ClCompile Include="SDL\src\power\SDL_power.c" />
<ClCompile Include="SDL\src\power\windows\SDL_syspower.c" />
<ClCompile Include="SDL\src\process\SDL_process.c" />
<ClCompile Include="SDL\src\process\windows\SDL_windowsprocess.c" />
<ClCompile Include="SDL\src\render\direct3d11\SDL_shaders_d3d11.c" />
<ClCompile Include="SDL\src\render\direct3d12\SDL_render_d3d12.c" />
<ClCompile Include="SDL\src\render\direct3d12\SDL_shaders_d3d12.c" />
<ClCompile Include="SDL\src\render\direct3d\SDL_render_d3d.c" />
<ClCompile Include="SDL\src\render\direct3d11\SDL_render_d3d11.c" />
<ClCompile Include="SDL\src\render\direct3d\SDL_shaders_d3d.c" />
<ClCompile Include="SDL\src\render\gpu\SDL_pipeline_gpu.c" />
<ClCompile Include="SDL\src\render\gpu\SDL_render_gpu.c" />
<ClCompile Include="SDL\src\render\gpu\SDL_shaders_gpu.c" />
<ClCompile Include="SDL\src\render\opengl\SDL_render_gl.c" />
<ClCompile Include="SDL\src\render\opengl\SDL_shaders_gl.c" />
<ClCompile Include="SDL\src\render\opengles2\SDL_render_gles2.c" />
<ClCompile Include="SDL\src\render\opengles2\SDL_shaders_gles2.c" />
<ClCompile Include="SDL\src\render\SDL_render.c" />
<ClCompile Include="SDL\src\render\SDL_render_unsupported.c" />
<ClCompile Include="SDL\src\render\SDL_yuv_sw.c" />
<ClCompile Include="SDL\src\render\software\SDL_blendfillrect.c" />
<ClCompile Include="SDL\src\render\software\SDL_blendline.c" />
<ClCompile Include="SDL\src\render\software\SDL_blendpoint.c" />
<ClCompile Include="SDL\src\render\software\SDL_drawline.c" />
<ClCompile Include="SDL\src\render\software\SDL_drawpoint.c" />
<ClCompile Include="SDL\src\render\software\SDL_render_sw.c" />
<ClCompile Include="SDL\src\render\software\SDL_triangle.c" />
<ClCompile Include="SDL\src\SDL.c" />
<ClCompile Include="SDL\src\SDL_assert.c" />
<ClCompile Include="SDL\src\SDL_error.c" />
<ClCompile Include="SDL\src\SDL_hashtable.c" />
<ClCompile Include="SDL\src\SDL_hints.c" />
<ClCompile Include="SDL\src\SDL_list.c" />
<ClCompile Include="SDL\src\SDL_log.c" />
<ClCompile Include="SDL\src\SDL_properties.c" />
<ClCompile Include="SDL\src\SDL_utils.c" />
<ClCompile Include="SDL\src\sensor\dummy\SDL_dummysensor.c" />
<ClCompile Include="SDL\src\sensor\SDL_sensor.c" />
<ClCompile Include="SDL\src\sensor\windows\SDL_windowssensor.c" />
<ClCompile Include="SDL\src\stdlib\SDL_crc16.c" />
<ClCompile Include="SDL\src\stdlib\SDL_crc32.c" />
<ClCompile Include="SDL\src\stdlib\SDL_getenv.c" />
<ClCompile Include="SDL\src\stdlib\SDL_iconv.c" />
<ClCompile Include="SDL\src\stdlib\SDL_malloc.c" />
<ClCompile Include="SDL\src\stdlib\SDL_memcpy.c" />
<ClCompile Include="SDL\src\stdlib\SDL_memmove.c" />
<ClCompile Include="SDL\src\stdlib\SDL_memset.c" />
<ClCompile Include="SDL\src\stdlib\SDL_mslibc.c" />
<ClCompile Include="SDL\src\stdlib\SDL_murmur3.c" />
<ClCompile Include="SDL\src\stdlib\SDL_qsort.c" />
<ClCompile Include="SDL\src\stdlib\SDL_random.c" />
<ClCompile Include="SDL\src\stdlib\SDL_stdlib.c" />
<ClCompile Include="SDL\src\stdlib\SDL_string.c" />
<ClCompile Include="SDL\src\stdlib\SDL_strtokr.c" />
<ClCompile Include="SDL\src\storage\generic\SDL_genericstorage.c" />
<ClCompile Include="SDL\src\storage\steam\SDL_steamstorage.c" />
<ClCompile Include="SDL\src\storage\SDL_storage.c" />
<ClCompile Include="SDL\src\thread\generic\SDL_syscond.c" />
<ClCompile Include="SDL\src\thread\generic\SDL_sysrwlock.c" />
<ClCompile Include="SDL\src\thread\SDL_thread.c" />
<ClCompile Include="SDL\src\thread\windows\SDL_syscond_cv.c" />
<ClCompile Include="SDL\src\thread\windows\SDL_sysmutex.c" />
<ClCompile Include="SDL\src\thread\windows\SDL_sysrwlock_srw.c" />
<ClCompile Include="SDL\src\thread\windows\SDL_syssem.c" />
<ClCompile Include="SDL\src\thread\windows\SDL_systhread.c" />
<ClCompile Include="SDL\src\thread\windows\SDL_systls.c" />
<ClCompile Include="SDL\src\timer\SDL_timer.c" />
<ClCompile Include="SDL\src\timer\windows\SDL_systimer.c" />
<ClCompile Include="SDL\src\time\SDL_time.c" />
<ClCompile Include="SDL\src\time\windows\SDL_systime.c" />
<ClCompile Include="SDL\src\tray\windows\SDL_tray.c" />
<ClCompile Include="SDL\src\tray\SDL_tray_utils.c" />
<ClCompile Include="SDL\src\video\dummy\SDL_nullevents.c" />
<ClCompile Include="SDL\src\video\dummy\SDL_nullframebuffer.c" />
<ClCompile Include="SDL\src\video\dummy\SDL_nullvideo.c" />
<ClCompile Include="SDL\src\video\offscreen\SDL_offscreenevents.c" />
<ClCompile Include="SDL\src\video\offscreen\SDL_offscreenframebuffer.c" />
<ClCompile Include="SDL\src\video\offscreen\SDL_offscreenopengles.c" />
<ClCompile Include="SDL\src\video\offscreen\SDL_offscreenvideo.c" />
<ClCompile Include="SDL\src\video\offscreen\SDL_offscreenvulkan.c" />
<ClCompile Include="SDL\src\video\offscreen\SDL_offscreenwindow.c" />
<ClCompile Include="SDL\src\video\SDL_blit.c" />
<ClCompile Include="SDL\src\video\SDL_blit_0.c" />
<ClCompile Include="SDL\src\video\SDL_blit_1.c" />
<ClCompile Include="SDL\src\video\SDL_blit_A.c" />
<ClCompile Include="SDL\src\video\SDL_blit_auto.c" />
<ClCompile Include="SDL\src\video\SDL_blit_copy.c" />
<ClCompile Include="SDL\src\video\SDL_blit_N.c" />
<ClCompile Include="SDL\src\video\SDL_blit_slow.c" />
<ClCompile Include="SDL\src\video\SDL_bmp.c" />
<ClCompile Include="SDL\src\video\SDL_clipboard.c" />
<ClCompile Include="SDL\src\video\SDL_egl.c" />
<ClCompile Include="SDL\src\video\SDL_fillrect.c" />
<ClCompile Include="SDL\src\video\SDL_pixels.c" />
<ClCompile Include="SDL\src\video\SDL_rect.c" />
<ClCompile Include="SDL\src\video\SDL_RLEaccel.c" />
<ClCompile Include="SDL\src\video\SDL_rotate.c" />
<ClCompile Include="SDL\src\video\SDL_stb.c" />
<ClCompile Include="SDL\src\video\SDL_stretch.c" />
<ClCompile Include="SDL\src\video\SDL_surface.c" />
<ClCompile Include="SDL\src\video\SDL_video.c" />
<ClCompile Include="SDL\src\video\SDL_video_unsupported.c" />
<ClCompile Include="SDL\src\video\SDL_vulkan_utils.c" />
<ClCompile Include="SDL\src\video\SDL_yuv.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsclipboard.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsevents.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsframebuffer.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowskeyboard.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsgameinput.cpp" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsmessagebox.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsmodes.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsmouse.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsopengl.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsopengles.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsrawinput.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsshape.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsvideo.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowsvulkan.c" />
<ClCompile Include="SDL\src\video\windows\SDL_windowswindow.c" />
<ClCompile Include="SDL\src\video\yuv2rgb\yuv_rgb_lsx.c" />
<ClCompile Include="SDL\src\video\yuv2rgb\yuv_rgb_sse.c" />
<ClCompile Include="SDL\src\video\yuv2rgb\yuv_rgb_std.c" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="SDL\src\core\windows\version.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)SDL\SDL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)SDL\SDL3.vcxproj">
<Project>{8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-67
View File
@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{93D73454-2512-424E-9CDA-4BB357FE13DD}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>SFML\include;SFML\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>SFML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="SFML\src\SFML\Network\Http.cpp" />
<ClCompile Include="SFML\src\SFML\Network\IpAddress.cpp" />
<ClCompile Include="SFML\src\SFML\Network\Packet.cpp" />
<ClCompile Include="SFML\src\SFML\Network\Socket.cpp" />
<ClCompile Include="SFML\src\SFML\Network\SocketSelector.cpp" />
<ClCompile Include="SFML\src\SFML\Network\TcpListener.cpp" />
<ClCompile Include="SFML\src\SFML\Network\TcpSocket.cpp" />
<ClCompile Include="SFML\src\SFML\Network\UdpSocket.cpp" />
<ClCompile Include="SFML\src\SFML\Network\Win32\SocketImpl.cpp" />
<ClCompile Include="SFML\src\SFML\System\Err.cpp" />
<ClCompile Include="SFML\src\SFML\System\String.cpp" />
<ClCompile Include="SFML\src\SFML\System\Utils.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="SFML\include\SFML\Config.hpp" />
<ClInclude Include="SFML\include\SFML\Network.hpp" />
<ClInclude Include="SFML\include\SFML\Network\Export.hpp" />
<ClInclude Include="SFML\include\SFML\Network\Http.hpp" />
<ClInclude Include="SFML\include\SFML\Network\IPAddress.hpp" />
<ClInclude Include="SFML\include\SFML\Network\Packet.hpp" />
<ClInclude Include="SFML\include\SFML\Network\Socket.hpp" />
<ClInclude Include="SFML\include\SFML\Network\SocketHandle.hpp" />
<ClInclude Include="SFML\include\SFML\Network\SocketSelector.hpp" />
<ClInclude Include="SFML\include\SFML\Network\TcpListener.hpp" />
<ClInclude Include="SFML\include\SFML\Network\TcpSocket.hpp" />
<ClInclude Include="SFML\include\SFML\Network\UdpSocket.hpp" />
<ClInclude Include="SFML\include\SFML\System.hpp" />
<ClInclude Include="SFML\include\SFML\System\Err.hpp" />
<ClInclude Include="SFML\include\SFML\System\Export.hpp" />
<ClInclude Include="SFML\include\SFML\System\NonCopyable.hpp" />
<ClInclude Include="SFML\include\SFML\System\String.hpp" />
<ClInclude Include="SFML\include\SFML\System\String.inl" />
<ClInclude Include="SFML\include\SFML\System\Utf.hpp" />
<ClInclude Include="SFML\include\SFML\System\Utf.inl" />
<ClInclude Include="SFML\src\SFML\Network\SocketImpl.hpp" />
<ClInclude Include="SFML\src\SFML\Network\Win32\SocketImpl.hpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-14
View File
@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)SFML\SFML\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>SFML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)SFML\SFML.vcxproj">
<Project>{93d73454-2512-424e-9cda-4bb357fe13dd}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-34
View File
@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{1D8C51D2-FFA4-418E-B183-9F42B6A6717E}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<ClCompile Include="bzip2\blocksort.c" />
<ClCompile Include="bzip2\bzlib.c" />
<ClCompile Include="bzip2\compress.c" />
<ClCompile Include="bzip2\crctable.c" />
<ClCompile Include="bzip2\decompress.c" />
<ClCompile Include="bzip2\huffman.c" />
<ClCompile Include="bzip2\randtable.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="bzip2\bzlib.h" />
<ClInclude Include="bzip2\bzlib_private.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-16
View File
@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemGroup>
<ClCompile Include="bzip2\blocksort.c" />
<ClCompile Include="bzip2\bzlib.c" />
<ClCompile Include="bzip2\compress.c" />
<ClCompile Include="bzip2\crctable.c" />
<ClCompile Include="bzip2\decompress.c" />
<ClCompile Include="bzip2\huffman.c" />
<ClCompile Include="bzip2\randtable.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="bzip2\bzlib.h" />
<ClInclude Include="bzip2\bzlib_private.h" />
</ItemGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)bzip2\bzip2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)bzip2\bzip2.vcxproj">
<Project>{1d8c51d2-ffa4-418e-b183-9f42b6a6717e}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-78
View File
@@ -1,78 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{7299DDD3-BBEC-4027-AF30-8DACC5415F96}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>cpp-ipc\include;cpp-ipc\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="cpp-ipc\include\libipc\buffer.h" />
<ClInclude Include="cpp-ipc\include\libipc\condition.h" />
<ClInclude Include="cpp-ipc\include\libipc\def.h" />
<ClInclude Include="cpp-ipc\include\libipc\export.h" />
<ClInclude Include="cpp-ipc\include\libipc\ipc.h" />
<ClInclude Include="cpp-ipc\include\libipc\mutex.h" />
<ClInclude Include="cpp-ipc\include\libipc\pool_alloc.h" />
<ClInclude Include="cpp-ipc\include\libipc\rw_lock.h" />
<ClInclude Include="cpp-ipc\include\libipc\semaphore.h" />
<ClInclude Include="cpp-ipc\include\libipc\shm.h" />
<ClInclude Include="cpp-ipc\src\libipc\circ\elem_array.h" />
<ClInclude Include="cpp-ipc\src\libipc\circ\elem_def.h" />
<ClInclude Include="cpp-ipc\src\libipc\memory\alloc.h" />
<ClInclude Include="cpp-ipc\src\libipc\memory\allocator_wrapper.h" />
<ClInclude Include="cpp-ipc\src\libipc\memory\resource.h" />
<ClInclude Include="cpp-ipc\src\libipc\memory\wrapper.h" />
<ClInclude Include="cpp-ipc\src\libipc\platform\win\condition.h" />
<ClInclude Include="cpp-ipc\src\libipc\platform\win\get_sa.h" />
<ClInclude Include="cpp-ipc\src\libipc\platform\win\mutex.h" />
<ClInclude Include="cpp-ipc\src\libipc\platform\win\semaphore.h" />
<ClInclude Include="cpp-ipc\src\libipc\platform\win\to_tchar.h" />
<ClInclude Include="cpp-ipc\src\libipc\platform\detail.h" />
<ClInclude Include="cpp-ipc\src\libipc\utility\concept.h" />
<ClInclude Include="cpp-ipc\src\libipc\utility\id_pool.h" />
<ClInclude Include="cpp-ipc\src\libipc\utility\log.h" />
<ClInclude Include="cpp-ipc\src\libipc\utility\pimpl.h" />
<ClInclude Include="cpp-ipc\src\libipc\utility\scope_guard.h" />
<ClInclude Include="cpp-ipc\src\libipc\utility\utility.h" />
<ClInclude Include="cpp-ipc\src\libipc\policy.h" />
<ClInclude Include="cpp-ipc\src\libipc\prod_cons.h" />
<ClInclude Include="cpp-ipc\src\libipc\queue.h" />
<ClInclude Include="cpp-ipc\src\libipc\waiter.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="cpp-ipc\src\libipc\platform\platform.cpp" />
<ClCompile Include="cpp-ipc\src\libipc\sync\condition.cpp" />
<ClCompile Include="cpp-ipc\src\libipc\sync\mutex.cpp" />
<ClCompile Include="cpp-ipc\src\libipc\sync\semaphore.cpp" />
<ClCompile Include="cpp-ipc\src\libipc\sync\waiter.cpp" />
<ClCompile Include="cpp-ipc\src\libipc\buffer.cpp" />
<ClCompile Include="cpp-ipc\src\libipc\ipc.cpp" />
<ClCompile Include="cpp-ipc\src\libipc\pool_alloc.cpp" />
<ClCompile Include="cpp-ipc\src\libipc\shm.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="cpp-ipc\LICENSE" />
<None Include="cpp-ipc\README.md" />
</ItemGroup>
<ItemGroup>
<Text Include="CMakeLists.txt" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)cpp-ipc\cpp-ipc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)cpp-ipc\cpp-ipc.vcxproj">
<Project>{7299DDD3-BBEC-4027-AF30-8DACC5415F96}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-27
View File
@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{C636D9D1-82FE-42B5-9987-63B7D4836341}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<ClCompile Include="cpp-optparse\OptionParser.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="cpp-optparse\OptionParser.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)cpp-optparse\cpp-optparse;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)cpp-optparse\cpp-optparse.vcxproj">
<Project>{c636d9d1-82fe-42b5-9987-63b7d4836341}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)cubeb\cubeb\include;$(ExternalsDir)cubeb\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)cubeb\msvc\cubeb.vcxproj">
<Project>{8ea11166-6512-44fc-b7a5-a4d1ecc81170}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-74
View File
@@ -1,74 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{8EA11166-6512-44FC-B7A5-A4D1ECC81170}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\cubeb\include;..\cubeb\src;..\msvc;..\cubeb\subprojects;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;USE_WASAPI;USE_WINMM;OUTSIDE_SPEEX;FLOATING_POINT;RANDOM_PREFIX=speex;EXPORT=;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\cubeb\include\cubeb\cubeb.h" />
<ClInclude Include="..\msvc\cubeb_export.h" />
<ClInclude Include="..\cubeb\src\cubeb_android.h" />
<ClInclude Include="..\cubeb\src\cubeb_array_queue.h" />
<ClInclude Include="..\cubeb\src\cubeb_assert.h" />
<ClInclude Include="..\cubeb\src\cubeb_log.h" />
<ClInclude Include="..\cubeb\src\cubeb_mixer.h" />
<ClInclude Include="..\cubeb\src\cubeb_osx_run_loop.h" />
<ClInclude Include="..\cubeb\src\cubeb_resampler.h" />
<ClInclude Include="..\cubeb\src\cubeb_resampler_internal.h" />
<ClInclude Include="..\cubeb\src\cubeb_ringbuffer.h" />
<ClInclude Include="..\cubeb\src\cubeb_ring_array.h" />
<ClInclude Include="..\cubeb\src\cubeb_strings.h" />
<ClInclude Include="..\cubeb\src\cubeb_tracing.h" />
<ClInclude Include="..\cubeb\src\cubeb_triple_buffer.h" />
<ClInclude Include="..\cubeb\src\cubeb_utils.h" />
<ClInclude Include="..\cubeb\src\cubeb_utils_unix.h" />
<ClInclude Include="..\cubeb\src\cubeb_utils_win.h" />
<ClInclude Include="..\cubeb\src\cubeb-internal.h" />
<ClInclude Include="..\cubeb\src\cubeb-jni.h" />
<ClInclude Include="..\cubeb\src\cubeb-jni-instances.h" />
<ClInclude Include="..\cubeb\src\cubeb-speex-resampler.h" />
<ClInclude Include="..\cubeb\subprojects\speex\arch.h" />
<ClInclude Include="..\cubeb\subprojects\speex\fixed_generic.h" />
<ClInclude Include="..\cubeb\subprojects\speex\resample_neon.h" />
<ClInclude Include="..\cubeb\subprojects\speex\resample_sse.h" />
<ClInclude Include="..\cubeb\subprojects\speex\speex_config_types.h" />
<ClInclude Include="..\cubeb\subprojects\speex\speex_resampler.h" />
<ClInclude Include="..\cubeb\subprojects\speex\stack_alloc.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\cubeb\src\cubeb.c" />
<ClCompile Include="..\cubeb\src\cubeb_log.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_mixer.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_resampler.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_strings.c" />
<ClCompile Include="..\cubeb\src\cubeb_utils.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_wasapi.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_winmm.c" />
<ClCompile Include="..\cubeb\subprojects\speex\resample.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-62
View File
@@ -1,62 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemGroup>
<ClInclude Include="..\cubeb\include\cubeb\cubeb.h" />
<ClInclude Include="..\cubeb\src\cubeb_array_queue.h" />
<ClInclude Include="..\cubeb\src\cubeb_assert.h" />
<ClInclude Include="..\cubeb\src\cubeb_log.h" />
<ClInclude Include="..\cubeb\src\cubeb_mixer.h" />
<ClInclude Include="..\cubeb\src\cubeb_panner.h" />
<ClInclude Include="..\cubeb\src\cubeb_resampler.h" />
<ClInclude Include="..\cubeb\src\cubeb_resampler_internal.h" />
<ClInclude Include="..\cubeb\src\cubeb_ring_array.h" />
<ClInclude Include="..\cubeb\src\cubeb_ringbuffer.h" />
<ClInclude Include="..\cubeb\src\cubeb_strings.h" />
<ClInclude Include="..\cubeb\src\cubeb_triple_buffer.h" />
<ClInclude Include="..\cubeb\src\cubeb_utils.h" />
<ClInclude Include="..\cubeb\src\cubeb_utils_unix.h" />
<ClInclude Include="..\cubeb\src\cubeb_utils_win.h" />
<ClInclude Include="..\cubeb\src\cubeb-internal.h" />
<ClInclude Include="..\cubeb\src\cubeb-speex-resampler.h" />
<ClInclude Include="..\cubeb\src\speex\arch.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="..\cubeb\src\speex\fixed_generic.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="..\cubeb\src\speex\resample_neon.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="..\cubeb\src\speex\resample_sse.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="..\cubeb\src\speex\speex_config_types.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="..\cubeb\src\speex\speex_resampler.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="..\cubeb\src\speex\stack_alloc.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="..\msvc\cubeb_export.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\cubeb\src\cubeb.c" />
<ClCompile Include="..\cubeb\src\cubeb_log.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_mixer.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_panner.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_resampler.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_strings.c" />
<ClCompile Include="..\cubeb\src\cubeb_wasapi.cpp" />
<ClCompile Include="..\cubeb\src\cubeb_winmm.c" />
<ClCompile Include="..\cubeb\src\speex\resample.c">
<Filter>speex</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Filter Include="speex">
<UniqueIdentifier>{caf7c7d0-0918-4299-8423-b287285d6fd0}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>
-390
View File
@@ -1,390 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{BB00605C-125F-4A21-B33B-7BF418322DCB}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>curl\include;curl\lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>BUILDING_LIBCURL;CURL_STATICLIB;CURL_DISABLE_LDAP;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="curl\lib\altsvc.c" />
<ClCompile Include="curl\lib\amigaos.c" />
<ClCompile Include="curl\lib\asyn-ares.c" />
<ClCompile Include="curl\lib\asyn-base.c" />
<ClCompile Include="curl\lib\asyn-thrdd.c" />
<ClCompile Include="curl\lib\curlx\base64.c" />
<ClCompile Include="curl\lib\bufq.c" />
<ClCompile Include="curl\lib\bufref.c" />
<ClCompile Include="curl\lib\cf-h1-proxy.c" />
<ClCompile Include="curl\lib\cf-h2-proxy.c" />
<ClCompile Include="curl\lib\cf-haproxy.c" />
<ClCompile Include="curl\lib\cf-https-connect.c" />
<ClCompile Include="curl\lib\cf-socket.c" />
<ClCompile Include="curl\lib\cfilters.c" />
<ClCompile Include="curl\lib\conncache.c" />
<ClCompile Include="curl\lib\cshutdn.c" />
<ClCompile Include="curl\lib\connect.c" />
<ClCompile Include="curl\lib\content_encoding.c" />
<ClCompile Include="curl\lib\cookie.c" />
<ClCompile Include="curl\lib\curl_addrinfo.c" />
<ClCompile Include="curl\lib\curl_des.c" />
<ClCompile Include="curl\lib\curl_endian.c" />
<ClCompile Include="curl\lib\curl_fnmatch.c" />
<ClCompile Include="curl\lib\curl_gethostname.c" />
<ClCompile Include="curl\lib\curl_get_line.c" />
<ClCompile Include="curl\lib\curl_gssapi.c" />
<ClCompile Include="curl\lib\curl_memrchr.c" />
<ClCompile Include="curl\lib\curlx\multibyte.c" />
<ClCompile Include="curl\lib\curl_ntlm_core.c" />
<ClCompile Include="curl\lib\curl_range.c" />
<ClCompile Include="curl\lib\curl_rtmp.c" />
<ClCompile Include="curl\lib\curl_sasl.c" />
<ClCompile Include="curl\lib\curl_sha512_256.c" />
<ClCompile Include="curl\lib\curl_sspi.c" />
<ClCompile Include="curl\lib\curl_threads.c" />
<ClCompile Include="curl\lib\curl_trc.c" />
<ClCompile Include="curl\lib\cw-out.c" />
<ClCompile Include="curl\lib\cw-pause.c" />
<ClCompile Include="curl\lib\dict.c" />
<ClCompile Include="curl\lib\doh.c" />
<ClCompile Include="curl\lib\curlx\dynbuf.c" />
<ClCompile Include="curl\lib\dynhds.c" />
<ClCompile Include="curl\lib\easy.c" />
<ClCompile Include="curl\lib\easygetopt.c" />
<ClCompile Include="curl\lib\easyoptions.c" />
<ClCompile Include="curl\lib\escape.c" />
<ClCompile Include="curl\lib\file.c" />
<ClCompile Include="curl\lib\fileinfo.c" />
<ClCompile Include="curl\lib\fopen.c" />
<ClCompile Include="curl\lib\formdata.c" />
<ClCompile Include="curl\lib\ftp.c" />
<ClCompile Include="curl\lib\ftplistparser.c" />
<ClCompile Include="curl\lib\getenv.c" />
<ClCompile Include="curl\lib\getinfo.c" />
<ClCompile Include="curl\lib\gopher.c" />
<ClCompile Include="curl\lib\hash.c" />
<ClCompile Include="curl\lib\headers.c" />
<ClCompile Include="curl\lib\hmac.c" />
<ClCompile Include="curl\lib\hostip.c" />
<ClCompile Include="curl\lib\hostip4.c" />
<ClCompile Include="curl\lib\hostip6.c" />
<ClCompile Include="curl\lib\hsts.c" />
<ClCompile Include="curl\lib\http.c" />
<ClCompile Include="curl\lib\http1.c" />
<ClCompile Include="curl\lib\http2.c" />
<ClCompile Include="curl\lib\http_aws_sigv4.c" />
<ClCompile Include="curl\lib\http_chunks.c" />
<ClCompile Include="curl\lib\http_digest.c" />
<ClCompile Include="curl\lib\http_negotiate.c" />
<ClCompile Include="curl\lib\http_ntlm.c" />
<ClCompile Include="curl\lib\http_proxy.c" />
<ClCompile Include="curl\lib\idn.c" />
<ClCompile Include="curl\lib\if2ip.c" />
<ClCompile Include="curl\lib\imap.c" />
<ClCompile Include="curl\lib\curlx\inet_ntop.c" />
<ClCompile Include="curl\lib\curlx\inet_pton.c" />
<ClCompile Include="curl\lib\krb5.c" />
<ClCompile Include="curl\lib\ldap.c" />
<ClCompile Include="curl\lib\llist.c" />
<ClCompile Include="curl\lib\macos.c" />
<ClCompile Include="curl\lib\md4.c" />
<ClCompile Include="curl\lib\md5.c" />
<ClCompile Include="curl\lib\memdebug.c" />
<ClCompile Include="curl\lib\mime.c" />
<ClCompile Include="curl\lib\mprintf.c" />
<ClCompile Include="curl\lib\mqtt.c" />
<ClCompile Include="curl\lib\multi.c" />
<ClCompile Include="curl\lib\multi_ev.c" />
<ClCompile Include="curl\lib\netrc.c" />
<ClCompile Include="curl\lib\noproxy.c" />
<ClCompile Include="curl\lib\openldap.c" />
<ClCompile Include="curl\lib\parsedate.c" />
<ClCompile Include="curl\lib\pingpong.c" />
<ClCompile Include="curl\lib\pop3.c" />
<ClCompile Include="curl\lib\progress.c" />
<ClCompile Include="curl\lib\psl.c" />
<ClCompile Include="curl\lib\rand.c" />
<ClCompile Include="curl\lib\rename.c" />
<ClCompile Include="curl\lib\request.c" />
<ClCompile Include="curl\lib\rtsp.c" />
<ClCompile Include="curl\lib\select.c" />
<ClCompile Include="curl\lib\sendf.c" />
<ClCompile Include="curl\lib\setopt.c" />
<ClCompile Include="curl\lib\sha256.c" />
<ClCompile Include="curl\lib\share.c" />
<ClCompile Include="curl\lib\slist.c" />
<ClCompile Include="curl\lib\smb.c" />
<ClCompile Include="curl\lib\smtp.c" />
<ClCompile Include="curl\lib\socketpair.c" />
<ClCompile Include="curl\lib\socks.c" />
<ClCompile Include="curl\lib\socks_gssapi.c" />
<ClCompile Include="curl\lib\socks_sspi.c" />
<ClCompile Include="curl\lib\speedcheck.c" />
<ClCompile Include="curl\lib\splay.c" />
<ClCompile Include="curl\lib\strcase.c" />
<ClCompile Include="curl\lib\strdup.c" />
<ClCompile Include="curl\lib\strerror.c" />
<ClCompile Include="curl\lib\strequal.c" />
<ClCompile Include="curl\lib\system_win32.c" />
<ClCompile Include="curl\lib\telnet.c" />
<ClCompile Include="curl\lib\tftp.c" />
<ClCompile Include="curl\lib\curlx\timediff.c" />
<ClCompile Include="curl\lib\curlx\timeval.c" />
<ClCompile Include="curl\lib\transfer.c" />
<ClCompile Include="curl\lib\url.c" />
<ClCompile Include="curl\lib\urlapi.c" />
<ClCompile Include="curl\lib\version.c" />
<ClCompile Include="curl\lib\curlx\version_win32.c" />
<ClCompile Include="curl\lib\curlx\winapi.c" />
<ClCompile Include="curl\lib\curlx\warnless.c" />
<ClCompile Include="curl\lib\curlx\nonblock.c" />
<ClCompile Include="curl\lib\curlx\strparse.c" />
<ClCompile Include="curl\lib\curlx\wait.c" />
<ClCompile Include="curl\lib\ws.c" />
<ClCompile Include="curl\lib\vauth\cleartext.c" />
<ClCompile Include="curl\lib\vauth\cram.c" />
<ClCompile Include="curl\lib\vauth\digest.c" />
<ClCompile Include="curl\lib\vauth\digest_sspi.c" />
<ClCompile Include="curl\lib\vauth\gsasl.c" />
<ClCompile Include="curl\lib\vauth\krb5_gssapi.c" />
<ClCompile Include="curl\lib\vauth\krb5_sspi.c" />
<ClCompile Include="curl\lib\vauth\ntlm.c" />
<ClCompile Include="curl\lib\vauth\ntlm_sspi.c" />
<ClCompile Include="curl\lib\vauth\oauth2.c" />
<ClCompile Include="curl\lib\vauth\spnego_gssapi.c" />
<ClCompile Include="curl\lib\vauth\spnego_sspi.c" />
<ClCompile Include="curl\lib\vauth\vauth.c" />
<ClCompile Include="curl\lib\uint-bset.c" />
<ClCompile Include="curl\lib\uint-spbset.c" />
<ClCompile Include="curl\lib\uint-table.c" />
<ClCompile Include="curl\lib\vquic\curl_msh3.c" />
<ClCompile Include="curl\lib\vquic\curl_ngtcp2.c" />
<ClCompile Include="curl\lib\vquic\curl_osslq.c" />
<ClCompile Include="curl\lib\vquic\curl_quiche.c" />
<ClCompile Include="curl\lib\vquic\vquic.c" />
<ClCompile Include="curl\lib\vquic\vquic-tls.c" />
<ClCompile Include="curl\lib\vssh\curl_path.c" />
<ClCompile Include="curl\lib\vssh\libssh.c" />
<ClCompile Include="curl\lib\vssh\libssh2.c" />
<ClCompile Include="curl\lib\vssh\wolfssh.c" />
<ClCompile Include="curl\lib\vtls\cipher_suite.c" />
<ClCompile Include="curl\lib\vtls\gtls.c" />
<ClCompile Include="curl\lib\vtls\hostcheck.c" />
<ClCompile Include="curl\lib\vtls\keylog.c" />
<ClCompile Include="curl\lib\vtls\mbedtls.c" />
<ClCompile Include="curl\lib\vtls\mbedtls_threadlock.c" />
<ClCompile Include="curl\lib\vtls\openssl.c" />
<ClCompile Include="curl\lib\vtls\rustls.c" />
<ClCompile Include="curl\lib\vtls\schannel.c" />
<ClCompile Include="curl\lib\vtls\schannel_verify.c" />
<ClCompile Include="curl\lib\vtls\vtls.c" />
<ClCompile Include="curl\lib\vtls\vtls_scache.c" />
<ClCompile Include="curl\lib\vtls\wolfssl.c" />
<ClCompile Include="curl\lib\vtls\x509asn1.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="curl\include\curl\curl.h" />
<ClInclude Include="curl\include\curl\curlver.h" />
<ClInclude Include="curl\include\curl\easy.h" />
<ClInclude Include="curl\include\curl\header.h" />
<ClInclude Include="curl\include\curl\mprintf.h" />
<ClInclude Include="curl\include\curl\multi.h" />
<ClInclude Include="curl\include\curl\options.h" />
<ClInclude Include="curl\include\curl\stdcheaders.h" />
<ClInclude Include="curl\include\curl\system.h" />
<ClInclude Include="curl\include\curl\typecheck-gcc.h" />
<ClInclude Include="curl\include\curl\urlapi.h" />
<ClInclude Include="curl\include\curl\websockets.h" />
<ClInclude Include="curl\lib\altsvc.h" />
<ClInclude Include="curl\lib\amigaos.h" />
<ClInclude Include="curl\lib\arpa_telnet.h" />
<ClInclude Include="curl\lib\asyn.h" />
<ClInclude Include="curl\lib\bufq.h" />
<ClInclude Include="curl\lib\bufref.h" />
<ClInclude Include="curl\lib\cf-h1-proxy.h" />
<ClInclude Include="curl\lib\cf-h2-proxy.h" />
<ClInclude Include="curl\lib\cf-haproxy.h" />
<ClInclude Include="curl\lib\cf-https-connect.h" />
<ClInclude Include="curl\lib\cf-socket.h" />
<ClInclude Include="curl\lib\cfilters.h" />
<ClInclude Include="curl\lib\config-mac.h" />
<ClInclude Include="curl\lib\config-os400.h" />
<ClInclude Include="curl\lib\config-plan9.h" />
<ClInclude Include="curl\lib\config-riscos.h" />
<ClInclude Include="curl\lib\config-win32.h" />
<ClInclude Include="curl\lib\conncache.h" />
<ClInclude Include="curl\lib\cshutdn.h" />
<ClInclude Include="curl\lib\uint-bset.h" />
<ClInclude Include="curl\lib\uint-spbset.h" />
<ClInclude Include="curl\lib\uint-table.h" />
<ClInclude Include="curl\lib\connect.h" />
<ClInclude Include="curl\lib\content_encoding.h" />
<ClInclude Include="curl\lib\cookie.h" />
<ClInclude Include="curl\lib\curlx\curlx.h" />
<ClInclude Include="curl\lib\curl_addrinfo.h" />
<ClInclude Include="curl\lib\curlx\base64.h" />
<ClInclude Include="curl\lib\curl_ctype.h" />
<ClInclude Include="curl\lib\curl_des.h" />
<ClInclude Include="curl\lib\curl_endian.h" />
<ClInclude Include="curl\lib\curl_fnmatch.h" />
<ClInclude Include="curl\lib\curl_gethostname.h" />
<ClInclude Include="curl\lib\curl_get_line.h" />
<ClInclude Include="curl\lib\curl_gssapi.h" />
<ClInclude Include="curl\lib\curl_hmac.h" />
<ClInclude Include="curl\lib\curl_krb5.h" />
<ClInclude Include="curl\lib\curl_ldap.h" />
<ClInclude Include="curl\lib\curl_md4.h" />
<ClInclude Include="curl\lib\curl_md5.h" />
<ClInclude Include="curl\lib\curl_memory.h" />
<ClInclude Include="curl\lib\curl_memrchr.h" />
<ClInclude Include="curl\lib\curlx\multibyte.h" />
<ClInclude Include="curl\lib\curl_ntlm_core.h" />
<ClInclude Include="curl\lib\curl_printf.h" />
<ClInclude Include="curl\lib\curl_range.h" />
<ClInclude Include="curl\lib\curl_rtmp.h" />
<ClInclude Include="curl\lib\curl_sasl.h" />
<ClInclude Include="curl\lib\curl_setup.h" />
<ClInclude Include="curl\lib\curl_setup_once.h" />
<ClInclude Include="curl\lib\curl_sha256.h" />
<ClInclude Include="curl\lib\curl_sha512_256.h" />
<ClInclude Include="curl\lib\curl_sspi.h" />
<ClInclude Include="curl\lib\curl_threads.h" />
<ClInclude Include="curl\lib\curl_trc.h" />
<ClInclude Include="curl\lib\cw-out.h" />
<ClInclude Include="curl\lib\cw-pause.h" />
<ClInclude Include="curl\lib\dict.h" />
<ClInclude Include="curl\lib\doh.h" />
<ClInclude Include="curl\lib\curlx\dynbuf.h" />
<ClInclude Include="curl\lib\dynhds.h" />
<ClInclude Include="curl\lib\easyif.h" />
<ClInclude Include="curl\lib\easyoptions.h" />
<ClInclude Include="curl\lib\easy_lock.h" />
<ClInclude Include="curl\lib\escape.h" />
<ClInclude Include="curl\lib\file.h" />
<ClInclude Include="curl\lib\fileinfo.h" />
<ClInclude Include="curl\lib\fopen.h" />
<ClInclude Include="curl\lib\formdata.h" />
<ClInclude Include="curl\lib\ftp.h" />
<ClInclude Include="curl\lib\ftplistparser.h" />
<ClInclude Include="curl\lib\functypes.h" />
<ClInclude Include="curl\lib\getinfo.h" />
<ClInclude Include="curl\lib\gopher.h" />
<ClInclude Include="curl\lib\hash.h" />
<ClInclude Include="curl\lib\headers.h" />
<ClInclude Include="curl\lib\hostip.h" />
<ClInclude Include="curl\lib\hsts.h" />
<ClInclude Include="curl\lib\http.h" />
<ClInclude Include="curl\lib\http1.h" />
<ClInclude Include="curl\lib\http2.h" />
<ClInclude Include="curl\lib\http_aws_sigv4.h" />
<ClInclude Include="curl\lib\http_chunks.h" />
<ClInclude Include="curl\lib\http_digest.h" />
<ClInclude Include="curl\lib\http_negotiate.h" />
<ClInclude Include="curl\lib\http_ntlm.h" />
<ClInclude Include="curl\lib\http_proxy.h" />
<ClInclude Include="curl\lib\idn.h" />
<ClInclude Include="curl\lib\if2ip.h" />
<ClInclude Include="curl\lib\imap.h" />
<ClInclude Include="curl\lib\curlx\inet_ntop.h" />
<ClInclude Include="curl\lib\curlx\inet_pton.h" />
<ClInclude Include="curl\lib\llist.h" />
<ClInclude Include="curl\lib\macos.h" />
<ClInclude Include="curl\lib\memdebug.h" />
<ClInclude Include="curl\lib\mime.h" />
<ClInclude Include="curl\lib\mqtt.h" />
<ClInclude Include="curl\lib\multihandle.h" />
<ClInclude Include="curl\lib\multiif.h" />
<ClInclude Include="curl\lib\multi_ev.h" />
<ClInclude Include="curl\lib\netrc.h" />
<ClInclude Include="curl\lib\noproxy.h" />
<ClInclude Include="curl\lib\parsedate.h" />
<ClInclude Include="curl\lib\pingpong.h" />
<ClInclude Include="curl\lib\pop3.h" />
<ClInclude Include="curl\lib\progress.h" />
<ClInclude Include="curl\lib\psl.h" />
<ClInclude Include="curl\lib\rand.h" />
<ClInclude Include="curl\lib\rename.h" />
<ClInclude Include="curl\lib\request.h" />
<ClInclude Include="curl\lib\rtsp.h" />
<ClInclude Include="curl\lib\select.h" />
<ClInclude Include="curl\lib\sendf.h" />
<ClInclude Include="curl\lib\setopt.h" />
<ClInclude Include="curl\lib\setup-os400.h" />
<ClInclude Include="curl\lib\setup-vms.h" />
<ClInclude Include="curl\lib\setup-win32.h" />
<ClInclude Include="curl\lib\share.h" />
<ClInclude Include="curl\lib\sigpipe.h" />
<ClInclude Include="curl\lib\slist.h" />
<ClInclude Include="curl\lib\smb.h" />
<ClInclude Include="curl\lib\smtp.h" />
<ClInclude Include="curl\lib\sockaddr.h" />
<ClInclude Include="curl\lib\socketpair.h" />
<ClInclude Include="curl\lib\socks.h" />
<ClInclude Include="curl\lib\speedcheck.h" />
<ClInclude Include="curl\lib\splay.h" />
<ClInclude Include="curl\lib\strcase.h" />
<ClInclude Include="curl\lib\strdup.h" />
<ClInclude Include="curl\lib\strerror.h" />
<ClInclude Include="curl\lib\strequal.h" />
<ClInclude Include="curl\lib\system_win32.h" />
<ClInclude Include="curl\lib\telnet.h" />
<ClInclude Include="curl\lib\tftp.h" />
<ClInclude Include="curl\lib\curlx\timediff.h" />
<ClInclude Include="curl\lib\curlx\timeval.h" />
<ClInclude Include="curl\lib\curlx\strparse.h" />
<ClInclude Include="curl\lib\curlx\wait.h" />
<ClInclude Include="curl\lib\curlx\nonblock.h" />
<ClInclude Include="curl\lib\transfer.h" />
<ClInclude Include="curl\lib\url.h" />
<ClInclude Include="curl\lib\urlapi-int.h" />
<ClInclude Include="curl\lib\urldata.h" />
<ClInclude Include="curl\lib\curlx\version_win32.h" />
<ClInclude Include="curl\lib\curlx\winapi.h" />
<ClInclude Include="curl\lib\curlx\warnless.h" />
<ClInclude Include="curl\lib\ws.h" />
<ClInclude Include="curl\lib\vauth\digest.h" />
<ClInclude Include="curl\lib\vauth\vauth.h" />
<ClInclude Include="curl\lib\vquic\curl_msh3.h" />
<ClInclude Include="curl\lib\vquic\curl_ngtcp2.h" />
<ClInclude Include="curl\lib\vquic\curl_osslq.h" />
<ClInclude Include="curl\lib\vquic\curl_quiche.h" />
<ClInclude Include="curl\lib\vquic\vquic.h" />
<ClInclude Include="curl\lib\vquic\vquic-tls.h" />
<ClInclude Include="curl\lib\vquic\vquic_int.h" />
<ClInclude Include="curl\lib\vssh\curl_path.h" />
<ClInclude Include="curl\lib\vssh\ssh.h" />
<ClInclude Include="curl\lib\vtls\cipher_suite.h" />
<ClInclude Include="curl\lib\vtls\gtls.h" />
<ClInclude Include="curl\lib\vtls\hostcheck.h" />
<ClInclude Include="curl\lib\vtls\keylog.h" />
<ClInclude Include="curl\lib\vtls\mbedtls.h" />
<ClInclude Include="curl\lib\vtls\mbedtls_threadlock.h" />
<ClInclude Include="curl\lib\vtls\openssl.h" />
<ClInclude Include="curl\lib\vtls\rustls.h" />
<ClInclude Include="curl\lib\vtls\schannel.h" />
<ClInclude Include="curl\lib\vtls\schannel_int.h" />
<ClInclude Include="curl\lib\vtls\vtls.h" />
<ClInclude Include="curl\lib\vtls\vtls_scache.h" />
<ClInclude Include="curl\lib\vtls\vtls_int.h" />
<ClInclude Include="curl\lib\vtls\wolfssl.h" />
<ClInclude Include="curl\lib\vtls\x509asn1.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-17
View File
@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)curl\curl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>CURL_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>secur32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)curl\curl.vcxproj">
<Project>{bb00605c-125f-4a21-b33b-7bf418322dcb}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)discord-rpc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)discord-rpc\src\discord-rpc.vcxproj">
<Project>{4482fd2a-ec43-3ffb-ac20-2e5c54b05ead}</Project>
</ProjectReference>
</ItemGroup>
</Project>
-44
View File
@@ -1,44 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGUID>{4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}</ProjectGUID>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\include;..\thirdparty\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;DISCORD_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\thirdparty\rapidjson-1.1.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\include\discord_rpc.h" />
<ClInclude Include="..\include\discord_register.h" />
<ClInclude Include="rpc_connection.h" />
<ClInclude Include="serialization.h" />
<ClInclude Include="connection.h" />
<ClInclude Include="backoff.h" />
<ClInclude Include="msg_queue.h" />
<ClCompile Include="discord_rpc.cpp" />
<ClCompile Include="rpc_connection.cpp" />
<ClCompile Include="serialization.cpp" />
<ClCompile Include="connection_win.cpp" />
<ClCompile Include="discord_register_win.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-42
View File
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\..\Source\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<ClCompile Include="add_scalar.c" />
<ClCompile Include="fe.c" />
<ClCompile Include="ge.c" />
<ClCompile Include="keypair.c" />
<ClCompile Include="key_exchange.c" />
<ClCompile Include="sc.c" />
<ClCompile Include="seed.c" />
<ClCompile Include="sha512.c" />
<ClCompile Include="sign.c" />
<ClCompile Include="verify.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="ed25519.h" />
<ClInclude Include="fe.h" />
<ClInclude Include="fixedint.h" />
<ClInclude Include="ge.h" />
<ClInclude Include="precomp_data.h" />
<ClInclude Include="sc.h" />
<ClInclude Include="sha512.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemGroup>
<ClCompile Include="add_scalar.c" />
<ClCompile Include="fe.c" />
<ClCompile Include="ge.c" />
<ClCompile Include="key_exchange.c" />
<ClCompile Include="keypair.c" />
<ClCompile Include="sc.c" />
<ClCompile Include="seed.c" />
<ClCompile Include="sha512.c" />
<ClCompile Include="sign.c" />
<ClCompile Include="verify.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="ed25519.h" />
<ClInclude Include="fe.h" />
<ClInclude Include="fixedint.h" />
<ClInclude Include="ge.h" />
<ClInclude Include="precomp_data.h" />
<ClInclude Include="sc.h" />
<ClInclude Include="sha512.h" />
</ItemGroup>
</Project>

Some files were not shown because too many files have changed in this diff Show More