Commit graph

680 commits

Author SHA1 Message Date
HJfod
e36a5aea35 rework layouts 2023-02-04 15:58:10 +02:00
HJfod
d09b74eb34 working on a layout rewrite 2023-02-04 11:33:22 +02:00
HJfod
d23563a9c0 Revert "working on a layout rewrite"
This reverts commit ecbfd5ad0f.
2023-02-04 11:28:33 +02:00
HJfod
ecbfd5ad0f working on a layout rewrite 2023-02-02 17:08:13 +02:00
HJfod
ab0030136a make CC_DLL not link
also remove uses of GEODE_ADD for docs
2023-02-02 00:03:01 +02:00
HJfod
0849323ea1 docs changes 2023-02-01 23:43:53 +02:00
HJfod
049ff650e4 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-01-31 21:20:05 +02:00
HJfod
6fe40e9c31 add gd string symbol fix on windows through cmake + fix dependencies 2023-01-31 21:19:43 +02:00
altalk23
51990ad89b make ModInfo pimpl 2023-01-31 16:44:28 +03: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
altalk23
ae1eb8bb71 add codegenned address -> handlermetadata map 2023-01-29 17:17:41 +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
altalk23
c644b43468 fix cross compiling for clang windowsgit status uwugit status 2023-01-26 16:12:06 +03:00
altalk23
274ff02f9e readd the function param 2023-01-25 20:30:18 +03:00
altalk23
c9f41c784c fix asstaticfunction with nonbase virtuals 2023-01-25 20:29:13 +03:00
altalk23
fbf33adc6a add log to adjust 2023-01-25 20:24:46 +03:00
HJfod
6c557fa96a minor docs stuff 2023-01-25 00:07:15 +02:00
HJfod
b25740dc98 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-01-24 21:50:52 +02:00
HJfod
befcf8ecfd add icon for docs 2023-01-24 21:50:40 +02:00
altalk23
b6a6e4da12 add id priorities 2023-01-24 20:08:17 +03:00
altalk23
b00ab40ae2 remove handler fixes by replacing dynamic_cast 2023-01-24 19:52:51 +03:00
HJfod
3e54252c4e Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-01-24 18:17:42 +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
altalk23
a90b3e18dd remove meta and hook-core remnants 2023-01-24 18:03:52 +03:00
HJfod
0012762c84 check if the user has loaded dlls and show a warning if so 2023-01-24 10:28:43 +02:00
HJfod
e4706c9aca fix AEnterLayerEvent + resources not being loaded properly 2023-01-24 00:13:20 +02:00
HJfod
9be7bea66f move tulip wrappers to their own namespace 2023-01-23 22:14:36 +02:00
HJfod
b9dfd1b115 make mods work without getting tuliphook link errors 2023-01-23 21:58:50 +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
d264694700 update tuliphook to fix hooking cdecls 2023-01-23 16:53:43 +02:00
HJfod
2c2bb8d706 Merge branch 'tulip-hook' of https://github.com/geode-sdk/geode into tulip-hook 2023-01-21 22:44:37 +02:00
HJfod
e322cc5fae fix internal mod being setup at static init time 2023-01-21 19:02:23 +02:00
HJfod
51f70bc810 fix getMod being undefined because silly me marked it inline 2023-01-21 16:42:39 +02:00
HJfod
f089afc27c fix includes + add some doccing 2023-01-21 16:00:14 +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
1b8123c997
fix ColorPickerDelegate 2023-01-19 22:20:43 -03:00
matcool
d093efbc8b
fix codegen issues 2023-01-19 21:58:22 -03:00
matcool
1a51754e65
Merge branch 'main' into tulip-hook 2023-01-19 20:18:24 -03:00
altalk23
cc3c768aa5 add default constructor 2023-01-19 14:31:32 +03:00
altalk23
6e0e822e22 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-01-19 14:27:55 +03:00
altalk23
4a548ab8fd fix msvc string 2023-01-19 14:27:42 +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
dc0da9fc56 make it compile on macos 2023-01-15 02:00:59 +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
a1be695aab replace modify checking implementation
i got distracted
2023-01-14 22:24:12 +03:00
altalk23
b97bb0cc98 Merge branch 'main' into tulip-hook 2023-01-06 22:09:53 +03:00
altalk23
c8cf6e20fd fix appdelegate 2023-01-06 20:20:57 +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
1e58896a26 Merge branch 'main' of https://github.com/geode-sdk/geode 2022-12-31 15:33:33 +03:00
altalk23
45032a4511 Don't link the entirety of geode-sdk for membertest 2022-12-31 15:33:15 +03:00
HJfod
486f5ab751 add stuff for docs genning and fix issues for it 2022-12-31 00:50:12 +02:00
altalk23
9e30870c79 Merge branch 'main' of https://github.com/geode-sdk/geode into tulip-hook 2022-12-26 21:35:29 +03:00
altalk23
b92b2ea608 Merge branch 'altalk' 2022-12-24 21:37:57 +03:00
altalk23
9cac3e68c6 replace ::scene impls, closes #26 2022-12-24 21:33:41 +03:00
altalk23
0a4cabf8f1 replacing modify constructor impls, havent tested 2022-12-24 21:13:53 +03:00
altalk23
313dd57b61 Revert "meta floating point vectorcall patch"
This reverts commit 608e18ee10.
2022-12-19 16:26:05 +03:00
altalk23
608e18ee10 meta floating point vectorcall patch 2022-12-17 23:04:51 +03:00
HJfod
56cfbde73d Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-17 19:08:15 +02:00
HJfod
2d7ce01b1f fix resource download freezing the game 2022-12-17 19:08:01 +02:00
altalk23
1bdc8f408c Update TulipHook and fix some really minor stuff 2022-12-14 17:17:52 +03:00
altalk23
bcfe6a6914 Merge branch 'main' into tulip-hook 2022-12-14 15:38:38 +03:00
altalk23
5efee1e42f do a funny by reverting the internal naming back to impl 2022-12-14 14:50:46 +03:00
altalk23
5666c8f356 separate mod and impl 2022-12-14 14:11:19 +03:00
altalk23
950db7e474 Fix recursive stuff 2022-12-14 10:42:06 +03:00
altalk23
643abe64ab seperate setup of mod 2022-12-14 09:47:09 +03:00
HJfod
407ea1ba01 fix mac build pt 2 2022-12-14 00:05:10 +02:00
HJfod
f42fdfcf55 fix merge + make sure test mods aren't installed again 2022-12-13 22:51:09 +02: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
cef0f3f3bb hooks try to get enabled 2022-12-13 16:32:49 +03:00
altalk23
c605c24f26 Merge branch 'main' into tulip-hook 2022-12-13 13:30:34 +03:00
altalk23
5e1d1eccdb remove schedules, also make Mod::get() lazy 2022-12-13 12:23:37 +03:00
altalk23
63671c9618 compilation test 2022-12-13 10:35:26 +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
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
matcool
36eac0067c remove stupid isnan macro 2022-12-12 18:20:24 -03:00
matcool
3aeaa21c78 fix invalid characters in cocos header 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
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
b1e0276a7e add error if compiled on 64-bit on windows 2022-12-12 20:21:43 +02: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
437a996b14 fix compilation errors 2022-12-12 19:23:11 +03:00
altalk23
459add6022 add tulip hook first commit 2022-12-12 18:42:56 +03: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
c99104909a Merge branch 'main' of https://github.com/geode-sdk/geode 2022-12-12 15:40:17 +03: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
HJfod
5e8a321a36 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-12 13:47:22 +02:00
HJfod
d95c2f3e3c loader stuff
- remove InternalLoader info alerts
 - make sure mods that need early load are early loaded
