cross compile build script
[fishladder.git] / vg / vg_debug.h
index 333aed82ddc819b694a28315312e183962912903..1360548d80520b174b06b4474961896ef9e9bd90 100644 (file)
@@ -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, ui_global_ctx.cursor, infos[i].name, 1, 0 );
                }
                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] );
+       }
 }