NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
nw4r::snd::detail::Util Class Reference

Description

Definition at line 19 of file snd_Util.h.

Classes

struct  DataRef
 
struct  PanInfo
 
struct  Table
 

Public Types

enum  RefType {
  REFTYPE_ADDRESS ,
  REFTYPE_OFFSET
}
 
enum  PanCurve {
  PAN_CURVE_SQRT ,
  PAN_CURVE_SINCOS ,
  PAN_CURVE_LINEAR
}
 

Public Member Functions

 STATIC_ASSERT (true)
 
 STATIC_ASSERT (true)
 
 STATIC_ASSERT (true)
 
 STATIC_ASSERT (true)
 

Static Public Member Functions

static f32 CalcPitchRatio (int pitch)
 
static f32 CalcVolumeRatio (f32 dB)
 
static f32 CalcPanRatio (f32 pan, PanInfo const &info)
 
static f32 CalcSurroundPanRatio (f32 pan, PanInfo const &info)
 
static u16 CalcLpfFreq (f32 scale)
 
static void GetRemoteFilterCoefs (int filter, u16 *b0, u16 *b1, u16 *b2, u16 *a1, u16 *a2)
 
static u16 CalcRandom ()
 
static void const * GetDataRefAddressImpl (RefType refType, ulong value, void const *baseAddress)
 
template<typename T0, typename T1, typename T2, typename T3>
static T0 const * GetDataRefAddress0 (Util::DataRef< T0, T1, T2, T3 > const &ref, void const *baseAddress)
 
template<typename T0, typename T1, typename T2, typename T3>
static T1 const * GetDataRefAddress1 (Util::DataRef< T0, T1, T2, T3 > const &ref, void const *baseAddress)
 
template<typename T0, typename T1, typename T2, typename T3>
static T2 const * GetDataRefAddress2 (Util::DataRef< T0, T1, T2, T3 > const &ref, void const *baseAddress)
 
template<typename T0, typename T1, typename T2, typename T3>
static T3 const * GetDataRefAddress3 (Util::DataRef< T0, T1, T2, T3 > const &ref, void const *baseAddress)
 
static u16 ReadBigEndian (u16 x)
 
static ulong ReadBigEndian (ulong x)
 

Static Public Attributes

static f32 const CALC_LPF_FREQ_INTERCEPT
 
static int const CALC_LPF_FREQ_TABLE_SIZE = 3 * 8
 
static int const BIQUAD_COEF_COUNT = 5
 
static int const IIR_COEF_COUNT
 
static int const COEF_TABLE_SIZE = 128
 
static int const COEF_TABLE_MAX = 127
 
static int const COEF_TABLE_MIN = 0
 
static int const PAN_TABLE_SIZE = 256 + 1
 
static int const PAN_TABLE_CENTER = 128
 
static int const PAN_TABLE_MIN = 0
 
static int const PAN_TABLE_MAX = 256
 
static int const DECIBEL_SQUARE_TABLE_SIZE
 
static int const DECIBEL_TABLE_SIZE = 964 + 1
 
static int const VOLUME_TABLE_SIZE
 
static int const OCTAVE_DIVISION = 12
 
static int const PAN_CURVE_NUM = 3
 
static int const CALC_DECIBEL_SCALE_MAX
 
static int const PITCH_DIVISION_RANGE = 256
 
static int const PITCH_DIVISION_BIT
 
static int const PAN_CENTER
 
static int const PAN_MAX
 
static int const PAN_MIN
 
static int const VOLUME_DB_MAX = 60
 
static int const VOLUME_DB_MIN = -904
 
static u16 const VOLUME_MAX
 
static u16 const VOLUME_MIN
 
static u16 const CalcLpfFreqTable [CALC_LPF_FREQ_TABLE_SIZE]
 
static u16 const RemoteFilterCoefTable [COEF_TABLE_SIZE][BIQUAD_COEF_COUNT]
 
static f32 const Pan2RatioTableLinear [PAN_TABLE_SIZE]
 
static f32 const Pan2RatioTableSinCos [PAN_TABLE_SIZE]
 
static f32 const Pan2RatioTableSqrt [PAN_TABLE_SIZE]
 
static f32 const * PanTableTable [PAN_CURVE_NUM]
 
static f32 const Decibel2RatioTable [DECIBEL_TABLE_SIZE]
 
static f32 const PitchTable [PITCH_DIVISION_RANGE]
 
static f32 const NoteTable [OCTAVE_DIVISION]
 

Member Enumeration Documentation

◆ RefType

enum nw4r::snd::detail::Util::RefType

Definition at line 23 of file snd_Util.h.

◆ PanCurve

enum nw4r::snd::detail::Util::PanCurve

Definition at line 30 of file snd_Util.h.

Member Function Documentation

◆ GetDataRefAddress0()

template<typename T0, typename T1, typename T2, typename T3>
static T0 const * nw4r::snd::detail::Util::GetDataRefAddress0 ( Util::DataRef< T0, T1, T2, T3 > const & ref,
void const * baseAddress )
inlinestatic

Definition at line 93 of file snd_Util.h.

◆ GetDataRefAddress1()

template<typename T0, typename T1, typename T2, typename T3>
static T1 const * nw4r::snd::detail::Util::GetDataRefAddress1 ( Util::DataRef< T0, T1, T2, T3 > const & ref,
void const * baseAddress )
inlinestatic

Definition at line 94 of file snd_Util.h.

◆ GetDataRefAddress2()

template<typename T0, typename T1, typename T2, typename T3>
static T2 const * nw4r::snd::detail::Util::GetDataRefAddress2 ( Util::DataRef< T0, T1, T2, T3 > const & ref,
void const * baseAddress )
inlinestatic

Definition at line 95 of file snd_Util.h.

◆ GetDataRefAddress3()

template<typename T0, typename T1, typename T2, typename T3>
static T3 const * nw4r::snd::detail::Util::GetDataRefAddress3 ( Util::DataRef< T0, T1, T2, T3 > const & ref,
void const * baseAddress )
inlinestatic

Definition at line 96 of file snd_Util.h.

◆ ReadBigEndian() [1/2]

static u16 nw4r::snd::detail::Util::ReadBigEndian ( u16 x)
inlinestatic

Definition at line 100 of file snd_Util.h.

◆ ReadBigEndian() [2/2]

static ulong nw4r::snd::detail::Util::ReadBigEndian ( ulong x)
inlinestatic

Definition at line 105 of file snd_Util.h.

Member Data Documentation

◆ CALC_LPF_FREQ_INTERCEPT

f32 const nw4r::snd::detail::Util::CALC_LPF_FREQ_INTERCEPT
static

Definition at line 110 of file snd_Util.h.

◆ CALC_LPF_FREQ_TABLE_SIZE

int const nw4r::snd::detail::Util::CALC_LPF_FREQ_TABLE_SIZE = 3 * 8
static

Definition at line 111 of file snd_Util.h.

◆ BIQUAD_COEF_COUNT

int const nw4r::snd::detail::Util::BIQUAD_COEF_COUNT = 5
static

Definition at line 112 of file snd_Util.h.

◆ IIR_COEF_COUNT

int const nw4r::snd::detail::Util::IIR_COEF_COUNT
static

Definition at line 113 of file snd_Util.h.

◆ COEF_TABLE_SIZE

int const nw4r::snd::detail::Util::COEF_TABLE_SIZE = 128
static

Definition at line 114 of file snd_Util.h.

◆ COEF_TABLE_MAX

int const nw4r::snd::detail::Util::COEF_TABLE_MAX = 127
static

Definition at line 115 of file snd_Util.h.

◆ COEF_TABLE_MIN

int const nw4r::snd::detail::Util::COEF_TABLE_MIN = 0
static

Definition at line 116 of file snd_Util.h.

◆ PAN_TABLE_SIZE

int const nw4r::snd::detail::Util::PAN_TABLE_SIZE = 256 + 1
static

Definition at line 117 of file snd_Util.h.

◆ PAN_TABLE_CENTER

int const nw4r::snd::detail::Util::PAN_TABLE_CENTER = 128
static

Definition at line 118 of file snd_Util.h.

◆ PAN_TABLE_MIN

int const nw4r::snd::detail::Util::PAN_TABLE_MIN = 0
static

Definition at line 119 of file snd_Util.h.

◆ PAN_TABLE_MAX

int const nw4r::snd::detail::Util::PAN_TABLE_MAX = 256
static

Definition at line 120 of file snd_Util.h.

◆ DECIBEL_SQUARE_TABLE_SIZE

