From fa77c47c964e318b8d913e757b6f183852481ffe Mon Sep 17 00:00:00 2001 From: Purdze <29306641+Purdze@users.noreply.github.com> Date: Fri, 23 Oct 2026 12:26:51 +0100 Subject: [PATCH 1/3] show a Rust Edition banner under the title logo --- pomme-client/assets/gui/title/edition.png | Bin 0 -> 8591 bytes pomme-client/src/assets.rs | 7 +++++++ .../src/renderer/pipelines/menu_overlay.rs | 15 +++++++++------ 3 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 pomme-client/assets/gui/title/edition.png diff --git a/pomme-client/assets/gui/title/edition.png b/pomme-client/assets/gui/title/edition.png new file mode 100644 index 0000000000000000000000000000000000000000..05962e42c28048dfa4fd352a7ec551ee46945586 GIT binary patch literal 8591 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 bool { pub const POMME_ICON_PNG: &[u8] = include_bytes!(concat!(env!("CARGO_MANIFEST_DIR"), "/assets/icon.png")); +/// The "Rust Edition" banner under the title logo, laid out like the jar's +/// `edition.png`. +pub const POMME_EDITION_PNG: &[u8] = include_bytes!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/assets/gui/title/edition.png" +)); + pub fn load_image(path: &Path) -> Result { image::open(path).or_else(|_| { let data = std::fs::read(path).map_err(image::ImageError::IoError)?; diff --git a/pomme-client/src/renderer/pipelines/menu_overlay.rs b/pomme-client/src/renderer/pipelines/menu_overlay.rs index 8415c8251..e7dcc68f4 100644 --- a/pomme-client/src/renderer/pipelines/menu_overlay.rs +++ b/pomme-client/src/renderer/pipelines/menu_overlay.rs @@ -3896,22 +3896,25 @@ fn build_sprite_atlas( // `LogoRenderer` blits only the top 44/64 of minecraft.png and 14/16 of // edition.png. The files are supersampled and packs may use any size, so // crop by fraction; a row-major prefix is contiguous, so it's a truncate. - for (id, asset_key, logical_h, used_h) in [ + for (id, image, logical_h, used_h) in [ ( SpriteId::MinecraftLogo, - "minecraft/textures/gui/title/minecraft.png", + crate::assets::load_image(&resolve_asset_path( + jar_assets_dir, + asset_index, + "minecraft/textures/gui/title/minecraft.png", + )), 64u32, 44u32, ), ( SpriteId::MinecraftEdition, - "minecraft/textures/gui/title/edition.png", + image::load_from_memory(crate::assets::POMME_EDITION_PNG), 16, 14, ), ] { - let path = resolve_asset_path(jar_assets_dir, asset_index, asset_key); - match crate::assets::load_image(&path) { + match image { Ok(img) => { let rgba = img.to_rgba8(); let (w, h) = (rgba.width(), rgba.height()); @@ -3921,7 +3924,7 @@ fn build_sprite_atlas( images.push((id, raw, w, used, 0.0)); } Err(e) => { - tracing::warn!("Failed to load title sprite {asset_key}: {e}"); + tracing::warn!("Failed to load title sprite {id:?}: {e}"); images.push((id, vec![255, 0, 255, 255], 1, 1, 0.0)); } } From f0557cb7e5cd90c905cb6fdbf42bc435cf433291 Mon Sep 17 00:00:00 2001 From: Purdze <29306641+Purdze@users.noreply.github.com> Date: Fri, 30 Oct 2026 10:02:20 +0000 Subject: [PATCH 2/3] cleanup --- pomme-client/src/renderer/pipelines/menu_overlay.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pomme-client/src/renderer/pipelines/menu_overlay.rs b/pomme-client/src/renderer/pipelines/menu_overlay.rs index e7dcc68f4..47bcf3922 100644 --- a/pomme-client/src/renderer/pipelines/menu_overlay.rs +++ b/pomme-client/src/renderer/pipelines/menu_overlay.rs @@ -3894,7 +3894,7 @@ fn build_sprite_atlas( } // `LogoRenderer` blits only the top 44/64 of minecraft.png and 14/16 of - // edition.png. The files are supersampled and packs may use any size, so + // edition.png. The logo is supersampled and packs may use any size, so // crop by fraction; a row-major prefix is contiguous, so it's a truncate. for (id, image, logical_h, used_h) in [ ( From 72f5b1042f2218e27ca954d15b12c6e1247b4b40 Mon Sep 17 00:00:00 2001 From: Purdze <29306641+Purdze@users.noreply.github.com> Date: Sat, 31 Oct 2026 17:31:49 +0000 Subject: [PATCH 3/3] line the edition banner up with the jar's and fix the crop comment --- pomme-client/assets/gui/title/edition.png | Bin 8591 -> 8591 bytes .../src/renderer/pipelines/menu_overlay.rs | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pomme-client/assets/gui/title/edition.png b/pomme-client/assets/gui/title/edition.png index 05962e42c28048dfa4fd352a7ec551ee46945586..b7bf81c14c9816488acbbb6365190d285ea65974 100644 GIT binary patch delta 8481 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 LAy+SB8T$VKC`Z{* diff --git a/pomme-client/src/renderer/pipelines/menu_overlay.rs b/pomme-client/src/renderer/pipelines/menu_overlay.rs index 47bcf3922..2fdef9303 100644 --- a/pomme-client/src/renderer/pipelines/menu_overlay.rs +++ b/pomme-client/src/renderer/pipelines/menu_overlay.rs @@ -3894,8 +3894,8 @@ fn build_sprite_atlas( } // `LogoRenderer` blits only the top 44/64 of minecraft.png and 14/16 of - // edition.png. The logo is supersampled and packs may use any size, so - // crop by fraction; a row-major prefix is contiguous, so it's a truncate. + // edition.png. Both are supersampled, so crop by fraction; a row-major + // prefix is contiguous, so it's a truncate. for (id, image, logical_h, used_h) in [ ( SpriteId::MinecraftLogo,