2022-12-12 13:46:00 +02:00
altalk23
ca61385f0d Merge branch 'main' of https://github.com/geode-sdk/geode 2022-12-12 14:42:47 +03:00
altalk23
d5e0582934 Fix compilation caused from merging 2022-12-12 14:42:20 +03:00
altalk23
a449225d60 Merge branch 'altalk' 2022-12-12 14:09:16 +03:00
HJfod
4e6559966f make selectors use variadic arguments
- this fixes using templated functions as callbacks
2022-12-12 12:49:14 +02:00
HJfod
3897293862 add file::Zip utility for creating Zip files 2022-12-12 12:45:20 +02:00
HJfod
0178b63102 fix mod loading
- Loader::refreshModsList and Loader::loadModsFromDirectory now return void instead of Result and don't fail if one of the mods fail to load
2022-12-12 11:12:37 +02:00
HJfod
571d33fa9b add filtering by developer (will rework later)
- rn how it works is that it just filters the list when you click the dev name, although honestly this is kinda neat too
2022-12-12 00:36:26 +02:00
HJfod
afe57c4bc1 add featured items to Index
- also fix index checksum not being saved if you close the game with the console X button like i do when developing
2022-12-12 00:19:54 +02:00
HJfod
596c806fa4 bring back searching
- yeah that
 - also Index::getTags for getting all tags in index now
