Commit graph

71 commits

Author SHA1 Message Date
matcool
2c3520f454 Add CPM.cmake, use it for external libraries
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
2022-12-12 18:20:24 -03:00
camila314
98bae53959 LevelSettingsLayer string ids 2022-12-12 13:32:44 -06:00
HJfod
4c4674da93 add suffixes to versions 2022-12-12 15:45:27 +02:00
altalk23
a449225d60 Merge branch 'altalk' 2022-12-12 14:09:16 +03:00
altalk23
3a31efe113 implement pimpl for loader 2022-12-10 19:30:14 +03:00
HJfod
286bdb2bc6 standardization
- remove m_ prefix from structs
 - make IPC event members public
 - make IPC event reply as json
2022-12-09 21:29:21 +02:00
HJfod
92c22d25e4 rename UpdateError to UpdateFailed 2022-12-09 12:53:49 +02:00
HJfod
956ad1d6d5 many changes for updating Index
- 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
2022-12-06 21:22:03 +02:00
HJfod
08934132d8 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-04 18:41:14 +02:00
camila314
9b34e2fe72 header fix 2022-12-02 13:00:26 -06:00
camila314
3d393362e0 cleanup structure by a lot 2022-12-02 12:14:08 -06:00
HJfod
a8cc48f35a Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-01 22:43:11 +02:00
HJfod
66d12395e1 work on new index
- add PlatformID::from string
2022-12-01 22:42:49 +02:00
HJfod
f73d1042a3 move directories away from loader into new dirs namespace 2022-11-30 19:19:00 +02:00
camila314
130e3fb834 ipc is good now 2022-11-30 10:51:38 -06:00
HJfod
f18353c2af cleanup
- 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
2022-11-30 00:48:06 +02:00
HJfod
72bbffa79d Great Geode cleanup project
- 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
2022-11-28 19:45:23 +02:00
HJfod
516393ae99 merge utils to be in fewer better-named files 2022-11-28 19:09:39 +02:00
HJfod
7d7cb237df fix postIPCReply signature on mac and ios 2022-11-28 17:48:38 +02:00
HJfod
63749320a3 remove old Result + move everything over to new Result 2022-11-28 17:42:19 +02:00
HJfod
b9287cebde rework IPC
- 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
2022-11-23 15:53:38 +02:00
HJfod
7a047e2a08 update IPC to use json 2022-11-23 00:35:08 +02:00
HJfod
182ced8e17 Merge branch 'main' into layout 2022-11-22 17:24:03 +02:00
HJfod
f5b5a64557 new events stuff
- 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
2022-11-22 17:21:00 +02:00
alk
7b9c68567a
Get geode working on macos wine 2022-11-19 15:05:10 +03:00
altalk23
a7393261ed stop using github api to check if resources.zip exists it does you silly 2022-11-04 00:06:57 +03:00
altalk23
727304a276 implement http headers to webasyncrequest and make index conditional request 2022-11-03 23:46:01 +03:00
altalk23
2bb416ba77 formatted sources 2022-10-30 21:56:36 +03:00
alk
ad37fd5487
Update crashlog.cpp 2022-10-22 20:33:15 +03:00
alk
d192bee692
Update crashlog.cpp 2022-10-22 20:26:34 +03:00
alk
8f4e117325
Merge branch 'geode-sdk:main' into main 2022-10-22 20:20:09 +03:00
altalk23
a88e69fb0c change some reinterpret_casts to static_casts 2022-10-22 20:19:58 +03:00
HJfod
1dad98b235 Result stuff
- add NewResult
 - deprecate and nodiscard old Result
 - silence some warnings
2022-10-22 17:49:09 +03:00
altalk23
2a7c9d1be6 only hash png ogg and mp3 files 2022-10-20 21:47:29 +03:00
altalk23
4e7d044bd8 replace loader hashes with file name check temporarily 2022-10-19 13:34:39 +03:00
HJfod
4b842e5f2a v0.5.0
- 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
2022-10-15 20:19:20 +03:00
HJfod
57b32182c8 update resources to use hashes again (CLI v1.0.6 should fix the issues) 2022-10-15 18:22:09 +03:00
matcool
7c410c4628
hotfix resources repair 2022-10-14 19:10:19 -03:00
HJfod
f9cda74b58 automatic resource repair
- 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
2022-10-14 16:26:16 -03:00
HJfod
7dd94422b4 lots of index-related stuff (see details)
- 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
2022-10-13 21:37:59 +03:00
altalk23
1822860d50 Merge altalk23:main 2022-10-13 15:43:34 +03:00
altalk23
6350feae74 fix crashlog.cpp for windows 2022-10-13 14:17:23 +03:00
altalk23
cce4daf501 more compile time optimizations 2022-10-13 12:56:23 +03:00
HJfod
2b06316397 rework Index + add AsyncWebRequest API + add GEODE_DEBUG macro 2022-10-13 00:22:43 +03:00
alk
0646ea95f8
Fix unformatted log::logs (#45)
* fix unformmated log::log functions

Co-authored-by: altalk23 <student@altalk23.local>
2022-10-12 21:34:13 +03:00
altalk23
377aa3f7ce fix unformmated log::log functions 2022-10-12 21:31:33 +03:00
HJfod
69d7604e9d fix problem with GD not starting up through Steam 2022-10-11 22:22:42 +03:00
altalk23
ae83610ec2 set save dir path for geode.loader 2022-10-08 20:26:23 +03:00
altalk23
0c19e0c75d fix includes for macos 2022-10-08 18:20:32 +03:00
altalk23
1a5f07eae2 fix log deleting 2022-10-08 17:31:42 +03:00