Compare commits

...

2 commits

Author SHA1 Message Date
8425e89254 add keybind for saving 2025-04-04 23:24:06 +02:00
dbb478f9ec update readme 2025-04-04 23:19:07 +02:00
3 changed files with 10 additions and 5 deletions

View file

@ -1,10 +1,11 @@
# Marble Machinations
A zach-like programming-adjacent puzzle game.
Still in development, but core features are mostly stable.
logic mostly like https://git.crispypin.cc/CrispyPin/marble
## todo
### meta
- itch page text
- engine tests
- blag post about marble movement logic
### game
@ -29,7 +30,7 @@ logic mostly like https://git.crispypin.cc/CrispyPin/marble
- validate solutions in server (with limits)
- show histograms
- author name in solutions and blueprints
#### undecided
### undecided
- footprint score (tiles that were non-empty at any point in the run)
- option to use 8-bit marbles?
- blueprint rotation?

View file

@ -620,7 +620,7 @@ impl Editor {
self.draw_board(d, &globals.textures);
self.board_overlay(d, &globals.textures);
self.draw_bottom_bar(d, globals);
self.draw_top_bar(d, &globals.textures);
self.draw_top_bar(d, globals);
if self.active_tool == Tool::Blueprint {
self.draw_blueprint_sidebar(d, &globals.textures);
@ -786,7 +786,8 @@ impl Editor {
}
}
fn draw_top_bar(&mut self, d: &mut RaylibDrawHandle, textures: &Textures) {
fn draw_top_bar(&mut self, d: &mut RaylibDrawHandle, globals: &Globals) {
let textures = &globals.textures;
// background
d.draw_rectangle(
0,
@ -822,7 +823,8 @@ impl Editor {
(40, 4),
textures.get("save"),
(&mut self.tooltip, "save"),
) {
) || globals.is_pressed(ActionId::Save)
{
self.exit_state = ExitState::Save;
}

View file

@ -25,6 +25,7 @@ pub enum ActionId {
Paste,
Erase,
ToggleMenu,
Save,
StartSim,
StopSim,
StepSim,
@ -65,6 +66,7 @@ impl Default for Input {
bind_key(ActionId::Paste, vec![LCtrl], V);
bind_key(ActionId::Erase, vec![], Backspace);
bind_key(ActionId::ToggleMenu, vec![], Escape);
bind_key(ActionId::Save, vec![LCtrl], S);
bind_key(ActionId::StartSim, vec![], Enter);
bind_key(ActionId::StopSim, vec![], Enter);
bind_key(ActionId::StepSim, vec![], Space);