The case-insensitive fallback search() in GetHostPath is only
invoked for patch_path and host_path, so mods whose file or folder
capitalization does not exactly match the guest path are silently
bypassed even when the files are present. Mirror the existing
search(patch_path) pass for mods_path, placed first to preserve
mod > patch > base precedence.
Co-authored-by: Matías Buzzo <matias@mbuzzo.com>
The case-insensitive fallback search() in GetHostPath is only
invoked for patch_path and host_path, so mods whose file or folder
capitalization does not exactly match the guest path are silently
bypassed even when the files are present. Mirror the existing
search(patch_path) pass for mods_path, placed first to preserve
mod > patch > base precedence.
* Change buffer check to use num_records instead
* Fix the address fixup check
Since base_address == 0 is possible, this should specifically check against 1 (which we reserve for null buffers).
Kinda shocked TLOU/Uncharted worked at all without setting this.
* renderer: update font handling and add new font support
- Added support for multiple NotoSans fonts including Arabic, Thai, and CJK.
- Refactored font loading logic to use FontStack for better management.
- Removed deprecated NotoSansJP font and updated font paths in CMake.
* optimize atlas size
---------
Co-authored-by: w1naenator <valdis.bogdans@hotmail.com>
- Added support for multiple NotoSans fonts including Arabic, Thai, and CJK.
- Refactored font loading logic to use FontStack for better management.
- Removed deprecated NotoSansJP font and updated font paths in CMake.
Co-authored-by: w1naenator <valdis.bogdans@hotmail.com>
* renderer_vulkan: Microoptimizations from profiling
* buffer_cache: Only use streaming path on cpu modified memory
If the pages arent cpu modified, then a gpu buffer with valid data exists that can be used instead
* clang format
* fix max num_layers
* Early memory regions setup
Needed to enable flexible allocations before mapping the eboot
* Improved accuracy of module mappings
To keep our current logic intact, reserve the full memory space, then perform fixed mappings for trampoline and segments. Segment mappings use type flexible, so they properly count toward flexible usage, while trampoline mappings use type code to bypass this.
* Asserts for failed offset finding
Always check before you leap.
* Hex logging for segment sizes
* Only map game modules to flex mem.
* Revert "Asserts for failed offset finding"
This reverts commit 38083f8cbb.
* Revert "Early memory regions setup"
This reverts commit da1552d4ac.
* Initialize memory regions in MemoryManager constructor
Much simpler approach to enabling the necessary flexible mappings on startup.