checkpoint

This commit is contained in:
Ryan Fleury
2024-09-07 13:37:35 -07:00
parent 5ad8d523ba
commit 3631de648b
17 changed files with 1362 additions and 671 deletions
+6 -47
View File
@@ -616,10 +616,6 @@ global U64 ipc_s2m_ring_read_pos = 0;
global OS_Handle ipc_s2m_ring_mutex = {0};
global OS_Handle ipc_s2m_ring_cv = {0};
//- rjf: main thread log
global Log *main_thread_log = 0;
global String8 main_thread_log_path = {0};
////////////////////////////////
//~ rjf: IPC Signaler Thread
@@ -671,35 +667,7 @@ internal B32
frame(void)
{
ProfBeginFunction();
Temp scratch = scratch_begin(0, 0);
//- rjf: begin logging
if(main_thread_log == 0)
{
main_thread_log = log_alloc();
String8 user_program_data_path = os_get_process_info()->user_program_data_path;
String8 user_data_folder = push_str8f(scratch.arena, "%S/raddbg/logs", user_program_data_path);
main_thread_log_path = push_str8f(d_state->arena, "%S/ui_thread.raddbg_log", user_data_folder);
os_make_directory(user_data_folder);
os_write_data_to_file_path(main_thread_log_path, str8_zero());
}
log_select(main_thread_log);
log_scope_begin();
//- rjf: do frontend frame
df_frame();
//- rjf: end logging
{
LogScopeResult log = log_scope_end(scratch.arena);
os_append_data_to_file_path(main_thread_log_path, log.strings[LogMsgKind_Info]);
if(log.strings[LogMsgKind_UserError].size != 0)
{
d_error(log.strings[LogMsgKind_UserError]);
}
}
scratch_end(scratch);
ProfEnd();
return df_state->quit;
}
@@ -910,30 +878,21 @@ entry_point(CmdLine *cmd_line)
break;
}
}
if(dst_window != 0) D_RegsScope
if(dst_window != 0 && dst_window != &df_nil_window) DF_RegsScope(.window = dst_window->handle)
{
df_regs_set_window(dst_window);
dst_window->window_temporarily_focused_ipc = 1;
U64 first_space_pos = str8_find_needle(msg, 0, str8_lit(" "), 0);
String8 msg_kind_name = lower_from_str8(scratch.arena, str8_prefix(msg, first_space_pos));
String8 args_string = str8_skip(msg, first_space_pos);
args_string = str8_skip_chop_whitespace(args_string);
D_MsgKind d_kind = d_msg_kind_from_string(msg_kind_name);
DF_MsgKind df_kind = df_msg_kind_from_string(msg_kind_name);
DF_MsgQuery query = (d_kind != D_MsgKind_Null ? df_d_msg_kind_info_table[d_kind].query :
df_kind != DF_MsgKind_Null? df_msg_kind_info_table[df_kind].query :
(DF_MsgQuery){0});
DF_MsgKind kind = df_msg_kind_from_string(msg_kind_name);
DF_MsgQuery query = df_msg_kind_info_table[kind].query;
df_regs_set_from_query_slot_string(query.slot, args_string);
if(d_kind != D_MsgKind_Null)
if(kind != DF_MsgKind_Null)
{
d_msg(d_kind);
df_msg(kind);
}
if(df_kind != DF_MsgKind_Null)
{
df_msg(df_kind);
}
if(d_kind == D_MsgKind_Null &&
df_kind == DF_MsgKind_Null)
else
{
log_user_errorf("\"%S\" is not a command.", msg_kind_name);
}