#include "Soundswi.h"

#include <math.h>
#include "swis.h"

#include "Options.h"

unsigned int Sound_SystemScaleVolume(unsigned int val)
{
	if (Options()->Player.bIgnoreSystemVolume == true)
		return val;

	unsigned int sysvol;

	// Get configured volume with Sound_Volume
	if (_swix(0x040180, _IN(0)|_OUT(0), 0, &sysvol))
		return val;

	val = (int) (val / pow(1.044273782, 127. - (double) sysvol));
	return val;
}
