Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-06-30 11:45:26 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-06-30 11:45:26 +1000
commit33b980dacb84cfc0e90d07032a8e53c9d8636b55 (patch)
treeef464b766c9ebb63847c22d28a20e760e0b3f033
parent6be169679bef3d4a221fa59928eaaaeef079c218 (diff)
Change default menu logo
-rw-r--r--assets/opensb/interface/title/starbound.pngbin0 -> 178599 bytes
-rw-r--r--assets/opensb/interface/windowconfig/title.config.patch4
-rw-r--r--source/frontend/StarTitleScreen.cpp11
3 files changed, 9 insertions, 6 deletions
diff --git a/assets/opensb/interface/title/starbound.png b/assets/opensb/interface/title/starbound.png
new file mode 100644
index 0000000..0473f1f
--- /dev/null
+++ b/assets/opensb/interface/title/starbound.png
Binary files differ
diff --git a/assets/opensb/interface/windowconfig/title.config.patch b/assets/opensb/interface/windowconfig/title.config.patch
new file mode 100644
index 0000000..a120e11
--- /dev/null
+++ b/assets/opensb/interface/windowconfig/title.config.patch
@@ -0,0 +1,4 @@
+{
+ "skyBackdropDarken" : [0, 0, 0, 64],
+ "backdropImages" : [ [ [0, 0], "/interface/title/starbound.png", 0.5, [0.5, 0.5] ] ]
+} \ No newline at end of file
diff --git a/source/frontend/StarTitleScreen.cpp b/source/frontend/StarTitleScreen.cpp
index 025f079..e7fa573 100644
--- a/source/frontend/StarTitleScreen.cpp
+++ b/source/frontend/StarTitleScreen.cpp
@@ -79,17 +79,16 @@ void TitleScreen::render() {
m_renderer->flush();
- for (auto backdropImage : assets->json("/interface/windowconfig/title.config:backdropImages").toArray()) {
+ for (auto& backdropImage : assets->json("/interface/windowconfig/title.config:backdropImages").toArray()) {
Vec2F offset = jsonToVec2F(backdropImage.get(0)) * interfaceScale();
String image = backdropImage.getString(1);
float scale = backdropImage.getFloat(2);
+ Vec2F origin = jsonToVec2F(backdropImage.getArray(3, { 0.5f, 1.0f }));
Vec2F imageSize = Vec2F(m_guiContext->textureSize(image)) * interfaceScale() * scale;
- Vec2F lowerLeft = Vec2F(windowWidth() / 2.0f, windowHeight());
- lowerLeft[0] -= imageSize[0] / 2;
- lowerLeft[1] -= imageSize[1];
- lowerLeft += offset;
- RectF screenCoords(lowerLeft, lowerLeft + imageSize);
+ Vec2F position = Vec2F(m_guiContext->windowSize()).piecewiseMultiply(origin);
+ position += offset - imageSize.piecewiseMultiply(origin);
+ RectF screenCoords(position, position + imageSize);
m_guiContext->drawQuad(image, screenCoords);
}