Commit graph

895 commits

Author SHA1 Message Date
HJfod
e00b3a6a7f add option to disable last crashed popup 2023-07-29 20:56:46 +03:00
HJfod
6d92bb817f add CustomizeObjectLayer ids 2023-07-29 20:44:24 +03:00
HJfod
8ca2b99d7c fix spacers not actually taking any space 2023-07-29 20:39:50 +03:00
HJfod
8027b807e5 fix switchToMenu assuming nodes to have a parent 2023-07-29 20:39:25 +03:00
altalk23
b558962f2f fix main.mm includes 2023-07-08 17:08:24 +03:00
altalk23
26e38ecbab Change geode loading order, auto updating not implemented yet 2023-07-08 16:38:09 +03:00
altalk23
07d9fcbc0d Fix windows wine crashing on static init time 2023-06-30 17:27:19 +03:00
altalk23
4ad8b486ff implement save and open panel 2023-06-25 19:52:01 +03:00
altalk23
f5e57380aa Merge branch 'main' of https://github.com/geode-sdk/geode 2023-06-24 00:45:21 +03:00
altalk23
7e70daf5a0 fix getMousePos for macchew 2023-06-24 00:45:13 +03:00
ConfiG
e98a756361
unsillify dllmain and better early errors 2023-06-11 01:53:25 +03:00
ConfiG
9acb07229b
move loadGeode call to geode's DllMain 2023-06-11 00:33:17 +03:00
altalk23
991e714810 check if the github tag exists before downloading 2023-06-10 16:35:51 +03:00
ConfiG
7097ab4d89
dont try latest on error when downloading res 2023-06-10 15:53:17 +03:00
ConfiG
46fab0e821
use weakly_canonical in getGameDir and getSaveDir 2023-06-10 15:49:55 +03:00
ConfiG
3eb686c4b5
improve updater code 2023-06-10 13:57:12 +03:00
matcool
8f5c229f7c
use memcpy instead of WriteProcessMemory 2023-06-09 23:08:57 -03:00
matcool
681fb481a9
fix updateGeode() when geode or the update folder doesnt exist 2023-06-09 23:04:22 -03:00
ConfiG
884825488d
actually fix mac build 2023-06-09 19:09:28 +03:00
ConfiG
73e94193ef
fix mac build
i forgor 💀
2023-06-09 18:52:44 +03:00
ConfiG
3c1529caa6
split main.cpp per platform 2023-06-09 18:29:19 +03:00
ConfiG
7f772e9bee
open console early 2023-06-09 18:11:35 +03:00
ConfiG
d29f86ef3e
add upgrade path to new updater and xinput 2023-06-09 17:52:22 +03:00
ConfiG
692e227194
add LIBRARY_OUTPUT_DIRECTORY back
and change SIZE_T to size_t
2023-06-09 15:54:37 +03:00
ConfiG
ab5975aa9c
don't do c_str inplace 2023-06-09 15:48:01 +03:00
ConfiG
b47870e7e9
new proxy loader
- remove bootstrapper dll
- add updater exe
- remove createthread/loadlibrary calls
  - and link instead to let windows load it
