mirror of
https://github.com/italicsjenga/agb.git
synced 2024-12-23 08:11:33 +11:00
Allow importing aseprite backgrounds directly
This commit is contained in:
parent
498236d064
commit
753f59e0e0
|
@ -1,6 +1,6 @@
|
|||
use std::path;
|
||||
use std::{ffi::OsStr, path};
|
||||
|
||||
use image::GenericImageView;
|
||||
use image::{DynamicImage, GenericImageView};
|
||||
|
||||
use crate::colour::Colour;
|
||||
|
||||
|
@ -12,7 +12,17 @@ pub(crate) struct Image {
|
|||
|
||||
impl Image {
|
||||
pub fn load_from_file(image_path: &path::Path) -> Self {
|
||||
let img = image::open(image_path).expect("Expected image to exist");
|
||||
let img = if image_path
|
||||
.extension()
|
||||
.is_some_and(|extension| extension == OsStr::new("aseprite"))
|
||||
{
|
||||
let ase =
|
||||
asefile::AsepriteFile::read_file(image_path).expect("failed to read aseprite file");
|
||||
DynamicImage::ImageRgba8(ase.frame(0).image())
|
||||
} else {
|
||||
image::open(image_path).expect("Expected image to exist")
|
||||
};
|
||||
|
||||
Self::load_from_dyn_image(img)
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 591 B |
Binary file not shown.
Before Width: | Height: | Size: 550 B |
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
|
@ -6,9 +6,9 @@ use agb::{
|
|||
use crate::sfx::Sfx;
|
||||
|
||||
include_background_gfx!(backgrounds, "121105",
|
||||
stars => "gfx/stars.png",
|
||||
title => "gfx/title-screen.png",
|
||||
help => "gfx/help-text.png",
|
||||
stars => "gfx/stars.aseprite",
|
||||
title => "gfx/title-screen.aseprite",
|
||||
help => "gfx/help-text.aseprite",
|
||||
descriptions1 => "gfx/descriptions1.png",
|
||||
descriptions2 => "gfx/descriptions2.png",
|
||||
);
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 9.5 KiB |
|
@ -57,7 +57,7 @@ const SWORDLESS_JUMP: &Tag = TAG_MAP.get("jump swordless");
|
|||
const SWORDLESS_ATTACK: &Tag = KNIFE_ATTACK;
|
||||
const SWORDLESS_JUMP_ATTACK: &Tag = KNIFE_JUMP_ATTACK;
|
||||
|
||||
agb::include_background_gfx!(background, "53269a", background => "gfx/background.png");
|
||||
agb::include_background_gfx!(background, "53269a", background => "gfx/background.aseprite");
|
||||
|
||||
type Number = FixedNum<8>;
|
||||
|
||||
|
|
Loading…
Reference in a new issue