int const nw4r::snd::detail::Util::DECIBEL_SQUARE_TABLE_SIZE
static

Definition at line 121 of file snd_Util.h.

◆ DECIBEL_TABLE_SIZE

int const nw4r::snd::detail::Util::DECIBEL_TABLE_SIZE = 964 + 1
static

Definition at line 122 of file snd_Util.h.

◆ VOLUME_TABLE_SIZE

int const nw4r::snd::detail::Util::VOLUME_TABLE_SIZE
static

Definition at line 123 of file snd_Util.h.

◆ OCTAVE_DIVISION

int const nw4r::snd::detail::Util::OCTAVE_DIVISION = 12
static

Definition at line 124 of file snd_Util.h.

◆ PAN_CURVE_NUM

int const nw4r::snd::detail::Util::PAN_CURVE_NUM = 3
static

Definition at line 125 of file snd_Util.h.

◆ CALC_DECIBEL_SCALE_MAX

int const nw4r::snd::detail::Util::CALC_DECIBEL_SCALE_MAX
static

Definition at line 126 of file snd_Util.h.

◆ PITCH_DIVISION_RANGE

int const nw4r::snd::detail::Util::PITCH_DIVISION_RANGE = 256
static

Definition at line 127 of file snd_Util.h.

◆ PITCH_DIVISION_BIT

int const nw4r::snd::detail::Util::PITCH_DIVISION_BIT
static

Definition at line 128 of file snd_Util.h.

◆ PAN_CENTER

int const nw4r::snd::detail::Util::PAN_CENTER
static

Definition at line 129 of file snd_Util.h.

◆ PAN_MAX

int const nw4r::snd::detail::Util::PAN_MAX
static

Definition at line 130 of file snd_Util.h.

◆ PAN_MIN

int const nw4r::snd::detail::Util::PAN_MIN
static

Definition at line 131 of file snd_Util.h.

◆ VOLUME_DB_MAX

int const nw4r::snd::detail::Util::VOLUME_DB_MAX = 60
static

Definition at line 132 of file snd_Util.h.

◆ VOLUME_DB_MIN

int const nw4r::snd::detail::Util::VOLUME_DB_MIN = -904
static

Definition at line 133 of file snd_Util.h.

◆ VOLUME_MAX

u16 const nw4r::snd::detail::Util::VOLUME_MAX
static

Definition at line 134 of file snd_Util.h.

◆ VOLUME_MIN

u16 const nw4r::snd::detail::Util::VOLUME_MIN
static

Definition at line 135 of file snd_Util.h.

◆ CalcLpfFreqTable

u16 const nw4r::snd::detail::Util::CalcLpfFreqTable[CALC_LPF_FREQ_TABLE_SIZE]
static

Definition at line 137 of file snd_Util.h.

◆ RemoteFilterCoefTable

u16 const nw4r::snd::detail::Util::RemoteFilterCoefTable[COEF_TABLE_SIZE][BIQUAD_COEF_COUNT]
static

Definition at line 138 of file snd_Util.h.

◆ Pan2RatioTableLinear

f32 const nw4r::snd::detail::Util::Pan2RatioTableLinear[PAN_TABLE_SIZE]
static

Definition at line 139 of file snd_Util.h.

◆ Pan2RatioTableSinCos

f32 const nw4r::snd::detail::Util::Pan2RatioTableSinCos[PAN_TABLE_SIZE]
static

Definition at line 140 of file snd_Util.h.

◆ Pan2RatioTableSqrt

f32 const nw4r::snd::detail::Util::Pan2RatioTableSqrt[PAN_TABLE_SIZE]
static

Definition at line 141 of file snd_Util.h.

◆ PanTableTable

f32 const* nw4r::snd::detail::Util::PanTableTable[PAN_CURVE_NUM]
static

Definition at line 142 of file snd_Util.h.

◆ Decibel2RatioTable

f32 const nw4r::snd::detail::Util::Decibel2RatioTable[DECIBEL_TABLE_SIZE]
static

Definition at line 143 of file snd_Util.h.

◆ PitchTable

f32 const nw4r::snd::detail::Util::PitchTable[PITCH_DIVISION_RANGE]
static

Definition at line 144 of file snd_Util.h.

◆ NoteTable

f32 const nw4r::snd::detail::Util::NoteTable[OCTAVE_DIVISION]
static

Definition at line 145 of file snd_Util.h.