mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Split unknown_064830.c into unknown_065550.c and moved the rest of the rodata
This commit is contained in:
@@ -1,3 +1,12 @@
|
||||
.late_rodata
|
||||
glabel jpt_800E6EA0
|
||||
.word L80064AD8, L80064AE4, L80064AFC, L80064B08, L80064AF0, L80064B14
|
||||
glabel D_800E6EB8
|
||||
.float 8.320827
|
||||
glabel D_800E6EBC
|
||||
.float 0.04680453
|
||||
|
||||
.text
|
||||
glabel alFxNew
|
||||
/* 065608 80064A08 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||
/* 06560C 80064A0C AFB00038 */ sw $s0, 0x38($sp)
|
||||
@@ -45,27 +54,33 @@ glabel alFxNew
|
||||
/* 0656B4 80064AB4 1020001C */ beqz $at, .L80064B28
|
||||
/* 0656B8 80064AB8 2673D028 */ addiu $s3, %lo(D_800DD028) # addiu $s3, $s3, -0x2fd8
|
||||
/* 0656BC 80064ABC 00094880 */ sll $t1, $t1, 2
|
||||
/* 0656C0 80064AC0 3C01800E */ lui $at, %hi(D_800E6EA0) # $at, 0x800e
|
||||
/* 0656C0 80064AC0 3C01800E */ lui $at, %hi(jpt_800E6EA0) # $at, 0x800e
|
||||
/* 0656C4 80064AC4 00290821 */ addu $at, $at, $t1
|
||||
/* 0656C8 80064AC8 8C296EA0 */ lw $t1, %lo(D_800E6EA0)($at)
|
||||
/* 0656C8 80064AC8 8C296EA0 */ lw $t1, %lo(jpt_800E6EA0)($at)
|
||||
/* 0656CC 80064ACC 00000000 */ nop
|
||||
/* 0656D0 80064AD0 01200008 */ jr $t1
|
||||
/* 0656D4 80064AD4 00000000 */ nop
|
||||
glabel L80064AD8
|
||||
/* 0656D8 80064AD8 3C13800E */ lui $s3, %hi(D_800DCEC0) # $s3, 0x800e
|
||||
/* 0656DC 80064ADC 10000012 */ b .L80064B28
|
||||
/* 0656E0 80064AE0 2673CEC0 */ addiu $s3, %lo(D_800DCEC0) # addiu $s3, $s3, -0x3140
|
||||
glabel L80064AE4
|
||||
/* 0656E4 80064AE4 3C13800E */ lui $s3, %hi(D_800DCF28) # $s3, 0x800e
|
||||
/* 0656E8 80064AE8 1000000F */ b .L80064B28
|
||||
/* 0656EC 80064AEC 2673CF28 */ addiu $s3, %lo(D_800DCF28) # addiu $s3, $s3, -0x30d8
|
||||
glabel L80064AF0
|
||||
/* 0656F0 80064AF0 3C13800E */ lui $s3, %hi(D_800DCFB0) # $s3, 0x800e
|
||||
/* 0656F4 80064AF4 1000000C */ b .L80064B28
|
||||
/* 0656F8 80064AF8 2673CFB0 */ addiu $s3, %lo(D_800DCFB0) # addiu $s3, $s3, -0x3050
|
||||
glabel L80064AFC
|
||||
/* 0656FC 80064AFC 3C13800E */ lui $s3, %hi(D_800DCFD8) # $s3, 0x800e
|
||||
/* 065700 80064B00 10000009 */ b .L80064B28
|
||||
/* 065704 80064B04 2673CFD8 */ addiu $s3, %lo(D_800DCFD8) # addiu $s3, $s3, -0x3028
|
||||
glabel L80064B08
|
||||
/* 065708 80064B08 3C13800E */ lui $s3, %hi(D_800DD000) # $s3, 0x800e
|
||||
/* 06570C 80064B0C 10000006 */ b .L80064B28
|
||||
/* 065710 80064B10 2673D000 */ addiu $s3, %lo(D_800DD000) # addiu $s3, $s3, -0x3000
|
||||
glabel L80064B14
|
||||
/* 065714 80064B14 00105080 */ sll $t2, $s0, 2
|
||||
/* 065718 80064B18 004A5821 */ addu $t3, $v0, $t2
|
||||
/* 06571C 80064B1C 8D730020 */ lw $s3, 0x20($t3)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
.late_rodata
|
||||
glabel jpt_800E6E70
|
||||
.word L80063FE8, L8006401C, L8006407C, L80064050, L800640A8, L800640D4, L80064144, L800641C4
|
||||
glabel D_800E6E90
|
||||
.float 8.320827
|
||||
glabel D_800E6E94
|
||||
.float 0.04680453
|
||||
|
||||
.text
|
||||
glabel alFxParamHdl
|
||||
/* 064BAC 80063FAC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 064BB0 80063FB0 24A3FFFE */ addiu $v1, $a1, -2
|
||||
@@ -8,12 +17,13 @@ glabel alFxParamHdl
|
||||
/* 064BC4 80063FC4 10200093 */ beqz $at, .L80064214
|
||||
/* 064BC8 80063FC8 00803825 */ move $a3, $a0
|
||||
/* 064BCC 80063FCC 000E7080 */ sll $t6, $t6, 2
|
||||
/* 064BD0 80063FD0 3C01800E */ lui $at, %hi(D_800E6E70) # $at, 0x800e
|
||||
/* 064BD0 80063FD0 3C01800E */ lui $at, %hi(jpt_800E6E70) # $at, 0x800e
|
||||
/* 064BD4 80063FD4 002E0821 */ addu $at, $at, $t6
|
||||
/* 064BD8 80063FD8 8C2E6E70 */ lw $t6, %lo(D_800E6E70)($at)
|
||||
/* 064BD8 80063FD8 8C2E6E70 */ lw $t6, %lo(jpt_800E6E70)($at)
|
||||
/* 064BDC 80063FDC 00000000 */ nop
|
||||
/* 064BE0 80063FE0 01C00008 */ jr $t6
|
||||
/* 064BE4 80063FE4 00000000 */ nop
|
||||
glabel L80063FE8
|
||||
/* 064BE8 80063FE8 2401FFF8 */ li $at, -8
|
||||
/* 064BEC 80063FEC 01017824 */ and $t7, $t0, $at
|
||||
/* 064BF0 80063FF0 8CF80020 */ lw $t8, 0x20($a3)
|
||||
@@ -28,6 +38,7 @@ glabel alFxParamHdl
|
||||
/* 064C10 80064010 03095021 */ addu $t2, $t8, $t1
|
||||
/* 064C14 80064014 1000007F */ b .L80064214
|
||||
/* 064C18 80064018 AD4F0000 */ sw $t7, ($t2)
|
||||
glabel L8006401C
|
||||
/* 064C1C 8006401C 2401FFF8 */ li $at, -8
|
||||
/* 064C20 80064020 01015824 */ and $t3, $t0, $at
|
||||
/* 064C24 80064024 8CEC0020 */ lw $t4, 0x20($a3)
|
||||
@@ -42,6 +53,7 @@ glabel alFxParamHdl
|
||||
/* 064C44 80064044 018EC821 */ addu $t9, $t4, $t6
|
||||
/* 064C48 80064048 10000072 */ b .L80064214
|
||||
/* 064C4C 8006404C AF2B0004 */ sw $t3, 4($t9)
|
||||
glabel L80064050
|
||||
/* 064C50 80064050 8CF80020 */ lw $t8, 0x20($a3)
|
||||
/* 064C54 80064054 04610003 */ bgez $v1, .L80064064
|
||||
/* 064C58 80064058 000348C3 */ sra $t1, $v1, 3
|
||||
@@ -54,6 +66,7 @@ glabel alFxParamHdl
|
||||
/* 064C70 80064070 030F5021 */ addu $t2, $t8, $t7
|
||||
/* 064C74 80064074 10000067 */ b .L80064214
|
||||
/* 064C78 80064078 A5480008 */ sh $t0, 8($t2)
|
||||
glabel L8006407C
|
||||
/* 064C7C 8006407C 8CED0020 */ lw $t5, 0x20($a3)
|
||||
/* 064C80 80064080 04610003 */ bgez $v1, .L80064090
|
||||
/* 064C84 80064084 000360C3 */ sra $t4, $v1, 3
|
||||
@@ -66,6 +79,7 @@ glabel alFxParamHdl
|
||||
/* 064C9C 8006409C 01AE5821 */ addu $t3, $t5, $t6
|
||||
/* 064CA0 800640A0 1000005C */ b .L80064214
|
||||
/* 064CA4 800640A4 A568000A */ sh $t0, 0xa($t3)
|
||||
glabel L800640A8
|
||||
/* 064CA8 800640A8 8CF90020 */ lw $t9, 0x20($a3)
|
||||
/* 064CAC 800640AC 04610003 */ bgez $v1, .L800640BC
|
||||
/* 064CB0 800640B0 000348C3 */ sra $t1, $v1, 3
|
||||
@@ -78,6 +92,7 @@ glabel alFxParamHdl
|
||||
/* 064CC8 800640C8 03387821 */ addu $t7, $t9, $t8
|
||||
/* 064CCC 800640CC 10000051 */ b .L80064214
|
||||
/* 064CD0 800640D0 A5E8000C */ sh $t0, 0xc($t7)
|
||||
glabel L800640D4
|
||||
/* 064CD4 800640D4 44882000 */ mtc1 $t0, $f4
|
||||
/* 064CD8 800640D8 3C01447A */ li $at, 0x447A0000 # 1000.000000
|
||||
/* 064CDC 800640DC 468021A0 */ cvt.s.w $f6, $f4
|
||||
@@ -107,6 +122,7 @@ glabel alFxParamHdl
|
||||
/* 064D38 80064138 01AB4821 */ addu $t1, $t5, $t3
|
||||
/* 064D3C 8006413C 10000035 */ b .L80064214
|
||||
/* 064D40 80064140 E5280010 */ swc1 $f8, 0x10($t1)
|
||||
glabel L80064144
|
||||
/* 064D44 80064144 8CF90020 */ lw $t9, 0x20($a3)
|
||||
/* 064D48 80064148 04610003 */ bgez $v1, .L80064158
|
||||
/* 064D4C 8006414C 0003C0C3 */ sra $t8, $v1, 3
|
||||
@@ -141,6 +157,7 @@ glabel alFxParamHdl
|
||||
/* 064DB8 800641B8 462021A0 */ cvt.s.d $f6, $f4
|
||||
/* 064DBC 800641BC 10000015 */ b .L80064214
|
||||
/* 064DC0 800641C0 E446001C */ swc1 $f6, 0x1c($v0)
|
||||
glabel L800641C4
|
||||
/* 064DC4 800641C4 04610003 */ bgez $v1, .L800641D4
|
||||
/* 064DC8 800641C8 000310C3 */ sra $v0, $v1, 3
|
||||
/* 064DCC 800641CC 24610007 */ addiu $at, $v1, 7
|
||||
|
||||
@@ -13,119 +13,8 @@ s32 D_800DCEB4 = 0x10; // Currently unknown, might be a different type.
|
||||
s32 D_800DCEB8 = 0x10; // Currently unknown, might be a different type.
|
||||
s32 D_800DCEBC = 0x20; // Currently unknown, might be a different type.
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DCEC0[26] = {
|
||||
0x00000003, 0x00000FA0,
|
||||
0x00000000, 0x00000870,
|
||||
0x00002666, 0xFFFFD99A,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x000002F8, 0x000005F0,
|
||||
0x00000CCC, 0xFFFFF334,
|
||||
0x00003FFF, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000960,
|
||||
0x00001388, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00005000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DCF28[34] = {
|
||||
0x00000004, 0x00000FA0,
|
||||
0x00000000, 0x00000A50,
|
||||
0x00002666, 0xFFFFD99A,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000370, 0x00000870,
|
||||
0x00000CCC, 0xFFFFF334,
|
||||
0x00003FFF, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000A50, 0x00000E38,
|
||||
0x00000CCC, 0xFFFFF334,
|
||||
0x00003FFF, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000EB0,
|
||||
0x00001F40, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00005000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DCFB0[10] = {
|
||||
0x00000001, 0x00001F40,
|
||||
0x00000000, 0x00001BF8,
|
||||
0x00002EE0, 0x00000000,
|
||||
0x00007FFF, 0x00000000,
|
||||
0x00000000, 0x00000000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DCFD8[10] = {
|
||||
0x00000001, 0x00000320,
|
||||
0x00000000, 0x000000C8,
|
||||
0x00004000, 0x00000000,
|
||||
0x00007FFF, 0x00001DB0,
|
||||
0x000002BC, 0x00000000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DD000[10] = {
|
||||
0x00000001, 0x00000320,
|
||||
0x00000000, 0x000000C8,
|
||||
0x00000000, 0x00005FFF,
|
||||
0x00007FFF, 0x0000017C,
|
||||
0x000001F4, 0x00000000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DD028[10] = {
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000
|
||||
};
|
||||
|
||||
/*******************************/
|
||||
|
||||
/************ .rodata ************/
|
||||
|
||||
// Jump table in alFxParamHdl
|
||||
const u32 D_800E6E70[] = {
|
||||
0x80063FE8, 0x8006401C, 0x8006407C, 0x80064050,
|
||||
0x800640A8, 0x800640D4, 0x80064144, 0x800641C4
|
||||
};
|
||||
|
||||
const FloatLiteral D_800E6E90 = { 8.320827f };
|
||||
const FloatLiteral D_800E6E94 = { 0.04680453f };
|
||||
|
||||
const DoubleLiteral D_800E6E98 = { 0.0f }; // Probably a file boundary.
|
||||
|
||||
// Jump table in alFxNew
|
||||
const u32 D_800E6EA0[] = {
|
||||
0x80064AD8, 0x80064AE4, 0x80064AFC, 0x80064B08,
|
||||
0x80064AF0, 0x80064B14
|
||||
};
|
||||
|
||||
const FloatLiteral D_800E6EB8 = { 8.320827f };
|
||||
const FloatLiteral D_800E6EBC = { 0.04680453f };
|
||||
|
||||
/*********************************/
|
||||
|
||||
extern s32 alAuxBusPull;
|
||||
extern s32 alAuxBusParam;
|
||||
extern s32 alEnvMixerPull;
|
||||
extern s32 alEnvmixerParam;
|
||||
extern s32 alLoadParam;
|
||||
extern s32 alLoadPull;
|
||||
extern s32 alResampleParam;
|
||||
extern s32 alResamplePull;
|
||||
extern s32 alMainBusParam;
|
||||
extern s32 alMainBusPull;
|
||||
extern s32 alSaveParam;
|
||||
extern s32 alSavePull;
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_064830/alFxPull.s")
|
||||
|
||||
s32 alFxParam(void* filter, s32 paramID, void* param) {
|
||||
@@ -138,7 +27,6 @@ s32 alFxParam(void* filter, s32 paramID, void* param) {
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_064830/alFxParamHdl.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_064830/_loadOutputBuffer.s")
|
||||
|
||||
|
||||
/*
|
||||
* This routine is for loading data from the delay line buff. If the
|
||||
* address of curr_ptr < r->base, it will force it to be within r->base
|
||||
@@ -245,94 +133,3 @@ Acmd *_filterBuffer(ALLowPass *lp, s32 buff, s32 count, Acmd *p)
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_064830/_doModFunc.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_064830/func_8006492C.s")
|
||||
|
||||
#define SCALE 16384
|
||||
|
||||
void init_lpfilter(ALLowPass *lp)
|
||||
{
|
||||
s32 i, temp;
|
||||
s16 fc;
|
||||
f64 ffc, fcoef;
|
||||
|
||||
temp = lp->fc * SCALE;
|
||||
fc = temp >> 15;
|
||||
lp->fgain = SCALE - fc;
|
||||
|
||||
lp->first = 1;
|
||||
for (i=0; i<8; i++)
|
||||
lp->fcvec.fccoef[i] = 0;
|
||||
|
||||
lp->fcvec.fccoef[i++] = fc;
|
||||
fcoef = ffc = (f64)fc/SCALE;
|
||||
|
||||
for (; i<16; i++){
|
||||
fcoef *= ffc;
|
||||
lp->fcvec.fccoef[i] = (s16)(fcoef * SCALE);
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_064830/alFxNew.s")
|
||||
|
||||
void alEnvmixerNew(ALEnvMixer* e, s32 arg1) {
|
||||
alFilterNew(e, &alEnvMixerPull, &alEnvmixerParam, 4);
|
||||
e->state = alHeapDBAlloc(0, 0, arg1, 1, 0x50);
|
||||
e->first = 1;
|
||||
e->motion = AL_STOPPED;
|
||||
e->volume = 1;
|
||||
e->ltgt = 1;
|
||||
e->rtgt = 1;
|
||||
e->cvolL = 1;
|
||||
e->cvolR = 1;
|
||||
e->dryamt = 0;
|
||||
e->wetamt = 0;
|
||||
e->lratm = 1;
|
||||
e->lratl = 0;
|
||||
e->delta = 0;
|
||||
e->segEnd = 0;
|
||||
e->pan = 0;
|
||||
e->ctrlList = 0;
|
||||
e->ctrlTail = 0;
|
||||
e->sources = 0;
|
||||
}
|
||||
|
||||
void alLoadNew(ALLoadFilter* arg0, s32 (*arg1)(s32*), s32 arg2) {
|
||||
alFilterNew(arg0, &alLoadPull, &alLoadParam, 0);
|
||||
arg0->state = alHeapDBAlloc(0, 0, arg2, 1, 0x20);
|
||||
arg0->lstate = alHeapDBAlloc(0, 0, arg2, 1, 0x20);
|
||||
arg0->dma = arg1(&arg0->dmaState);
|
||||
arg0->lastsam = 0;
|
||||
arg0->first = 1;
|
||||
arg0->memin = 0;
|
||||
}
|
||||
|
||||
void alResampleNew(ALResampler* r, ALHeap* hp) {
|
||||
alFilterNew(r, &alResamplePull, &alResampleParam, 1);
|
||||
r->state = alHeapDBAlloc(0, 0, hp, 1, 0x20);
|
||||
r->first = 1;
|
||||
r->motion = AL_STOPPED;
|
||||
r->upitch = 0;
|
||||
r->ctrlList = 0;
|
||||
r->ctrlTail = 0;
|
||||
r->delta = 0.0f;
|
||||
r->ratio = 1.0f;
|
||||
}
|
||||
|
||||
void alAuxBusNew(ALAuxBus* m, void* sources, s32 maxSources) {
|
||||
alFilterNew(m, &alAuxBusPull, &alAuxBusParam, 6);
|
||||
m->sourceCount = 0;
|
||||
m->maxSources = maxSources;
|
||||
m->sources = sources;
|
||||
}
|
||||
|
||||
void alMainBusNew(ALMainBus* m, void* sources, s32 maxSources) {
|
||||
alFilterNew(m, &alMainBusPull, &alMainBusParam, 7);
|
||||
m->sourceCount = 0;
|
||||
m->maxSources = maxSources;
|
||||
m->sources = sources;
|
||||
}
|
||||
|
||||
void alSaveNew(ALSave* f) {
|
||||
alFilterNew(f, &alSavePull, &alSaveParam, AL_SAVE);
|
||||
f->dramout = 0;
|
||||
f->first = 1;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
/* The comment below is needed for this file to be picked up by generate_ld */
|
||||
/* RAM_POS: 0x80064950 */
|
||||
|
||||
#include "types.h"
|
||||
#include "macros.h"
|
||||
#include "libultra_internal.h"
|
||||
#include "audio_internal.h"
|
||||
|
||||
#define SCALE 16384
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DCEC0[26] = {
|
||||
0x00000003, 0x00000FA0,
|
||||
0x00000000, 0x00000870,
|
||||
0x00002666, 0xFFFFD99A,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x000002F8, 0x000005F0,
|
||||
0x00000CCC, 0xFFFFF334,
|
||||
0x00003FFF, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000960,
|
||||
0x00001388, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00005000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DCF28[34] = {
|
||||
0x00000004, 0x00000FA0,
|
||||
0x00000000, 0x00000A50,
|
||||
0x00002666, 0xFFFFD99A,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000370, 0x00000870,
|
||||
0x00000CCC, 0xFFFFF334,
|
||||
0x00003FFF, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000A50, 0x00000E38,
|
||||
0x00000CCC, 0xFFFFF334,
|
||||
0x00003FFF, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000EB0,
|
||||
0x00001F40, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00005000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DCFB0[10] = {
|
||||
0x00000001, 0x00001F40,
|
||||
0x00000000, 0x00001BF8,
|
||||
0x00002EE0, 0x00000000,
|
||||
0x00007FFF, 0x00000000,
|
||||
0x00000000, 0x00000000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DCFD8[10] = {
|
||||
0x00000001, 0x00000320,
|
||||
0x00000000, 0x000000C8,
|
||||
0x00004000, 0x00000000,
|
||||
0x00007FFF, 0x00001DB0,
|
||||
0x000002BC, 0x00000000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DD000[10] = {
|
||||
0x00000001, 0x00000320,
|
||||
0x00000000, 0x000000C8,
|
||||
0x00000000, 0x00005FFF,
|
||||
0x00007FFF, 0x0000017C,
|
||||
0x000001F4, 0x00000000
|
||||
};
|
||||
|
||||
// TODO: Figure out what this actually is.
|
||||
s32 D_800DD028[10] = {
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000
|
||||
};
|
||||
|
||||
/*******************************/
|
||||
|
||||
extern s32 alAuxBusPull;
|
||||
extern s32 alAuxBusParam;
|
||||
extern s32 alEnvMixerPull;
|
||||
extern s32 alEnvmixerParam;
|
||||
extern s32 alLoadParam;
|
||||
extern s32 alLoadPull;
|
||||
extern s32 alResampleParam;
|
||||
extern s32 alResamplePull;
|
||||
extern s32 alMainBusParam;
|
||||
extern s32 alMainBusPull;
|
||||
extern s32 alSaveParam;
|
||||
extern s32 alSavePull;
|
||||
|
||||
void init_lpfilter(ALLowPass *lp)
|
||||
{
|
||||
s32 i, temp;
|
||||
s16 fc;
|
||||
f64 ffc, fcoef;
|
||||
|
||||
temp = lp->fc * SCALE;
|
||||
fc = temp >> 15;
|
||||
lp->fgain = SCALE - fc;
|
||||
|
||||
lp->first = 1;
|
||||
for (i=0; i<8; i++)
|
||||
lp->fcvec.fccoef[i] = 0;
|
||||
|
||||
lp->fcvec.fccoef[i++] = fc;
|
||||
fcoef = ffc = (f64)fc/SCALE;
|
||||
|
||||
for (; i<16; i++){
|
||||
fcoef *= ffc;
|
||||
lp->fcvec.fccoef[i] = (s16)(fcoef * SCALE);
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_064830/alFxNew.s")
|
||||
|
||||
void alEnvmixerNew(ALEnvMixer* e, s32 arg1) {
|
||||
alFilterNew(e, &alEnvMixerPull, &alEnvmixerParam, 4);
|
||||
e->state = alHeapDBAlloc(0, 0, arg1, 1, 0x50);
|
||||
e->first = 1;
|
||||
e->motion = AL_STOPPED;
|
||||
e->volume = 1;
|
||||
e->ltgt = 1;
|
||||
e->rtgt = 1;
|
||||
e->cvolL = 1;
|
||||
e->cvolR = 1;
|
||||
e->dryamt = 0;
|
||||
e->wetamt = 0;
|
||||
e->lratm = 1;
|
||||
e->lratl = 0;
|
||||
e->delta = 0;
|
||||
e->segEnd = 0;
|
||||
e->pan = 0;
|
||||
e->ctrlList = 0;
|
||||
e->ctrlTail = 0;
|
||||
e->sources = 0;
|
||||
}
|
||||
|
||||
void alLoadNew(ALLoadFilter* arg0, s32 (*arg1)(s32*), s32 arg2) {
|
||||
alFilterNew(arg0, &alLoadPull, &alLoadParam, 0);
|
||||
arg0->state = alHeapDBAlloc(0, 0, arg2, 1, 0x20);
|
||||
arg0->lstate = alHeapDBAlloc(0, 0, arg2, 1, 0x20);
|
||||
arg0->dma = arg1(&arg0->dmaState);
|
||||
arg0->lastsam = 0;
|
||||
arg0->first = 1;
|
||||
arg0->memin = 0;
|
||||
}
|
||||
|
||||
void alResampleNew(ALResampler* r, ALHeap* hp) {
|
||||
alFilterNew(r, &alResamplePull, &alResampleParam, 1);
|
||||
r->state = alHeapDBAlloc(0, 0, hp, 1, 0x20);
|
||||
r->first = 1;
|
||||
r->motion = AL_STOPPED;
|
||||
r->upitch = 0;
|
||||
r->ctrlList = 0;
|
||||
r->ctrlTail = 0;
|
||||
r->delta = 0.0f;
|
||||
r->ratio = 1.0f;
|
||||
}
|
||||
|
||||
void alAuxBusNew(ALAuxBus* m, void* sources, s32 maxSources) {
|
||||
alFilterNew(m, &alAuxBusPull, &alAuxBusParam, 6);
|
||||
m->sourceCount = 0;
|
||||
m->maxSources = maxSources;
|
||||
m->sources = sources;
|
||||
}
|
||||
|
||||
void alMainBusNew(ALMainBus* m, void* sources, s32 maxSources) {
|
||||
alFilterNew(m, &alMainBusPull, &alMainBusParam, 7);
|
||||
m->sourceCount = 0;
|
||||
m->maxSources = maxSources;
|
||||
m->sources = sources;
|
||||
}
|
||||
|
||||
void alSaveNew(ALSave* f) {
|
||||
alFilterNew(f, &alSavePull, &alSaveParam, AL_SAVE);
|
||||
f->dramout = 0;
|
||||
f->first = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user