Commit graph

719 commits

Author SHA1 Message Date
altalk23
4c4be3657a add sigbus & print the crashlog 2023-06-08 23:54:39 +03:00
altalk23
dd7e18fb57 you didnt see me commiting a __builtin_trap shush 2023-06-08 23:09:17 +03:00
altalk23
3881e65511 make stacktrace make sense even if atos is missing 2023-06-08 23:07:40 +03:00
altalk23
9b58b3376b Implement macos crashlog (wow this was hard) 2023-06-08 22:59:45 +03:00
altalk23
fd3fd9536e fix crashlog to actually build (doesnt work on macos yet) 2023-06-08 19:22:51 +03:00
altalk23
9c3759b398 Merge branch 'main' of https://github.com/geode-sdk/geode 2023-06-08 19:04:45 +03:00
qimiko
041a98ee4d
implement loader for android
compilation still won't work, pending implementations for gdstl/codegen/tuliphook. the first two should be mostly done already. may also be good to get FileWatcher, crashlog, and the file picker implemented but they aren't necessary

the libcurl.a and libssl.a files were built using
https://github.com/ibaoger/libcurl-android. they are placed in the link/android folder because putting them in the link folder confused the macOS build.

once built, the geode binary should be loaded after nativeSetApkPath is ran (otherwise the directory setup crashes). in the future it would be nice if the internal mod also did save data path redirection, as base GD is incapable of doing this

Co-authored-by: mat <26722564+matcool@users.noreply.github.com>
2023-06-05 17:42:22 -07:00
qimiko
df7166711c
remove unsigned from table indexes
it creates issues with android bindings :(
2023-06-04 16:45:56 -07:00
altalk23
20f461305b addresses and crashlog 2023-06-02 21:56:59 +03:00
alk
d9c775651e
Update pickup fix for collectibles 2023-05-23 00:01:40 +03:00
alk
cdc80ffe9f
Add pickup trigger fix 2023-05-22 23:54:28 +03:00
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