Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Level #40

Merged
merged 123 commits into from
Sep 28, 2024
Merged
Changes from 1 commit
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
263e464
Initial emu/rom
Selicre Apr 23, 2023
55b0c48
Decompression (initial)
Selicre Apr 23, 2023
fd19474
Working decompression
Selicre Apr 23, 2023
8a36b6f
Decompress graphics (TODO: sp0)
Selicre Apr 24, 2023
469e33c
Decompress SP0 & layer 3
Selicre Apr 24, 2023
0982977
Decompress GFX32/33
Selicre Apr 24, 2023
5b369a6
Fetch animation frames
Selicre Apr 24, 2023
1151930
Add palettes
Selicre Apr 24, 2023
8926c3a
Cleanup, initial VRAM View.
Adanos020 Apr 24, 2023
ce28b24
Fix cpu benchmark
Adanos020 Apr 24, 2023
1823b55
Include symbol files, upgrade `egui_dock` to 0.5.
Adanos020 Apr 24, 2023
fb69eae
Include `smwe_emu::rom::Rom` in editor state.
Adanos020 Apr 24, 2023
c0df525
Fix missing field in `CheckedMem` after rebase.
Adanos020 Apr 24, 2023
b95b1c2
A bunch of renames.
Adanos020 Apr 24, 2023
6fcc21c
Working vram/mappings/level viewer
Selicre Apr 25, 2023
6427cf8
Sprites test
Selicre Apr 26, 2023
7973865
Remove hidden sprite tiles
Selicre Apr 26, 2023
c1df0e6
Proper behaviour for sprite interaction
Selicre Apr 26, 2023
ac63aa5
Add `ValueSwitcher`.
Adanos020 Apr 26, 2023
a6dba48
Include Glow context in `EditorState`.
Adanos020 Apr 26, 2023
ea4bd66
Move 'Tools > VRAM View' to 'Prototypes > Level Editor'
Adanos020 Apr 26, 2023
0265233
Initial GL level renderer
Adanos020 Apr 30, 2023
46f1cab
Make things work
Selicre Apr 30, 2023
2640a05
Unbork gamma
Selicre Apr 30, 2023
f4841d6
Render Layer2.
Adanos020 Apr 30, 2023
726d513
Render background colour.
Adanos020 Apr 30, 2023
54beb99
Unbork BG mappings
Selicre Apr 30, 2023
17c8d14
Change level frame
Selicre Apr 30, 2023
4f34852
Move all library crates into crates/
Adanos020 May 1, 2023
3da4ebf
Display tile animations.
Adanos020 May 1, 2023
ef122cf
Fix image scaling broken by high DPI.
Adanos020 May 1, 2023
955798d
Panning
Selicre May 1, 2023
59e12f4
Draw sprite tiles
Selicre May 1, 2023
ccef9dc
Proper animation
Selicre May 1, 2023
1a9cbb0
Add layer 2 and vertical levels
Selicre May 1, 2023
0d5c5c8
Slight refactor.
Adanos020 May 1, 2023
a39f4f6
Sprite tilemap testing
Selicre May 3, 2023
304c7ba
Add a `DockArea` in level editor's `CentralPanel` with the level view…
Adanos020 May 3, 2023
78320b2
Fix level renderer crash on tab close.
Adanos020 May 6, 2023
2deae1f
Remove `DockArea` from `UiLevelEditor`.
Adanos020 May 6, 2023
454083f
Remove unused imports.
Adanos020 May 6, 2023
f825da1
Move sprite map editor and add it to the prototypes menu.
Adanos020 May 7, 2023
e478443
Create new crate for custom renderers and put `TileRenderer` in there.
Adanos020 May 7, 2023
eba7722
Move VRAM and palette buffers into a reusable struct.
Adanos020 May 7, 2023
9d8f203
Add functioning VRAM view to the sprite map editor.
Adanos020 May 7, 2023
8738c21
Fixed crash on closing sprite map editor tab.
Adanos020 May 7, 2023
530e56b
Fix missing sprite tiles in `VramView`.
Adanos020 May 8, 2023
6bb665a
Display only sprite tiles in sprite map editor's VRAM view.
Adanos020 May 8, 2023
6e4246c
VRAM tile selection.
Adanos020 May 8, 2023
4accf6a
Zooming in/out in tile renderer.
Adanos020 May 8, 2023
1123d9b
Remove unnecessary stuff from sprite map editor.
Adanos020 May 8, 2023
56f66ef
Make level view draggable only by middle mouse button.
Adanos020 May 8, 2023
1cb60f9
Placing tiles on sprite map editor canvas.
Adanos020 May 8, 2023
14db7ee
Make tile insertion snap to grid.
Adanos020 May 10, 2023
0755584
Initial editing modes.
Adanos020 May 13, 2023
c97d953
Tile probing.
Adanos020 May 14, 2023
72d0fe1
Tile selection.
Adanos020 May 14, 2023
c102990
Delete selected tiles with the Delete key.
Adanos020 May 14, 2023
2e47fd9
Moving selected tiles with arrow keys + optional Shift key.
Adanos020 May 14, 2023
7a84942
Initial move by drag.
Adanos020 May 21, 2023
6b005e2
Canvas grid.
Adanos020 May 21, 2023
9de58b4
Better tile highlighting and moving with mouse.
Adanos020 May 21, 2023
a28ab97
Upgrade egui to 0.22
Adanos020 May 24, 2023
fd72262
Change `egui-phosphor` version back to 0.1 following a new patch.
Adanos020 May 26, 2023
1b28a8e
Fix GL errors.
Adanos020 May 26, 2023
949c6ae
Refactor editing modes handling
Adanos020 May 26, 2023
419b3d6
Add some selection-related keyboard shortcuts.
Adanos020 May 27, 2023
a032643
Initial move with mouse.
Adanos020 May 27, 2023
76169bd
Fix dragging display & refactor.
Adanos020 May 29, 2023
137789f
Fix the drop part of drag-and-drop.
Adanos020 May 29, 2023
092486f
Add `BasicRenderer` and use it in `TileRenderer` and new `PaletteRend…
Adanos020 May 31, 2023
a968c13
Change layout, add palette view and zoom slider.
Adanos020 May 31, 2023
8fd060c
Export palette view into a widget.
Adanos020 May 31, 2023
caa1ce4
Let palette view show only sprite/bg palettes.
Adanos020 May 31, 2023
1ddb323
Add palette selector to sprite map editor.
Adanos020 May 31, 2023
d296396
Make VRAM view initially display with the 0th palette.
Adanos020 May 31, 2023
5497023
Add style types, Remove `EditorState`, and store everything in `egui:…
Adanos020 Jun 1, 2023
148f8af
Put project resources' IDs into functions.
Adanos020 Jun 1, 2023
1f2e838
Add 8x8 and 16x16 selection modes for VRAM view.
Adanos020 Jun 1, 2023
4cdc83c
Make the selection preview adjust to selection mode.
Adanos020 Jun 1, 2023
ebb8022
Adjust size of cell highlight in canvas to the selection mode.
Adanos020 Jun 1, 2023
15b5a0d
Insertion of 16x16 sprite tiles.
Adanos020 Jun 1, 2023
76ecf45
Zoom in/out with Ctrl+Plus/Minus/MouseWheel
Adanos020 Jun 10, 2023
1d76b4b
Fix `ValueSwitcher` taking more space than it needs.
Adanos020 Jun 11, 2023
91ed8d2
Add de/serialization of sprite tile maps.
Adanos020 Jun 11, 2023
c176a33
Add buttons for the flip tools
Adanos020 Jun 16, 2023
dfa2319
Refactoring: better conversion between coordinate systems.
Adanos020 Jun 18, 2023
ac851f3
Add forwarding methods for corresponding `emath` types.
Adanos020 Jun 19, 2023
5a5e193
Split up `smwe_math::coordinates`.
Adanos020 Jun 19, 2023
3d823bc
Horizontal and vertical mirroring.
Adanos020 Jun 19, 2023
75bd48d
Add the `ZERO` constant to wrapped `Vec2` and `Pos2`.
Adanos020 Jun 23, 2023
4464309
Fixed group sizes.
Adanos020 Jun 23, 2023
4f5efdc
Automatically select newly inserted tiles.
Adanos020 Jun 24, 2023
de4179c
Copy/cut/paste.
Adanos020 Jun 24, 2023
623ba3e
Keyboard shortcuts for switching editing mode.
Adanos020 Jun 24, 2023
4ce3632
Disable debug UI in release builds.
Adanos020 Jun 24, 2023
205c0d9
Fix `wrapper<Rect>`'s `shrink2`, `expand2`, and `translate`.
Adanos020 Jun 25, 2023
9d75e47
Make `smwe-math/coordinates` more IDE-friendly with proc macros.
Adanos020 Jun 25, 2023
a243b49
Move and add `smwe-math` proc macros to workspace member list.
Adanos020 Jun 25, 2023
110e8d6
Update `itertools` to 0.11.
Adanos020 Jun 25, 2023
b817cf3
Fix insertion mode not working when inserting into the same cell twice.
Adanos020 Jun 25, 2023
eec5582
Put the editing area in a scroll area.
Adanos020 Jul 8, 2023
317dffa
Undo/redo.
Adanos020 Jul 14, 2023
36b56c8
Clean up with `shrinkwraprs`.
Adanos020 Jul 14, 2023
4192ec9
Sprite Map Editor refactor.
Adanos020 Jul 15, 2023
d3a002e
Apply new Clippy lints.
Adanos020 Jul 19, 2023
65e1938
Refactor keyboard shortcuts.
Adanos020 Jul 19, 2023
3ced14a
Add menu bar to sprite map editor (+yet another refactor).
Adanos020 Jul 22, 2023
aecb778
Update `egui_phosphor` to 0.2
Adanos020 Jul 30, 2023
c1268d0
Upgrade dependencies to latest versions.
Adanos020 Sep 18, 2023
5e3703c
Upgrade dependencies.
Adanos020 Oct 6, 2023
cb18bbd
Groundwork for level editing
Adanos020 Oct 12, 2023
70571ba
Serialise object layer into ExtRAM.
Adanos020 Nov 11, 2023
f5a2db5
Merge branch 'main' into level
Adanos020 Nov 27, 2023
50fe9ab
Clippy
Adanos020 Nov 27, 2023
8918760
Grid in level view.
Adanos020 Dec 2, 2023
df27af5
Update dependencies.
Adanos020 Dec 2, 2023
0a79d86
Extract level editor's main UI parts into modules.
Adanos020 Dec 2, 2023
da19754
Only draw background colour under editable area.
Adanos020 Dec 3, 2023
2bb4c3b
Make non-editable background area grey.
Adanos020 Dec 18, 2023
3a9e0bd
Upgrade dependencies
Adanos020 Apr 9, 2024
b601eca
Appease clippy
Adanos020 Sep 28, 2024
c103673
Appease clippy 2.0
Adanos020 Sep 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Proper behaviour for sprite interaction
Selicre committed Apr 26, 2023
commit c1df0e64e494a3bea3193918f75f398de4e95435
2 changes: 2 additions & 0 deletions src/ui/dev_utils/vram_view.rs
Original file line number Diff line number Diff line change
@@ -139,6 +139,8 @@ impl UiVramView {
}
fn update_cpu_sprite(&mut self, state: &mut EditorState, _ctx: &Context) {
let mut cpu = state.cpu.as_mut().unwrap(); // should be set already
let m = cpu.mem.load_u8(0x13);
cpu.mem.store_u8(0x13, m+1);
let m = cpu.mem.load_u8(0x14);
cpu.mem.store_u8(0x14, m+1);
cpu.mem.wram[0x300..0x400].fill(0xE0);