From 3f2468fff7a102294a40489c81be1ec4ebdb08d9 Mon Sep 17 00:00:00 2001 From: Cameron Reikes Date: Sat, 17 Jun 2023 16:25:52 -0700 Subject: [PATCH] Sword & backpack sprites, inventory button opens item grid --- assets.mdesk | 8 +++++ assets/backpack.png | Bin 0 -> 44872 bytes assets/sword_of_nazareth.png | Bin 0 -> 8193 bytes main.c | 64 ++++++++++++++++++++++------------- 4 files changed, 48 insertions(+), 24 deletions(-) create mode 100644 assets/backpack.png create mode 100644 assets/sword_of_nazareth.png diff --git a/assets.mdesk b/assets.mdesk index 09113d2..f20601a 100644 --- a/assets.mdesk +++ b/assets.mdesk @@ -18,6 +18,10 @@ { filepath: "grunt_3.wav", } +@image sword: +{ + filepath: "sword_of_nazareth.png", +} @image merchant: { filepath: "copyrighted/merchant.png", @@ -128,6 +132,10 @@ { filepath: "space_icon.png", } +@image backpack: +{ + filepath: "backpack.png", +} @image mystery_tile: { filepath: "mystery_tile.png", diff --git a/assets/backpack.png b/assets/backpack.png new file mode 100644 index 0000000000000000000000000000000000000000..2dcb0fb4f1bf9e7b9b39f46a21ecc6ca56bc7088 GIT binary patch literal 44872 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 literal 0 HcmV?d00001 diff --git a/main.c b/main.c index 0276c58..69a2651 100644 --- a/main.c +++ b/main.c @@ -806,7 +806,7 @@ Vec2 aabb_center(AABB aabb) return MulV2F(AddV2(aabb.upper_left, aabb.lower_right), 0.5f); } -AABB centered_aabb(Vec2 at, Vec2 size) +AABB aabb_centered(Vec2 at, Vec2 size) { return (AABB) { .upper_left = AddV2(at, V2(-size.X / 2.0f, size.Y / 2.0f)), @@ -817,7 +817,7 @@ AABB centered_aabb(Vec2 at, Vec2 size) AABB entity_aabb_at(Entity *e, Vec2 at) { - return centered_aabb(at, entity_aabb_size(e)); + return aabb_centered(at, entity_aabb_size(e)); } AABB entity_aabb(Entity *e) @@ -2177,7 +2177,7 @@ Quad quad_aabb(AABB aabb) Quad centered_quad(Vec2 at, Vec2 size) { - return quad_aabb(centered_aabb(at, size)); + return quad_aabb(aabb_centered(at, size)); } // both segment_a and segment_b must be arrays of length 2 @@ -2813,7 +2813,7 @@ Vec2 move_and_slide(MoveSlideParams p) assert(collision_aabb_size.x > 0.0f); assert(collision_aabb_size.y > 0.0f); - AABB at_new = centered_aabb(new_pos, collision_aabb_size); + AABB at_new = aabb_centered(new_pos, collision_aabb_size); BUFF(AABB, 256) to_check = { 0 }; @@ -2848,7 +2848,7 @@ Vec2 move_and_slide(MoveSlideParams p) { if (!(it->is_character && it->is_rolling) && it != p.from && !(it->is_npc && it->dead) && !it->is_item) { - BUFF_APPEND(&to_check, centered_aabb(it->pos, entity_aabb_size(it))); + BUFF_APPEND(&to_check, aabb_centered(it->pos, entity_aabb_size(it))); } } } @@ -2963,7 +2963,7 @@ Vec2 move_and_slide(MoveSlideParams p) if (p.col_info_out) *p.col_info_out = info; Vec2 result_pos = aabb_center(at_new); - dbgrect(centered_aabb(result_pos, collision_aabb_size)); + dbgrect(aabb_centered(result_pos, collision_aabb_size)); return result_pos; } @@ -4329,7 +4329,7 @@ void frame(void) { // find closest to talk to { - AABB dialog_rect = centered_aabb(player->pos, V2(dialog_interact_size , dialog_interact_size)); + AABB dialog_rect = aabb_centered(player->pos, V2(dialog_interact_size , dialog_interact_size)); dbgrect(dialog_rect); Overlapping possible_dialogs = get_overlapping(cur_level, dialog_rect); float closest_interact_with_dist = INFINITY; @@ -4667,7 +4667,7 @@ void frame(void) } else if (it->is_item) { - draw_item(true, it->item_kind, centered_aabb(it->pos, V2(15.0f, 15.0f)), 1.0f); + draw_item(true, it->item_kind, aabb_centered(it->pos, V2(15.0f, 15.0f)), 1.0f); } else if (it->is_character) { @@ -4869,6 +4869,25 @@ void frame(void) } } + // open inventory button + { + float button_size = 128.0f; + float button_padding = 64.0f; + static float scaling = 1.0f; + Vec2 center = AddV2(screen_size(), V2(-(button_padding + button_size/2.0f), -(button_padding + button_size/2.0f))); + AABB button_aabb = aabb_centered(center, MulV2F(V2(button_size, button_size), scaling)); + bool hovering = has_point(button_aabb, mouse_pos); + float target = hovering ? 1.5f : 1.0f; + scaling = Lerp(scaling, unwarped_dt*15.0f, target); + draw_quad((DrawParams) {false, quad_aabb(button_aabb), IMG(image_backpack), WHITE, .layer = LAYER_UI }); + + if(hovering && pressed.mouse_down) + { + choosing_item_grid = true; + pressed.mouse_down = false; + } + } + // item grid modal draw item grid choose item pick item give item { static float visible = 0.0f; @@ -4877,15 +4896,10 @@ void frame(void) if (choosing_item_grid) target = 1.0f; visible = Lerp(visible, unwarped_dt*9.0f, target); - if (player->state != CHARACTER_TALKING) - { - choosing_item_grid = false; - } - draw_quad((DrawParams) { false, quad_at(V2(0.0, screen_size().y), screen_size()), IMG(image_white_square), blendalpha(oflightness(0.2f), visible*0.4f), .layer = LAYER_UI }); Vec2 grid_panel_size = LerpV2(V2(0.0f, 0.0f), visible, V2(screen_size().x*0.75f, screen_size().y * 0.75f)); - AABB grid_aabb = centered_aabb(MulV2F(screen_size(), 0.5f), grid_panel_size); + AABB grid_aabb = aabb_centered(MulV2F(screen_size(), 0.5f), grid_panel_size); if (choosing_item_grid && pressed.mouse_down && !has_point(grid_aabb, mouse_pos)) { choosing_item_grid = false; @@ -4894,7 +4908,7 @@ void frame(void) { draw_quad((DrawParams) { false, quad_aabb(grid_aabb), IMG(image_white_square), blendalpha(BLACK, visible * 0.7f), .layer = LAYER_UI }); - if (imbutton(centered_aabb(AddV2(grid_aabb.upper_left, V2(aabb_size(grid_aabb).x / 2.0f, -aabb_size(grid_aabb).y)), V2(100.f*visible, 50.0f*visible)), 1.0f, MD_S8Lit("Cancel"))) + if (imbutton(aabb_centered(AddV2(grid_aabb.upper_left, V2(aabb_size(grid_aabb).x / 2.0f, -aabb_size(grid_aabb).y)), V2(100.f*visible, 50.0f*visible)), 1.0f, MD_S8Lit("Cancel"))) { choosing_item_grid = false; } @@ -4916,7 +4930,7 @@ void frame(void) { Vec2 real_size = LerpV2(item_icon_size, hovered_state[i], MulV2F(item_icon_size, 1.25f)); Vec2 item_center = AddV2(cursor, MulV2F(V2(item_icon_size.x, -item_icon_size.y), 0.5f)); - AABB item_icon = centered_aabb(item_center, real_size); + AABB item_icon = aabb_centered(item_center, real_size); float target = 0.0f; @@ -4955,16 +4969,18 @@ void frame(void) { choosing_item_grid = false; - Entity *to = gete(player->talking_to); - assert(to); + if(player->state == CHARACTER_TALKING) + { + Entity *to = gete(player->talking_to); + assert(to); - ItemKind given_item_kind = player->held_items.data[to_give]; - BUFF_REMOVE_AT_INDEX(&player->held_items, to_give); + ItemKind given_item_kind = player->held_items.data[to_give]; + BUFF_REMOVE_AT_INDEX(&player->held_items, to_give); - Action give_action = {.kind = ACT_give_item, .argument = { .item_to_give = given_item_kind }}; - perform_action(player, give_action); + Action give_action = {.kind = ACT_give_item, .argument = { .item_to_give = given_item_kind }}; + perform_action(player, give_action); + } } - } } @@ -4984,7 +5000,7 @@ void frame(void) win_offset = MulV2F(win_offset, 10.0f); draw_centered_text((TextParams){false, false, MD_S8Lit("YOU WON"), AddV2(MulV2F(screen_size(), 0.5f), win_offset), WHITE, 9.0f*visible}); - if(imbutton(centered_aabb(V2(screen_size().x/2.0f, screen_size().y*0.25f), MulV2F(V2(170.0f, 60.0f), visible)), 1.5f*visible, MD_S8Lit("Restart"))) + if(imbutton(aabb_centered(V2(screen_size().x/2.0f, screen_size().y*0.25f), MulV2F(V2(170.0f, 60.0f), visible)), 1.5f*visible, MD_S8Lit("Restart"))) { reset_level(); }