Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
nw4hbm::snd::detail::Util Class Reference

#include <Util.h>

Classes

struct  DataRef
 
struct  Table
 

Public Types

enum  RefType { REFTYPE_ADDRESS , REFTYPE_OFFSET }
 
enum  DataType {
  DATATYPE_T0 , DATATYPE_T1 , DATATYPE_T2 , DATATYPE_T3 ,
  DATATYPE_INVALID
}
 
typedef enum nw4hbm::snd::detail::Util::RefType RefType
 
typedef enum nw4hbm::snd::detail::Util::DataType DataType
 

Static Public Member Functions

template<typename T0 , typename T1 , typename T2 , typename T3 >
static const T0 * GetDataRefAddress0 (const DataRef< T0, T1, T2, T3 > &ref, const void *base)
 
template<typename T0 , typename T1 , typename T2 , typename T3 >
static const T1 * GetDataRefAddress1 (const DataRef< T0, T1, T2, T3 > &ref, const void *base)
 
template<typename T0 , typename T1 , typename T2 , typename T3 >
static const T2 * GetDataRefAddress2 (const DataRef< T0, T1, T2, T3 > &ref, const void *base)
 
template<typename T0 , typename T1 , typename T2 , typename T3 >
static const T3 * GetDataRefAddress3 (const DataRef< T0, T1, T2, T3 > &ref, const void *base)
 
static u16 ReadBigEndian (u16 x)
 
static u32 ReadBigEndian (u32 x)
 
static f32 CalcPitchRatio (int pitch)
 
static f32 CalcVolumeRatio (f32 db)
 
static f32 CalcPanRatio (f32 pan)
 
static f32 CalcSurroundPanRatio (f32 surroundPan)
 
static int CalcLpfFreq (f32 scale)
 
static u16 CalcRandom ()
 

Static Public Attributes

static const int SEMITONE_MAX = 12
 
static const int MICROTONE_MAX = 256
 
static const int VOLUME_MIN = static_cast<int>(10 * VOLUME_MIN_DB)
 
static const int VOLUME_MAX = static_cast<int>(10 * VOLUME_MAX_DB)
 

Static Private Member Functions

static const void * GetDataRefAddressImpl (RefType type, u32 value, const void *base)
 

Static Private Attributes

static const f32 NoteTable [SEMITONE_MAX]
 
static const f32 PitchTable [MICROTONE_MAX]
 
static const int VOLUME_TABLE_SIZE = VOLUME_RANGE_MB + 1
 
static const f32 Decibel2RatioTable [VOLUME_TABLE_SIZE]
 
static const int PAN_TABLE_MIN = 0
 
static const int PAN_TABLE_MAX = 256
 
static const int PAN_TABLE_CENTER = PAN_TABLE_MAX / 2
 
static const int PAN_TABLE_SIZE = PAN_TABLE_MAX + 1
 
static const f32 Pan2RatioTable [PAN_TABLE_SIZE]
 

Member Typedef Documentation

◆ DataType

◆ RefType

Member Enumeration Documentation

◆ DataType

Enumerator
DATATYPE_T0 
DATATYPE_T1 
DATATYPE_T2 
DATATYPE_T3 
DATATYPE_INVALID 

◆ RefType

Enumerator
REFTYPE_ADDRESS 
REFTYPE_OFFSET 

Member Function Documentation

◆ CalcLpfFreq()

static int nw4hbm::snd::detail::Util::CalcLpfFreq ( f32 scale)
static

◆ CalcPanRatio()

static f32 nw4hbm::snd::detail::Util::CalcPanRatio ( f32 pan)
static

◆ CalcPitchRatio()

static f32 nw4hbm::snd::detail::Util::CalcPitchRatio ( int pitch)
static

◆ CalcRandom()

static u16 nw4hbm::snd::detail::Util::CalcRandom ( )
static

◆ CalcSurroundPanRatio()

static f32 nw4hbm::snd::detail::Util::CalcSurroundPanRatio ( f32 surroundPan)
static

◆ CalcVolumeRatio()

static f32 nw4hbm::snd::detail::Util::CalcVolumeRatio ( f32 db)
static

◆ GetDataRefAddress0()

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

◆ GetDataRefAddress1()

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

◆ GetDataRefAddress2()

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

◆ GetDataRefAddress3()

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

◆ GetDataRefAddressImpl()

static const void * nw4hbm::snd::detail::Util::GetDataRefAddressImpl ( RefType type,
u32 value,
const void * base )
staticprivate

◆ ReadBigEndian() [1/2]

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

◆ ReadBigEndian() [2/2]

static u32 nw4hbm::snd::detail::Util::ReadBigEndian ( u32 x)
inlinestatic

Member Data Documentation

◆ Decibel2RatioTable

const f32 nw4hbm::snd::detail::Util::Decibel2RatioTable[VOLUME_TABLE_SIZE]
staticprivate

◆ MICROTONE_MAX

const int nw4hbm::snd::detail::Util::MICROTONE_MAX = 256
static

◆ NoteTable

const f32 nw4hbm::snd::detail::Util::NoteTable[SEMITONE_MAX]
staticprivate

◆ Pan2RatioTable

const f32 nw4hbm::snd::detail::Util::Pan2RatioTable[PAN_TABLE_SIZE]
staticprivate

◆ PAN_TABLE_CENTER

const int nw4hbm::snd::detail::Util::PAN_TABLE_CENTER = PAN_TABLE_MAX / 2
staticprivate

◆ PAN_TABLE_MAX

const int nw4hbm::snd::detail::Util::PAN_TABLE_MAX = 256
staticprivate

◆ PAN_TABLE_MIN

const int nw4hbm::snd::detail::Util::PAN_TABLE_MIN = 0
staticprivate

◆ PAN_TABLE_SIZE

const int nw4hbm::snd::detail::Util::PAN_TABLE_SIZE = PAN_TABLE_MAX + 1
staticprivate

◆ PitchTable

const f32 nw4hbm::snd::detail::Util::PitchTable[MICROTONE_MAX]
staticprivate

◆ SEMITONE_MAX

const int nw4hbm::snd::detail::Util::SEMITONE_MAX = 12
static

◆ VOLUME_MAX

const int nw4hbm::snd::detail::Util::VOLUME_MAX = static_cast<int>(10 * VOLUME_MAX_DB)
static

◆ VOLUME_MIN

const int nw4hbm::snd::detail::Util::VOLUME_MIN = static_cast<int>(10 * VOLUME_MIN_DB)
static

◆ VOLUME_TABLE_SIZE

const int nw4hbm::snd::detail::Util::VOLUME_TABLE_SIZE = VOLUME_RANGE_MB + 1
staticprivate

The documentation for this class was generated from the following file: