/*
* Wait until the current stack of async calls is completely flushed out
*/
-static void vg_async_stall(void)
-{
+static void vg_async_stall(void){
vg_assert_thread(k_thread_purpose_loader);
+#if 0
vg_info( "async_stall: %d\n", SDL_SemValue( vg_async.sem_wait_for_flush ) );
+#endif
SDL_SemWait( vg_async.sem_wait_for_flush );
}
v3_add( v1, v2, d );
}
-static f32 q_dist( v4f q0, v3f q1 ){
+static f32 q_dist( v4f q0, v4f q1 ){
return acosf( 2.0f * v4_dot(q0,q1) -1.0f );
}
vg_strcat( str, "0" );
}
+static void vg_strcati32r( vg_str *str, i32 value, i32 n, char alt ){
+ char temp[32];
+ i32 i=0;
+ while( value ){
+ if( i>=n )
+ break;
+
+ temp[ n-1 - (i ++) ] = '0' + (value % 10);
+ value /= 10;
+ }
+
+ for( ;i<n; i ++ )
+ temp[ n-1 - i ] = alt;
+
+ temp[n]='\0';
+ vg_strcat( str, temp );
+}
+
static int vg_strgood( vg_str *str ){
if( str->i == -1 ) return 0;
else return 1;