+ for( u32 j=0; j<AUDIO_MIX_FRAME_SIZE; j++ )
+ {
+ /*
+ * there is some REALLY weird behaviour with minss,
+ * i cannot begin to guess what the cause is, but the bahaviour when
+ * the second argument is not 1.0 would seemingly tripple or up to
+ * eight times this routine.
+ *
+ * the times it would happen are when moving from empty space into areas
+ * with geometry. in the bvh for skate rift.
+ *
+ * it should be completely unrelated to this, but somehow -- it is
+ * effecting the speed of minss. and severely at that too.
+ **/
+
+ volume_movement += 1.0f;
+ float movement_t = volume_movement * inv_volume_rate;
+ movement_t = vg_minf( volume_movement, 1.0f );
+ volume = vg_lerpf( volume_start, volume_target, movement_t );
+
+ float vol_norm = volume * volume;