From a42a3db4c06845e0ec928bb7ad3ce118aa00ebf0 Mon Sep 17 00:00:00 2001 From: dyceron Date: Sat, 20 Apr 2024 18:26:07 -0400 Subject: [PATCH 1/4] Add custom title screen --- .../files/custom/sprites_splashes.lua | 96 ++++++++++++++++++ .../files/romfs/gui/textures/gamelogo.bctex | Bin 0 -> 524553 bytes src/open_samus_returns_rando/lua_editor.py | 1 + 3 files changed, 97 insertions(+) create mode 100644 src/open_samus_returns_rando/files/custom/sprites_splashes.lua create mode 100644 src/open_samus_returns_rando/files/romfs/gui/textures/gamelogo.bctex diff --git a/src/open_samus_returns_rando/files/custom/sprites_splashes.lua b/src/open_samus_returns_rando/files/custom/sprites_splashes.lua new file mode 100644 index 0000000..eed2656 --- /dev/null +++ b/src/open_samus_returns_rando/files/custom/sprites_splashes.lua @@ -0,0 +1,96 @@ +GUI.AddSpriteSheetItem("splashxbla", "gui/textures/texturesplashlivearcade.bctex", { + TextureWidth = "2048", + TextureHeight = "1024", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "1280", + VPixelScale = "720" +}) +GUI.AddSpriteSheetItem("splashlegalps3eng", "gui/textures/texturesplashlegalps3eng.bctex", { + TextureWidth = "2048", + TextureHeight = "1024", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "1280", + VPixelScale = "720" +}) +GUI.AddSpriteSheetItem("splashlegalps3jap", "gui/textures/texturesplashlegalps3jap.bctex", { + TextureWidth = "2048", + TextureHeight = "1024", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "1280", + VPixelScale = "720" +}) +GUI.AddSpriteSheetItem("splashlegalxboxeng", "gui/textures/texturesplashlegalxboxeng.bctex", { + TextureWidth = "2048", + TextureHeight = "1024", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "1280", + VPixelScale = "720" +}) +GUI.AddSpriteSheetItem("splashlegalxboxjap", "gui/textures/texturesplashlegalxboxjap.bctex", { + TextureWidth = "2048", + TextureHeight = "1024", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "1280", + VPixelScale = "720" +}) +GUI.AddSpriteSheetItem("splashlegal", "gui/textures/texturesplashlegal.bctex", { + TextureWidth = "512", + TextureHeight = "256", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "400", + VPixelScale = "240" +}) +GUI.AddSpriteSheetItem("splashkonami", "gui/textures/texturesplashkonami.bctex", { + TextureWidth = "2048", + TextureHeight = "1024", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "1280", + VPixelScale = "720" +}) +GUI.AddSpriteSheetItem("splashengine", "gui/textures/texturesplashengine.bctex", { + TextureWidth = "2048", + TextureHeight = "1024", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "1280", + VPixelScale = "720" +}) +GUI.AddSpriteSheetItem("splashantipiracyjap", "gui/textures/texturesplashantipiracyjap.bctex", { + TextureWidth = "2048", + TextureHeight = "1024", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "1280", + VPixelScale = "720" +}) +GUI.AddSpriteSheetItem("splashgamelogo", "gui/textures/gamelogo.bctex", { + TextureWidth = "512", + TextureHeight = "256", + UPixelOffset = "0", + VPixelOffset = "0", + UPixelScale = "350", + VPixelScale = "155" +}) +GUI.AddSpriteSheetItem("splashgamelogoflare", "gui/textures/gamelogo.bctex", { + TextureWidth = "512", + TextureHeight = "256", + UPixelOffset = "261", + VPixelOffset = "186", + UPixelScale = "251", + VPixelScale = "115" +}) +GUI.AddSpriteSheetItem("splashgamelogocopyright", "gui/textures/gamelogo.bctex", { + TextureWidth = "512", + TextureHeight = "256", + UPixelOffset = "0", + VPixelOffset = "245", + UPixelScale = "90", + VPixelScale = "11" +}) \ No newline at end of file diff --git a/src/open_samus_returns_rando/files/romfs/gui/textures/gamelogo.bctex b/src/open_samus_returns_rando/files/romfs/gui/textures/gamelogo.bctex new file mode 100644 index 0000000000000000000000000000000000000000..8a7c6ff9940f05cac6c6be4d122d912998929e8b GIT binary patch literal 524553 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