Commit graph

708 commits

Author SHA1 Message Date
camila314
392c6941fe Implement update functionality 2023-05-18 10:20:04 -05:00
matcool
af8d4a04de
enable ansi color support for windows console, use it on logs
this will use gray for debug, blue for info, yellow for warning and red
for error
2023-05-06 13:32:34 -03:00
altalk23
56b7b66b93 fix getSaveDir not working with nonascii paths 2023-05-06 18:31:51 +03:00
altalk23
a968153331 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-05-01 18:41:36 +03:00
altalk23
0f6b173a11 handle the ui for major and minor versions 2023-05-01 18:41:18 +03:00
matcool
a1e9ac46b9
use wide version of winapi functions
This in theory should help with unicode support, as the old cocos2d
methods did not handle unicode well. However i was not able to test this
since vanilla gd itself doesnt launch on a non ascii path for me!
2023-05-01 11:18:35 -03:00
altalk23
b236a1daac Merge branch 'main' of https://github.com/geode-sdk/geode 2023-05-01 16:41:03 +03:00
altalk23
4929599c19 Reenable has update icon 2023-05-01 16:40:55 +03:00
altalk23
1323debea7 remove file::current_path, add less and more version compares 2023-05-01 16:06:06 +03:00
alk
799a6672ce
Update util.cpp 2023-05-01 15:15:27 +03:00
altalk23
dc96da012d don't rely on filesystem current_path 2023-05-01 14:47:25 +03:00
altalk23
d7ccfdef3e revert mod.json resource and move markdowns 2023-05-01 13:06:46 +03:00
altalk23
144bb1baae remove debug message box 2023-05-01 12:12:29 +03:00
altalk23
e3bda2a544 Fix resources because of broken working directory 2023-05-01 12:11:32 +03:00
altalk23
95f046b98e add markdowns and mod.json as resources 2023-05-01 11:36:11 +03:00
altalk23
b7c2a422fd Merge branch 'main' of https://github.com/geode-sdk/geode 2023-04-28 15:04:13 +03:00
altalk23
c174f81998 make getGameDir weaklyCanonical 2023-04-28 15:03:58 +03:00
HJfod
a45032ae2c Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-04-27 18:51:08 +03:00
HJfod
e7ab46cfdb add logging for gd::string and fix version comparisons being inverted 2023-04-27 18:50:45 +03:00
altalk23
7af062f35d fix fuzzy search 2023-04-27 11:28:39 +03:00
hjfod
50ff15c356 add public file watching api 2023-04-27 09:22:56 +03:00
altalk23
8842e8f793 fix pickFile on macos 2023-04-26 12:29:43 +03:00
hjfod
40f36bbeb8 make sure to also remove event listeners from the toAdd queue 2023-04-20 11:24:45 +03:00
HJfod
9deb5a8a09 add some bindings 2023-04-16 21:45:22 +03:00
HJfod
a5f3fe10c7 fix layouts not working properly on nodes whose scale isn't 1 2023-04-15 15:08:28 +03:00
HJfod
475499407f fix Notification not being at the top of the scene tree 2023-04-15 14:20:33 +03:00
HJfod
7bcb6d75eb fix CCApplication member offsets 2023-04-15 14:18:09 +03:00
HJfod
11a90adf12 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-04-11 20:41:51 +03:00
HJfod
3a357027d6 add Mod::hasSavedValue + fix some enumKeyCodes 2023-04-11 20:41:35 +03:00
altalk23
ed442702fe make ModStateFilter copy ctor default 2023-04-10 17:12:49 +03:00
altalk23
d0d0b79578 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-04-10 14:35:27 +03:00
altalk23
f89cdcd78a Fix macos crashing on hook enabling 2023-04-10 14:35:09 +03:00
HJfod
2ce5680a6a fix weakref on CCTextInputNode 2023-04-10 12:59:23 +03:00
HJfod
bc840ecb98 minor formatting changes 2023-04-10 12:50:31 +03:00
altalk23
80b5b20efb fix events, resources, and minor stuff 2023-04-10 12:49:59 +03:00
HJfod
208ba02279 add a fix for CCTextInputNode content size 2023-04-10 10:20:42 +03:00
HJfod
43a705ace1 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-04-09 18:36:10 +03:00
HJfod
2fe88f1c33 make Event::post return the ListenerResult 2023-04-09 18:35:08 +03:00
alk
80e75f2a4a
Add continue for null hooks 2023-04-09 18:30:48 +03:00
altalk23
22d138bee2 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-04-09 18:29:18 +03:00
altalk23
d7fd2a581d error non virtual missing bindings on compile time 2023-04-09 18:29:11 +03:00
HJfod
97b7cbe211 fix AxisLayout::getSizeHint cross axis size 2023-04-09 15:09:05 +03:00
HJfod
fe27260abc add a special case for null mod to allow listening for all mod events 2023-04-09 11:19:48 +03:00
HJfod
fac032f8b1 fix dev names being clickable in the dev popup (fix for #153) 2023-04-07 20:25:55 +03:00
HJfod
cf69fa3b2f fix WeakRef 2023-04-07 20:07:16 +03:00
hjfod
69ddb75bd9 always place new listeners at the front of the queue 2023-04-06 19:01:06 +03:00
HJfod
3dd6d55b49 add CCNode::getEventListenerCount 2023-04-05 19:26:46 +03:00
HJfod
6ba91482a6 fix event listeners not being removed from the right queue 2023-04-05 18:59:25 +03:00
hjfod
6d77f841c9 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-04-05 18:18:21 +03:00
hjfod
993cd6fd7e rework event listeners to add different queues for listeners 2023-04-05 18:17:53 +03:00
Fleeym
530551ec95 add bindings and ids for CustomSongWidget 2023-04-05 14:06:31 +03:00
hjfod
b44b5d3cd3 add SpacerNode & bring back Dispatch 2023-04-04 17:44:49 +03:00
HJfod
c1d4a89f8b fix event listeners vector containing freed listeners 2023-04-03 21:04:56 +03:00
hjfod
75580a01ae changelog stuff
- make changelog visible in-game
 - fix issues with the changelog in ModInfoPopup & scrollbar
2023-04-03 10:43:52 +03:00
hjfod
2efe772329 fix crash if event listener is destroyed while they are being iterated 2023-04-03 09:36:38 +03:00
HJfod
21ee6894cf fix EditLevelLayer not properly handling the id and layout of desc btn 2023-04-02 16:14:31 +03:00
HJfod
9fb5051f80 fix mod resources not being updated when a mod is enabled at runtime 2023-04-02 16:00:17 +03:00
HJfod
152f90cf67 add option to ignore invisible children to Layout 2023-04-02 14:43:39 +03:00
HJfod
83fe2bb679 Merge branch 'addEventListener' of https://github.com/geode-sdk/geode into addEventListener 2023-04-01 17:21:02 +03:00
HJfod
eabb68bbcf fix circle button sprite size 2023-04-01 17:20:49 +03:00
hjfod
0e4636284b fix multiple weak refs causing a memory leak 2023-03-31 11:36:54 +03:00
HJfod
e92541a655 add WeakRef 2023-03-30 22:07:57 +03:00
HJfod
83b0850878 fix scrollbar going funky on DevTools description 2023-03-30 19:20:17 +03:00
HJfod
585a9de18d fix scrollbar hitbox being goofy due to ignoring anchor point position 2023-03-30 18:45:27 +03:00
HJfod
35f7f86e6d add optional ids to node event listeners + properly clean them up 2023-03-29 22:07:33 +03:00
hjfod
69bd0d99ef add AttributeSetEvent 2023-03-29 16:05:20 +03:00
hjfod
7963469f1e make attributes use json::Value instead of std::any 2023-03-29 15:23:57 +03:00
hjfod
38575ac825 add CCScene::get + CCScheduler::get + CCNode::hasAncestor 2023-03-29 11:11:22 +03:00
HJfod
22a6745b74 make Mod::getResourcesDir return resources/{mod.id} 2023-03-26 10:39:40 +02:00
hjfod
52c308e65d event stuff 2023-03-25 18:22:34 +02:00
HJfod
9bdd9fc526 add event listener stuff 2023-03-23 21:42:01 +02:00
HJfod
93fd396ed9 ensure mod events are only posted in gd thread 2023-03-21 22:01:10 +02:00
HJfod
6b67789b63 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-03-19 15:29:25 +02:00
HJfod
81472c9ab5 make Layout inherit from CCObject 2023-03-19 15:02:49 +02:00
matcool
db9ea383a3
prevent mod from trying to resolve multiple times 2023-03-19 09:37:04 -03:00
camila314
8fc23e14da make mac pos accurate to cocos2d positioning 2023-03-16 20:06:19 -05:00
camila314
d7b0e09779 mouse and file picker impl for mac 2023-03-16 19:42:30 -05:00
matcool
306fde70d0
add util geode::cocos::getMousePos 2023-03-11 11:40:03 -03:00
HJfod
5f3c6587b3 add CCNode::removeChildByID 2023-03-11 10:19:26 +02:00
PoweredByPie
5af15fba7c Add geode::prelude to replace USE_GEODE_NAMESPACE()
Don't use macros where not necessary!
This deprecates the old macro by way of a weird alias namespace.
2023-03-10 12:09:48 -08:00
mat
162979c2da
fix error message in enableHook 2023-03-08 20:01:04 -03:00
HJfod
0a37b01845 fix max size of editor button sprites 2023-03-08 19:31:07 +02:00
hjfod
eb0e4b6b1e delete geode/unzipped on startup if it exists 2023-03-08 13:23:42 +02:00
hjfod
b88eda0fde Merge branch 'main' of https://github.com/geode-sdk/geode 2023-03-08 08:38:25 +02:00
hjfod
ebfa7b2af4 fix loader min mod version 2023-03-07 08:50:20 +02:00
HJfod
00852654ad fix layout infinite recursion issue + EditorPauseLayer object labels 2023-03-06 21:55:02 +02:00
altalk23
abad98f951 Fix autoEnableHook not affecting mod enabling 2023-03-02 01:13:32 +03:00
altalk23
e89a792293 Fix conversion of integer to string 2023-03-02 01:09:07 +03:00
altalk23
ceeea0bd51 Make the field fix only a minor change 2023-03-02 01:08:25 +03:00
altalk23
f6dd88aed1 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-03-02 01:02:19 +03:00
altalk23
7710fa91b8 Fix field index, allow Parent* conversion of field 2023-03-02 01:02:09 +03:00
HJfod
5c9ee08922 fix file open dialog default path not having a way to specify filename 2023-02-26 20:37:13 +02:00
altalk23
63b4774813 Unload the mod when first time warning pops up 2023-02-26 17:39:40 +03:00
altalk23
6aba7cfdec Make log not throw, but warn on invalid format 2023-02-26 17:25:11 +03:00
altalk23
02b56abf4a Fix EditorUI build category tab spacing 2023-02-26 16:42:44 +03:00
altalk23
8fc8413298 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-02-26 16:28:28 +03:00
altalk23
f5983a251e fix editorpauselayer guideline button missing 2023-02-26 16:28:02 +03:00
matcool
1dfa907c92
include commit hash in geode mod info popup 2023-02-26 09:49:14 -03:00
altalk23
67f5c87ea8 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-02-26 15:34:13 +03:00
altalk23
d024dbb858 fix macos crash on opening (typeinfo_cast nullptr) 2023-02-26 15:33:00 +03:00
HJfod
4d2daec7df api break yahoo!!! fix BasedButtonSprite names and top node scaling 2023-02-26 12:46:55 +02:00
HJfod
9f60091fbb add file::readDirectory as a sane alternative to file::listFiles 2023-02-25 11:21:43 +02:00
HJfod
00550323e5 add Mod::getResourcesDir for getting the mod's resources directory 2023-02-25 11:10:36 +02:00
HJfod
7089194be9 fix setting value changes not being broadcast 2023-02-24 21:30:36 +02:00
HJfod
93bf3e7121 no more need to specially add internal mod 2023-02-24 21:30:26 +02:00
HJfod
4261e99049 make internal mod be included the usual mods list 2023-02-24 21:29:58 +02:00
HJfod
3222097029 make getLoadedMod and isModLoaded only return if the mod is also enabled 2023-02-24 20:52:12 +02:00
HJfod
12d88aedc4 finish EditorPauseLayer layouts and ids 2023-02-23 22:23:19 +02:00
HJfod
da815aba72 fix positioning in single line 2023-02-23 22:22:46 +02:00
HJfod
4613af6791 change CCNode::insertBefore behaviour to insert at the start if nullptr 2023-02-23 22:03:20 +02:00
HJfod
295aedbdb5 add cross axis line alignment to layouts 2023-02-23 21:18:43 +02:00
HJfod
b6c1c8b66e layouts now work fr fr 2023-02-23 20:46:02 +02:00
HJfod
0e7a3f6f3f finish layouts!! 2023-02-23 16:32:52 +02:00
HJfod
8fb118fb12 Merge branch 'better-layouts' of https://github.com/geode-sdk/geode into better-layouts 2023-02-22 16:06:46 +02:00
hjfod
5d9857f77d working on finishing layouts 2023-02-22 14:31:15 +02:00
hjfod
bbbf3324eb versions now support tag numbers + tags are now used in comparisons 2023-02-22 12:19:17 +02:00
HJfod
d809d5f939 remove the test onMoreGames hook from MenuLayer 2023-02-20 19:42:57 +02:00
HJfod
0cfa4a42fe add back isAPI impl 2023-02-19 22:04:46 +02:00
HJfod
511938fe1c Merge branch 'main' into better-layouts 2023-02-19 19:58:47 +02:00
mat
54e082e8d5
fix build for cross compilation clang 2023-02-17 15:41:10 -03:00
hjfod
80a3ce60d2 layout prio almost works 2023-02-17 17:25:53 +02:00
HJfod
060ea5865c layout testing 2023-02-15 21:25:12 +02:00
hjfod
3827a00964 adding new big stuff to layouts, this def wont work
also removed PositionHint
2023-02-15 16:02:56 +02:00
matcool
37361269ec move Addresser::followThunkFunction to source 2023-02-14 18:28:13 -03:00
HJfod
ffd50eb0f1 fix ranges::reverse + add break line option to AxisLayoutOptions
also EditorPauseLayer ids but didn't finish the layouts yet
2023-02-14 21:54:45 +02:00
hjfod
f7ddf0af2e EditorUI ids finished! 2023-02-14 15:58:57 +02:00
HJfod
7a4a1b078b more editorui layouts + AxisLayoutOptions 2023-02-13 22:09:16 +02:00
HJfod
c08c19b440 Merge branch 'main' into better-layouts 2023-02-13 19:50:37 +02:00
HJfod
ea037a9ccb make layouts responsive to different screen sizes
also add CCSize::aspect convenience method
2023-02-13 19:49:51 +02:00
hjfod
5a1545ebc1 CCEGLView::getDisplaySize and other bindings 2023-02-13 18:31:32 +02:00
alk
bce9d3a013
Merge branch 'geode-sdk:main' into main 2023-02-12 14:45:36 +03:00
HJfod
cb1a6f15ee update a lot of ids 2023-02-12 13:01:12 +02:00
altalk23
74d1527412 move static log stuff to source 2023-02-12 13:44:29 +03:00
hjfod
a78bc0c9c8 more layouts 2023-02-11 23:14:04 +02:00
HJfod
ef9e741bf9 add a bunch of layouts and ids 2023-02-11 21:13:35 +02:00
HJfod
eb10eca6e5 add CCNode::insertBefore and CCNode::insertAfter 2023-02-11 21:13:22 +02:00
HJfod
3f64b98cf1 update MenuLayer ids 2023-02-11 19:34:40 +02:00
HJfod
187e360201 fix layout crash if some node is too large to fit in any row 2023-02-11 19:30:55 +02:00
HJfod
8fd027531b impl even layouts 2023-02-11 19:03:23 +02:00
HJfod
f5ce865b55 add AxisLayout::create 2023-02-11 17:50:14 +02:00
HJfod
ba0851e4fa fix swapChildIndices not also swapping z order and order of arrival 2023-02-11 12:57:35 +02:00
HJfod
8890901af5 add child order update option to CCNode::updateLayout 2023-02-11 12:06:37 +02:00
HJfod
676b96a34f add getters for AxisLayout 2023-02-11 12:06:01 +02:00
HJfod
3fb8c2be83 reset child z order when applying layouts 2023-02-11 12:05:25 +02:00
HJfod
92e9ce09e8 Merge branch 'main' into better-layouts 2023-02-10 16:07:20 +02:00
camila314
0cfb064631 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2023-02-09 09:45:11 -06:00
camila314
41aef57758 make >= default prevent issues 2023-02-09 09:45:06 -06:00
altalk23
688b8c4ac9 compile only a singe objcpp file 2023-02-09 13:25:23 +03:00
HJfod
8147d6d28d grid layout works!! 2023-02-08 21:45:29 +02:00
matcool
28b26220c8
force ModImpl::m_saved to an object when loading saved.json 2023-02-08 15:29:48 -03:00
altalk23
345625e164 rename loading error 2023-02-08 21:23:34 +03:00
altalk23
0eb5f01ca8 make mod binaries not load not silently fail 2023-02-08 21:18:47 +03:00
altalk23
4ecc4ac23a fix modinfo impl ctor being broken 2023-02-08 20:52:54 +03:00
HJfod
ecfb90b252 column squishing works 2023-02-08 19:05:08 +02:00
altalk23
04dd151f0e minifunction replacing compiles 2023-02-08 18:25:07 +03:00
altalk23
d31d95d6bf somewhat improve objc compile times 2023-02-08 17:43:31 +03:00
altalk23
478f70e900 fix filesystem pch breaking the impl 2023-02-08 17:37:37 +03:00
altalk23
4bf6344def Merge branch 'main' of https://github.com/geode-sdk/geode 2023-02-08 16:44:23 +03:00
altalk23
4f259c6e3a forward filesystem 2023-02-08 16:42:34 +03:00
camila314
1f7d50a9b9 fix potentially modifying event listeners set while iterating 2023-02-07 13:58:21 -06:00
HJfod
783edf7bb7 ok i fixed a bunch of stuff but squishing columns is still a lil weird 2023-02-07 21:44:21 +02:00
HJfod
50cf18bcc4 attempting to add grid layout impl 2023-02-06 21:36:08 +02:00
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
6d3847d9e1 change equal perfix from == to = 2023-02-01 23:43:10 +02:00
HJfod
98496182f9 fix build errors 2023-01-31 21:56:50 +02:00
HJfod
fa94a56ea0 fix Unzip::extract failing if the extractable file is empty 2023-01-31 21:31:41 +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
HJfod
5bbd34cd73 make sure m_saved in Mod is initialized to an object 2023-01-28 21:27:39 +02:00
HJfod
ef86ae03f1 fix next mod mutex not being released if mod failed to load 2023-01-28 21:18:54 +02:00
matcool
deab672bc2 json rewrite, use custom lib instead of nlohmann::json
This is in attempt to make compile times better, as the old json library
was quite slow to compile due to many template instantiations and such a
large header.

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

Co-authored-by: camila314 <47485054+camila314@users.noreply.github.com>
2023-01-27 21:14:26 -03:00
HJfod
30dc9ad220 add manual resource downloading instructions if automatic failed 2023-01-25 10:06:21 +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
ceb02e90a5 remove empty "fix" filea 2023-01-24 18:03:52 +03:00
altalk23
a90b3e18dd remove meta and hook-core remnants 2023-01-24 18:03:52 +03:00
HJfod
8551071ac9 dont auto-update major versions 2023-01-24 14:12:54 +02:00
HJfod
1ea3309fac add automatic updates 2023-01-24 12:00:19 +02:00
HJfod
6e426babdd fix userTriedToLoadDLLs return value 2023-01-24 10:45:18 +02:00
HJfod
57fd2c25c2 fix Loader::userTriedToLoadDLLs definition on mac & ios 2023-01-24 10:37:02 +02:00
HJfod
ec28634c26 remove debug message whoops 2023-01-24 10:29:22 +02: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
0ab93ee0a2 update index to geode-sdk/mods 2023-01-24 09:22:55 +02:00
HJfod
e4706c9aca fix AEnterLayerEvent + resources not being loaded properly 2023-01-24 00:13:20 +02:00
HJfod
db32b910ea fix resource paths not being updated on switch to fullscreen 2023-01-23 22:24:38 +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
6839316a5d adios lilac 2023-01-23 20:30:18 +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
8a9a183e08 update tuliphook version 2023-01-21 22:16:16 +02:00
altalk23
c72967abb5 fix setup compilation errors 2023-01-21 23:07:58 +03:00
HJfod
7f52356955 Merge branch 'tulip-hook' of https://github.com/geode-sdk/geode into tulip-hook 2023-01-21 19:02:59 +02:00
HJfod
e322cc5fae fix internal mod being setup at static init time 2023-01-21 19:02:23 +02:00
altalk23
394cb96733 fix silly entry 2023-01-21 19:56:01 +03:00