|
SpaghettiKart
|
#include <stdbool.h>#include <stdint.h>#include <string.h>#include <stdio.h>#include <align_asset_macro.h>#include "mixer.h"Macros | |
| #define | aUnkCmd19(pkt, a1, a2, a3, a4) |
| #define | ROUND_UP_64(v) |
| #define | ROUND_UP_32(v) |
| #define | ROUND_UP_16(v) |
| #define | ROUND_UP_8(v) |
| #define | ROUND_DOWN_16(v) |
| #define | DMEM_BUF_SIZE 0x17D0 |
| #define | BUF_U8(a) |
| #define | BUF_S16(a) |
Functions | |
| static int16_t | clamp16 (int32_t v) |
| static int32_t | clamp32 (int64_t v) |
| void | aClearBufferImpl (uint16_t addr, int nbytes) |
| void | aLoadBufferImpl (const void *source_addr, uint16_t dest_addr, uint16_t nbytes) |
| void | aSaveBufferImpl (uint16_t source_addr, int16_t *dest_addr, uint16_t nbytes) |
| void | aLoadADPCMImpl (int num_entries_times_16, const int16_t *book_source_addr) |
| void | aSetBufferImpl (uint8_t flags, uint16_t in, uint16_t out, uint16_t nbytes) |
| void | aInterleaveImpl (uint16_t left, uint16_t right) |
| void | aDMEMMoveImpl (uint16_t in_addr, uint16_t out_addr, int nbytes) |
| void | aSetLoopImpl (ADPCM_STATE *adpcm_loop_state) |
| void | aADPCMdecImpl (uint8_t flags, ADPCM_STATE state) |
| void | aResampleImpl (uint8_t flags, uint16_t pitch, RESAMPLE_STATE state) |
| void | aEnvSetup1Impl (uint8_t initial_vol_wet, uint16_t rate_wet, uint16_t rate_left, uint16_t rate_right) |
| void | aEnvSetup2Impl (uint16_t initial_vol_left, uint16_t initial_vol_right) |
| void | aEnvMixerImpl (uint16_t in_addr, uint16_t n_samples, bool swap_reverb, bool neg_left, bool neg_right, uint16_t dry_left_addr, uint16_t dry_right_addr, uint16_t wet_left_addr, uint16_t wet_right_addr) |
| void | aMixImpl (int16_t gain, uint16_t in_addr, uint16_t out_addr, uint16_t count) |
| void | aS8DecImpl (uint8_t flags, ADPCM_STATE state) |
| void | aAddMixerImpl (uint16_t count, uint16_t in_addr, uint16_t out_addr) |
| void | aDuplicateImpl (uint16_t count, uint16_t in_addr, uint16_t out_addr) |
| void | aDMEMMove2Impl (uint8_t t, uint16_t in_addr, uint16_t out_addr, uint16_t count) |
| void | aResampleZohImpl (uint16_t pitch, uint16_t start_fract) |
| void | aDownsampleHalfImpl (uint16_t n_samples, uint16_t in_addr, uint16_t out_addr) |
| void | aInterlImpl (uint16_t in_addr, uint16_t out_addr, uint16_t n_samples) |
| void | aFilterImpl (uint8_t flags, uint16_t count_or_buf, int16_t *state_or_filter) |
| void | aHiLoGainImpl (uint8_t g, uint16_t count, uint16_t addr) |
| void | aUnkCmd3Impl (uint16_t a, uint16_t b, uint16_t c) |
| void | aUnkCmd19Impl (uint8_t f, uint16_t count, uint16_t out_addr, uint16_t in_addr) |
Variables | ||
| struct { | ||
| uint16_t in | ||
| uint16_t out | ||
| uint16_t nbytes | ||
| uint16_t vol [2] | ||
| uint16_t rate [2] | ||
| uint16_t vol_wet | ||
| uint16_t rate_wet | ||
| ADPCM_STATE * adpcm_loop_state | ||
| int16_t adpcm_table [8][2][8] | ||
| uint16_t filter_count | ||
| int16_t filter [8] | ||
| union { | ||
| int16_t as_s16 [DMEM_BUF_SIZE/sizeof(int16_t)] | ||
| uint8_t as_u8 [DMEM_BUF_SIZE] | ||
| } buf | ||
| } | rspa | |
| static int16_t | resample_table [64][4] | |
| #define aUnkCmd19 | ( | pkt, | |
| a1, | |||
| a2, | |||
| a3, | |||
| a4 ) |
| #define BUF_S16 | ( | a | ) |
| #define BUF_U8 | ( | a | ) |
| #define DMEM_BUF_SIZE 0x17D0 |
| #define ROUND_DOWN_16 | ( | v | ) |
| #define ROUND_UP_16 | ( | v | ) |
| #define ROUND_UP_32 | ( | v | ) |
| #define ROUND_UP_64 | ( | v | ) |
| #define ROUND_UP_8 | ( | v | ) |
| void aAddMixerImpl | ( | uint16_t | count, |
| uint16_t | in_addr, | ||
| uint16_t | out_addr ) |
| void aADPCMdecImpl | ( | uint8_t | flags, |
| ADPCM_STATE | state ) |
| void aClearBufferImpl | ( | uint16_t | addr, |
| int | nbytes ) |
| void aDMEMMove2Impl | ( | uint8_t | t, |
| uint16_t | in_addr, | ||
| uint16_t | out_addr, | ||
| uint16_t | count ) |
| void aDMEMMoveImpl | ( | uint16_t | in_addr, |
| uint16_t | out_addr, | ||
| int | nbytes ) |
| void aDownsampleHalfImpl | ( | uint16_t | n_samples, |
| uint16_t | in_addr, | ||
| uint16_t | out_addr ) |
| void aDuplicateImpl | ( | uint16_t | count, |
| uint16_t | in_addr, | ||
| uint16_t | out_addr ) |
| void aEnvMixerImpl | ( | uint16_t | in_addr, |
| uint16_t | n_samples, | ||
| bool | swap_reverb, | ||
| bool | neg_left, | ||
| bool | neg_right, | ||
| uint16_t | dry_left_addr, | ||
| uint16_t | dry_right_addr, | ||
| uint16_t | wet_left_addr, | ||
| uint16_t | wet_right_addr ) |
| void aEnvSetup1Impl | ( | uint8_t | initial_vol_wet, |
| uint16_t | rate_wet, | ||
| uint16_t | rate_left, | ||
| uint16_t | rate_right ) |
| void aEnvSetup2Impl | ( | uint16_t | initial_vol_left, |
| uint16_t | initial_vol_right ) |
| void aFilterImpl | ( | uint8_t | flags, |
| uint16_t | count_or_buf, | ||
| int16_t * | state_or_filter ) |
| void aHiLoGainImpl | ( | uint8_t | g, |
| uint16_t | count, | ||
| uint16_t | addr ) |
| void aInterleaveImpl | ( | uint16_t | left, |
| uint16_t | right ) |
| void aInterlImpl | ( | uint16_t | in_addr, |
| uint16_t | out_addr, | ||
| uint16_t | n_samples ) |
| void aLoadADPCMImpl | ( | int | num_entries_times_16, |
| const int16_t * | book_source_addr ) |
| void aLoadBufferImpl | ( | const void * | source_addr, |
| uint16_t | dest_addr, | ||
| uint16_t | nbytes ) |
| void aMixImpl | ( | int16_t | gain, |
| uint16_t | in_addr, | ||
| uint16_t | out_addr, | ||
| uint16_t | count ) |
| void aResampleImpl | ( | uint8_t | flags, |
| uint16_t | pitch, | ||
| RESAMPLE_STATE | state ) |
| void aResampleZohImpl | ( | uint16_t | pitch, |
| uint16_t | start_fract ) |
| void aS8DecImpl | ( | uint8_t | flags, |
| ADPCM_STATE | state ) |
| void aSaveBufferImpl | ( | uint16_t | source_addr, |
| int16_t * | dest_addr, | ||
| uint16_t | nbytes ) |
| void aSetBufferImpl | ( | uint8_t | flags, |
| uint16_t | in, | ||
| uint16_t | out, | ||
| uint16_t | nbytes ) |
| void aSetLoopImpl | ( | ADPCM_STATE * | adpcm_loop_state | ) |
| void aUnkCmd19Impl | ( | uint8_t | f, |
| uint16_t | count, | ||
| uint16_t | out_addr, | ||
| uint16_t | in_addr ) |
| void aUnkCmd3Impl | ( | uint16_t | a, |
| uint16_t | b, | ||
| uint16_t | c ) |
|
inlinestatic |
|
inlinestatic |
| ADPCM_STATE* adpcm_loop_state |
| int16_t adpcm_table[8][2][8] |
| int16_t as_s16[DMEM_BUF_SIZE/sizeof(int16_t)] |
| uint8_t as_u8[DMEM_BUF_SIZE] |
| union { ... } buf |
| int16_t filter[8] |
| uint16_t filter_count |
| uint16_t in |
| uint16_t nbytes |
| uint16_t out |
| uint16_t rate[2] |
| uint16_t rate_wet |
|
static |
| struct { ... } rspa |
| uint16_t vol[2] |
| uint16_t vol_wet |