From b326324c841ada6b93a8525c0b69fed82eb1b113 Mon Sep 17 00:00:00 2001 From: Cameron Reikes Date: Mon, 31 Jul 2023 19:55:57 -0700 Subject: [PATCH] Only mark dialog unread if they said something, debug draw memories that have speech --- main.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index 12255e3..0e449f9 100644 --- a/main.c +++ b/main.c @@ -6210,7 +6210,8 @@ ISANERROR("Don't know how to do this stuff on this platform.") new_unread = MD_PushArray(persistent_arena, ListOfEntities, 1); } new_unread->referring_to = frome(it); - MD_DblPushBack(unread_first, unread_last, new_unread); + if(out.speech_length > 0) + MD_DblPushBack(unread_first, unread_last, new_unread); } else { @@ -7434,7 +7435,6 @@ ISANERROR("Don't know how to do this stuff on this platform.") draw_quad((DrawParams){quad_at(V2(screen_size().x - depth_size.x, screen_size().y), depth_size), IMG(state.shadows.color_img), WHITE, .layer = LAYER_UI_FG}); draw_quad((DrawParams){quad_at(V2(0.0, screen_size().y/2.0f), MulV2F(screen_size(), 0.1f)), IMG(state.outline_pass_image), WHITE, .layer = LAYER_UI_FG}); - //dbgsquare(mouse_pos); Vec3 view_cam_pos = MulM4V4(InvGeneralM4(view), V4(0,0,0,1)).xyz; Vec3 world_mouse = screenspace_point_to_camera_point(mouse_pos); Vec3 mouse_ray = NormV3(SubV3(world_mouse, view_cam_pos)); @@ -7446,10 +7446,25 @@ ISANERROR("Don't know how to do this stuff on this platform.") dbgcol(PINK) { dbgplanerect(entity_aabb(*it)); + + // debug draw memories of hovered + Entity *to_view = *it; + Vec2 start_at = V2(0,300); + Vec2 cur_pos = start_at; + + AABB bounds = draw_text((TextParams){false, MD_S8Fmt(frame_arena, "--Memories for %s--", characters[to_view->npc_kind].name), cur_pos, WHITE, 1.0}); + cur_pos.y -= aabb_size(bounds).y; + + for(Memory *cur = to_view->memories_first; cur; cur = cur->next) + if(cur->speech_length > 0) + { + MD_String8 text = MD_S8Fmt(frame_arena, "%s%s: %.*s", to_view->npc_kind == cur->context.author_npc_kind ? "(Me) " : "", characters[cur->context.author_npc_kind].name, cur->speech_length, cur->speech); + AABB bounds = draw_text((TextParams){false, text, cur_pos, WHITE, 1.0}); + cur_pos.y -= aabb_size(bounds).y; + } } break; } - //dbgsquare3d(plane_point(gs.player->pos)); Vec2 pos = V2(0.0, screen_size().Y); int num_entities = 0;