Commit graph

326 commits

Author SHA1 Message Date
mat
ebcc23e7a9
Merge branch 'main' into 1.4.0-dev 2023-12-19 10:02:19 -03:00
matcool
0787b8f450 message for a bug i cant recreate 2023-12-17 22:33:32 -03:00
matcool
4b7663015a (urgent) fix followThunkFunction
it was following hooks for cocos functions, causing bad crashes.
instead, now only follow jmp and then jmp dword ptr
2023-12-15 11:59:11 -03:00
matcool
d295fc9546 update comment 2023-12-14 21:45:24 -03:00
matcool
391f63edee implement a save file fix
thank you chloe for a basis for the rewritten function

Co-authored-by: qimiko <25387744+qimiko@users.noreply.github.com>
2023-12-14 21:37:29 -03:00
altalk23
f7962246ec set time for updating index notif 2023-11-21 20:38:13 +03:00
altalk23
d5027ca6ab Merge branch 'main' into 1.4.0-dev 2023-11-21 20:31:36 +03:00
ConfiG
5083017b50
improve logging + minor refactors 2023-11-11 19:45:18 +03:00
mat
41832af1d8
Merge branch '1.4.0-dev' into 1.4-merge-temp 2023-11-09 22:39:23 -03:00
mat
12231b223c
disable CCTextInputNodeFix 2023-10-31 14:57:04 -03:00
mat
d6de1187d3
avoid convertTouchToNodeSpace because of mac 2023-10-22 10:53:40 -03:00
Mazin Eltahawy
2d8e988ce3
Add null check for m_delegate (#318)
* fix formatting

* Add null check for `m_delegate`

---------

Co-authored-by: Mazin Eltahawy <mazintahawy@gmail.com>
Co-authored-by: mat <26722564+matcool@users.noreply.github.com>
2023-10-22 10:46:21 -03:00
Mazin Eltahawy
746966c423
Make CCTextInputNode work in nested hierarchies (#317) 2023-10-22 10:38:09 -03:00
altalk23
d194cbe3b7 remove this-> 2023-10-02 19:05:27 +03:00
altalk23
0367360644 Add text input node fix 2023-10-02 19:03:58 +03:00
altalk23
8dd2e15c38 fix dynamic cast 2023-10-02 16:50:10 +03:00
altalk23
0ed1a41426 Fix unzip modify date & add verifying text 2023-10-02 14:37:02 +03:00
altalk23
777cf38df0 implement threaded unzipping and revert typeinfo cast (but its ugly) 2023-10-02 13:37:09 +03:00
altalk23
7de21d9177 Fix latest resources downloading 2023-10-01 19:41:25 +03:00
altalk23
6bd6c6b320 reenable persist 2023-10-01 18:40:04 +03:00
altalk23
c950787693 remove the field tests 2023-10-01 17:38:50 +03:00
altalk23
fc58ab79ef c++ abi can go burn in gaseous tungsten 2023-10-01 17:36:44 +03:00
altalk23
fed73fefd6 Revert loading layer 2023-10-01 15:23:48 +03:00
altalk23
b3ac20d2a7 fix resources again 2023-09-16 19:03:31 +03:00
altalk23
20d5e079bc Fix tuliphook alignment intervener issue 2023-09-16 01:10:56 +03:00
altalk23
86de5ff7dd uncomment some stuff 2023-09-16 00:17:45 +03:00
altalk23
4294177be6 gd opens rn lol! but i commented like everything 2023-09-15 23:37:18 +03:00
altalk23
0f67435685 Merge branch '1.4.0-dev' into 2.0.0-dev 2023-09-13 10:43:47 +03:00
altalk23
ef4764728b change loadinglayer, fix macos spritesheet issue, separate user disabled & problem disabled, fix not enabling a disabled mod that has dependency disabled, 2023-09-12 18:12:46 +03:00
ConfiG
899b0ce82c
Merge branch 'main' into 1.4.0-dev
# Conflicts:
#	VERSION
#	loader/src/ui/internal/list/ModListCell.cpp
2023-09-11 16:50:55 +03:00
ConfiG
ae048e48a9
deprecate Mod::isLoaded 2023-09-11 14:38:14 +03:00
altalk23
19ad688fcc Merge branch 'main' into 1.4.0-dev 2023-09-10 15:54:26 +03:00
altalk23
6cad19d4c0 Update tuliphook & missing texture message 2023-09-10 15:53:34 +03:00
altalk23
2ecb658b2a Don't hardcode userobject hooks to ccdirector 2023-09-09 15:29:22 +03:00
ConfiG
17a5ac93ea
remove all deprecated functions 2023-08-31 15:27:30 +03:00
ConfiG
277f68bfd7
rename queueInGDThread to queueInMainThread 2023-08-19 00:23:20 +03:00
ConfiG
1d5fae8fbb
fix loading layer not using m_fields for m_loadedModsLabel 2023-08-16 23:29:51 +03:00
ConfiG
e7180695b8
early load 2023-08-13 21:40:21 +03:00
ConfiG
5200128544
huge dependency stuff refactor 2023-08-13 21:40:18 +03:00
matcool
7a83354c8c
use std::filesystem on windows on some wine-problematic functions
the code added could definitely be cleaned later by wrapping the
problematic functions, but this is a working solution for now
2023-08-04 14:47:16 -03:00
HJfod
e00b3a6a7f add option to disable last crashed popup 2023-07-29 20:56:46 +03:00
altalk23
26e38ecbab Change geode loading order, auto updating not implemented yet 2023-07-08 16:38:09 +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
altalk23
d7ccfdef3e revert mod.json resource and move markdowns 2023-05-01 13:06:46 +03:00
altalk23
80b5b20efb fix events, resources, and minor stuff 2023-04-10 12:49:59 +03:00
HJfod
3dd6d55b49 add CCNode::getEventListenerCount 2023-04-05 19:26:46 +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
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
81472c9ab5 make Layout inherit from CCObject 2023-03-19 15:02:49 +02: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
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
7710fa91b8 Fix field index, allow Parent* conversion of field 2023-03-02 01:02:09 +03:00
HJfod
4d2daec7df api break yahoo!!! fix BasedButtonSprite names and top node scaling 2023-02-26 12:46:55 +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
HJfod
8890901af5 add child order update option to CCNode::updateLayout 2023-02-11 12:06:37 +02:00
HJfod
92e9ce09e8 Merge branch 'main' into better-layouts 2023-02-10 16:07:20 +02:00
altalk23
4f259c6e3a forward filesystem 2023-02-08 16:42:34 +03:00
HJfod
50cf18bcc4 attempting to add grid layout impl 2023-02-06 21:36:08 +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
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
altalk23
ceb02e90a5 remove empty "fix" filea 2023-01-24 18:03:52 +03:00
HJfod
1ea3309fac add automatic updates 2023-01-24 12:00:19 +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
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
d264694700 update tuliphook to fix hooking cdecls 2023-01-23 16:53:43 +02: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
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
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
bcfe6a6914 Merge branch 'main' into tulip-hook 2022-12-14 15:38:38 +03:00
altalk23
5efee1e42f do a funny by reverting the internal naming back to impl 2022-12-14 14:50:46 +03:00
altalk23
5666c8f356 separate mod and impl 2022-12-14 14:11:19 +03:00
altalk23
eeb4bea97a fix windows compilation 2022-12-13 13:41:34 +03:00
mat
8f0a132780
log::critical -> log::error in MessageBoxFix.cpp 2022-12-12 17:44:49 -03:00
HJfod
ef55605b5b remove SafeCreate for being pointless 2022-12-12 14:11:14 +02:00
HJfod
5e8a321a36 Merge branch 'main' of https://github.com/geode-sdk/geode into main 2022-12-12 13:47:22 +02:00
HJfod
d95c2f3e3c loader stuff
- remove InternalLoader info alerts
 - make sure mods that need early load are early loaded
2022-12-12 13:46:00 +02:00
altalk23
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
altalk23
3a31efe113 implement pimpl for loader 2022-12-10 19:30:14 +03:00
HJfod
92c22d25e4 rename UpdateError to UpdateFailed 2022-12-09 12:53:49 +02:00
HJfod
17a13f22cc add update indicator back to MenuLayer 2022-12-08 21:31:10 +02:00
HJfod
e0d7dbf15b index is now download correctly + that is reported in the UI 2022-12-07 21:21:50 +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
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
HJfod
66d12395e1 work on new index
- add PlatformID::from string
2022-12-01 22:42:49 +02:00
HJfod
2c78b8e620 cleanup
- add CCArray::firstObject and CCArray::removeFirstObject
 - add minizip zip headers and sources (going to add file::Zip class soon)
 - redesign Notifications to be simpler
 - rework Result to not have dual implementations
 - Result::expect now has one default named argument for formatting the error in
2022-11-30 17:07:05 +02:00
HJfod
f18353c2af cleanup
- rewrote Loader to have a public loading API
 - moved logging away from Loader
 - moved texture path handling away from Loader into CCFileUtils, added new functions there for that
 - bumped version to v0.7.0
 - moved ModInfo to its own header
 - added early loading support through mod.json instead of loader stuff
 - wrote a custom Unzip implementation (essentially same as ZipUtils except with a much more simple and clean API)
 - renamed `src/load` to `src/loader`
 - other stuff i prolly forgor
2022-11-30 00:48:06 +02:00
HJfod
516393ae99 merge utils to be in fewer better-named files 2022-11-28 19:09:39 +02:00
HJfod
09ae7ec942 Great Geode cleanup project
- fix filesystem and fmt paths
 - replace uses of CCString::createWithFormat with fmt::format
2022-11-28 18:32:25 +02:00
HJfod
63749320a3 remove old Result + move everything over to new Result 2022-11-28 17:42:19 +02:00
HJfod
182ced8e17 Merge branch 'main' into layout 2022-11-22 17:24:03 +02:00
alk
7b9c68567a
Get geode working on macos wine 2022-11-19 15:05:10 +03:00
alk
b860871930
Add Typo 2022-11-17 23:29:08 +03:00
altalk23
a79a13c1ab fix textarea::create and fix geodenodemetadata 2022-11-17 23:25:22 +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
alk
55adca479a
Update LevelSearchLayer.cpp 2022-11-09 21:34:06 +03:00
altalk23
73588e9a3d fix macos compilation and fix requires expression in clang format 2022-11-09 21:25:27 +03:00
altalk23
6a9046d406 port geode loader hooks to non macro modify 2022-11-09 21:07:20 +03:00
HJfod
c8fa701762 Merge branch 'main' into layout 2022-11-02 12:57:03 +02:00
altalk23
ee9718a7f1 fix macos compile on github actions 2022-10-30 22:07:49 +03:00
altalk23
2bb416ba77 formatted sources 2022-10-30 21:56:36 +03:00
HJfod
6003efa18d add node attributes 2022-10-25 22:57:40 +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
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
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
Jollyc
32a1b7d903
Add files via upload 2022-10-22 09:05:11 -07:00
HJfod
1dad98b235 Result stuff
- add NewResult
 - deprecate and nodiscard old Result
 - silence some warnings
2022-10-22 17:49:09 +03:00
HJfod
a0e56c044b fix macos build 2022-10-17 16:08:12 +03:00
HJfod
843b1ac44f will revert this later 2022-10-17 12:25:56 +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
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
6b83463972 fix merge conflicts 2022-10-15 19:03:13 +03:00
HJfod
c926f69790 Merge branch 'main' into layout 2022-10-15 18:49:07 +03:00
HJfod
bb7bd87dfc ready for v0.4.8
- move LoadingLayer resource download info to loading text
2022-10-15 18:35:13 +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
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
97456db101 more removal of geode.hpp headers 2022-10-13 13:07:37 +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
HJfod
2b06316397 rework Index + add AsyncWebRequest API + add GEODE_DEBUG macro 2022-10-13 00:22:43 +03:00
alk
0646ea95f8
Fix unformatted log::logs (#45)
* fix unformmated log::log functions

Co-authored-by: altalk23 <student@altalk23.local>
2022-10-12 21:34:13 +03:00
altalk23
377aa3f7ce fix unformmated log::log functions 2022-10-12 21:31:33 +03:00
HJfod
081df4e0b5 dont use createWithCapacity 2022-10-11 22:37:59 +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
matcool
c5538da709
switch to {} style formatting for logs 2022-10-08 22:57:10 -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
6d5e02a6b4 completely remove interface + implement scheduling stuff 2022-10-08 16:53:09 +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
07733c6fac and also make MenuLayer use it 2022-10-06 23:36:48 +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
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
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
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
9881d3e75f add issues key to mod.json for specifying where to report issues for
mods
2022-09-29 15:17:02 +03:00
HJfod
b8451a58a5 oops left my crash test code in 2022-09-28 21:44:57 +03:00
HJfod
6ed265aa85 improve createQuickPopup + show crash info on startup 2022-09-28 19:56:34 +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
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
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