Commit graph

266 commits

Author SHA1 Message Date
Fleeym
a942a45adc follow redirects on all util::web requests 2023-09-20 00:56:55 +03:00
altalk23
fdc7e314d1 Merge branch '1.4.0-dev' into android 2023-09-16 13:56:21 +03:00
qimiko
fda43ec617
fix web request crash 2023-09-16 03:53:24 -07:00
altalk23
20d5e079bc Fix tuliphook alignment intervener issue 2023-09-16 01:10:56 +03:00
altalk23
4294177be6 gd opens rn lol! but i commented like everything 2023-09-15 23:37:18 +03:00
ConfiG
21866a033a
improve utils::file::read* error checking 2023-09-14 17:39:00 +03:00
altalk23
0f67435685 Merge branch '1.4.0-dev' into 2.0.0-dev 2023-09-13 10:43:47 +03:00
altalk23
cbd1d04cab fix target 2 2023-09-08 18:07:21 +03:00
altalk23
92ca99b82c fix broken web request stuff 2023-09-08 18:05:20 +03:00
altalk23
645eb8e03d delete extra 2023-09-08 18:04:18 +03:00
altalk23
83e48fa8dc Fix AsyncWebRequest backwards compat 2023-09-08 18:02:59 +03:00
altalk23
c256207457 Add post & custom requests and user agents to AsyncWebRequest 2023-09-08 17:17:45 +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
2b1dc178a4
add any (*) to ComparableVersionInfo 2023-08-09 21:58:44 +03:00
ConfiG
82e128bb57
add utils::string::join 2023-08-07 01:47:14 +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
altalk23
1323debea7 remove file::current_path, add less and more version compares 2023-05-01 16:06:06 +03:00
hjfod
50ff15c356 add public file watching api 2023-04-27 09:22:56 +03:00
HJfod
2ce5680a6a fix weakref on CCTextInputNode 2023-04-10 12:59:23 +03:00
HJfod
cf69fa3b2f fix WeakRef 2023-04-07 20:07:16 +03:00
HJfod
c1d4a89f8b fix event listeners vector containing freed listeners 2023-04-03 21:04:56 +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
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
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
HJfod
9f60091fbb add file::readDirectory as a sane alternative to file::listFiles 2023-02-25 11:21:43 +02:00
hjfod
bbbf3324eb versions now support tag numbers + tags are now used in comparisons 2023-02-22 12:19:17 +02:00
matcool
37361269ec move Addresser::followThunkFunction to source 2023-02-14 18:28:13 -03: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
04dd151f0e minifunction replacing compiles 2023-02-08 18:25:07 +03: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
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
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
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
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
07e64c4dc9 remove cursed this->m_ 2022-12-31 18:20:43 +03:00
HJfod
2d7ce01b1f fix resource download freezing the game 2022-12-17 19:08:01 +02:00
altalk23
5666c8f356 separate mod and impl 2022-12-14 14:11:19 +03:00
altalk23
962dca6ab2 fix cvs 2022-12-13 22:57:20 +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
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
3897293862 add file::Zip utility for creating Zip files 2022-12-12 12:45:20 +02: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
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
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
altalk23
e8fcb57c9f some formatting 2022-12-03 15:24:31 +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
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
64e06141df rename version.cpp and fetch.cpp to match headers 2022-11-28 21:09:30 +02:00
HJfod
c0065b1cd8 Merge branch 'main' into layout 2022-11-28 21:08:40 +02:00
alk
57d38bfb8b
set CURLOPT_SSL_VERIFYHOST to 0 in fetch 2022-11-28 21:46:18 +03:00
HJfod
02efe58724 more GGCP
- move Core sources to platform folder
 - make sure source files on Mac include DefaultInclude
 - make sure sources are added in cmake
2022-11-28 20:03:30 +02:00
HJfod
72bbffa79d Great Geode cleanup project
- move all platform sources to one central folder under src/platform/name
 - don't add obj-c sources on windows or platform files from other platforms on all platforms
2022-11-28 19:45:23 +02:00
HJfod
23de63001b attempt fixing mac build 2022-11-28 19:27:56 +02:00
HJfod
516393ae99 merge utils to be in fewer better-named files 2022-11-28 19:09:39 +02:00
HJfod
dd65a36f2c Merge branch 'main' into layout 2022-11-28 18:33:38 +02:00
alk
3ec8399ff6
Don't check Content-Type in web request 2022-11-28 19:31:36 +03:00
HJfod
05c48a8fd9 fix util.mm on Mac 2022-11-28 18:04:56 +02:00
HJfod
63749320a3 remove old Result + move everything over to new Result 2022-11-28 17:42:19 +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
altalk23
9b359fba56 get geode working on cross compile macos, also modifies Setting event to not use shared ptr, also disables fmt consteval 2022-11-19 21:13:47 +03:00
HJfod
61c0f1b274 Merge branch 'main' into layout 2022-11-12 12:03:15 +02:00
altalk23
6a9046d406 port geode loader hooks to non macro modify 2022-11-09 21:07:20 +03:00
HJfod
078843c4ff keep 'v' anyway it breaks too much stuff rn 2022-11-09 18:22:25 +02:00
HJfod
796a5103f6 remove support for versions prefixed with "v" 2022-11-09 18:01:22 +02:00
altalk23
727304a276 implement http headers to webasyncrequest and make index conditional request 2022-11-03 23:46:01 +03:00
HJfod
c8fa701762 Merge branch 'main' into layout 2022-11-02 12:57:03 +02:00
altalk23
2bb416ba77 formatted sources 2022-10-30 21:56:36 +03:00
HJfod
e30669d9ad my hungry ass could not work as a brain surgeon 2022-10-26 23:57:07 +03:00
HJfod
ffc9287a61 small changes
- hook loadAssets instead loadFinished for target scene in geode::cocos::reloadTextures
 - add virtual destructor to BasicEventHandler that unlistens the handler
2022-10-26 23:42:59 +03:00
HJfod
ec8da8da87 add geode::cocos::reloadTextures utility 2022-10-26 17:56:52 +03:00
HJfod
17014b6302 add geode::cocos::switchToScene utility 2022-10-23 17:54:42 +03:00
altalk23
483eb198fd add json validation to source 2022-10-23 16:22:27 +03:00
altalk23
a88e69fb0c change some reinterpret_casts to static_casts 2022-10-22 20:19:58 +03:00
HJfod
c07efcfe15 fix windows build
- include IncludeZlib.h instead of zlib.h
2022-10-17 15:57:32 +03:00
HJfod
662a9e99f5 big cocos reworks
- remove cocos2dx folder
 - change all include paths in cocos2d to be relative
2022-10-17 15:46:36 +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
altalk23
1822860d50 Merge altalk23:main 2022-10-13 15:43:34 +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
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
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
b6b138953d Merge branch 'ui' of https://github.com/geode-sdk/geode into ui 2022-10-05 15:45:31 +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
altalk23
b4c8d0f65a fully works on macos 2022-10-04 17:26:20 +03:00
altalk23
d9a1fae5b0 compiles on macos, though there are still some crashes 2022-10-04 13:32:40 +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
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
19293e2fdf now with color settings 2022-09-21 14:50:23 +03:00
HJfod
46e3a071d3 whole of geode except without history 2022-07-30 19:24:03 +03:00