Commit graph

207 commits

Author SHA1 Message Date
matcool
65f2cbb286
follow thunk functions for non virtuals 2023-02-09 13:54:30 -03:00
camila314
0cfb064631 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-02-09 09:45:11 -06:00
camila314
41aef57758 make >= default prevent issues 2023-02-09 09:45:06 -06:00
altalk23
04dd151f0e minifunction replacing compiles 2023-02-08 18:25:07 +03:00
altalk23
4bf6344def Merge branch 'main' of https://github.com/geode-sdk/geode 2023-02-08 16:44:23 +03:00
altalk23
4f259c6e3a forward filesystem 2023-02-08 16:42:34 +03:00
HJfod
049ff650e4 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-01-31 21:20:05 +02:00
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
altalk23
5c2db47104 add concepts lib to addresser 2023-01-30 17:29:41 +03:00
altalk23
7c646c21df add special care for CCScrollView 2023-01-30 14:10:39 +03:00
altalk23
e44a4bb513 make cached instance 2023-01-30 11:36:31 +03:00
altalk23
63e9b4c5f7 fix create overloads not recognising 2023-01-30 11:07:18 +03:00
altalk23
4aa09c085b use std::enable_if for create checking 2023-01-30 11:02:32 +03:00
altalk23
68e75eafb5 fix HasCreate 2023-01-30 10:24:59 +03:00
altalk23
2f0c36f007 allow protected and private create funcs 2023-01-30 10:16:55 +03:00
altalk23
f385cc9d43 use ::create wherever you can 2023-01-30 10:06:58 +03:00
altalk23
1e9faac5aa add exception for ccset 2023-01-30 09:53:20 +03: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
HJfod
befcf8ecfd add icon for docs 2023-01-24 21:50:40 +02:00
HJfod
a418828394 fix resources not being downloaded by fallbacking to github api
- also add an overload to AsyncWebRequest::expect that gives you the http status code
2023-01-24 18:17:03 +02:00
HJfod
9e52089a01 whoops turns out union cast is required to make it work 2023-01-23 19:51:51 +02:00
HJfod
e65f1184e7 remove use of union_cast 2023-01-23 19:45:29 +02:00
HJfod
21e25ff382 fix thunk adjust 2023-01-23 19:31:38 +02:00
HJfod
c8e627d921 Merge branch 'main' into tulip-hook 2023-01-21 14:17:58 +02:00
HJfod
8d08ca07a0 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-01-21 14:17:45 +02:00
HJfod
f8737dde43 docs stuff i think 2023-01-21 14:17:33 +02:00
matcool
1a51754e65
Merge branch 'main' into tulip-hook 2023-01-19 20:18:24 -03:00
alk
018a42a258
Update MiniFunction.hpp 2023-01-18 23:40:33 +03:00
alk
50eecc2c0b
Update MiniFunction.hpp 2023-01-18 23:10:00 +03:00
alk
db109bfdf2
Fix recursive ctor in minifunction 2023-01-18 23:05:37 +03:00
altalk23
a1c7139e53 I only changed the headers and not the sources to improve compile times a bit 2023-01-15 00:45:58 +03:00
altalk23
b97bb0cc98 Merge branch 'main' into tulip-hook 2023-01-06 22:09:53 +03:00
altalk23
eb3b84113c i wasnt content with previous seedvalue impl 2022-12-31 18:02:48 +03:00
altalk23
a49f01b14f remove templates from SeedValue 2022-12-31 17:50:11 +03:00
altalk23
318ec7864f Add SeedValue utility for handling robtop's funny seed rand values 2022-12-31 17:28:05 +03:00
altalk23
45032a4511 Don't link the entirety of geode-sdk for membertest 2022-12-31 15:33:15 +03:00
altalk23
1bdc8f408c Update TulipHook and fix some really minor stuff 2022-12-14 17:17:52 +03:00
altalk23
5666c8f356 separate mod and impl 2022-12-14 14:11:19 +03:00
HJfod
afd9258995 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-13 22:42:49 +02:00
HJfod
9ffb15b616 rework settings
- Settings no longer abuse templates
 - Custom settings are now supported (finally)
 - Bumped version to v1.0.0-alpha
