Files
peachy/src/mock.rs

210 lines
8.7 KiB
Rust
Raw Normal View History

2022-03-12 18:14:55 +00:00
pub mod image {
2021-05-17 16:40:58 +01:00
use crate::image::Image;
2021-11-14 18:03:01 +00:00
pub fn _bg() -> Image {
2021-05-17 16:40:58 +01:00
Image {
name: "bg".to_string(),
pixels: vec![
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
]
}
}
2021-11-14 18:03:01 +00:00
pub fn _block() -> Image {
2021-05-17 16:40:58 +01:00
Image {
name: "block".to_string(),
pixels: vec![
1,1,1,1,1,1,1,1,
1,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,1,
1,0,0,1,1,0,0,1,
1,0,0,1,1,0,0,1,
1,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1,
]
}
}
pub fn avatar() -> Image {
Image {
name: "avatar".to_string(),
pixels: vec![
0,0,0,2,2,0,0,0,
0,0,0,2,2,0,0,0,
0,0,0,2,2,0,0,0,
0,0,2,2,2,2,0,0,
0,2,2,2,2,2,2,0,
2,0,2,2,2,2,0,2,
0,0,2,0,0,2,0,0,
0,0,2,0,0,2,0,0,
]
}
}
2021-11-14 18:03:01 +00:00
pub fn _cat() -> Image {
2021-05-17 16:40:58 +01:00
Image {
name: "cat".to_string(),
pixels: vec![
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,2,0,2,0,0,0,2,
0,2,2,2,0,0,0,2,
0,2,2,2,0,0,2,0,
0,2,2,2,2,2,0,0,
0,0,2,2,2,2,0,0,
0,0,2,0,0,2,0,0,
]
}
}
}
2022-03-12 18:14:55 +00:00
pub mod palette {
2021-05-16 22:49:12 +01:00
use crate::{Palette, Colour};
pub(crate) fn default() -> Palette {
Palette {
name: "blueprint".to_string(),
colours: vec![
2021-11-14 18:03:37 +00:00
Colour { red: 0, green: 82, blue: 204 },
Colour { red: 128, green: 159, blue: 255 },
Colour { red: 255, green: 255, blue: 255 },
],
}
}
2022-03-12 18:14:55 +00:00
pub fn soup11() -> Palette {
Palette {
name: "soup11".into(),
colours: vec![
Colour { red: 79, green: 30, blue: 69 },
Colour { red: 150, green: 48, blue: 87 },
Colour { red: 215, green: 68, blue: 89 },
Colour { red: 235, green: 112, blue: 96 },
Colour { red: 255, green: 179, blue: 131 },
Colour { red: 255, green: 255, blue: 255 },
Colour { red: 127, green: 227, blue: 187 },
Colour { red: 92, green: 187, blue: 196 },
Colour { red: 69, green: 126, blue: 163 },
Colour { red: 56, green: 66, blue: 118 },
Colour { red: 50, green: 36, blue: 81 }
]
}
}
}
2021-05-17 20:50:32 +01:00
2022-03-12 18:14:55 +00:00
pub mod scenes {
2021-05-17 20:50:32 +01:00
use crate::Scene;
2022-03-12 18:14:55 +00:00
pub fn zero() -> Scene {
2021-05-17 20:50:32 +01:00
Scene {
name: "zero".into(),
background: vec![
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None,
None, Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
],
foreground: vec![
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, Some("avatar".into()), None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, Some("cat".into()), None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,
]
}
}
}
2022-03-12 18:14:55 +00:00
pub mod entities {
use crate::Entity;
pub fn bitsy_avatar() -> Entity {
Entity {
name: "".to_string(),
image: "avatar".to_string(),
tags: vec!["player".into()]
}
}
pub fn bitsy_cat() -> Entity {
Entity {
name: "cat".to_string(),
image: "cat".to_string(),
tags: vec![]
}
}
}
pub mod tiles {
use crate::Tile;
pub fn bitsy_block() -> Tile {
Tile {
name: "block".into(),
images: vec!["block".into()],
wall: false
}
}
}
pub mod game {
use crate::{Config, Game};
pub fn bitsy() -> Game {
Game {
config: Config {
name: Some("Write your game's title here".into()),
width: 16,
height: 16,
tick: 400,
starting_room: None,
version: (0, 1)
},
entities: vec![
crate::mock::entities::bitsy_avatar(),
crate::mock::entities::bitsy_cat(),
],
images: vec![],
palettes: vec![],
scenes: vec![
crate::mock::scenes::zero(),
],
tiles: vec![
crate::mock::tiles::bitsy_block(),
],
music: vec![]
}
}
}