From 2ceab51c4063e0d8dfa5200dfdeb80f454f7737f Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Tue, 29 Apr 2025 23:59:40 -0400 Subject: [PATCH] A really shitty ritual crafting UI is working but needs a big reshape. --- Makefile | 2 +- assets/config.json | 2 +- assets/enemies.json | 15 +++++++ assets/gold_savior_oil-256.png | Bin 0 -> 51935 bytes debug_ui.cpp | 1 + guecs.cpp | 11 ++--- guecs.hpp | 7 +-- gui_fsm.cpp | 1 + ritual_ui.cpp | 76 ++++++++++++++++----------------- ritual_ui.hpp | 2 +- rituals.cpp | 30 ++++++++++--- rituals.hpp | 8 +++- tests/rituals.cpp | 32 ++++++++++++-- 13 files changed, 124 insertions(+), 63 deletions(-) create mode 100644 assets/gold_savior_oil-256.png diff --git a/Makefile b/Makefile index 3c7cc0c..9e0fc75 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ tracy_build: meson compile -j 10 -C builddir test: build - ./builddir/runtests "[rituals-belt]" + ./builddir/runtests run: build test ifeq '$(OS)' 'Windows_NT' diff --git a/assets/config.json b/assets/config.json index 5db2b83..bd93845 100644 --- a/assets/config.json +++ b/assets/config.json @@ -31,7 +31,7 @@ }, "sprites": { "gold_savior": - {"path": "assets/gold_savior-256.png", + {"path": "assets/gold_savior_oil-256.png", "frame_width": 256, "frame_height": 256 }, diff --git a/assets/enemies.json b/assets/enemies.json index c666d24..b7ecb76 100644 --- a/assets/enemies.json +++ b/assets/enemies.json @@ -11,6 +11,21 @@ {"_type": "LightSource", "strength": 45, "radius": 2.0} ] }, + "GOLD_SAVIOR": { + "components": [ + {"_type": "Tile", "display": 2189, + "foreground": [131, 213, 238], + "background": [30, 20, 75] + }, + {"_type": "Combat", "hp": 20, "max_hp": 20, "damage": 1, "dead": false}, + {"_type": "Motion", "dx": 0, "dy": 0, "random": false}, + {"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"}, + {"_type": "Personality", "hearing_distance": 5, "tough": true}, + {"_type": "Animation", "easing": 1, "ease_rate": 0.2, "scale": 0.1, "simple": true, "frames": 10, "speed": 0.3, "stationary": false}, + {"_type": "Sprite", "name": "gold_savior", "width": 256, "height": 256, "width": 256, "height": 256, "scale": 1.0}, + {"_type": "Sound", "attack": "Sword_Hit_2", "death": "Humanoid_Death_1"} + ] + }, "KNIGHT": { "components": [ {"_type": "Tile", "display": 2189, diff --git a/assets/gold_savior_oil-256.png b/assets/gold_savior_oil-256.png new file mode 100644 index 0000000000000000000000000000000000000000..9375d03da6e73ae30bf9b3c1822460c663dff216 GIT binary patch literal 51935 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≥UCG; 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 { - Sprite to_show{sprite_name}; - auto& cell = cell_for(ent); - to_show.init(cell); - set(ent, to_show); - } + // BUG: this should have two branches that just update the sprite + set_init(ent, {sprite_name}); } void UI::show_text(string region, wstring content) { diff --git a/guecs.hpp b/guecs.hpp index 68158ee..f686bc7 100644 --- a/guecs.hpp +++ b/guecs.hpp @@ -203,10 +203,13 @@ namespace guecs { $world.remove(ent); } + // BUG: close could just be remove with overload template void close(string region) { auto ent = entity(region); - remove(ent); + if(has(ent)) { + remove(ent); + } } template @@ -229,8 +232,6 @@ namespace guecs { void show_sprite(string region, string sprite_name); void show_text(string region, wstring content); - void update_text(string region, wstring content); - void update_label(string region, wstring content); void show_label(string region, wstring content); }; diff --git a/gui_fsm.cpp b/gui_fsm.cpp index 55f2030..2c9e016 100644 --- a/gui_fsm.cpp +++ b/gui_fsm.cpp @@ -228,6 +228,7 @@ namespace gui { void FSM::keyboard_mouse() { while(const auto ev = $window.pollEvent()) { + if(ev->is()) { event(Event::QUIT); } diff --git a/ritual_ui.cpp b/ritual_ui.cpp index 6949099..fccafa6 100644 --- a/ritual_ui.cpp +++ b/ritual_ui.cpp @@ -24,8 +24,8 @@ namespace gui { "[*%(100,200)result_image|_ |_]" "[_|_|_]" "[combine|_|_]" - "[_|craft1|craft2|craft3|craft4|_]" - "[_|craft5|craft6|craft7|craft8|_]" + "[_|craft0|craft1|craft2|craft3|_]" + "[_|craft4|craft5|craft6|craft7|_]" "[ ritual_ui ]"); } @@ -49,10 +49,10 @@ namespace gui { L"Celiac migas\nunicorn hexagon.\nBrooklyn williamsburg\ntruffaut pickled\nchillwave raclette\nchurch-key sus.", 16, ColorValue::LIGHT_LIGHT, 10}); auto reset = $gui.entity("reset"); - $gui.set(reset, {}); + $gui.set(reset, {5, {60, 60, 60, 30}}); $gui.set