From 365f30e893569bf66ecccf2015e367955ba05ab5 Mon Sep 17 00:00:00 2001 From: dani <> Date: Sat, 5 Aug 2023 10:03:35 +0000 Subject: [PATCH] added cursor to mapedit --- examples/basic/gfx.gif | Bin 27618 -> 27642 bytes src/mapedit.rs | 34 ++++++++++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/examples/basic/gfx.gif b/examples/basic/gfx.gif index 6c29528b8efabedeb0594c8a9ae18f68aabab141..50e41314390883f35f73bad6b044c896d5079137 100644 GIT binary patch delta 8346 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 delta 8322 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 match event { WindowEvent::KeyboardInput { @@ -81,6 +88,12 @@ pub(crate) fn run_mapedit() { (winit::event::ElementState::Released, winit::event::MouseButton::Middle) => { *middle_down = false; } + (winit::event::ElementState::Pressed, winit::event::MouseButton::Right) => { + *right_down = true; + } + (winit::event::ElementState::Released, winit::event::MouseButton::Right) => { + *right_down = false; + } _ => {} }, WindowEvent::CursorMoved { position, .. } => { @@ -95,16 +108,29 @@ pub(crate) fn run_mapedit() { gsa.bgs[2].scroll -= delta; } *mouse_pos = new_pos; + *tile_pos = (new_pos + gsa.bgs[0].scroll) / TILE_SIZE as i32; + let cursor_pos = *tile_pos * TILE_SIZE as i32 - gsa.bgs[0].scroll; + gsa.sprites[SPR_CURSOR].pos = cursor_pos; } _ => {} }, Event::MainEventsCleared => { if *left_down { - let tile_x = (mouse_pos.x + gsa.bgs[0].scroll.x) as usize / TILE_SIZE; - let tile_y = (mouse_pos.y + gsa.bgs[0].scroll.y) as usize / TILE_SIZE; - if tile_x < BACKGROUND_MAX_SIZE && tile_y < BACKGROUND_MAX_SIZE { - gsa.bgs[0].tiles[tile_x][tile_y] = 0; + if tile_pos.x >= 0 + && tile_pos.y >= 0 + && tile_pos.x < BACKGROUND_MAX_SIZE as i32 + && tile_pos.y < BACKGROUND_MAX_SIZE as i32 + { + gsa.bgs[0].tiles[tile_pos.x as usize][tile_pos.y as usize] = 0; + } + } else if *right_down { + if tile_pos.x >= 0 + && tile_pos.y >= 0 + && tile_pos.x < BACKGROUND_MAX_SIZE as i32 + && tile_pos.y < BACKGROUND_MAX_SIZE as i32 + { + gsa.bgs[0].tiles[tile_pos.x as usize][tile_pos.y as usize] = EMPTY_TILE; } }