Refactor the way assets are laid out in the assets/ dir and then have a build script that can automatically pixelate/posterize images that I save, saving me tons of time.

This commit is contained in:
Zed A. Shaw 2025-05-30 17:49:15 -04:00
parent 3dc70c3af6
commit dc8648016d
108 changed files with 177 additions and 277 deletions

View file

@ -50,21 +50,21 @@ namespace gui {
switch(ritual.element) {
case FIRE:
make_button(name, Events::GUI::ATTACK,
slot, "broken_yoyo-64", "fireball_01", "flame");
slot, "broken_yoyo", "fireball_01", "flame");
break;
case LIGHTNING:
make_button(name, Events::GUI::ATTACK,
slot, "pocket_watch-64", "electric_shock_01", "lightning");
slot, "pocket_watch", "electric_shock_01", "lightning");
break;
default:
make_button(name, Events::GUI::ATTACK,
slot, "severed_finger-64", "punch_cartoony", "ui_shader");
slot, "severed_finger", "punch_cartoony", "ui_shader");
}
}
}
auto hp_gauge = $gui.entity("hp_gauge");
$gui.set<Sprite>(hp_gauge, {"stone_doll_cursed-64"});
$gui.set<Sprite>(hp_gauge, {"stone_doll_cursed"});
$gui.set<Clickable>(hp_gauge,
guecs::make_action(*$level.world, Events::GUI::HP_STATUS, {}));

View file

@ -38,7 +38,7 @@ namespace gui {
$gui.set<guecs::Clickable>(id, {
[=](auto, auto) { fmt::println("clicked button_{}", i); }
});
$gui.set<guecs::Sprite>(id, {"broken_yoyo-64"});
$gui.set<guecs::Sprite>(id, {"broken_yoyo"});
}
auto close = $gui.entity("close");

View file

@ -28,12 +28,6 @@ namespace gui {
$rayview.set_position(RAY_VIEW_X, RAY_VIEW_Y);
$rayview.position_camera(player.x + 0.5, player.y + 0.5);
auto st = textures::get("down_the_well");
auto bounds = st.sprite->getLocalBounds();
st.sprite->setPosition({RAY_VIEW_X + bounds.size.x / 2,
RAY_VIEW_Y + bounds.size.y / 2});
st.sprite->setOrigin({bounds.size.x / 2, bounds.size.y / 2});
$overlay_ui.init();
}

View file

@ -170,9 +170,8 @@ namespace gui {
int i = 0;
for(auto& [item_id, item] : $blanket.contents) {
auto slot_id = $gui.entity("inv_slot", i++);
auto icon_name = fmt::format("{}-64", item);
$gui.set_init<Sprite>(slot_id, {icon_name});
$gui.set_init<Sprite>(slot_id, {item});
$gui.set<Clickable>(slot_id, {
[&, slot_id, item_id](auto, auto) {
auto data = std::make_any<SelectedItem>(slot_id, item_id);
@ -223,13 +222,13 @@ namespace gui {
switch(ritual.element) {
case FIRE:
$gui.show_sprite("result_image", "broken_yoyo-64");
$gui.show_sprite("result_image", "broken_yoyo");
break;
case LIGHTNING:
$gui.show_sprite("result_image", "pocket_watch-64");
$gui.show_sprite("result_image", "pocket_watch");
break;
default:
$gui.show_sprite("result_image", "severed_finger-64");
$gui.show_sprite("result_image", "severed_finger");
}
$gui.set<Clickable>(combine, {
@ -237,7 +236,7 @@ namespace gui {
});
} else {
$gui.show_label("result_text", L"That won't work.");
$gui.show_sprite("result_image", "dubious_combination-128");
$gui.show_sprite("result_image", "dubious_combination");
$gui.remove<Clickable>(combine);
return;
}