bitsy-parser/src/mock.rs

772 lines
24 KiB
Rust
Raw Normal View History

2020-04-12 13:38:07 +00:00
use crate::*;
use crate::game::{RoomType, RoomFormat};
2020-04-12 11:48:07 +00:00
pub mod image {
2020-04-12 13:28:11 +00:00
use crate::Image;
2020-04-12 11:48:07 +00:00
pub(crate) fn chequers_1() -> Image {
Image {
pixels: vec![
2020-04-18 15:58:30 +00:00
1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1,
0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0,
2020-04-12 11:48:07 +00:00
0, 1, 0, 1, 0, 1, 0, 1,
2020-04-18 15:58:30 +00:00
],
2020-04-12 11:48:07 +00:00
}
}
pub fn chequers_2() -> Image {
Image {
pixels: vec![
2020-04-18 15:58:30 +00:00
0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0,
1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1,
1, 0, 1, 0, 1, 0, 1, 0,
],
2020-04-12 11:48:07 +00:00
}
}
}
pub fn avatar() -> Sprite {
Sprite {
id: 0,
2020-04-12 11:48:07 +00:00
animation_frames: vec![
Image {
pixels: vec![
2020-04-18 15:58:30 +00:00
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0,
],
2020-04-12 11:48:07 +00:00
},
Image {
pixels: vec![
2020-04-18 15:58:30 +00:00
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1,
1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0,
],
2020-04-12 11:48:07 +00:00
},
],
2020-04-18 14:49:33 +00:00
name: None,
room_id: Some(0),
position: Some(Position { x: 2, y: 5 }),
2020-04-13 23:40:29 +00:00
colour_id: None,
dialogue_id: None,
items: vec![]
2020-04-12 11:48:07 +00:00
}
}
2020-04-12 12:35:17 +00:00
2020-04-13 15:19:59 +00:00
pub fn tile_default() -> Tile {
Tile {
id: 10,
name: None,
2020-04-13 23:40:29 +00:00
wall: None,
2020-04-18 15:58:30 +00:00
animation_frames: vec![Image {
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,
],
}],
colour_id: None,
2020-04-13 15:19:59 +00:00
}
}
pub fn sprite() -> Sprite {
2020-04-12 12:35:17 +00:00
Sprite {
id: 10,
2020-04-12 12:35:17 +00:00
name: Some("hatch".to_string()),
2020-04-18 15:58:30 +00:00
animation_frames: vec![Image {
pixels: vec![
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0,
0, 1, 1, 0, 1, 1, 1, 1,
],
}],
dialogue_id: Some("SPR_0".to_string()),
2020-04-13 23:40:29 +00:00
room_id: Some(4),
position: Some(Position { x: 9, y: 7 }),
colour_id: None,
items: vec![]
2020-04-12 12:35:17 +00:00
}
}
2020-04-12 12:46:55 +00:00
pub fn item() -> Item {
Item {
id: 6,
2020-04-18 15:58:30 +00:00
animation_frames: vec![Image {
pixels: vec![
0, 1, 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, 1, 0, 0, 0, 0, 1, 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, 1, 0,
],
}],
2020-04-12 12:46:55 +00:00
name: Some("door".to_string()),
2020-04-13 23:40:29 +00:00
dialogue_id: Some("ITM_2".to_string()),
2020-04-18 15:58:30 +00:00
colour_id: None,
2020-04-12 12:46:55 +00:00
}
}
2020-04-12 13:28:11 +00:00
pub fn room() -> Room {
Room {
2020-04-13 12:46:33 +00:00
id: 10,
2020-04-18 14:50:01 +00:00
palette_id: Some(9),
2020-04-12 13:28:11 +00:00
name: Some("cellar 7".to_string()),
tiles: vec![
2020-04-18 15:58:30 +00:00
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"1l".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"y".to_string(),
"x".to_string(),
"0".to_string(),
"0".to_string(),
"1j".to_string(),
"0".to_string(),
"0".to_string(),
"1j".to_string(),
"1l".to_string(),
"0".to_string(),
"1j".to_string(),
"0".to_string(),
"0".to_string(),
"1j".to_string(),
"0".to_string(),
"0".to_string(),
"y".to_string(),
"y".to_string(),
"x".to_string(),
"k".to_string(),
"k".to_string(),
"1c".to_string(),
"1x".to_string(),
"1y".to_string(),
"1m".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"y".to_string(),
"y".to_string(),
"y".to_string(),
"x".to_string(),
"k".to_string(),
"s".to_string(),
"s".to_string(),
"s".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"1g".to_string(),
"1f".to_string(),
"k".to_string(),
"k".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"1i".to_string(),
"1u".to_string(),
"1u".to_string(),
"1u".to_string(),
"1v".to_string(),
"11".to_string(),
"19".to_string(),
"1b".to_string(),
"1a".to_string(),
"1e".to_string(),
"10".to_string(),
"k".to_string(),
"k".to_string(),
"z".to_string(),
"z".to_string(),
"11".to_string(),
"12".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"10".to_string(),
"17".to_string(),
"z".to_string(),
"18".to_string(),
"1e".to_string(),
"12".to_string(),
"k".to_string(),
"k".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"1k".to_string(),
"14".to_string(),
"15".to_string(),
"16".to_string(),
"1h".to_string(),
"z".to_string(),
"k".to_string(),
"k".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"10".to_string(),
"1d".to_string(),
"1v".to_string(),
"1r".to_string(),
"1s".to_string(),
"1r".to_string(),
"1q".to_string(),
"1z".to_string(),
"k".to_string(),
"k".to_string(),
"z".to_string(),
"z".to_string(),
"12".to_string(),
"10".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"1i".to_string(),
"1n".to_string(),
"1o".to_string(),
"1o".to_string(),
"1o".to_string(),
"1p".to_string(),
"z".to_string(),
"k".to_string(),
"k".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"10".to_string(),
"z".to_string(),
"z".to_string(),
"k".to_string(),
"k".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"11".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"k".to_string(),
"k".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"z".to_string(),
"12".to_string(),
"z".to_string(),
"z".to_string(),
"10".to_string(),
"12".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"k".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
2020-04-12 13:28:11 +00:00
],
items: vec![
2020-04-18 15:58:30 +00:00
Instance {
position: Position { x: 11, y: 5 },
id: "d".to_string(),
},
Instance {
position: Position { x: 8, y: 3 },
id: "e".to_string(),
},
Instance {
position: Position { x: 1, y: 0 },
id: "5".to_string(),
},
Instance {
position: Position { x: 2, y: 1 },
id: "6".to_string(),
},
Instance {
position: Position { x: 3, y: 2 },
id: "6".to_string(),
2020-04-12 13:28:11 +00:00
},
],
2020-04-18 15:58:30 +00:00
exits: vec![ExitInstance {
position: Position { x: 3, y: 3 },
exit: Exit {
room_id: 3,
position: Position { x: 10, y: 6 },
effect: Transition::None,
},
transition: None,
dialogue_id: None
2020-04-18 15:58:30 +00:00
}],
endings: vec![Instance {
position: Position { x: 8, y: 7 },
id: "undefined".to_string(),
}],
2020-04-18 13:39:17 +00:00
walls: vec![],
2020-04-12 13:28:11 +00:00
}
}
2020-04-12 13:38:07 +00:00
pub fn game_default() -> Game {
2020-04-12 13:38:07 +00:00
Game {
name: "Write your game's title here".to_string(),
2020-04-23 11:03:39 +00:00
version: Some(Version { major: 6, minor: 5 }),
room_format: Some(RoomFormat::CommaSeparated),
room_type: RoomType::Room,
font: Font::AsciiSmall,
custom_font: None,
text_direction: TextDirection::LeftToRight,
2020-04-18 15:58:30 +00:00
palettes: vec![Palette {
id: 0,
name: None,
colours: vec![
Colour {
red: 0,
green: 82,
blue: 204,
},
Colour {
red: 128,
green: 159,
blue: 255,
},
Colour {
red: 255,
green: 255,
blue: 255,
},
2020-04-12 13:38:07 +00:00
],
2020-04-18 15:58:30 +00:00
}],
rooms: vec![Room {
id: 0,
palette_id: Some(0),
name: None,
tiles: vec![
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"a".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
"0".to_string(),
],
items: vec![],
exits: vec![],
endings: vec![],
walls: vec![],
}],
tiles: vec![self::tile_default()],
avatar: Sprite {
id: 10,
2020-04-18 15:58:30 +00:00
animation_frames: vec![Image {
pixels: vec![
0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0,
0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
],
}],
2020-04-18 14:49:33 +00:00
name: None,
room_id: Some(0),
position: Option::from(Position { x: 4, y: 4 }),
2020-04-13 23:40:29 +00:00
colour_id: None,
dialogue_id: None,
items: vec![]
2020-04-12 13:38:07 +00:00
},
2020-04-18 15:58:30 +00:00
sprites: vec![Sprite {
id: 10,
name: None,
animation_frames: vec![Image {
pixels: vec![
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1,
1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
2020-04-12 13:38:07 +00:00
],
2020-04-18 15:58:30 +00:00
}],
dialogue_id: Some("SPR_0".to_string()),
room_id: Some(0),
position: Some(Position { x: 8, y: 12 }),
colour_id: None,
items: vec![]
2020-04-18 15:58:30 +00:00
}],
items: vec![Item {
id: 0,
animation_frames: vec![Image {
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,
1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020-04-12 13:38:07 +00:00
],
2020-04-18 15:58:30 +00:00
}],
name: Some("tea".to_string()),
dialogue_id: Some("ITM_0".to_string()),
colour_id: None,
}],
2020-04-12 13:38:07 +00:00
dialogues: vec![
Dialogue {
id: "SPR_0".to_string(),
contents: "I'm a cat".to_string(),
},
Dialogue {
id: "ITM_0".to_string(),
contents: "You found a nice warm cup of tea".to_string(),
},
],
endings: vec![],
2020-04-18 15:58:30 +00:00
variables: vec![Variable {
id: "a".to_string(),
initial_value: "42".to_string(),
}],
2020-04-23 15:42:01 +00:00
font_data: None,
line_endings_crlf: false
2020-04-12 13:38:07 +00:00
}
}