Compare commits

...

16 commits

Author SHA1 Message Date
Justin
84d9975c87
Merge 3222c12e90 into adfc942fa0 2024-09-05 10:51:52 -07:00
Chloe
adfc942fa0
add user agent to downloads
Some checks failed
Build Binaries / Build Windows (push) Has been cancelled
Build Binaries / Build macOS (push) Has been cancelled
Build Binaries / Build Android (64-bit) (push) Has been cancelled
Build Binaries / Build Android (32-bit) (push) Has been cancelled
Build Binaries / Publish (push) Has been cancelled
2024-09-05 10:51:43 -07:00
Chloe
0da931619a
xarch is still generated for appleclang sometimes 2024-09-05 10:42:49 -07:00
Justin
bff34729a7
allow dashes in developer name search (#1023)
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
* Update FiltersPopup.cpp

* remove space
2024-09-05 04:05:08 -07:00
Chloe
db2e48eb59
move ci builds to appleclang (#1030)
Co-authored-by: ConfiG <cgytrus@cgyt.ru>
Co-authored-by: mat <26722564+matcool@users.noreply.github.com>
2024-09-05 03:44:11 -07: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
7 changed files with 75 additions and 20 deletions

View file

@ -154,23 +154,20 @@ jobs:
has-sccache: ${{ inputs.use-ccache }}
if: inputs.build-debug-info
- name: Setup caches
uses: ./.github/actions/setup-cache
with:
host: mac
target: mac
use-ccache: ${{ github.event_name != 'workflow_dispatch' || inputs.use-ccache }}
# due to very strange performance issues, sccache is currently disabled for macos. sorry
# - name: Setup caches
# uses: ./.github/actions/setup-cache
# with:
# host: mac
# target: mac
# use-ccache: ${{ github.event_name != 'workflow_dispatch' || inputs.use-ccache }}
- name: Setup Ninja
uses: ./.github/actions/setup-ninja
with:
host: mac
- name: Install LLVM
run: |
brew install llvm
echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH
- name: Setup CLI
uses: geode-sdk/cli/.github/actions/setup@main
@ -180,9 +177,8 @@ jobs:
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15
-DCMAKE_AR='/usr/bin/ar'
-DCMAKE_RANLIB='/usr/bin/ranlib'
-DGEODE_DISABLE_PRECOMPILED_HEADERS=Off
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
-DGEODE_DISABLE_PRECOMPILED_HEADERS=OFF
${{ steps.build-debug-info.outputs.extra-configure }}
- name: Build

View file

@ -133,18 +133,29 @@ endif()
if (DEFINED GEODE_CCACHE_VARIANT)
if (NOT DEFINED GEODE_DISABLE_PRECOMPILED_HEADERS)
if (${GEODE_CCACHE_VARIANT} STREQUAL "sccache" AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID}, PCH will be enabled.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS OFF)
if (DEFINED CMAKE_OSX_ARCHITECTURES AND (CMAKE_OSX_ARCHITECTURES STREQUAL "arm64;x86_64" OR CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64;arm64"))
message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID} while building multiple architectures, PCH will be disabled due to issues with sccache.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS ON)
else()
message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID}, PCH will be enabled.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS OFF)
endif()
else()
message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID}, PCH will be disabled.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS ON)
endif()
endif()
else()
message(NOTICE "Not using a caching compiler (ccache/sccache). "
"It is recommended to install one to improve build times.")
message(NOTICE "We recommend sccache, check its README for installation instructions, "
"normally you can just use your usual package manager (e.g. 'scoop install sccache').")
if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
# when building for multiple architectures, a caching compiler is not recommended
message(NOTICE "Not using a caching compiler (ccache/sccache).")
else()
message(NOTICE "Not using a caching compiler (ccache/sccache). "
"It is recommended to install one to improve build times.")
message(NOTICE "We recommend sccache, check its README for installation instructions, "
"normally you can just use your usual package manager (e.g. 'scoop install sccache').")
endif()
if (NOT DEFINED GEODE_DISABLE_PRECOMPILED_HEADERS)
message(NOTICE "Because of this, PCH will be enabled.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS OFF)

BIN
loader/resources/copy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -156,6 +156,7 @@ public:
});
auto req = web::WebRequest();
req.userAgent(getServerUserAgent());
m_downloadListener.setFilter(req.get(version.downloadURL));
ModDownloadEvent(m_id).post();
}

View file

@ -375,6 +375,17 @@ bool ModsLayer::init() {
folderBtn->setID("mods-folder-button");
actionsMenu->addChild(folderBtn);
auto copySpr = createGeodeCircleButton(
CCSprite::createWithSpriteFrameName("copy.png"_spr), 1.f,
CircleBaseSize::Medium
);
copySpr->setScale(.8f);
auto copyBtn = CCMenuItemSpriteExtra::create(
copySpr, this, menu_selector(ModsLayer::onCopy)
);
copyBtn->setID("copy-button");
actionsMenu->addChild(copyBtn);
actionsMenu->setLayout(
ColumnLayout::create()
->setAxisAlignment(AxisAlignment::Start)
@ -702,6 +713,40 @@ void ModsLayer::onSettings(CCObject*) {
openSettingsPopup(Mod::get());
}
void ModsLayer::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();
}
ModsLayer* ModsLayer::create() {
auto ret = new ModsLayer();
if (ret->init()) {

View file

@ -80,6 +80,7 @@ protected:
void onRefreshList(CCObject*);
void onTheme(CCObject*);
void onSettings(CCObject*);
void onCopy(CCObject*);
void onBack(CCObject*);
void updateState();

View file

@ -103,6 +103,7 @@ bool FiltersPopup::setup(ModListSource* src) {
m_developerNameInput = TextInput::create(inputContainer->getContentWidth(), "Developer Name");
m_developerNameInput->setTextAlign(TextInputAlign::Left);
m_developerNameInput->setFilter("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-");
m_developerNameInput->setString(src->getQuery().developer.value_or(""));
inputContainer->addChildAtPosition(m_developerNameInput, Anchor::Center);