Skip to content

Commit 5736819

Browse files
committed
webp support
1 parent 3a7e91d commit 5736819

File tree

4 files changed

+13
-1
lines changed

4 files changed

+13
-1
lines changed

mod.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@
3434
"jouca.badgesapi": {
3535
"importance": "recommended",
3636
"version": ">=1.2.0"
37+
},
38+
"prevter.imageplus": {
39+
"importance": "suggested",
40+
"version": ">=1.0.0"
3741
}
3842
},
3943
"api": {

src/headers/ProjectInfoPopup.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ class ProjectInfoPopup : public Popup<> {
1717
std::string m_linkedPublisher = "Avalanche";
1818
std::string m_cornerArtType = "rewardCorner_001.png";
1919

20+
Loader* m_geodeLoader = Loader::get();
21+
2022
Project m_avalProject;
2123
Project m_linkedProject;
2224

src/headers/src/AvalancheFeatured.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,10 @@ bool AvalancheFeatured::setup() {
209209
projThumb->setScale(scale);
210210
});
211211

212-
projThumb->loadFromUrl("https://api.cubicstudios.xyz/avalanche/v1/featured/thumbnail", LazySprite::Format::kFmtUnKnown, false);
212+
std::string imgUrl = "https://api.cubicstudios.xyz/avalanche/v1/featured/thumbnail";
213+
if (Loader::get()->isModLoaded("prevter.imageplus")) imgUrl.append("?webp");
214+
215+
projThumb->loadFromUrl(imgUrl, LazySprite::Format::kFmtUnKnown, false);
213216
m_clippingNode->addChild(projThumb);
214217

215218
if (AVAL_GEODE_MOD->getSettingValue<bool>("dev-mode")) {

src/headers/src/ProjectInfoPopup.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,7 @@ ProjectInfoPopup* ProjectInfoPopup::setProject(GJGameLevel* level) {
482482

483483
std::string encodedShowcaseUrl = url_encode(m_avalProject.showcase); // encode the showcase url for use in the thumbnail url
484484
std::string showcaseProjThumbURL = fmt::format("https://api.cubicstudios.xyz/avalanche/v1/fetch/yt-thumbnails?url={}", (std::string)encodedShowcaseUrl); // custom thumbnail
485+
if (m_geodeLoader->isModLoaded("prevter.imageplus")) showcaseProjThumbURL.append("?webp");
485486

486487
AVAL_LOG_DEBUG("Getting showcase project thumbnail at {}...", (std::string)showcaseProjThumbURL);
487488
showcaseProjThumb->loadFromUrl(showcaseProjThumbURL, LazySprite::Format::kFmtUnKnown, false);
@@ -554,6 +555,7 @@ ProjectInfoPopup* ProjectInfoPopup::setProject(GJGameLevel* level) {
554555
});
555556

556557
std::string projThumbURL = fmt::format("https://api.cubicstudios.xyz/avalanche/v1/fetch/thumbnails?id={}", m_level->m_levelID.value()); // custom thumbnail
558+
if (m_geodeLoader->isModLoaded("prevter.imageplus")) projThumbURL.append("?webp");
557559

558560
AVAL_LOG_DEBUG("Getting thumbnail at {}...", (std::string)projThumbURL);
559561
projThumb->loadFromUrl(projThumbURL, LazySprite::Format::kFmtUnKnown, false);
@@ -695,6 +697,7 @@ ProjectInfoPopup* ProjectInfoPopup::setProject(GJGameLevel* level) {
695697

696698
std::string encodedShowcaseUrl = url_encode(m_linkedProject.showcase); // encode the showcase url for use in the thumbnail url
697699
std::string linkedProjThumbURL = fmt::format("https://api.cubicstudios.xyz/avalanche/v1/fetch/yt-thumbnails?url={}", (std::string)encodedShowcaseUrl); // custom thumbnail
700+
if (m_geodeLoader->isModLoaded("prevter.imageplus")) linkedProjThumbURL.append("?webp");
698701

699702
AVAL_LOG_DEBUG("Getting linked project thumbnail at {}...", (std::string)linkedProjThumbURL);
700703
linkedProjThumb->loadFromUrl(linkedProjThumbURL, LazySprite::Format::kFmtUnKnown, false);

0 commit comments

Comments
 (0)