Firelight Technologies FMOD Studio API
When FMOD wants to calculate 3d volume for a channel, this callback can be used to override the internal volume calculation based on distance.
FMOD_RESULT System::set3DRolloffCallback(
FMOD_3D_ROLLOFF_CALLBACK callback
);
FMOD_RESULT FMOD_System_Set3DRolloffCallback(
FMOD_SYSTEM *system,
FMOD_3D_ROLLOFF_CALLBACK callback
);
If the function succeeds then the return value is FMOD_OK.
If the function fails then the return value will be one of the values defined in the FMOD_RESULT enumeration.
This function overrides FMOD_3D_INVERSEROLLOFF, FMOD_3D_LINEARROLLOFF, FMOD_3D_LINEARSQUAREROLLOFF, FMOD_3D_CUSTOMROLLOFF. To allow FMOD to calculate the 3d volume again, use 0 or NULL as the callback.
NOTE: When using the event system, call Channel::getUserData from your FMOD_3D_ROLLOFF_CALLBACK to get the event instance handle of the event that spawned the channel in question.
Version 1.03.06 Built on Apr 17, 2014