Compare commits

...

24 commits

Author SHA1 Message Date
Justin
a395fbf125
Merge 05fe8d22b5 into 24294c7361 2024-11-12 17:10:06 -05:00
Fleeym
24294c7361
Merge pull request #1145 from STGamer24YT/main
Some checks are pending
Build Binaries / Build Windows (push) Waiting to run
Build Binaries / Build macOS (push) Waiting to run
Build Binaries / Build Android (64-bit) (push) Waiting to run
Build Binaries / Build Android (32-bit) (push) Waiting to run
Build Binaries / Publish (push) Blocked by required conditions
Translate english text in SpanishInternationalExtra.nsh
2024-11-12 23:41:20 +02:00
STGamer24YT
74a70112a4
Translate english text in SpanishInternationalExtra.nsh
Some text is in english, and I decided to translate it. Hopefully I did it right and this text can be used in the installer.
2024-11-12 17:34:27 -04:00
Justin Pridgen
05fe8d22b5 Merge branch 'copy-mods' of https://github.com/hiimjustin000/geode into copy-mods 2024-11-02 19:10:25 -04:00
Justin Pridgen
69a480b341 Merge branch 'main' of https://github.com/geode-sdk/geode into copy-mods 2024-11-02 19:09:45 -04:00
Justin
a68a631a4d
Merge branch 'geode-sdk:main' into copy-mods 2024-10-12 16:15:56 -04:00
Justin
95d750606a
Merge branch 'geode-sdk:main' into copy-mods 2024-09-28 08:46:08 -04:00
Justin
a4bd588d4a
Merge branch 'geode-sdk:main' into copy-mods 2024-09-10 16:17:50 -04:00
Justin Pridgen
0597416d48 FINALLY 2024-09-10 16:15:21 -04:00
Justin Pridgen
93e463bf19 whoops 2024-09-10 16:05:03 -04:00
Justin Pridgen
b5b845ebb1 Merge branch 'main' of https://github.com/geode-sdk/geode into copy-mods 2024-09-10 16:04:54 -04:00
Justin Pridgen
c6c9af6867 why is it not loading 2024-09-10 15:57:50 -04:00
Justin
f79da023cf
Merge branch 'geode-sdk:main' into copy-mods 2024-09-10 14:51:47 -04:00
Justin Pridgen
3222c12e90 texture revamp by @Alphalaneous 2024-08-19 07:38:14 -04:00
Justin Pridgen
f45b8b7128 almost forgot 2024-08-19 07:02:55 -04:00
Justin Pridgen
0da9cef29f made it slightly better 2024-08-19 07:01:50 -04:00
Justin Pridgen
9a46231420 Merge branch 'main' of https://github.com/geode-sdk/geode into copy-mods 2024-08-19 06:06:46 -04:00
Justin Pridgen
cded0523a5 it's finished holy moly 2024-08-12 18:24:27 -04:00
Justin Pridgen
2e039a9cea Merge branch 'main' of https://github.com/geode-sdk/geode into copy-mods 2024-08-09 17:21:27 -04:00
Justin Pridgen
ae24abbcec first moves oh lord 2024-08-09 17:21:14 -04:00
Justin Pridgen
9c9c75d46b Merge branch 'main' of https://github.com/geode-sdk/geode 2024-07-06 21:14:00 -04:00
Justin Pridgen
d117d50fb0 Merge branch 'main' of https://github.com/geode-sdk/geode 2024-07-06 19:41:27 -04:00
Justin Pridgen
b80efe0517 add ampersand support whoops 2024-07-04 22:59:40 -04:00
Justin Pridgen
7d40c8188f New image arguments format 2024-06-30 18:31:21 -04:00
4 changed files with 128 additions and 4 deletions

View file

