3 struct vg_convar debug_cvars
[] =
5 { .name
= "debug_sfx", .data
= &debug_sfx
, .data_type
= k_convar_dtype_i32
}
8 static void sfx_internal_debug_overlay(void)
20 u32 buffer_length
, clip_start
, clip_end
;
22 infos
[ SFX_MAX_SYSTEMS
];
28 num_systems
= sfx_sys_len
;
30 for( int i
= 0; i
< sfx_sys_len
; i
++ )
32 sfx_system
*sys
= sfx_sys
+ i
;
33 struct sound_info
*snd
= &infos
[ i
];
35 //snd->signal = sys->signal_average;
36 snd
->name
= sys
->name
;
37 snd
->cursor
= sys
->cur
;
38 snd
->flags
= sys
->flags
;
39 snd
->clip_start
= sys
->clip_start
;
40 snd
->clip_end
= sys
->clip_end
;
41 snd
->buffer_length
= sys
->buffer_length
;
43 strcpy( perf
, sfx_performance_info
);
48 ui_global_ctx
.cursor
[0] = 10;
49 ui_global_ctx
.cursor
[1] = 10;
50 ui_global_ctx
.cursor
[2] = 150;
51 ui_global_ctx
.cursor
[3] = 12;
52 ui_text( &ui_global_ctx
, ui_global_ctx
.cursor
, perf
, 1, 0 );
53 ui_global_ctx
.cursor
[1] += 20;
57 for( int i
= 0; i
< num_systems
; i
++ )
59 ui_global_ctx
.cursor
[2] = 150;
60 ui_global_ctx
.cursor
[3] = 12;
62 u32 alpha
= (infos
[i
].flags
& SFX_FLAG_PERSISTENT
)? 0xff000000: 0x22000000;
64 ui_new_node( &ui_global_ctx
);
66 ui_fill_rect( &ui_global_ctx
, ui_global_ctx
.cursor
, 0x00333333 | alpha
);
68 ui_px baseline
= ui_global_ctx
.cursor
[0];
69 ui_px width_block_1
= (ui_px
)(((float)infos
[i
].clip_start
/ (float)infos
[i
].buffer_length
) * 150.0f
);
70 ui_px width_block_2
= (ui_px
)(((float)(infos
[i
].buffer_length
-infos
[i
].clip_end
) / (float)infos
[i
].buffer_length
) * 150.0f
);
72 ui_global_ctx
.cursor
[2] = width_block_1
;
73 ui_fill_rect( &ui_global_ctx
, ui_global_ctx
.cursor
, 0x77ffffff );
75 ui_global_ctx
.cursor
[2] = width_block_2
;
76 ui_align_right( &ui_global_ctx
);
77 ui_fill_rect( &ui_global_ctx
, ui_global_ctx
.cursor
, 0x77ffffff );
81 ui_global_ctx
.cursor
[2] = 2;
82 ui_global_ctx
.cursor
[0] = baseline
+ (ui_px
)(((float)infos
[i
].cursor
/ (float)infos
[i
].buffer_length
) * 150.0f
);
83 ui_fill_rect( &ui_global_ctx
, ui_global_ctx
.cursor
, 0xffffffff );
85 ui_global_ctx
.cursor
[0] = baseline
+ 2;
86 ui_global_ctx
.cursor
[1] += 2;
87 ui_text( &ui_global_ctx
, ui_global_ctx
.cursor
, infos
[i
].name
, 1, 0 );
89 ui_end_down( &ui_global_ctx
);
90 ui_global_ctx
.cursor
[1] += 1;
94 static void vg_debugtools_draw(void)
96 sfx_internal_debug_overlay();
99 static void vg_debugtools_setup(void)
101 for( int i
= 0; i
< vg_list_size( debug_cvars
); i
++ )
103 vg_convar_push( debug_cvars
[i
] );