+
+ if( inf->flags & AUDIO_FLAG_SPACIAL_3D )
+ {
+ v4f wpos;
+ v3_copy( inf->pos, wpos );
+ wpos[3] = 1.0f;
+ m4x4_mulv( mtx_pv, wpos, wpos );
+
+ if( wpos[3] < 0.0f )
+ goto projected_behind;
+
+ v2_muls( wpos, (1.0f/wpos[3]) * 0.5f, wpos );
+ v2_add( wpos, (v2f){ 0.5f, 0.5f }, wpos );
+
+ ui_rect wr;
+ wr[0] = wpos[0] * vg_window_x;
+ wr[1] = (1.0f-wpos[1]) * vg_window_y;
+ wr[2] = 100;
+ wr[3] = 17;
+
+ for( int j=0; j<12; j++ )
+ {
+ int collide = 0;
+ for( int k=0; k<overlap_length; k++ )
+ {
+ ui_px *wk = overlap_buffer[k];
+ if( ((wr[0] <= wk[0]+wk[2]) && (wr[0]+wr[2] >= wk[0])) &&
+ ((wr[1] <= wk[1]+wk[3]) && (wr[1]+wr[3] >= wk[1])) )
+ {
+ collide = 1;
+ break;
+ }
+ }
+
+ if( !collide )
+ break;
+ else
+ wr[1] += 18;
+ }
+
+ ui_text( &ui_global_ctx, wr, perf, 1, 0 );
+
+ ui_rect_copy( wr, overlap_buffer[ overlap_length ++ ] );
+ }