* Search for system installs of sqlite3 and zstd
This appears to work to build Aurora against both cmake and autoconf installs of libzstd.
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
* Fix sqlite3 compat with older cmake
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
---------
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
* DVD file overlay support
Fixes#163
Basically allows games to "overlay" a set of file paths over the DVD. These are provided as a flat list of absolute paths, and when an overlayed file is read, the game gets the ability to provide its own read/seek callbacks.
The current implementation rebuilds the FST. This means EntryNums will not be consistent with the original disc, but it does avoid rewriting a significant chunk of the existing DVD code that relies on the FST.
* Comments and a guard
* EntryNum handling rewrite
Game now assigns entrynums for added files, and original disc entrynums are preserved.
* Split FST logic into another file in dvd lib
* Fix overlay userdata 0
Dusklight was using integer indexes for the userdata of overlay files. This meant file 0 was a null void*, and that meant the DVD code didn't treat it as an overlaid file.
Add an extra bool to avoid getting confused like this.
* Make entryNum only validated if not replacing file
* Make FST rebuilds thread safe with concurrent readers
Since I kinda would like to eventually allow mods to be loaded without game restart (where practical)
* Doc updates
* Remove debug logs
* Aurora-allocated entry nums & dir support
* Add warning for resetting cwd
---------
Co-authored-by: Luke Street <luke@street.dev>
* Implement PNG & arb texture replacements
Fixes#119
For arb textures it's just making sure the file parsing can handle them. Idk if we need to do something special for it.
* Allow non-mipmapped textures to be replaced by mipmapped textures
Some of Henriko's textures (like the cuttable grass) rely on this.
The mipmap bool is no longer part of the runtime key.
* Make texture name the texture replacement key
Might as well? Helped me debug some stuff
* Oops that broke it bad
* libpng instead of spng
* I did it again
* Update libpng fetch
* Add zlib fetch
* Forgot to set the hash
* Add zlib redirect
* Add INCLUDE_DIR(S) to redirect
* Prefer shared for libpng
* Set CMAKE_FIND_PACKAGE_TARGETS_GLOBAL
---------
Co-authored-by: Luke Street <luke@street.dev>
* Log various system information on startup
CPU model, memory, that kinda stuff.
* Use WRL ComPtr<T>
* Use DXGI to list GPUs on Windows
* Compile fix oops
* macOS system info
* Linux impl
* Add comment linking to the microsoft example I used
* How did this compile before?
* add file interface that uses SDL file io to access filesystem
this fixes android not properly accessing asset system through SDL, as the default file interface uses the standard C api, which on android is directed to the apps data directory.
* remove debug logs, run clang format
* begin work on integration
* draw null tex when tex handle is null, switch to immediates for geometry translation
* fix window resizing and texture loads, switch to dynamic ubo
* remove immediate usage
* Add initial rmlui public API
* Use proper dimensions; fix texture resolution
* Remove unnecessary SetDimensions
* Cleanup & add clip mask support
* Implement blur and shadow filters
---------
Co-authored-by: Luke Street <luke@street.dev>