2022-12-11 23:50:08 +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
HJfod
f6e334745c Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-11 19:50:02 +02:00
matcool
e78f4ff910
update glew, add its lib and fmod.lib 2022-12-11 14:43:34 -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
3b1a11e11f index work
- installing mods works again
 - add EventListener::setFilter
 - fix loader panicking if some mods failed to load
2022-12-09 15:13:08 +02:00
HJfod
92c22d25e4 rename UpdateError to UpdateFailed 2022-12-09 12:53:49 +02: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
17a13f22cc add update indicator back to MenuLayer 2022-12-08 21:31:10 +02:00
HJfod
84bdeb7beb index work!!
- add tag support for index
 - rename CategoryNode to TagNode
 - add them back to the UI + fix spacing issues related to them
 - deleted ModListView, now using a generic ListView with the mod cells added as children to it
2022-12-08 21:15:06 +02:00
HJfod
e763e271bf fix Event::postFrom using Mod::get 2022-12-08 13:43:58 +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
037602ecea more work on index
- fix index not being a static instance
 - fix small stuff related mods list UI including index updating and error messages
 - fix Unzip directories not being created relatively properly
2022-12-08 13:06:11 +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
b4b9986fa5 tryna fix crash due to events 2022-12-07 12:35:50 +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
altalk23
37a9c9ee97 Merge branch 'main' of https://github.com/geode-sdk/geode into altalk 2022-12-03 17:42:04 +03:00
alk
b21cb64fdf
Update Result.hpp 2022-12-03 17:41:51 +03:00
altalk23
c116b47a61 Merge branch 'altalk' of https://github.com/altalk23/geode into altalk 2022-12-03 17:28:09 +03:00
alk
7cc5fb1405
Move getFieldIndex outside class 2022-12-03 17:00:39 +03:00
alk
eadb1b14bd
Move getFieldIndexForClass outside of header 2022-12-03 16:49:48 +03:00
altalk23
e8fcb57c9f some formatting 2022-12-03 15:24:31 +03:00
altalk23
a776b167a9 merge geode-sdk/main 2022-12-03 14:49:52 +03:00
altalk23
67d26ac6a7 fully fix result impl 2022-12-03 14:35:28 +03:00
camila314
0096f5745e stl fix yet again 2022-12-02 14:17:57 -06:00
camila314
3d393362e0 cleanup structure by a lot 2022-12-02 12:14:08 -06: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
HJfod
3656e4e6de
Merge pull request #91 from cgytrus/main
Fix wrong usage of create_directory/create_directories API
2022-12-01 20:36:33 +00:00
camila314
cc84d821d9 macos std vector fix 2022-12-01 13:53:17 -06:00
ConfiG
33ccfdfd35
fix wrong usage of create_directory(ies) api 2022-12-01 17:11:44 +03:00
HJfod
f9b6595073 actually add Dirs files 2022-11-30 19:19:37 +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
8126175eaa remove geodeRoot 2022-11-30 18:37:15 +02:00
camila314
5e9d8bbac8 git is messing with me 2022-11-30 09:43:44 -06:00
camila314
9927affcd8 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-11-30 09:22:44 -06:00
camila314
716e745b5f can we not to GDString please (kept for windows for now) 2022-11-30 09:22:41 -06: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
alk
59327a6b61
Update stdcall.hpp 2022-11-28 23:24:59 +03:00
alk
079daafd55
Merge branch 'geode-sdk:main' into altalk 2022-11-28 23:22:49 +03:00
altalk23
78c072ee5b add stdcall to meta 2022-11-28 23:22:21 +03:00
HJfod
72af8b95e6 GGCP
- remove datastore
 - remove binary parsing in mod.json
 - try to fix mac build again