2022-12-13 22:39:45 +02:00
altalk23
63671c9618 compilation test 2022-12-13 10:35:26 +03:00
matcool
25fcc35dad
define NOMINMAX 2022-12-12 21:30:15 -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
mat
f97dbd96ed
move convertible_to polyfill to ranges.hpp 2022-12-12 17:36:19 -03:00
mat
1d0a59ca38
include concepts in ranges.hpp 2022-12-12 16:43:40 -03: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
HJfod
c8e7ce0b18 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-12 15:45:43 +02:00
HJfod
4c4674da93 add suffixes to versions 2022-12-12 15:45:27 +02:00
altalk23
a47937c379 remove spinlocks & make sent async response pimpl 2022-12-12 15:40:05 +03:00
HJfod
ef55605b5b remove SafeCreate for being pointless 2022-12-12 14:11:14 +02:00
altalk23
ca61385f0d Merge branch 'main' of https://github.com/geode-sdk/geode 2022-12-12 14:42:47 +03:00
altalk23
a449225d60 Merge branch 'altalk' 2022-12-12 14:09:16 +03:00
HJfod
3897293862 add file::Zip utility for creating Zip files 2022-12-12 12:45:20 +02:00
HJfod
500e6f2d26 remove use of operator<=>
it doesn't work on mac
2022-12-11 21:01:52 +02:00
HJfod
8a1ecbe5ab try to fix mac build
- add <tuple> include to VersionInfo
2022-12-11 20:44:38 +02:00
altalk23
3a31efe113 implement pimpl for loader 2022-12-10 19:30:14 +03:00
HJfod
7397193e57 index is looking good
- mod dependencies reworked to be much less bad and actually good now
 - mod dependencies finally check the version
 - support for dynamic versions for dependencies (<=vX.X.X, ==vX.X.X, >=vX.X.X)
 - index is now ready for implementing mod installation, then we're done with this massive sausage package
2022-12-09 00:28:05 +02:00
HJfod
28b413d636 make VersionInfo constexpr 2022-12-08 22:04:02 +02:00
HJfod
311eb2e356 work
- fix file::listFiles
 - temporarily make loader mod min version very low to work with index
 - index now properly updates
2022-12-08 13:35:02 +02:00
HJfod
e0d7dbf15b index is now download correctly + that is reported in the UI 2022-12-07 21:21:50 +02:00
HJfod
996acf15aa Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-07 12:37:10 +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
altalk23
20a2dc9f07 fix events and cleanup 2022-12-04 19:39:40 +03:00
alk
b21cb64fdf
Update Result.hpp 2022-12-03 17:41:51 +03:00
altalk23
67d26ac6a7 fully fix result impl 2022-12-03 14:35:28 +03:00
altalk23
9838f51f07 Merge branch 'altalk' of https://github.com/altalk23/geode into altalk 2022-12-02 18:41:08 +03:00
altalk23
0803f83355 completely replace result impl - TODO: fix unzip 2022-12-02 18:40:51 +03:00
HJfod
a11c526066 fix file::createDirectory + fix Notification warning 2022-12-01 22:44:44 +02: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
ConfiG
33ccfdfd35
fix wrong usage of create_directory(ies) api 2022-12-01 17:11:44 +03:00
HJfod
8126175eaa remove geodeRoot 2022-11-30 18:37:15 +02:00
HJfod
2c78b8e620 cleanup
- add CCArray::firstObject and CCArray::removeFirstObject
 - add minizip zip headers and sources (going to add file::Zip class soon)
 - redesign Notifications to be simpler
 - rework Result to not have dual implementations
 - Result::expect now has one default named argument for formatting the error in
2022-11-30 17:07:05 +02:00
HJfod
c113e97844 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-11-30 13:15:03 +02:00
alk
298593ada8
remove the bandaid 2022-11-30 14:13:20 +03:00
alk
ed4f4e4bf7
Update addresser.hpp with a bandaid 2022-11-30 14:12:23 +03: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
516393ae99 merge utils to be in fewer better-named files 2022-11-28 19:09:39 +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
camila314
5e3ec38359 tee-hee forgot something again 2022-11-18 23:19:23 -06:00
camila314
c12fde309e oops silly me forgot something 2022-11-18 23:18:37 -06:00
camila314
4ff33d0985 fix bad impl 2022-11-18 23:15:01 -06:00
camila314
06d69b1db5 findFirstChildRecursive put inside utils because its very useful 2022-11-18 23:04:14 -06:00
HJfod
61c0f1b274 Merge branch 'main' into layout 2022-11-12 12:03:15 +02:00
altalk23
32196f3545 add gjgamelevel::getcurrent and levelsettingsobject::get 2022-11-09 21:07:20 +03:00
HJfod
d20a77aeb1 add ostream operator<< for VersionInfo 2022-11-09 17:45:59 +02:00
HJfod
6d67033eb6 minor changes
- make index always use latest version of mod in index
 - more bindings
 - implement rest of setting types for getBuiltInSettingValue
2022-11-09 17:32:44 +02:00
HJfod
2a81ed1ac1 fix CCArrayExt crashing on a nullptr array 2022-11-08 14:23:40 +02:00
altalk23
727304a276 implement http headers to webasyncrequest and make index conditional request 2022-11-03 23:46:01 +03:00
HJfod
fa1eee5b69 fix merge 2022-11-02 13:44:45 +02:00
HJfod
c8fa701762 Merge branch 'main' into layout 2022-11-02 12:57:03 +02:00
altalk23
11e81e3d64 formatted includes 2022-10-30 21:59:20 +03:00
HJfod
b252c69b8b add more getters + ranges utils 2022-10-27 15:12:31 +03:00
HJfod
e37dd6dc55 add default constructor to VersionInfo finally 2022-10-26 19:52:44 +03:00