specify default input/output text/byte mode per level
This commit is contained in:
parent
e9b03b937b
commit
70d7256e9d
4 changed files with 17 additions and 5 deletions
|
@ -5,9 +5,7 @@ logic mostly like https://git.crispypin.cc/CrispyPin/marble
|
|||
|
||||
## todo
|
||||
cleanup: unpowered texture names x_off -> x
|
||||
(option) display input as numbers
|
||||
scroll output
|
||||
default i/o text modes specified per level
|
||||
properly center view
|
||||
make marble movement not order-dependent (`>ooo <` does not behave symmetrically)
|
||||
blueprints
|
||||
|
|
|
@ -5,5 +5,7 @@
|
|||
"description": "read input and output the same thing",
|
||||
"init_board": null,
|
||||
"inputs": [72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 103, 33],
|
||||
"outputs": [72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 103, 33]
|
||||
"outputs": [72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 103, 33],
|
||||
"input_is_text": true,
|
||||
"output_is_text": true
|
||||
}
|
|
@ -89,8 +89,8 @@ impl Editor {
|
|||
view_offset: Vector2::zero(),
|
||||
zoom: 1,
|
||||
active_tool: Tool::None,
|
||||
output_as_text: false,
|
||||
input_as_text: false,
|
||||
output_as_text: level.output_is_text(),
|
||||
input_as_text: level.input_is_text(),
|
||||
input_text_selected: false,
|
||||
sim_speed: 8,
|
||||
time_since_step: 0.,
|
||||
|
|
12
src/level.rs
12
src/level.rs
|
@ -11,6 +11,10 @@ pub struct Level {
|
|||
init_board: Option<String>,
|
||||
inputs: Vec<u8>,
|
||||
outputs: Vec<u8>,
|
||||
#[serde(default)]
|
||||
input_is_text: bool,
|
||||
#[serde(default)]
|
||||
output_is_text: bool,
|
||||
}
|
||||
|
||||
impl Level {
|
||||
|
@ -45,4 +49,12 @@ impl Level {
|
|||
pub fn outputs(&self) -> &[u8] {
|
||||
&self.outputs
|
||||
}
|
||||
|
||||
pub fn input_is_text(&self) -> bool {
|
||||
self.input_is_text
|
||||
}
|
||||
|
||||
pub fn output_is_text(&self) -> bool {
|
||||
self.output_is_text
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue