Commit graph

1277 commits

Author SHA1 Message Date
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