Commit graph

60 commits

Author SHA1 Message Date
HJfod
f32aaa8b12 add better support for dependencies
- create_geode_file now redirects to a new function called setup_geode_mod
 - setup_geode_mod auto-links loader
 - setup_geode_mod invokes CLI (if v1.4.0+) to automatically check your dependencies and install them + link their headers and libs to your project
 - fix Result::expect not working on non-copiable types
 - add in-memory functions for file::Zip and file::Unzip
 - ComparableVersionInfo now always returns false if major versions dont match
2023-01-31 14:48:34 +02:00
matcool
deab672bc2 json rewrite, use custom lib instead of nlohmann::json
This is in attempt to make compile times better, as the old json library
was quite slow to compile due to many template instantiations and such a
large header.

macOS tests have shown build times from 610s to ~390s, about a 1.5x
speedup

Co-authored-by: camila314 <47485054+camila314@users.noreply.github.com>
2023-01-27 21:14:26 -03:00
altalk23
dd2672f665 add OSX_DEPLOYMENT_TARGET to loader too 2023-01-28 02:59:43 +03:00
HJfod
d8fb9a948a dont add md4c and re2 if building docs 2023-01-27 14:10:44 +02:00
HJfod
30dc9ad220 add manual resource downloading instructions if automatic failed 2023-01-25 10:06:21 +02:00
HJfod
287816a17c bump version to v1.0.0-beta 2023-01-24 13:17:27 +02:00
HJfod
6839316a5d adios lilac 2023-01-23 20:30:18 +02:00
altalk23
a1be695aab replace modify checking implementation
i got distracted
2023-01-14 22:24:12 +03:00
altalk23
a15e8cb30f temporarily comment out trysavegame hook 2023-01-13 09:12:50 +03:00
altalk23
b97bb0cc98 Merge branch 'main' into tulip-hook 2023-01-06 22:09:53 +03:00
HJfod
486f5ab751 add stuff for docs genning and fix issues for it 2022-12-31 00:50:12 +02:00
altalk23
ac40e4c8fb fix tuliphook result and windows messageboxfix 2022-12-14 17:25:25 +03:00
altalk23
1bdc8f408c Update TulipHook and fix some really minor stuff 2022-12-14 17:17:52 +03:00
altalk23
641c56e7be fix merge artifacts as usual 2022-12-14 16:01:01 +03:00
altalk23
bcfe6a6914 Merge branch 'main' into tulip-hook 2022-12-14 15:38:38 +03:00
HJfod
f3fa425674 replace std::regex with re2 2022-12-14 13:50:16 +02:00
altalk23
0c506ea46c fix cvs 2022-12-13 20:44:56 +03:00
altalk23
d7b1d9ba70 fix macos tulip-hook, it works 2022-12-13 18:34:09 +03:00
altalk23
cef0f3f3bb hooks try to get enabled 2022-12-13 16:32:49 +03:00
altalk23
4f110388e4 Merge branch 'main' into tulip-hook 2022-12-13 08:37:02 +03:00
altalk23
a554f93b93 use cxx_std_XX instead of CXX_STANDARD 2022-12-13 08:36:50 +03:00
altalk23
6009eb8481 add tuliphook as cpm 2022-12-13 08:00:29 +03:00
altalk23
3dae2d0b43 Merge remote-tracking branch 'main-repo/main' into main-repo/tulip-hook 2022-12-13 08:00:06 +03:00
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
mat
8342b7fc7c
fix ranges.hpp once again
i am killing someone
2022-12-12 18:07:34 -03:00
camila314
550e87377d optimize util slightly 2022-12-12 14:06:04 -06:00
camila314
c440aaa7cc Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-12 13:33:14 -06:00
camila314
98bae53959 LevelSettingsLayer string ids 2022-12-12 13:32:44 -06:00
HJfod
189040ac78 thingies
- rename LayerBG.hpp to General.cpp
 - add addListBorders UI function for adding comment borders to a list
 - change VersionInfo parsing to use streams
 - remove VersionInfo::validate and instead just have VersionInfo::parse
 - remove scnlib
2022-12-12 18:44:17 +02:00
altalk23
459add6022 add tulip hook first commit 2022-12-12 18:42:56 +03:00
HJfod
4c4674da93 add suffixes to versions 2022-12-12 15:45:27 +02:00
altalk23
3a31efe113 implement pimpl for loader 2022-12-10 19:30:14 +03:00
HJfod
66d12395e1 work on new index
- add PlatformID::from string
2022-12-01 22:42:49 +02: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
634fe303b2 fix mac build 2022-11-28 20:49:21 +02:00
HJfod
02efe58724 more GGCP
- move Core sources to platform folder
 - make sure source files on Mac include DefaultInclude
 - make sure sources are added in cmake
2022-11-28 20:03:30 +02:00
HJfod
d4610df914 more platform cleanup
- remove loader/platform due to being utterly redundant
 - fix CMakeLists on mac
2022-11-28 19:48:55 +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
46381e7cbc Merge branch 'main' into layout 2022-10-22 19:16:57 +03:00
HJfod
662a9e99f5 big cocos reworks
- remove cocos2dx folder
 - change all include paths in cocos2d to be relative
2022-10-17 15:46:36 +03:00
HJfod
c926f69790 Merge branch 'main' into layout 2022-10-15 18:49:07 +03:00
HJfod
150e1b509b workflow should now have cli. i think 2022-10-14 16:26:16 -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
altalk23
070474dd18 some header fixings and more compile time improvements 2022-10-13 14:00:41 +03:00
altalk23
cce4daf501 more compile time optimizations 2022-10-13 12:56:23 +03:00
HJfod
3f7a9ed8d3 initial layout stuff 2022-10-10 20:58:47 +03:00
altalk23
48ab98a115 macos fixes and implemented the bootstrapper without testing 2022-10-08 12:41:36 +03:00
HJfod
1b40d1a6da move fields to be a member of a new GeodeNodeMetadata class that also
supports user objects again through proxies + string IDs for nodes +
fix nightly folder in cmake + fix codegen not hooking cocos2d funcs +
add every missing virtual to GeometryDash.bro + tons of other addresses
2022-10-06 20:46:07 +03:00
HJfod
b6b138953d Merge branch 'ui' of https://github.com/geode-sdk/geode into ui 2022-10-05 15:45:31 +03:00
HJfod
b1776d1d26 move fetch from Index to exported utils + add close button as a member
to Popup and move setup to be last in init + add
GEODE_PLATFORM_SHORT_IDENTIFIER macro for the platform's identifier in
GitHub release zips + add GEODE_VERSION to cmake + move unzipTo from
Index to be an exported util in file namespace + add mod resources
directories in accordance with new CLI
2022-10-05 15:41:05 +03:00