seperate rand instances for each thread
[carveJwlIkooP6JGAAIwe30JlM.git] / player_skate.c
index c70d1f39b9ea4f4b0fbe91322ff7ea731670a4fd..7f4bc37f741991deb72b99cca2495cfe0a2731af 100644 (file)
@@ -746,7 +746,7 @@ static void skate_apply_trick_model(void){
          v3_zero( state->trick_vel );
 
          audio_lock();
-         audio_oneshot_3d( &audio_flips[vg_randu32()%4], 
+         audio_oneshot_3d( &audio_flips[vg_randu32(&vg.rand)%4], 
                localplayer.rb.co, 40.0f, 1.0f );
          audio_unlock();
       }
@@ -1105,7 +1105,7 @@ static void player__skate_pre_update(void){
       if( (trick = player_skate_trick_input()) ){
          if( state->trick_time == 0.0f ){
             audio_lock();
-            audio_oneshot_3d( &audio_flips[vg_randu32()%4], 
+            audio_oneshot_3d( &audio_flips[vg_randu32(&vg.rand)%4], 
                   localplayer.rb.co, 40.0f, 1.0f );
             audio_unlock();
          }
@@ -2671,7 +2671,7 @@ static void player__skate_animate(void){
 
    float curspeed  = v3_length( localplayer.rb.v ),
          kickspeed = vg_clampf( curspeed*(1.0f/40.0f), 0.0f, 1.0f ),
-         kicks     = (vg_randf64()-0.5f)*2.0f*kickspeed,
+         kicks     = (vg_randf64(&vg.rand)-0.5f)*2.0f*kickspeed,
          sign      = vg_signf( kicks );
 
    animator->wobble[0] = vg_lerpf( animator->wobble[0], kicks*kicks*sign, 
@@ -3311,16 +3311,20 @@ static void player__skate_sfx_oneshot( u8 id, v3f pos, f32 volume ){
    audio_lock();
 
    if( id == k_player_skate_soundeffect_jump ){
-      audio_oneshot_3d( &audio_jumps[vg_randu32()%2], pos, 40.0f, volume );
+      audio_oneshot_3d( &audio_jumps[vg_randu32(&vg.rand)%2], 
+                        pos, 40.0f, volume );
    }
    else if( id == k_player_skate_soundeffect_tap ){
-      audio_oneshot_3d( &audio_taps[vg_randu32()%4], pos, 40.0f, volume );
+      audio_oneshot_3d( &audio_taps[vg_randu32(&vg.rand)%4], 
+                        pos, 40.0f, volume );
    }
    else if( id == k_player_skate_soundeffect_land_good ){
-      audio_oneshot_3d( &audio_lands[vg_randu32()%3], pos, 40.0f, volume );
+      audio_oneshot_3d( &audio_lands[vg_randu32(&vg.rand)%3], 
+                        pos, 40.0f, volume );
    }
    else if( id == k_player_skate_soundeffect_land_bad ){
-      audio_oneshot_3d( &audio_lands[vg_randu32()%2+3], pos, 40.0f, volume );
+      audio_oneshot_3d( &audio_lands[vg_randu32(&vg.rand)%2+3], 
+                        pos, 40.0f, volume );
    }
    else if( id == k_player_skate_soundeffect_grind_metal ){
       audio_oneshot_3d( &audio_board[3], pos, 40.0f, volume );