@ -1,15 +1,15 @@
!insertmacro LANGFILE_EXT SpanishInternational
!pragma warning disable 6030
${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Este asistente le guiará durante la instalación de $(^NameDA) en su computadora.$\r$\n$\r$\nAntes de iniciar la instalación, asegúrese de que Geometry Dash no se está ejecutando$\r$\n$\r$\n$_CLICK"
${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Este asistente le guiará durante la desinstalación de $(^NameDA).$\r$\n$\r$\nAntes de iniciar la desinstalación, asegúrese de que Geometry Dash no se está ejecutando.$\r$\n$\r$\n$_CLICK"
${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Este asistente le guiará durante la instalación de Geode en su computadora.$\r$\n$\r$\nAntes de iniciar la instalación, asegúrese de que Geometry Dash no se está ejecutando$\r$\n$\r$\n$_CLICK"
${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Este asistente le guiará durante la desinstalación de Geode.$\r$\n$\r$\nAntes de iniciar la desinstalación, asegúrese de que Geometry Dash no se está ejecutando.$\r$\n$\r$\n$_CLICK"
!pragma warning default 6030
; installer
${LangFileString} GEODE_TEXT_GD_MISSING "$\r$\n$\r$\n¡Geometry Dash no está instalado en esta ruta!"
${LangFileString} GEODE_TEXT_GD_OLD "$\r$\n$\r$\nYour version of Geometry Dash is too old for this version of Geode!"
${LangFileString} GEODE_TEXT_MOD_LOADER_ALREADY_INSTALLED "This path has other mods installed!$\r$\nThey will be overwritten by Geode. (the dll trademark)"
${LangFileString} GEODE_TEXT_GD_OLD "$\r$\n$\r$\n¡Su versión de Geometry Dash es demasiado antigua para esta versión de Geode!"
${LangFileString} GEODE_TEXT_MOD_LOADER_ALREADY_INSTALLED "¡Esta ruta ya tiene otros mods instalados!$\r$\nVan a ser sobreescritos por Geode. (the dll trademark)"
; uninstaller

View file

@ -85,6 +85,10 @@
"name": "Enable Geode-Themed Colors",
"description": "When enabled, the Geode menu has a <ca>Geode-themed color scheme</c>. <cy>This does not affect any other menus!</c>"
},
"copy-mods": {
"type": "custom:copy-mods",
"name": ""
},
"developer-title": {
"type": "title",
"name": "Developer Settings"

View file

@ -0,0 +1,44 @@
#include "CopyButtonSetting.hpp"
#include <Geode/loader/Mod.hpp>
$on_mod(Loaded) {
(void)Mod::get()->registerCustomSettingType("copy-mods", &CopyButtonSetting::parse);
}
SettingNodeV3* CopyButtonSetting::createNode(float width) {
return CopyButtonSettingNode::create(std::static_pointer_cast<CopyButtonSetting>(shared_from_this()), width);
}
void CopyButtonSettingNode::onCopy(CCObject*) {
auto mods = Loader::get()->getAllMods();
if (mods.empty()) {
Notification::create("No mods installed", NotificationIcon::Info, 0.5f)->show();
return;
}
std::sort(mods.begin(), mods.end(), [](Mod* a, Mod* b) {
auto const s1 = a->getID();
auto const s2 = b->getID();
return std::lexicographical_compare(s1.begin(), s1.end(), s2.begin(), s2.end(), [](auto a, auto b) {
return std::tolower(a) < std::tolower(b);
});
});
std::stringstream ss;
using namespace std::string_view_literals;
for (int i = 0; i < mods.size(); i++) {
auto& mod = mods[i];
ss << fmt::format("{} | [{}] {}",
mod->isEnabled() ? "x"sv :
mod->hasProblems() ? "!"sv :
" "sv,
mod->getVersion().toVString(), mod->getID()
);
if (i != mods.size() - 1) {
ss << "\n";
}
}
clipboard::write(ss.str());
Notification::create("Mods list copied to clipboard", NotificationIcon::Info, 0.5f)->show();
}

View file

@ -0,0 +1,76 @@
#include <Geode/loader/SettingV3.hpp>
#include <ui/mods/GeodeStyle.hpp>
using namespace geode::prelude;
class CopyButtonSetting : public SettingV3 {
public:
static Result<std::shared_ptr<CopyButtonSetting>> parse(std::string const& key, std::string const& modID, matjson::Value const& json) {
auto res = std::make_shared<CopyButtonSetting>();
auto root = checkJson(json, "CopyButtonSetting");
res->init(key, modID, root);
res->parseNameAndDescription(root);
return root.ok(res);
}
bool load(matjson::Value const& json) override {
return true;
}
bool save(matjson::Value& json) const override {
return true;
}
bool isDefaultValue() const override {
return true;
}
void reset() override {}
SettingNodeV3* createNode(float width) override;
};
class CopyButtonSettingNode : public SettingNodeV3 {
protected:
bool init(std::shared_ptr<CopyButtonSetting> setting, float width) {
if (!SettingNodeV3::init(setting, width))
return false;
auto buttonSprite = createGeodeButton("Copy Mods");
buttonSprite->setScale(.5f);
auto button = CCMenuItemSpriteExtra::create(
buttonSprite, this, menu_selector(CopyButtonSettingNode::onCopy)
);
this->getButtonMenu()->addChildAtPosition(button, Anchor::Center);
this->getButtonMenu()->setPosition(getContentSize() / 2);
this->getButtonMenu()->setAnchorPoint({ .5f, .5f });
this->getButtonMenu()->updateLayout();
this->updateState(nullptr);
return true;
}
void onCopy(CCObject*);
void onCommit() override {}
void onResetToDefault() override {}
public:
static CopyButtonSettingNode* create(std::shared_ptr<CopyButtonSetting> setting, float width) {
auto ret = new CopyButtonSettingNode();
if (ret && ret->init(setting, width)) {
ret->autorelease();
return ret;
}
CC_SAFE_DELETE(ret);
return nullptr;
}
bool hasUncommittedChanges() const override {
return false;
}
bool hasNonDefaultValue() const override {
return false;
}
};