- needs mac port probably?
2023-06-09 15:39:35 +03:00
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
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
altalk23
d8c0ba6799 fix internal mod setting up at static init time 2023-01-21 19:54:19 +03:00
HJfod
f089afc27c fix includes + add some doccing 2023-01-21 16:00:14 +02: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
e47a5b4e27 fix the trysavegame hook 2023-01-14 19:31:56 +03:00
altalk23
a15e8cb30f temporarily comment out trysavegame hook 2023-01-13 09:12:50 +03:00
altalk23
b97bb0cc98 Merge branch 'main' into tulip-hook 2023-01-06 22:09:53 +03:00
altalk23
ac238e54da fix crashlog 2023-01-06 20:25:53 +03:00
altalk23
07e64c4dc9 remove cursed this->m_ 2022-12-31 18:20:43 +03:00
altalk23
eb0ef4c045 format src/ids 2022-12-31 16:43:29 +03:00
altalk23
9e30870c79 Merge branch 'main' of https://github.com/geode-sdk/geode into tulip-hook 2022-12-26 21:35:29 +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
HJfod
6a8fec3a9f fix markdown not adding newlines after list items 2022-12-17 17:03:11 +02:00
camila314
4dd5dc67c2 pauselayer ids 2022-12-16 10:24:29 -06:00
camila314
47cce30351 fix start pos menu crash 2022-12-14 12:35:26 -06:00
camila314
b3c88d349e EditLevelLayer ids 2022-12-14 11:54:32 -06:00
altalk23
ac40e4c8fb fix tuliphook result and windows messageboxfix 2022-12-14 17:25:25 +03:00
altalk23
1bdc8f408c Update TulipHook and fix some really minor stuff 2022-12-14 17:17:52 +03:00
altalk23
641c56e7be fix merge artifacts as usual 2022-12-14 16:01:01 +03:00
altalk23
bcfe6a6914 Merge branch 'main' into tulip-hook 2022-12-14 15:38:38 +03:00
altalk23
1359a26c5e Merge branch 'main' of https://github.com/geode-sdk/geode 2022-12-14 14:50:58 +03:00
altalk23
5efee1e42f do a funny by reverting the internal naming back to impl 2022-12-14 14:50:46 +03:00
HJfod
f3fa425674 replace std::regex with re2 2022-12-14 13:50:16 +02: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
1de4fd93f7 fix mac build pt. 3 2022-12-14 00:24:47 +02:00
HJfod
407ea1ba01 fix mac build pt 2 2022-12-14 00:05:10 +02:00
HJfod
bd79f275cc fix mac build 2022-12-13 23:50:19 +02:00
altalk23
962dca6ab2 fix cvs 2022-12-13 22:57:20 +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
0c506ea46c fix cvs 2022-12-13 20:44:56 +03:00
altalk23
d7b1d9ba70 fix macos tulip-hook, it works 2022-12-13 18:34:09 +03:00
altalk23
cef0f3f3bb hooks try to get enabled 2022-12-13 16:32:49 +03:00
altalk23
eeb4bea97a fix windows compilation 2022-12-13 13:41:34 +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
mat
8f0a132780
log::critical -> log::error in MessageBoxFix.cpp 2022-12-12 17:44:49 -03:00
camila314
550e87377d optimize util slightly 2022-12-12 14:06:04 -06: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
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
5c9066618d add debug texts 2022-12-12 19:41:42 +03: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
c1b5a16e27 fix loader impl not loading hooks 2022-12-12 14:03:15 +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
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
9fe9853325 implement back monkey patch to center mod icons on featured bg 2022-12-12 00:49:13 +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
49fbf9c2e4 clean up ModListLayer.cpp 2022-12-11 21:20:03 +02:00
HJfod
f59e82f682 change how tag node colors work to just pick one from a predefined array 2022-12-11 21:17:08 +02:00
HJfod
f8c307dd6e update tag node to look less bad 2022-12-11 20:36:32 +02:00
HJfod
880b0dab41 fix loader crashing if mods fail to load (again) 2022-12-11 20:23:42 +02:00
HJfod
9e3e9ed856 fix some uses of m_ in structs 2022-12-11 19:45:33 +02:00
HJfod
6456a3fcc5 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-11 19:39:00 +02:00
altalk23
a137fd9637 fix filesystem for windows 2022-12-11 14:37:57 +03:00
camila314
9465d7ff75 UILayer id 2022-12-10 23:10:52 -06:00
camila314
08df8c627a GJGarageLayer ids 2022-12-10 22:54:09 -06:00
altalk23
3a31efe113 implement pimpl for loader 2022-12-10 19:30:14 +03:00
camila314
5921c96bcb string id helpers and editorui fully done 2022-12-09 23:08:25 -06: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
b3b5370c4b remove advanced settings as early load is handled through mod.json now 2022-12-09 21:00:31 +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
camila314
44bcf1844a macos dir issue 2022-12-08 21:25:58 -06: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
camila314
77bd2743d4 loader cleanup 2022-12-08 12:00:23 -06: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
9da9493816 fix Unzip::intoDir not deleting the zip after 2022-12-08 13:08:45 +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
82c3179885 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-08 11:53:49 +02:00
camila314
282797b0ea Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-07 13:39:09 -06:00
camila314
6331c37ac6 what did i do 2022-12-07 13:39:07 -06: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
c116b47a61 Merge branch 'altalk' of https://github.com/altalk23/geode into altalk 2022-12-03 17:28:09 +03:00
alk
780aaf33f8
remove getFieldIndex from Intermediate 2022-12-03 16:59:55 +03:00
alk
cf4f058945
Move getFieldIndexForClass to source 2022-12-03 16:51:46 +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
9b34e2fe72 header fix 2022-12-02 13:00:26 -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