* 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?
* feat(rmlui): add user-configurable ui scale multiplier
Expose `aurora::rmlui::set_ui_scale` / `get_ui_scale` so consumers can
multiply the RmlUi context's density-independent pixel ratio without
having to fight `sync_context_metrics` resetting the value every render.
Default scale is 1.0 (no behavior change); the multiplier is clamped to
[0.25, 4.0] and applied inside `sync_context_metrics`, so existing
display-scale syncing continues to work for HiDPI / display-change
events.
* refactor: specific scale vs multiplier
* Log when texture replacements are active
Figured this might be prudent if we're going to be looking at crash logs
* Fix texture replacement mip load failure logging
Wouldn't log if any mips have already been loaded, which doesn't make much sense.
* Fix handling of Unicode paths on Windows
I love C++
* Reduce the amount of reinterpret_casts
* Okay? Don't commit the file CLion? Why not?
* Fix texture replacements too