From 719a12ecac1c5363612e0c230eae411bdb3fe058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Tue, 14 Sep 2021 20:46:02 +0200 Subject: [PATCH] Chop game background in mainmenu (#10796) --- games/devtest/menu/background.png | Bin 152 -> 160 bytes src/gui/guiEngine.cpp | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/games/devtest/menu/background.png b/games/devtest/menu/background.png index 415bb3d146a2ff6a8bca17c90c68cfc6638b2183..89c45fcd5861990de8602899b4e8112c46fca762 100644 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^A3&Iq8A!6suD%GQ*aCb)ToW1sER$qU@NaShif|Tq zL>4nJ@ErkR#;MwT(m+86PZ!6Kh}O5~4Fwq(IF1;|Jh-naRPaHXd-}S$L9(ka+itvl e7B~2NZ|~0KOo#6=$X^DU#o+1c=d#Wzp$P!y4Lv~s literal 152 zcmeAS@N?(olHy`uVBq!ia0y~yU~~YoKQJ-_N$KcnwI)^4$>`tsu9V)uSI+p0PC2sT_0 Z!H_UjT<6cfE-V40+tbz0Wt~$(69B>FGWY-h diff --git a/src/gui/guiEngine.cpp b/src/gui/guiEngine.cpp index b3808535c..c39c3ee0d 100644 --- a/src/gui/guiEngine.cpp +++ b/src/gui/guiEngine.cpp @@ -437,9 +437,22 @@ void GUIEngine::drawBackground(video::IVideoDriver *driver) return; } + // Chop background image to the smaller screen dimension + v2u32 bg_size = screensize; + v2f32 scale( + (f32) bg_size.X / sourcesize.X, + (f32) bg_size.Y / sourcesize.Y); + if (scale.X < scale.Y) + bg_size.X = (int) (scale.Y * sourcesize.X); + else + bg_size.Y = (int) (scale.X * sourcesize.Y); + v2s32 offset = v2s32( + (s32) screensize.X - (s32) bg_size.X, + (s32) screensize.Y - (s32) bg_size.Y + ) / 2; /* Draw background texture */ draw2DImageFilterScaled(driver, texture, - core::rect(0, 0, screensize.X, screensize.Y), + core::rect(offset.X, offset.Y, bg_size.X + offset.X, bg_size.Y + offset.Y), core::rect(0, 0, sourcesize.X, sourcesize.Y), NULL, NULL, true); }