this removes submodules and external libraries in the code in favor of
importing them as CPM packages. CPM_SOURCE_CACHE is recommended as
codegen has to readd two of the same dependencies
- events now follow a public const member pattern instead of getters
- more file utils
- ModInfoLayer split into LocalModInfoPopup and IndexItemInfoPopup to reduce uses of ugly variant
- same with ModCell
- lots of restructuring related to UI anyway
- Index also got tons of redesigning
- much more i've forgotten
- this commit compiles, surprisingly enough, but it's not usable as installing mods through index was removed
- remove duplicate LevelSearchLayer ids
- rewrote Loader to have a public loading API
- moved logging away from Loader
- moved texture path handling away from Loader into CCFileUtils, added new functions there for that
- bumped version to v0.7.0
- moved ModInfo to its own header
- added early loading support through mod.json instead of loader stuff
- wrote a custom Unzip implementation (essentially same as ZipUtils except with a much more simple and clean API)
- renamed `src/load` to `src/loader`
- other stuff i prolly forgor
- move all platform sources to one central folder under src/platform/name
- don't add obj-c sources on windows or platform files from other platforms on all platforms
- replies are now handled by returning from the listener callback
- can now handle multiple IPC connections at once
- make Loader::s_unloading actually thread-safe
- add preliminary IPC stuff
- preliminary IPC implementation on Windows (will evolve still)
- more ids
- move InternalLoader platform definitions to their own files
- fix ranges::map not resizing the output
- add `CCFileUtils::get`
- turns out i was doing semver wrong. i'm deeply sorry. read: https://www.twitlonger.com/show/n_1ss44g2
- fix MenuLayer crashes related to node IDs
- remove `Loader::updateModResourcePaths` and `Loader::updateResourcePaths`. Loader minimum mod version is still v0.4.0 however, as you should not have used these ever.
- rework how mod resources are added
- loader checks if resources are correct at startup, if not, downloads them and replaces
- add sha256 to hash
- change hash to use paths instead of strings
- cmake rework; GeodeFile.cmake now checks CLI version
- add optional `DONT_INSTALL` argument to `create_geode_file`
- test mods are now not installed by default
- add package_geode_resources_now command for packaging resources at configure time and creating a header with their calculated hashes
- show crashlog on crash when GEODE_DEBUG is enabled
- fix mod resources not being loaded when installed from index + more index reworking, it's actually pretty neat now
- fix ModInfoLayer crashing when leaving it while downloading
- fix other index crashes
- fix queueInGDThread sometimes leaving out functions
- add new file utils and deprecate ones that don't use ghc::filesystem::path
- index mods now show their about.md files
- general cleanup and goodcodeification