2022-11-28 20:17:58 +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
516393ae99 merge utils to be in fewer better-named files 2022-11-28 19:09:39 +02:00
HJfod
6eaa6ea480 move filesystem and fmt to Geode/external 2022-11-28 18:22:59 +02:00
HJfod
35f2cbad9d Merge branch 'layout' of https://github.com/geode-sdk/geode into layout 2022-11-28 17:42:35 +02:00
HJfod
63749320a3 remove old Result + move everything over to new Result 2022-11-28 17:42:19 +02:00
HJfod
5b3fb508e3 delete remnants of old C api 2022-11-28 16:38:25 +02:00
HJfod
7cdb58878b Merge branch 'main' into layout 2022-11-27 23:40:46 +02:00
mat
ea2da96566 implement operator[] for gnustl vector<bool> 2022-11-27 15:31:18 -03:00
altalk23
1d808dfbfd fix internal macros 2022-11-27 03:57:05 +03:00
alk
202b60edd6
Update gnustl.hpp 2022-11-25 01:30:17 +03:00
HJfod
3ba1ad12ff Merge branch 'main' into layout 2022-11-25 00:03:09 +02:00
HJfod
fd42ab0457 delete the unfinished C api 2022-11-25 00:02:48 +02:00
alk
f347741068
Update gnustl.hpp 2022-11-25 00:57:11 +03:00
HJfod
adf8295a41 Merge branch 'main' into layout 2022-11-24 23:55:50 +02:00
altalk23
29d6d11f4e implement struct returns on membercall 2022-11-25 00:41:02 +03:00
HJfod
1ac6ad4996 update ipc
- add getRuntimeInfo funcs for getting json representation of Hook, Patch, Mod and others
 - add args to list-mods
