altalk23
4f259c6e3a
forward filesystem
2023-02-08 16:42:34 +03:00
HJfod
049ff650e4
Merge branch 'main' of https://github.com/geode-sdk/geode into main
2023-01-31 21:20:05 +02: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
altalk23
5c2db47104
add concepts lib to addresser
2023-01-30 17:29:41 +03:00
altalk23
7c646c21df
add special care for CCScrollView
2023-01-30 14:10:39 +03:00
altalk23
e44a4bb513
make cached instance
2023-01-30 11:36:31 +03:00
altalk23
63e9b4c5f7
fix create overloads not recognising
2023-01-30 11:07:18 +03:00
altalk23
4aa09c085b
use std::enable_if for create checking
2023-01-30 11:02:32 +03:00
altalk23
68e75eafb5
fix HasCreate
2023-01-30 10:24:59 +03:00
altalk23
2f0c36f007
allow protected and private create funcs
2023-01-30 10:16:55 +03:00
altalk23
f385cc9d43
use ::create wherever you can
2023-01-30 10:06:58 +03:00
altalk23
1e9faac5aa
add exception for ccset
2023-01-30 09:53:20 +03: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
befcf8ecfd
add icon for docs
2023-01-24 21:50:40 +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
HJfod
9e52089a01
whoops turns out union cast is required to make it work
2023-01-23 19:51:51 +02:00
HJfod
e65f1184e7
remove use of union_cast
2023-01-23 19:45:29 +02:00
HJfod
21e25ff382
fix thunk adjust
2023-01-23 19:31:38 +02:00
HJfod
c8e627d921
Merge branch 'main' into tulip-hook
2023-01-21 14:17:58 +02:00
HJfod
8d08ca07a0
Merge branch 'main' of https://github.com/geode-sdk/geode into main
2023-01-21 14:17:45 +02:00
HJfod
f8737dde43
docs stuff i think
2023-01-21 14:17:33 +02:00
matcool
1a51754e65
Merge branch 'main' into tulip-hook
2023-01-19 20:18:24 -03:00
alk
018a42a258
Update MiniFunction.hpp
2023-01-18 23:40:33 +03:00
alk
50eecc2c0b
Update MiniFunction.hpp
2023-01-18 23:10:00 +03:00
alk
db109bfdf2
Fix recursive ctor in minifunction
2023-01-18 23:05:37 +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
b97bb0cc98
Merge branch 'main' into tulip-hook
2023-01-06 22:09:53 +03:00
altalk23
eb3b84113c
i wasnt content with previous seedvalue impl
2022-12-31 18:02:48 +03:00
altalk23
a49f01b14f
remove templates from SeedValue
2022-12-31 17:50:11 +03:00
altalk23
318ec7864f
Add SeedValue utility for handling robtop's funny seed rand values
2022-12-31 17:28:05 +03:00
altalk23
45032a4511
Don't link the entirety of geode-sdk for membertest
2022-12-31 15:33:15 +03:00
altalk23
1bdc8f408c
Update TulipHook and fix some really minor stuff
2022-12-14 17:17:52 +03:00
altalk23
5666c8f356
separate mod and impl
2022-12-14 14:11:19 +03: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
63671c9618
compilation test
2022-12-13 10:35:26 +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
8342b7fc7c
fix ranges.hpp once again
...
i am killing someone
2022-12-12 18:07:34 -03:00
mat
f97dbd96ed
move convertible_to polyfill to ranges.hpp
2022-12-12 17:36:19 -03:00
mat
1d0a59ca38
include concepts in ranges.hpp
2022-12-12 16:43:40 -03: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
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
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
altalk23
ca61385f0d
Merge branch 'main' of https://github.com/geode-sdk/geode
2022-12-12 14:42:47 +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
500e6f2d26
remove use of operator<=>
...
it doesn't work on mac
2022-12-11 21:01:52 +02:00
HJfod
8a1ecbe5ab
try to fix mac build
...
- add <tuple> include to VersionInfo
2022-12-11 20:44:38 +02:00
altalk23
3a31efe113
implement pimpl for loader
2022-12-10 19:30:14 +03: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
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
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
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
alk
b21cb64fdf
Update Result.hpp
2022-12-03 17:41:51 +03:00
altalk23
67d26ac6a7
fully fix result impl
2022-12-03 14:35:28 +03: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
HJfod
a11c526066
fix file::createDirectory + fix Notification warning
2022-12-01 22:44:44 +02:00
HJfod
a8cc48f35a
Merge branch 'main' of https://github.com/geode-sdk/geode into main
2022-12-01 22:43:11 +02:00
HJfod
66d12395e1
work on new index
...
- add PlatformID::from string
2022-12-01 22:42:49 +02:00
ConfiG
33ccfdfd35
fix wrong usage of create_directory(ies) api
2022-12-01 17:11:44 +03:00
HJfod
8126175eaa
remove geodeRoot
2022-11-30 18:37:15 +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
c113e97844
Merge branch 'main' of https://github.com/geode-sdk/geode into main
2022-11-30 13:15:03 +02:00
alk
298593ada8
remove the bandaid
2022-11-30 14:13:20 +03:00
alk
ed4f4e4bf7
Update addresser.hpp with a bandaid
2022-11-30 14:12:23 +03: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
63749320a3
remove old Result + move everything over to new Result
2022-11-28 17:42:19 +02:00
HJfod
b9287cebde
rework IPC
...
- replies are now handled by returning from the listener callback
- can now handle multiple IPC connections at once
- make Loader::s_unloading actually thread-safe
2022-11-23 15:53:38 +02:00
HJfod
7a047e2a08
update IPC to use json
2022-11-23 00:35:08 +02:00
HJfod
182ced8e17
Merge branch 'main' into layout
2022-11-22 17:24:03 +02:00
HJfod
f5b5a64557
new events stuff
...
- add preliminary IPC stuff
- preliminary IPC implementation on Windows (will evolve still)
- more ids
- move InternalLoader platform definitions to their own files
- fix ranges::map not resizing the output
2022-11-22 17:21:00 +02:00
camila314
5e3ec38359
tee-hee forgot something again
2022-11-18 23:19:23 -06:00
camila314
c12fde309e
oops silly me forgot something
2022-11-18 23:18:37 -06:00
camila314
4ff33d0985
fix bad impl
2022-11-18 23:15:01 -06:00
camila314
06d69b1db5
findFirstChildRecursive put inside utils because its very useful
2022-11-18 23:04:14 -06:00
HJfod
61c0f1b274
Merge branch 'main' into layout
2022-11-12 12:03:15 +02:00
altalk23
32196f3545
add gjgamelevel::getcurrent and levelsettingsobject::get
2022-11-09 21:07:20 +03:00
HJfod
d20a77aeb1
add ostream operator<< for VersionInfo
2022-11-09 17:45:59 +02:00
HJfod
6d67033eb6
minor changes
...
- make index always use latest version of mod in index
- more bindings
- implement rest of setting types for getBuiltInSettingValue
2022-11-09 17:32:44 +02:00
HJfod
2a81ed1ac1
fix CCArrayExt crashing on a nullptr array
2022-11-08 14:23:40 +02:00
altalk23
727304a276
implement http headers to webasyncrequest and make index conditional request
2022-11-03 23:46:01 +03:00
HJfod
fa1eee5b69
fix merge
2022-11-02 13:44:45 +02:00
HJfod
c8fa701762
Merge branch 'main' into layout
2022-11-02 12:57:03 +02:00
altalk23
11e81e3d64
formatted includes
2022-10-30 21:59:20 +03:00
HJfod
b252c69b8b
add more getters + ranges utils
2022-10-27 15:12:31 +03:00
HJfod
e37dd6dc55
add default constructor to VersionInfo finally
2022-10-26 19:52:44 +03:00
HJfod
ec8da8da87
add geode::cocos::reloadTextures utility
2022-10-26 17:56:52 +03:00
HJfod
8340387fc9
fix CCArrayExt crashing on a nullptr array
2022-10-26 16:20:39 +03:00
HJfod
cae4728ac0
texture loading stuff
...
- add Loader::waitForModsToBeLoaded to ensure mods are loaded at startup before loading screen
- add Mod::saveData and Mod::loadData (these have to reworked wholly in v1.0.0 to be more reasonable)
- add ranges::indexOf
- fix ranges::move
- add CCFileUtils::removeAllPaths on mac
- make sure custom resources are loaded before GD
2022-10-25 21:49:50 +03:00
HJfod
c7cc2d4563
fix texture path adding order
2022-10-24 22:46:39 +03:00
HJfod
de64b87ede
savedata stuff
...
* add event-based alternatives to the exported mod entry functions
* add $on macro for listening to those alternatives
* add automatically saved values API in the same vain as the settings API to mod
* add ranges::find and ranges::move
2022-10-24 11:43:17 +03:00
HJfod
27224db75f
fix ListView + GEODE_UNWRAP
2022-10-23 19:44:54 +03:00
HJfod
17014b6302
add geode::cocos::switchToScene utility
2022-10-23 17:54:42 +03:00
alk
5a8bc843dc
Update JsonValidation.hpp to add missing GEODE_DLL
2022-10-23 16:39:33 +03:00
alk
a1c9063767
Merge pull request #60 from geode-sdk/altalk
...
add json validation to source
2022-10-23 16:27:50 +03:00
altalk23
483eb198fd
add json validation to source
2022-10-23 16:22:27 +03:00
HJfod
86a87b00a4
remove deprecation warning from old result
2022-10-23 16:09:01 +03:00
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
2ef03197b5
fix mac build
...
- move attribute & E -> T
2022-10-22 17:55:10 +03:00
HJfod
1dad98b235
Result stuff
...
- add NewResult
- deprecate and nodiscard old Result
- silence some warnings
2022-10-22 17:49:09 +03:00
HJfod
d2536f95ce
who cares about the return type anyway then
2022-10-15 21:54:28 +03:00
HJfod
6fe9a5f2ce
utils rework
...
- deprecate utils::vector and utils::container and replace them with utils::ranges
2022-10-15 21:45:53 +03:00
HJfod
f9cda74b58
automatic resource repair
...
- loader checks if resources are correct at startup, if not, downloads them and replaces
- add sha256 to hash
- change hash to use paths instead of strings
- cmake rework; GeodeFile.cmake now checks CLI version
- add optional `DONT_INSTALL` argument to `create_geode_file`
- test mods are now not installed by default
- add package_geode_resources_now command for packaging resources at configure time and creating a header with their calculated hashes
2022-10-14 16:26:16 -03:00
HJfod
c210ab2f33
change CCArrayExt to use Ref
2022-10-14 16:26:16 -03:00
HJfod
22ee4b3f29
get ready for v0.4.5 release
...
- update changelog
- add documentation to AsyncWebRequest
- remove some debugs
2022-10-13 22:30:57 +03:00
HJfod
7dd94422b4
lots of index-related stuff (see details)
...
- show crashlog on crash when GEODE_DEBUG is enabled
- fix mod resources not being loaded when installed from index + more index reworking, it's actually pretty neat now
- fix ModInfoLayer crashing when leaving it while downloading
- fix other index crashes
- fix queueInGDThread sometimes leaving out functions
- add new file utils and deprecate ones that don't use ghc::filesystem::path
- index mods now show their about.md files
- general cleanup and goodcodeification
2022-10-13 21:37:59 +03:00
HJfod
f0557056c7
meaningless stuff
2022-10-13 16:36:36 +03:00
altalk23
1822860d50
Merge altalk23:main
2022-10-13 15:43:34 +03:00
altalk23
cce4daf501
more compile time optimizations
2022-10-13 12:56:23 +03:00
matcool
577242a49b
fix macos build
2022-10-12 23:14:14 -03:00
HJfod
2b06316397
rework Index + add AsyncWebRequest API + add GEODE_DEBUG macro
2022-10-13 00:22:43 +03:00
HJfod
1931e87c24
deprecate makeMenuSelector and replace all uses with actual member
...
functions ;-;
2022-10-09 16:24:24 +03:00
alk
2bf2d859b8
Some header additions (fix) ( #41 )
...
* starting
* editorui
* leveleditorlayer
* leveleditorlayer2
* effectgameobject
* gameobject
* coloraction
* ccarrayiterator adds
* editlevellayer, optionslayer, pauselayer, statscell, endlevellayer
* fix overload resolution for CCObject*
Co-authored-by: altalk23 <student@altalk23.local>
Co-authored-by: matcool <26722564+matcool@users.noreply.github.com>
2022-10-09 16:17:14 +03:00
matcool
c5538da709
switch to {} style formatting for logs
2022-10-08 22:57:10 -03:00
altalk23
6d5e02a6b4
completely remove interface + implement scheduling stuff
2022-10-08 16:53:09 +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
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
5e0d1f6645
fix codegen + tons of addresses on windows
2022-10-05 23:31:25 +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
83088dc67a
fix clang build
2022-10-01 11:20:11 +03:00
HJfod
a39a79d8cb
more stuff to SafeCreate + make last crash info popup not show again +
...
fix file utils on windows by using wstring instead of string
2022-10-01 11:14:51 +03:00
HJfod
0118945a39
bump version to v0.2.1 + change optional members in ModInfo to actually
...
use std::optional + JsonValidation support for std::optional
2022-09-29 22:34:28 +03:00
HJfod
d9b7489d66
fix LevelEditorLayer members + fix Wrapper (alk fixed it but because
...
she was extremely silly and did it on her own branch i'm taking credit
and claiming i figured out and wrote this fix all on my own >:-) )
2022-09-29 00:49:59 +03:00
HJfod
51cb3ba85e
fix warnings on clang
2022-09-28 16:21:05 +03:00
HJfod
421cf4da84
in-game feature mods
2022-09-26 22:29:36 +03:00
HJfod
6d2718ce09
rename utils namespaces to be consistent + add file picking function +
...
implement it on windows via NFD + settings are pretty much finished
2022-09-26 13:53:40 +03:00
HJfod
d10e52202c
mod settings order is now saved
2022-09-24 18:46:47 +03:00
HJfod
19293e2fdf
now with color settings
2022-09-21 14:50:23 +03:00
HJfod
5fd6c187d0
controls in setting nodes + update reset sprites + add more control
...
over setting controls
2022-09-19 23:03:50 +03:00
HJfod
98684a62e5
add touch dispatcher fix + move built-in settings' nodes to their own
...
internal header & source + regex match validation for string settings +
further work on settings UI now featuring a cooler reset button
2022-09-19 00:07:08 +03:00
HJfod
c29443c0d7
new blank + move ModInfo definitions to their own file + mod settings
...
are now saved
2022-09-17 15:42:33 +03:00
HJfod
71bd0fec83
now with a settings value getter in Mod so settings are actually usable
...
+ more settings UI stuff, preliminary control parsing (no UI for them
yet though) + fix InputNode not working
2022-09-14 19:21:35 +03:00
HJfod
0ab32b3e25
update json validation to no longer use exceptions and be enjoyable to
...
work with + preliminary settings & UI work + various other fixes and
changes
2022-09-13 00:37:25 +03:00
HJfod
6dc8660801
expanded view for mods list + fix member lambda errors
2022-09-04 21:24:33 +03:00
HJfod
67a88d7ffc
support for sorting by category (seems like makeMenuSelector is causing
...
crashes, will have to look into that)
2022-09-03 21:52:59 +03:00
HJfod
1599a6ca04
working on category support
2022-09-03 16:36:07 +03:00
HJfod
8d7a46f6ab
Improved Popup class; makeMemberFunction & makeMenuSelector; one-time
...
info alerts; improved some UI stuff
2022-09-01 09:35:18 +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