mirror of
https://github.com/geode-sdk/geode.git
synced 2024-11-27 01:45:35 -05:00
Compare commits
9 commits
ce49e9f60e
...
66c7914a3e
Author | SHA1 | Date | |
---|---|---|---|
|
66c7914a3e | ||
|
0e8d4c60bc | ||
|
81cd8d1bca | ||
|
48cad613c7 | ||
|
0ade7a7b86 | ||
|
a7d43c7dec | ||
|
5de6206894 | ||
|
bf28de3f95 | ||
|
05f0d143da |
9 changed files with 37 additions and 29 deletions
|
@ -35,6 +35,12 @@
|
|||
* Add hashtag symbol to CommonFilter::Any (#1131)
|
||||
* Disable forward compat on android (c9e97af)
|
||||
|
||||
## v3.9.2
|
||||
* Fix searching for mods returning unavailable mods (#1149)
|
||||
|
||||
## v3.9.1
|
||||
* Fix mod downloads not checking version (f575187)
|
||||
|
||||
## v3.9.0
|
||||
* Many changes to the settings ui (#1108)
|
||||
* Fuzzy search is now more reasonable
|
||||
|
|
|
@ -208,9 +208,9 @@ namespace cocos2d
|
|||
|
||||
/**
|
||||
* Custom function added for geode; returns if the
|
||||
* zip file was succesfully decoded.
|
||||
* zip file was successfully decoded.
|
||||
*
|
||||
* @return true if the zip was succesfully loaded,
|
||||
* @return true if the zip was successfully loaded,
|
||||
* false otherwise.
|
||||
*
|
||||
* @since geode v1.0.0
|
||||
|
|
|
@ -95,7 +95,7 @@ namespace geode {
|
|||
enum class Status {
|
||||
/// The task is still running or waiting to start
|
||||
Pending,
|
||||
/// The task has succesfully finished
|
||||
/// The task has successfully finished
|
||||
Finished,
|
||||
/// The task has been cancelled
|
||||
Cancelled,
|
||||
|
@ -1032,4 +1032,4 @@ auto operator co_await(geode::Task<T, P> task) {
|
|||
template <class T, class P, class... Args>
|
||||
struct std::coroutine_traits<geode::Task<T, P>, Args...> {
|
||||
using promise_type = geode::geode_internal::TaskPromise<T, P>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -850,7 +850,7 @@ namespace geode::cocos {
|
|||
* @param permissive If true, strings like "f" are considered valid
|
||||
* representations of the color white. Useful for UIs that allow entering
|
||||
* a hex color. Empty strings evaluate to pure white
|
||||
* @returns A ccColor3B if it could be succesfully parsed, or an error
|
||||
* @returns A ccColor3B if it could be successfully parsed, or an error
|
||||
* indicating the failure reason
|
||||
*/
|
||||
GEODE_DLL Result<cocos2d::ccColor3B> cc3bFromHexString(std::string const& hexValue, bool permissive = false);
|
||||
|
@ -863,7 +863,7 @@ namespace geode::cocos {
|
|||
* @param permissive If true, strings like "f" are considered valid
|
||||
* representations of the color white. Useful for UIs that allow entering
|
||||
* a hex color. Empty strings evaluate to pure white
|
||||
* @returns A ccColor4B if it could be succesfully parsed, or an error
|
||||
* @returns A ccColor4B if it could be successfully parsed, or an error
|
||||
* indicating the failure reason
|
||||
*/
|
||||
GEODE_DLL Result<cocos2d::ccColor4B> cc4bFromHexString(std::string const& hexValue, bool requireAlpha = false, bool permissive = false);
|
||||
|
|
|
@ -37,15 +37,15 @@ static void patchCall(uintptr_t addr, uintptr_t newCall) {
|
|||
$execute {
|
||||
if (LoaderImpl::get()->isForwardCompatMode()) return;
|
||||
|
||||
#if GEODE_COMP_GD_VERSION == 22040
|
||||
// BitmapDC::~BitmapDC
|
||||
#if 0 // TODO: mat GEODE_COMP_GD_VERSION == 22040
|
||||
patchCall(0xC9A56, (uintptr_t)&RemoveFontResourceWHook);
|
||||
|
||||
// BitmapDC::setFont
|
||||
patchCall(0xCB5BC, (uintptr_t)&RemoveFontResourceWHook);
|
||||
patchCall(0xCB642, (uintptr_t)&AddFontResourceWHook);
|
||||
#else
|
||||
// #pragma message("Unsupported GD version!")
|
||||
#pragma message("Unsupported GD version!")
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
@ -505,20 +505,20 @@ void Loader::Impl::loadModGraph(Mod* node, bool early) {
|
|||
thread::setName("Mod Unzip");
|
||||
log::loadNest(nest);
|
||||
auto res = unzipFunction();
|
||||
auto prevNest = log::saveNest();
|
||||
log::loadNest(nest);
|
||||
if (!res) {
|
||||
this->addProblem({
|
||||
LoadProblem::Type::UnzipFailed,
|
||||
node,
|
||||
res.unwrapErr()
|
||||
});
|
||||
log::error("Failed to unzip: {}", res.unwrapErr());
|
||||
m_refreshingModCount -= 1;
|
||||
log::loadNest(prevNest);
|
||||
return;
|
||||
}
|
||||
this->queueInMainThread([=, this]() {
|
||||
this->queueInMainThread([=, this, res = std::move(res)]() {
|
||||
auto prevNest = log::saveNest();
|
||||
log::loadNest(nest);
|
||||
if (!res) {
|
||||
this->addProblem({
|
||||
LoadProblem::Type::UnzipFailed,
|
||||
node,
|
||||
res.unwrapErr()
|
||||
});
|
||||
log::error("Failed to unzip: {}", res.unwrapErr());
|
||||
m_refreshingModCount -= 1;
|
||||
log::loadNest(prevNest);
|
||||
return;
|
||||
}
|
||||
loadFunction();
|
||||
log::loadNest(prevNest);
|
||||
});
|
||||
|
@ -1073,7 +1073,7 @@ void Loader::Impl::installModManuallyFromFile(std::filesystem::path const& path,
|
|||
createQuickPopup(
|
||||
"Mod Installed",
|
||||
fmt::format(
|
||||
"Mod <co>{}</c> has been succesfully installed from file! "
|
||||
"Mod <co>{}</c> has been successfully installed from file! "
|
||||
"<cy>Do you want to delete the original file?</c>",
|
||||
meta.getName()
|
||||
),
|
||||
|
@ -1092,7 +1092,7 @@ void Loader::Impl::installModManuallyFromFile(std::filesystem::path const& path,
|
|||
"OK"
|
||||
)->show();
|
||||
}
|
||||
// No need to show a confirmation popup if succesful since that's
|
||||
// No need to show a confirmation popup if successful since that's
|
||||
// to be assumed via pressing the button on the previous popup
|
||||
}
|
||||
}
|
||||
|
|
|
@ -256,7 +256,7 @@ std::optional<ModDownload> ModDownloadManager::startDownload(
|
|||
std::optional<DependencyFor> const& dependencyFor,
|
||||
std::optional<std::string> const& replacesMod
|
||||
) {
|
||||
// If this mod has already been succesfully downloaded or is currently
|
||||
// If this mod has already been successfully downloaded or is currently
|
||||
// being downloaded, return as you can't download multiple versions of the
|
||||
// same mod simultaniously, since that wouldn't make sense. I mean the new
|
||||
// version would just immediately override to the other one
|
||||
|
|
|
@ -554,12 +554,11 @@ ServerRequest<ServerModsList> server::getMods(ModsQuery const& query, bool useCa
|
|||
// Add search params
|
||||
if (query.query) {
|
||||
req.param("query", *query.query);
|
||||
} else {
|
||||
// Target current GD version and Loader version when query is not set
|
||||
req.param("gd", GEODE_GD_VERSION_STR);
|
||||
req.param("geode", Loader::get()->getVersion().toNonVString());
|
||||
}
|
||||
|
||||
req.param("gd", GEODE_GD_VERSION_STR);
|
||||
req.param("geode", Loader::get()->getVersion().toNonVString());
|
||||
|
||||
if (query.platforms.size()) {
|
||||
std::string plats = "";
|
||||
bool first = true;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
#include "ModPopup.hpp"
|
||||
|
||||
#include <optional>
|
||||
|
||||
#include <Geode/binding/ButtonSprite.hpp>
|
||||
#include <Geode/ui/MDTextArea.hpp>
|
||||
#include <Geode/ui/TextInput.hpp>
|
||||
|
|
Loading…
Reference in a new issue