From 8d7986212408cc88adee96f21d61996b012033fe Mon Sep 17 00:00:00 2001 From: dani <> Date: Wed, 23 Aug 2023 19:21:09 +0000 Subject: [PATCH] shifting in mapedit --- examples/basic/gfx.gif | Bin 29177 -> 29370 bytes src/background.rs | 52 +++++++++++++++++++++++++++++++++++++++ src/mapedit/constants.rs | 6 ++++- src/mapedit/mod.rs | 20 +++++++++++++++ src/mapedit/stuff.rs | 5 ++++ 5 files changed, 82 insertions(+), 1 deletion(-) diff --git a/examples/basic/gfx.gif b/examples/basic/gfx.gif index 6d28de269b055ccb7d928a08cdd0bb6de5e60ed0..b98b16915ef3f6e3aa68e8337f4db62268d3eff5 100644 GIT binary patch delta 8739 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 NRjO9is=W#b06R7gCpZ8A delta 8545 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 { + stuff.gsa1.bg[0].shift_left(); + stuff.gsa1.bg[1].shift_left(); + stuff.gsa1.bg[2].shift_left(); + } + BUT_SHIFT_RIGHT => { + stuff.gsa1.bg[0].shift_right(); + stuff.gsa1.bg[1].shift_right(); + stuff.gsa1.bg[2].shift_right(); + } + BUT_SHIFT_UP => { + stuff.gsa1.bg[0].shift_up(); + stuff.gsa1.bg[1].shift_up(); + stuff.gsa1.bg[2].shift_up(); + } + BUT_SHIFT_DOWN => { + stuff.gsa1.bg[0].shift_down(); + stuff.gsa1.bg[1].shift_down(); + stuff.gsa1.bg[2].shift_down(); + } BUT_EXIT => { println!("exit"); *control_flow = ControlFlow::Exit; diff --git a/src/mapedit/stuff.rs b/src/mapedit/stuff.rs index cff7b85..4cbf2b6 100644 --- a/src/mapedit/stuff.rs +++ b/src/mapedit/stuff.rs @@ -75,6 +75,11 @@ impl Stuff { }; self.gsa2.bg[2].tiles[0][BUT_LAYERS] = if self.all_layers { 0x7114 } else { 0x7014 }; + self.gsa2.bg[2].tiles[0][BUT_SHIFT_LEFT] = 0x7314; + self.gsa2.bg[2].tiles[0][BUT_SHIFT_RIGHT] = 0x7315; + self.gsa2.bg[2].tiles[0][BUT_SHIFT_UP] = 0x7316; + self.gsa2.bg[2].tiles[0][BUT_SHIFT_DOWN] = 0x7317; + self.gsa2.bg[2].size = IVec2 { x: 120, y: 68 }; //enough to cover 4k monitors? <_< self.gsa2.bg[3].size = IVec2 { x: 240, y: 136 };