X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg%2Fvg_debug.h;h=333aed82ddc819b694a28315312e183962912903;hb=95036f2af35f1b5af66bfcd90811f7c3c4bebf78;hp=9f0ac1c81eb3ee33d5870934093867a3531b0ecc;hpb=026b67150e9bd238709a6aeab656f7d01f3765a8;p=fishladder.git diff --git a/vg/vg_debug.h b/vg/vg_debug.h index 9f0ac1c..333aed8 100644 --- a/vg/vg_debug.h +++ b/vg/vg_debug.h @@ -5,7 +5,9 @@ static void sfx_internal_debug_overlay(void) { float signal; const char *name; - u32 length, cursor, flags; + u32 cursor, flags; + + u32 buffer_length, clip_start, clip_end; } infos[ SFX_MAX_SYSTEMS ]; int num_systems; @@ -21,9 +23,21 @@ static void sfx_internal_debug_overlay(void) snd->signal = sys->signal_average; snd->name = sys->name; - snd->length = sys->end; snd->cursor = sys->cur; - snd->flags = sys->flags; + 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; + } } MUTEX_UNLOCK( sfx_mux_t01 ); @@ -44,19 +58,35 @@ static void sfx_internal_debug_overlay(void) // Draw audio stack for( int i = 0; i < num_systems; i ++ ) { - ui_global_ctx.cursor[2] = 300; - ui_global_ctx.cursor[3] = 25; + ui_global_ctx.cursor[2] = 150; + ui_global_ctx.cursor[3] = 12; u32 alpha = (infos[i].flags & SFX_FLAG_GHOST)? 0x44000000: 0xff000000; ui_new_node( &ui_global_ctx ); - { + { ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x00333333 | alpha ); - ui_global_ctx.cursor[2] = (int)(((float)infos[i].cursor / (float)infos[i].length) * 300.0f); + ui_px baseline = ui_global_ctx.cursor[0]; + ui_px width_block_1 = (ui_px)(((float)infos[i].clip_start / (float)infos[i].buffer_length) * 150.0f); + ui_px width_block_2 = (ui_px)(((float)(infos[i].buffer_length-infos[i].clip_end) / (float)infos[i].buffer_length) * 150.0f ); + + ui_global_ctx.cursor[2] = width_block_1; ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x77ffffff ); - ui_text( &ui_global_ctx, infos[i].name, 2, 0 ); + ui_global_ctx.cursor[2] = width_block_2; + ui_align_right( &ui_global_ctx ); + ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x77ffffff ); + + // Cursor + + ui_global_ctx.cursor[2] = 2; + ui_global_ctx.cursor[0] = baseline + (ui_px)(((float)infos[i].cursor / (float)infos[i].buffer_length) * 150.0f); + ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0xffffffff ); + + ui_global_ctx.cursor[0] = baseline + 2; + ui_global_ctx.cursor[1] += 2; + ui_text( &ui_global_ctx, infos[i].name, 1, 0 ); } ui_end_down( &ui_global_ctx ); ui_global_ctx.cursor[1] += 1;