diff --git a/FUNCTIONALITY.md b/FUNCTIONALITY.md index d8a00ceb..8c54c2b4 100644 --- a/FUNCTIONALITY.md +++ b/FUNCTIONALITY.md @@ -2,7 +2,7 @@ ### Common funtionality -- [x] Common event editor +- [ ] Common event editor - [x] Script editor - [x] Sound test - [x] Properly render blend modes and opacity @@ -17,21 +17,21 @@ - [ ] Resize maps - [x] Open events - [ ] Edit event commands -- [x] View event commands +- [ ] View event commands - [x] Change tiles on map - [x] Multiple brush types - [x] Change autotiles on map - [x] Hardware accelerated tilemap -- [ ] Actor editor -- [ ] Class editor -- [ ] Skill editor +- [x] Actor editor +- [x] Class editor +- [x] Skill editor - [x] Item editor -- [ ] Weapon editor -- [ ] Armor editor +- [x] Weapon editor +- [x] Armor editor - [ ] Enemy editor - [ ] Troop editor -- [ ] State editor -- [ ] Animation editor +- [x] State editor +- [x] Animation editor - [ ] Tileset editor ### RPG Maker VX @@ -96,7 +96,7 @@ - [ ] Language server support for script editor? - [x] Custom event commands - [x] Procedural event commands -- [ ] Debugger support? +- [x] Debugger support (via rdbg and integrated terminal) - [ ] Custom data formats - [ ] Extra layers - [x] Move route previews @@ -105,4 +105,4 @@ - [ ] Styling different from egui's - [ ] Lua plugin API? - [ ] Text based event editor [based on keke](https://github.com/Astrabit-ST/keke) -- [ ] Extra properties \ No newline at end of file +- [ ] Extra properties diff --git a/crates/components/src/tilepicker.rs b/crates/components/src/tilepicker.rs index 2aa4a0cc..568c4dfc 100644 --- a/crates/components/src/tilepicker.rs +++ b/crates/components/src/tilepicker.rs @@ -274,7 +274,9 @@ impl Tilepicker { }; let pos = ((pos - canvas_rect.min) / 32.).to_pos2(); - if response.dragged_by(egui::PointerButton::Primary) { + if response.is_pointer_button_down_on() + && ui.input(|i| i.pointer.button_down(egui::PointerButton::Primary)) + { let drag_origin = if let Some(drag_origin) = self.drag_origin { drag_origin } else { diff --git a/crates/graphics/src/tiles/atlas.rs b/crates/graphics/src/tiles/atlas.rs index 9bad8149..f0ba3f4d 100644 --- a/crates/graphics/src/tiles/atlas.rs +++ b/crates/graphics/src/tiles/atlas.rs @@ -399,7 +399,8 @@ fn write_texture_region
( P: image::Pixel, P::Subpixel: bytemuck::Pod, { - let (x, y, width, height) = image.bounds(); + let (x, y) = image.offsets(); + let (width, height) = image.dimensions(); let bytes = bytemuck::cast_slice(image.inner().as_raw()); let inner_width = image.inner().width(); diff --git a/crates/ui/src/tabs/map/mod.rs b/crates/ui/src/tabs/map/mod.rs index 57dfc38e..4eb0cef9 100644 --- a/crates/ui/src/tabs/map/mod.rs +++ b/crates/ui/src/tabs/map/mod.rs @@ -418,8 +418,11 @@ impl luminol_core::Tab for Tab { } // Tile drawing - if response.dragged_by(egui::PointerButton::Primary) - && !ui.input(|i| i.modifiers.command) + if response.is_pointer_button_down_on() + && ui.input(|i| { + i.pointer.button_down(egui::PointerButton::Primary) + && !i.modifiers.command + }) { self.handle_brush( map_x as usize,