jpolo1224
07d03a5eac
Android: route native file creation through Java, and scope patch state per game
...
Two fixes that both live in the JNI layer.
Folder memory cards on a user-chosen data folder crashed on the first
new save. FUSE-backed shared storage denies libc file CREATION even
though mkdir is already routed through Java, so SaveYAMLToFile opened a
not-yet-existing _pcsx2_index with an unchecked OpenCFile and then
dereferenced null. Existing saves reuse that file, which is exactly why
only new saves crashed. Null-check the write, and add a
CreateFileViaJava fallback in OpenCFile so a denied create is retried
through the Java file API - the same libc/Java asymmetry that
CreateDirectoryPath already relies on.
Patch and cheat enable-state was written to the base settings layer,
keyed only by patch name, so enabling e.g. "Widescreen 16:9" for one
game switched on the identically named patch in every other game.
LayeredSettingsInterface returns the first non-empty layer with the game
layer ahead of the base one, so upstream keys this per serial and CRC;
do the same, and strip the migrated names from the base list so an empty
per-game list cannot fall back through to it.
The per-game INI exporter also rebuilt the file from scratch, dropping
every key it does not own - the patch lists above, and per-game
MemoryCards and Gamefixes overrides. Load the existing file and clear
only the sections the exporter actually writes.
2026-07-20 14:05:51 -04:00
jpolo1224
11e9289454
Android: bring the platform up on the unified monorepo core
...
Wire platforms/android to build against the shared core and reconcile the
pieces the Android native lib needs, so the Android target compiles and
links on this repo (produces libemucore_4k.so). Per-platform builds stay
independent; the PC and iOS targets are unchanged.
Build/CMake:
- Android-aware cmake modules under platforms/android/.../cmake with
CMAKE_MODULE_PATH repointed at them (root desktop modules untouched)
- ryml::ryml alias, TOP_CMAKE_WAS_SOURCED, drop the fatal 3rdparty
add_subdirectory; pcsx2 PCAP guard elseif(NOT ANDROID)
- git-sync-deps step for shaderc third_party (fetch-on-demand, not
submodules); android .gitignore for keystores/artifacts/shaderc deps
- dual-core rotation-signed build scripts (release APK + Play AAB)
Core reconciliation (APIs the native lib expects):
- GS present-cap/frameskip, Adreno framebuffer-fetch GSOption round-trip
- SPU2 channel swap + output-pause suppression
- Achievements JSON, VMManager autosave slot, WindowInfo::Android
- FileSystem SAF hooks, custom Vulkan driver path, BIOS-from-fd
- Oboe audio stream, EGL native-window, Linux/Android source guards
refresh-experimental fixes layered onto the shared recompiler/GS:
- IOP direct block chaining (aR3000A, gated s_iopBlockLinkEnabled,
default off so behaviour is byte-identical until enabled)
- COP2 CO-bit macro-mode gate (aVU_Macro)
- EE mixed-operand constant folding
- Adreno GL coherent depth feedback via gl_LastFragDepthARM, gated to the
Adreno GPU profile (inert on every other GPU)
- Android GPU gates: GPU-profile shader-header keystone, FIFO_RELAXED
present mode, Mali coherent readback, Adreno-650 boot-crash gates,
ROAA VK_ARM alias
2026-07-08 21:46:23 -04:00
TellowKrinkle
2696e304e2
Add functions to map a file into the process
2026-03-07 09:12:00 -05:00
SternXD
d983b2b066
Copyright: Change year from 2002-2025 to 2002-2026
2026-01-15 00:22:32 +01:00
KamFretoZ
5c6049c4ae
Qt: Add Create game shortcut functionality
2025-10-28 00:11:09 +01:00
TellowKrinkle
7587581d1f
GameList: Allow recursive scans to be cancelled
2025-03-02 04:20:01 +01:00
TheTechnician27
23fd57f641
Copyright: Change year from 2002-2024 to 2002-2025
2025-01-20 05:07:26 +01:00
TheLastRar
58d13dac34
FileSystem: Add ReadFileWithPartialProgress for multiple files
2024-12-18 16:23:49 -05:00
chaoticgd
1ed3001358
FileSystem: Add CreateSymLink function
2024-12-14 13:41:01 -05:00
Ty Lamontagne
a60489b6fd
FileSystem: Add a case-insensitive match for nvm and mec file loading.
2024-12-12 08:37:16 -05:00
chaoticgd
6e4dc1e8ab
FileSystem: Don't follow symlinks when recursively deleting directories
2024-12-05 11:52:40 -05:00
KamFretoZ
1ea512655a
FileSystem: Fix handling of symlinks
...
Revert of https://github.com/PCSX2/pcsx2/pull/11739/commits/c8a3e5a9ec4b41ae8c268de78414942b726c9e1f
2024-09-02 16:18:01 -04:00
KamFretoZ
64e17fce3f
Qt: Fix a couple of instances of inconsistent sorting
...
Backport from https://github.com/stenzek/duckstation/commit/7927ec647fcee3e2d7a919149939289fd27ccdb1
2024-08-24 17:27:39 +02:00
GovanifY
132431b7c8
headers: relicense to GPL-3.0+
...
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00
Stenzek
e1596c7911
FileSystem: Add ReadFileWithProgress()
2024-06-11 11:31:28 +10:00
Stenzek
12a0644315
Misc: Pass most string_views by value instead of reference
2024-05-17 11:57:38 +10:00
Stenzek
2ab6a3b873
Qt: Clean and remove empty game settings
2024-05-05 12:13:20 +10:00
Stenzek
81502e6c7d
FileSystem: Add Error to CreateDirectory()/RenamePath()
2024-04-04 11:40:10 +10:00
Stenzek
f3d6249cc1
FileSystem: Handle paths longer than MAX_PATH on Windows
2024-04-04 11:39:40 +10:00
Stenzek
d9abe10308
Misc: Remove explicit PCH include, switch to SPDX
2023-12-24 14:03:14 +10:00
Stenzek
d73d698fd5
FileSystem: Purge GetDisplayNameFromPath()
...
Redundant function.
2023-12-24 14:03:14 +10:00
Stenzek
93a4e67813
Host: Remove resource read wrappers
...
No more wx, no need to abstract this.
2023-10-01 17:45:54 +10:00
Silent
240586875c
FileSystem: Make FILE* unique pointers use a functor deleter
2023-07-18 17:24:34 +01:00
Stenzek
ab4592b8e9
Common: Add Error class
2023-06-30 21:37:44 +10:00
Connor McLaughlin
5647ca7f08
Qt: Add play time tracking based on serials
2022-10-22 11:08:23 +01:00