Commit graph

978 commits

Author SHA1 Message Date
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
HJfod
021b5f4ad3 finally fix scrollbar 2022-09-28 00:14:53 +03:00
HJfod
7d1c7d5a10 disable warnings in Setting.hpp 2022-09-27 23:25:32 +03:00
HJfod
421cf4da84 in-game feature mods 2022-09-26 22:29:36 +03:00
HJfod
6d2718ce09 rename utils namespaces to be consistent + add file picking function +
implement it on windows via NFD + settings are pretty much finished
2022-09-26 13:53:40 +03:00
HJfod
86f8d820d2 fix some doc comments 2022-09-24 22:58:30 +03:00
HJfod
d10e52202c mod settings order is now saved 2022-09-24 18:46:47 +03:00
HJfod
8e629cb2cf preserve settings order (note: still need to change all uses of json to
ordered_json) + preliminary work on file setting
2022-09-23 22:25:20 +03:00
HJfod
faa269fe8a move color pick popup to its own class so modders can use it :3 also
finish that thing
2022-09-23 21:42:52 +03:00
HJfod
19293e2fdf now with color settings 2022-09-21 14:50:23 +03:00
HJfod
5fd6c187d0 controls in setting nodes + update reset sprites + add more control
over setting controls
2022-09-19 23:03:50 +03:00
HJfod
98684a62e5 add touch dispatcher fix + move built-in settings' nodes to their own
internal header & source + regex match validation for string settings +
further work on settings UI now featuring a cooler reset button
2022-09-19 00:07:08 +03:00
HJfod
c29443c0d7 new blank + move ModInfo definitions to their own file + mod settings
are now saved
2022-09-17 15:42:33 +03:00
HJfod
71bd0fec83 now with a settings value getter in Mod so settings are actually usable
+ more settings UI stuff, preliminary control parsing (no UI for them
yet though) + fix InputNode not working
2022-09-14 19:21:35 +03:00
HJfod
0ab32b3e25 update json validation to no longer use exceptions and be enjoyable to
work with + preliminary settings & UI work + various other fixes and
changes
2022-09-13 00:37:25 +03:00
HJfod
a30f5063e7 now with categories in UI 2022-09-05 13:23:51 +03:00
HJfod
6dc8660801 expanded view for mods list + fix member lambda errors 2022-09-04 21:24:33 +03:00
HJfod
67a88d7ffc support for sorting by category (seems like makeMenuSelector is causing
crashes, will have to look into that)
2022-09-03 21:52:59 +03:00
HJfod
1599a6ca04 working on category support 2022-09-03 16:36:07 +03:00
HJfod
bfa5206704 working on better index filtering 2022-09-02 12:22:59 +03:00
HJfod
59ada9e7f0 filter mods to download by platform 2022-09-01 23:36:26 +03:00
HJfod
035091fbc2 working on more filters for index mods 2022-09-01 12:46:37 +03:00
HJfod
e6aee53f45 now uses MinHook on Windows (😨) 2022-09-01 11:02:14 +03:00
HJfod
8d7a46f6ab Improved Popup class; makeMemberFunction & makeMenuSelector; one-time
info alerts; improved some UI stuff
2022-09-01 09:35:18 +03:00
HJfod
78415153b5 mod sprite names now use directories instead of prefixes. note that this
commit will not work without manually removing the prefixes from loader
resources (and adding the directory prefixes to spritesheet keys) until
the CLI rewrite is finished
2022-08-29 00:16:30 +03:00
HJfod
efed426532 fully bump version to 0.2.0 + fix cmake platform binary name on windows 2022-08-09 01:13:21 +03:00
HJfod
f7fabdbd38 some code cleanup on InstallTicket + a safe sprite creation utility in
cocos.hpp (that i'll probably remove in the next commit)
2022-08-06 21:46:18 +03:00
HJfod
daa322b763 fix UI header includes to not cause circular header dependencies 2022-08-02 13:17:26 +03:00
HJfod
cdaa8ad6dc add all UI-related stuff from API, including index, nodes, actual ui,
resources, md4c; and fix up some minor formatting issues
2022-08-01 18:18:03 +03:00
HJfod
19c9f9ebde fix AddressGen hooking gd::base and causing Windows to not work at all +
fix GD bug with Open GL errors not showing properly
2022-07-31 22:50:49 +03:00
HJfod
46e3a071d3 whole of geode except without history 2022-07-30 19:24:03 +03:00