X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg%2Fvg_debug.h;h=16dbbe1592927915a7a573d9048b051543ae4a3e;hb=8cb8f5f155460ca783ecc9d5edc29f924a1f3238;hp=333aed82ddc819b694a28315312e183962912903;hpb=f8e80fde4a84a6b990ec17c067b2a95847ae744c;p=fishladder.git diff --git a/vg/vg_debug.h b/vg/vg_debug.h index 333aed8..16dbbe1 100644 --- a/vg/vg_debug.h +++ b/vg/vg_debug.h @@ -1,5 +1,15 @@ +int debug_sfx = 0; + +struct vg_convar debug_cvars[] = +{ + { .name = "debug_sfx", .data = &debug_sfx, .data_type = k_convar_dtype_i32 } +}; + static void sfx_internal_debug_overlay(void) { + if( !debug_sfx ) + return; + // Grab values struct sound_info { @@ -21,39 +31,19 @@ static void sfx_internal_debug_overlay(void) sfx_system *sys = sfx_sys + i; struct sound_info *snd = &infos[ i ]; - snd->signal = sys->signal_average; + //snd->signal = sys->signal_average; snd->name = sys->name; snd->cursor = sys->cur; snd->flags = sys->flags; - - if( sys->thread_clone ) - { - snd->clip_start = sys->thread_clone->clip_start; - snd->clip_end = sys->thread_clone->clip_end; - snd->buffer_length = sys->thread_clone->buffer_length; - } - else - { - snd->clip_start = 0; - snd->clip_end = sys->end; - snd->buffer_length = sys->end; - } + snd->clip_start = sys->clip_start; + snd->clip_end = sys->clip_end; + snd->buffer_length = sys->buffer_length; } MUTEX_UNLOCK( sfx_mux_t01 ); // UI part // ======== - - ui_begin( &ui_global_ctx, vg_window_x, vg_window_y ); - - // TODO: Find a more elegent form for this - int mouse_state = 0; - if( vg_get_button( "primary" ) ) mouse_state = 2; - if( vg_get_button_down( "primary" ) ) mouse_state = 1; - if( vg_get_button_up( "primary" ) ) mouse_state = 3; - - ui_set_mouse( &ui_global_ctx, vg_mouse[0], vg_mouse[1], mouse_state ); // Draw audio stack for( int i = 0; i < num_systems; i ++ ) @@ -61,7 +51,7 @@ static void sfx_internal_debug_overlay(void) ui_global_ctx.cursor[2] = 150; ui_global_ctx.cursor[3] = 12; - u32 alpha = (infos[i].flags & SFX_FLAG_GHOST)? 0x44000000: 0xff000000; + u32 alpha = (infos[i].flags & SFX_FLAG_PERSISTENT)? 0xff000000: 0x22000000; ui_new_node( &ui_global_ctx ); { @@ -86,18 +76,22 @@ static void sfx_internal_debug_overlay(void) ui_global_ctx.cursor[0] = baseline + 2; ui_global_ctx.cursor[1] += 2; - ui_text( &ui_global_ctx, infos[i].name, 1, 0 ); + ui_text( &ui_global_ctx, infos[i].name, 1 ); } ui_end_down( &ui_global_ctx ); ui_global_ctx.cursor[1] += 1; } - - ui_resolve( &ui_global_ctx ); - - m3x3f view = M3X3_IDENTITY; - m3x3_translate( view, (v3f){ -1.0f, 1.0f, 0.0f } ); - m3x3_scale( view, (v3f){ 1.0f/((float)vg_window_x*0.5f), -1.0f/((float)vg_window_y*0.5f), 1.0f } ); - vg_lines_drawall( (float*)view ); - - ui_draw( &ui_global_ctx ); +} + +static void vg_debugtools_draw(void) +{ + sfx_internal_debug_overlay(); +} + +static void vg_debugtools_setup(void) +{ + for( int i = 0; i < vg_list_size( debug_cvars ); i ++ ) + { + vg_convar_push( debug_cvars[i] ); + } }