Skip to content

Commit 26f276d

Browse files
committed
forgot to update the mod so im doing it now
1 parent 334e64d commit 26f276d

File tree

5 files changed

+24
-65
lines changed

5 files changed

+24
-65
lines changed

changelog.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
# v2.1.5
1+
# v2.2.0
22

33
- Added GDCP List Integration mod
44
- Added missing preview images
5-
6-
# v2.1.4
7-
85
- Settings menu now only shows settings for loaded mods. If there are any issues with this mod, disable the settings in the full settings popup.
96
- Changed GDPS Hub background.
107
- GDPS Hub background modify now disabled by default.

mod.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
2-
"geode": "4.3.1",
2+
"geode": "4.4.0",
33
"gd": {
44
"android": "2.2074",
55
"win": "2.2074",
66
"mac": "2.2074",
77
"ios": "2.2074"
88
},
9-
"version": "v2.1.5",
9+
"version": "v2.2.0",
1010
"id": "omgrod.geodify",
1111
"name": "Geodify",
1212
"developers": ["OmgRod", "Cosmella-v"],

src/CustomSettingLayer.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#include <Geode/Geode.hpp>
22
#include <Geode/ui/GeodeUI.hpp>
33
#include <Geode/Loader.hpp>
4-
#include "Geode/modify/Modify.hpp"
54
#include "layers/GYSettingSelectLayer.hpp"
65

76
using namespace geode::prelude;

src/layers/GYScreenshotPopup.cpp

Lines changed: 18 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -23,65 +23,31 @@ bool GYScreenshotPopup::setup(int const& layer) {
2323

2424
std::string URL = fmt::format("https://raw.githubusercontent.com/OmgRod/Geodify/master/previews/{}Preview.png", layerName);
2525

26-
auto req = web::WebRequest();
27-
m_downloadListener.bind([this](web::WebTask::Event* e) {
28-
if (auto res = e->getValue()) {
29-
if (!res->ok()) {
30-
log::error("Failed to download image from URL.");
31-
onDownloadFail();
32-
} else {
33-
auto data = res->data();
34-
std::thread imageThread = std::thread([data, this]() {
35-
m_image = new CCImage();
36-
m_image->autorelease();
37-
m_image->initWithImageData(const_cast<uint8_t*>(data.data()), data.size());
38-
geode::Loader::get()->queueInMainThread([this]() {
39-
imageCreationFinished(m_image);
40-
});
41-
});
42-
imageThread.detach();
43-
}
26+
CCSize spriteTargetSize{
27+
m_mainLayer->getContentSize().width * 0.75f,
28+
m_mainLayer->getContentSize().height * 0.75f
29+
};
30+
31+
m_sprite = LazySprite::create(spriteTargetSize);
32+
m_sprite->setAutoResize(true);
33+
m_sprite->setLoadCallback([this](Result<> res) {
34+
if (!res) {
35+
log::error("Failed to load image: {}", res.unwrapErr());
36+
onDownloadFail();
4437
}
4538
});
46-
m_downloadListener.setFilter(req.get(URL));
4739

48-
return true;
49-
}
50-
51-
void GYScreenshotPopup::imageCreationFinished(CCImage* image) {
52-
CCTexture2D* texture = new CCTexture2D();
53-
texture->autorelease();
54-
texture->initWithImage(image);
55-
56-
m_sprite = CCSprite::createWithTexture(texture);
57-
if (m_sprite) {
58-
auto maxWidth = m_mainLayer->getContentSize().width * 0.75f;
59-
auto maxHeight = m_mainLayer->getContentSize().height * 0.75f;
60-
61-
auto spriteWidth = m_sprite->getContentSize().width;
62-
auto spriteHeight = m_sprite->getContentSize().height;
63-
64-
float scale = std::min(maxWidth / spriteWidth, maxHeight / spriteHeight);
65-
m_sprite->setScale(scale);
40+
m_sprite->loadFromUrl(URL);
41+
m_mainLayer->addChildAtPosition(m_sprite, Anchor::Center);
6642

67-
m_mainLayer->addChildAtPosition(m_sprite, Anchor::Center);
68-
}
43+
return true;
6944
}
7045

7146
void GYScreenshotPopup::onDownloadFail() {
72-
CCSprite* fallbackSprite = CCSprite::create("noPreview.png"_spr);
73-
if (fallbackSprite) {
74-
auto maxWidth = m_mainLayer->getContentSize().width * 0.75f;
75-
auto maxHeight = m_mainLayer->getContentSize().height * 0.75f;
76-
77-
auto spriteWidth = fallbackSprite->getContentSize().width;
78-
auto spriteHeight = fallbackSprite->getContentSize().height;
47+
if (!m_sprite) return;
7948

80-
float scale = std::min(maxWidth / spriteWidth, maxHeight / spriteHeight);
81-
fallbackSprite->setScale(scale);
82-
83-
m_mainLayer->addChildAtPosition(fallbackSprite, Anchor::Center);
84-
}
49+
m_sprite->initWithSpriteFrameName("noPreview.png"_spr);
50+
m_sprite->setScale(1.0f);
8551
}
8652

8753
std::string GYScreenshotPopup::extractLastSegment(const std::string& input) {
@@ -102,4 +68,4 @@ GYScreenshotPopup* GYScreenshotPopup::create(int const& text) {
10268

10369
delete ret;
10470
return nullptr;
105-
}
71+
}

src/layers/GYScreenshotPopup.hpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#include <Geode/Geode.hpp>
44
#include <Geode/modify/FLAlertLayer.hpp>
5-
#include <Geode/utils/web.hpp>
5+
#include <Geode/ui/LazySprite.hpp>
66
#include <string>
77

88
#include "../Tags.hpp"
@@ -11,15 +11,12 @@ using namespace geode::prelude;
1111

1212
class GYScreenshotPopup : public geode::Popup<int const&> {
1313
protected:
14-
EventListener<web::WebTask> m_downloadListener;
15-
Ref<CCImage> m_image;
16-
CCSprite* m_sprite;
14+
Ref<LazySprite> m_sprite;
1715

1816
bool setup(int const& layer) override;
19-
void imageCreationFinished(CCImage* image);
2017
void onDownloadFail();
2118

2219
public:
2320
static GYScreenshotPopup* create(int const& text);
2421
std::string extractLastSegment(const std::string& input);
25-
};
22+
};

0 commit comments

Comments
 (0)