2022-11-23 16:38:08 +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
4928f672f1
Update msvcstl.hpp 2022-11-22 16:56:47 +03:00
alk
322dc1b048
Update msvcstl.hpp 2022-11-22 16:49:53 +03:00
alk
af35eb7228
Update msvcstl.hpp 2022-11-22 16:47:04 +03:00
alk
4f66b8d8f7
add operator= to msvc string (#82)
* add operator= to msvc string
2022-11-22 16:46:03 +03:00
alk
9a51843727
Add msvcstl (#81)
* implement gd::string for windows

Co-authored-by: matcool <26722564+matcool@users.noreply.github.com>
2022-11-22 15:59:46 +03:00
altalk23
2034b3e62d cast the c_str pointer 2022-11-22 14:06:39 +03:00
altalk23
caac958c37 replace ccstring create implementation 2022-11-22 14:06:39 +03:00
altalk23
9b359fba56 get geode working on cross compile macos, also modifies Setting event to not use shared ptr, also disables fmt consteval 2022-11-19 21:13:47 +03:00
alk
7b9c68567a
Get geode working on macos wine 2022-11-19 15:05:10 +03: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
altalk23
b7bbee5669 make GEODE_DEBUG obey if it's already set and make private members in CCMotionStreak protected 2022-11-16 17:42:18 +03:00
HJfod
d701563534 lots of stuff
- add TableView virtuals on windows
 - rework events to match new events system
 - rename NodeStringIDManager to NodeIDs and add a syntactically sugary NodeIDs::provideFor function
 - change test mod to use event callbacks instead of exported ones
2022-11-12 14:55:25 +02:00
HJfod
61c0f1b274 Merge branch 'main' into layout 2022-11-12 12:03:15 +02:00
camila314
4a6105a976 remove small thing 2022-11-09 20:22:36 -06:00
camila314
c8ae6c9f86 50th event system rewrite 2022-11-09 20:19:01 -06:00
altalk23
e349dc9b74 implement new Modify sytnax 2022-11-09 21:07:20 +03: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
camila314
9e4b236d1b Shared directory 2022-11-06 19:40:40 -06: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
HJfod
2d0bbebfef preliminary stuff
- customize hardcoded colors api (no impl yet)
 - more ids
2022-11-02 12:47:58 +02:00
altalk23
ee9718a7f1 fix macos compile on github actions 2022-10-30 22:07:49 +03:00
altalk23
11e81e3d64 formatted includes 2022-10-30 21:59:20 +03:00
alk
444464b185
Merge branch 'geode-sdk:main' into altalk 2022-10-30 21:25:03 +03:00
altalk23
94d45ccf21 added clang-format 2022-10-30 21:24:06 +03:00
HJfod
b252c69b8b add more getters + ranges utils 2022-10-27 15:12:31 +03:00
HJfod
ffc9287a61 small changes
- hook loadAssets instead loadFinished for target scene in geode::cocos::reloadTextures
 - add virtual destructor to BasicEventHandler that unlistens the handler
2022-10-26 23:42:59 +03:00
HJfod
6059a15dff add generic AEnterLayerEvent for my spooky textureldr stuff 2022-10-26 21:52:38 +03:00
HJfod
e37dd6dc55 add default constructor to VersionInfo finally 2022-10-26 19:52:44 +03:00
HJfod
ec8da8da87 add geode::cocos::reloadTextures utility 2022-10-26 17:56:52 +03:00
HJfod
8340387fc9 fix CCArrayExt crashing on a nullptr array 2022-10-26 16:20:39 +03:00
HJfod
e97fad5a9a add early load option for mods 2022-10-26 00:50:33 +03:00
HJfod
6003efa18d add node attributes 2022-10-25 22:57:40 +03:00
HJfod
d6b42f2a0b add gd::vector::clear on mac 2022-10-25 22:06:11 +03:00
HJfod
cae4728ac0 texture loading stuff
- add Loader::waitForModsToBeLoaded to ensure mods are loaded at startup before loading screen
 - add Mod::saveData and Mod::loadData (these have to reworked wholly in v1.0.0 to be more reasonable)
 - add ranges::indexOf
 - fix ranges::move
 - add CCFileUtils::removeAllPaths on mac
 - make sure custom resources are loaded before GD
2022-10-25 21:49:50 +03:00
HJfod
c7cc2d4563 fix texture path adding order 2022-10-24 22:46:39 +03:00
HJfod
1d34bb138b move definition of ~HandleToSaved after Mod 2022-10-24 11:52:53 +03:00
HJfod
de64b87ede savedata stuff
* add event-based alternatives to the exported mod entry functions
 * add $on macro for listening to those alternatives
 * add automatically saved values API in the same vain as the settings API to mod
 * add ranges::find and ranges::move
2022-10-24 11:43:17 +03:00
HJfod
27224db75f fix ListView + GEODE_UNWRAP 2022-10-23 19:44:54 +03:00
HJfod
c6919b5565 Merge branch 'main' into layout 2022-10-23 18:02:20 +03:00
HJfod
17014b6302 add geode::cocos::switchToScene utility 2022-10-23 17:54:42 +03:00
alk
5a8bc843dc
Update JsonValidation.hpp to add missing GEODE_DLL 2022-10-23 16:39:33 +03:00
alk
a1c9063767
Merge pull request #60 from geode-sdk/altalk
add json validation to source
2022-10-23 16:27:50 +03:00
altalk23
483eb198fd add json validation to source 2022-10-23 16:22:27 +03:00
HJfod
86a87b00a4 remove deprecation warning from old result 2022-10-23 16:09:01 +03:00
HJfod
0a0a34eb5c some minor changes
- add Mod::getPackagePath as a replacement for Mod::getPath
 - add new geode/config directory for mods' config files
 - add Mod::getConfigDir for getting the mod's config directory
 - add libfmod.dylib and auto-move it in actions
 - add open save directory button to mod settings popup
2022-10-23 15:23:55 +03:00
HJfod
2fd0b02edb fix $register_ids not working on clang 2022-10-23 13:46:06 +03:00
HJfod
fdbc7344b3 update actions
- move resource uploading action later in the chain
 - try to fix clang build
2022-10-23 12:38:31 +03:00
HJfod
6501fcc665 id fixes 2022-10-22 23:11:02 +03:00
HJfod
f5dbdff0d8 more workings
- update all ID setters to new system
 - move EnterLayerEvent to be automatically posted for all id registrers
2022-10-22 22:52:54 +03:00
HJfod
3ac13012ae Merge branch 'main' into layout 2022-10-22 22:40:38 +03:00
HJfod
e995beb2f9 redesign id registering again, now it's really good 2022-10-22 22:33:04 +03:00
HJfod
40300afb25 new id registering design that's pretty good now 2022-10-22 22:10:36 +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
46381e7cbc Merge branch 'main' into layout 2022-10-22 19:16:57 +03:00
matcool
9446e995cf
make X_selector() macros not require using namespace cocos2d 2022-10-22 12:27:33 -03:00
HJfod
2ef03197b5 fix mac build
- move attribute & E -> T
2022-10-22 17:55:10 +03:00
HJfod
1dad98b235 Result stuff
- add NewResult
 - deprecate and nodiscard old Result
 - silence some warnings
2022-10-22 17:49:09 +03:00
camila314
c3878b8a20 Optimize TypeGen 2022-10-21 18:17:08 -05:00
altalk23
42a3c6de3c move wrap to seperate files 2022-10-20 22:45:43 +03:00
altalk23
fd291d51a9 fix windows garagelayer pad 2022-10-18 21:04:03 +03:00
HJfod
a0e56c044b fix macos build 2022-10-17 16:08:12 +03:00
HJfod
38bebd67cd fix macos build
- add initializer_list constructor to `gd::vector`
2022-10-17 15:56:35 +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
843b1ac44f will revert this later 2022-10-17 12:25:56 +03:00
mat
f68530e943
for chloe 2022-10-16 23:28:20 -03:00
HJfod
86c1956790 Merge branch 'main' into layout 2022-10-17 00:05:14 +03:00
HJfod
0a1b5c9281 i forgot to add the LayerBG header 2022-10-16 21:37:18 +03:00
HJfod
ee68a73629 Merge branch 'main' into layout 2022-10-16 21:36:27 +03:00
HJfod
a38743d01d textureldr stuff
- reworked mod resource loading again
 - added `Loader::addTexturePath` and `Loader::removeTexturePath` for texture pack managers to add search paths
 - added `LayerBG.hpp` header with `createLayerBG` function for creating the blue background GD layers have
2022-10-16 21:34:16 +03:00
matcool
9e38af5070
add begin and end to gd::vector 2022-10-16 00:08:20 -03:00
HJfod
61fd9a50d7 make gd::vector satisfy value_type 2022-10-15 21:58:56 +03:00
HJfod
d2536f95ce who cares about the return type anyway then 2022-10-15 21:54:28 +03:00
HJfod
6fe9a5f2ce utils rework
- deprecate utils::vector and utils::container and replace them with utils::ranges
2022-10-15 21:45:53 +03:00
HJfod
787c0ba91c deprecate utils::vector and utils::container and replace them with
utils::ranges
2022-10-15 21:44:35 +03:00
HJfod
cc47d3dc88 use gd::vector instead of std::vector in geode::utils::vector 2022-10-15 20:31:11 +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
c926f69790 Merge branch 'main' into layout 2022-10-15 18:49:07 +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
c210ab2f33 change CCArrayExt to use Ref 2022-10-14 16:26:16 -03:00
mat
0562c045ae
fix getSceneDelegate
its getSceneDelegate() const
2022-10-13 18:23:37 -03:00
HJfod
22ee4b3f29 get ready for v0.4.5 release
- update changelog
 - add documentation to AsyncWebRequest
 - remove some debugs
2022-10-13 22:30:57 +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
HJfod
f0557056c7 meaningless stuff 2022-10-13 16:36:36 +03:00
altalk23
1822860d50 Merge altalk23:main 2022-10-13 15:43:34 +03:00
altalk23
92099a9ba5 fix messageboxfix 2022-10-13 14:08:48 +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
altalk23
1cfc793f7c seperation of modify and bindings 2022-10-13 11:31:23 +03:00
matcool
577242a49b
fix macos build 2022-10-12 23:14:14 -03:00
matcool
61dd4a672c
add CCApplication::getVerticalSyncEnabled for win32 2022-10-12 22:46:23 -03:00
HJfod
2b06316397 rework Index + add AsyncWebRequest API + add GEODE_DEBUG macro 2022-10-13 00:22:43 +03:00
altalk23
f580eda0b0 add geode debug 2022-10-12 22:07:18 +03:00
HJfod
69d7604e9d fix problem with GD not starting up through Steam 2022-10-11 22:22:42 +03:00
HJfod
b38353a70f fix problem with GD not starting up through Steam 2022-10-11 22:00:08 +03:00
HJfod
4e5ce3cdff Merge branch 'main' into layout 2022-10-11 16:46:40 +03:00
HJfod
66285aeadf fix setting crash on slider control disable + expose some internal ui
stuff for mods to use + update changelog
2022-10-11 16:45:56 +03:00
HJfod
132f522416 split MenuLayer menus into more logical groupings 2022-10-10 22:10:27 +03:00
HJfod
3f7a9ed8d3 initial layout stuff 2022-10-10 20:58:47 +03:00
altalk23
e6065b210f Merge branch 'main' of https://github.com/geode-sdk/geode 2022-10-10 11:22:16 +03:00
altalk23
1bf388c006 user ndebug for removing log debug 2022-10-10 10:54:18 +03:00
HJfod
75918681ab stop defining geode platform macros in 4 different places 2022-10-09 21:04:10 +03:00
HJfod
1931e87c24 deprecate makeMenuSelector and replace all uses with actual member
functions ;-;
2022-10-09 16:24:24 +03:00
alk
2bf2d859b8
Some header additions (fix) (#41)
* starting

* editorui

* leveleditorlayer

* leveleditorlayer2

* effectgameobject

* gameobject

* coloraction

* ccarrayiterator adds

* editlevellayer, optionslayer, pauselayer, statscell, endlevellayer

* fix overload resolution for CCObject*

Co-authored-by: altalk23 <student@altalk23.local>
Co-authored-by: matcool <26722564+matcool@users.noreply.github.com>
2022-10-09 16:17:14 +03:00
matcool
23593f50dc
fix overload resolution for CCObject* 2022-10-09 09:18:17 -03:00
matcool
c5538da709
switch to {} style formatting for logs 2022-10-08 22:57:10 -03:00
altalk23
48de16f02c fix component destructor 2022-10-08 17:37:35 +03:00
altalk23
1a5f07eae2 fix log deleting 2022-10-08 17:31:42 +03:00
altalk23
40bf7962ea add crash log directory 2022-10-08 17:27:28 +03:00
altalk23
da998694a0 add clearLogs and virtual destructor to logs 2022-10-08 17:13:16 +03:00
altalk23
cb3a610407 remove internal_log 2022-10-08 17:05:53 +03:00
altalk23
75a98e1fff add linkage to friend declaration 2022-10-08 16:56:28 +03:00
altalk23
ed41e7cfea add loader include to modify 2022-10-08 16:55:40 +03:00
altalk23
6d5e02a6b4 completely remove interface + implement scheduling stuff 2022-10-08 16:53:09 +03:00
altalk23
e67eaf7ec3 log scheduling 2022-10-08 14:56:41 +03:00
HJfod
dbf8c4af22 Merge branch 'ui' of https://github.com/geode-sdk/geode into ui 2022-10-08 12:59:25 +03:00
altalk23
650849c242 fixed macos bootstrapper 2022-10-08 12:59:06 +03:00
HJfod
0c31238c44 Merge branch 'ui' of https://github.com/geode-sdk/geode into ui 2022-10-08 12:52:06 +03:00
HJfod
a6cc6f4bec fix Windows build + bump version to v0.4.0 + bump minimum mod version 2022-10-08 12:47:47 +03:00
altalk23
48ab98a115 macos fixes and implemented the bootstrapper without testing 2022-10-08 12:41:36 +03:00
camila314
76175c746d merge 2022-10-06 16:09:15 -05:00
camila314
b902a49894 complete remake of log 2022-10-06 16:08:44 -05:00
HJfod
91cecf3843 add CCApplication::get to every platform 2022-10-06 22:37:54 +03:00
HJfod
7e6a46a9d4 more getters for cocos2d managers + bump version 0.3.1 + some addresses
+ give IDs to everything in MenuLayer when the controller is connected
2022-10-06 22:33:56 +03:00
HJfod
7edb547462 please become fixed clang 2022-10-06 21:02:32 +03:00
HJfod
7370f78a6d fix GEODE_PRETTY_FUNCTION on clang 2022-10-06 20:58:05 +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
0b64fe9259 more addresses + Popup was accidentally marked dllexport 2022-10-05 23:47:16 +03:00
HJfod
5e0d1f6645 fix codegen + tons of addresses on windows 2022-10-05 23:31:25 +03:00
HJfod
a262ad63d4 fix windows build + fix fields 2022-10-05 16:08:54 +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
altalk23
b4c8d0f65a fully works on macos 2022-10-04 17:26:20 +03:00
altalk23
d9a1fae5b0 compiles on macos, though there are still some crashes 2022-10-04 13:32:40 +03:00
HJfod
915e2f6966 update for new cli 2022-10-03 13:51:48 +03:00
HJfod
83088dc67a fix clang build 2022-10-01 11:20:11 +03:00
HJfod
a39a79d8cb more stuff to SafeCreate + make last crash info popup not show again +
fix file utils on windows by using wstring instead of string
2022-10-01 11:14:51 +03:00
HJfod
64674166e8 add changelog tab 2022-09-30 00:30:25 +03:00
HJfod
0118945a39 bump version to v0.2.1 + change optional members in ModInfo to actually
use std::optional + JsonValidation support for std::optional
2022-09-29 22:34:28 +03:00
HJfod
9881d3e75f add issues key to mod.json for specifying where to report issues for
mods
2022-09-29 15:17:02 +03:00
HJfod
d9b7489d66 fix LevelEditorLayer members + fix Wrapper (alk fixed it but because
she was extremely silly and did it on her own branch i'm taking credit
and claiming i figured out and wrote this fix all on my own >:-) )
2022-09-29 00:49:59 +03:00
HJfod
6af42cb41f add some addresses + CCDirector::get and CCKeyboardDispatcher::get (does
MSVC actually allow this? what?)
2022-09-28 22:38:30 +03:00
HJfod
6ed265aa85 improve createQuickPopup + show crash info on startup 2022-09-28 19:56:34 +03:00
HJfod
1b8289a420 setting change events + remove platform console input queue + simplify
platform console API + add show-platform-console event listener
2022-09-28 19:15:27 +03:00
HJfod
5af74e9ab7 move internal mod json data to an actual json file + move platform
console from a cmake arg to an in-game setting
2022-09-28 17:38:02 +03:00
HJfod
51cb3ba85e fix warnings on clang 2022-09-28 16:21:05 +03:00
HJfod
e2cb16d919 add MDPopup for Markdown FLAlertLayers + support info & button to mods 2022-09-28 01:15:20 +03:00