mirror of
https://gitlab.com/dk64_decomp/dk64.git
synced 2024-11-26 16:50:26 +00:00
40.9778%
This commit is contained in:
parent
370cec66b4
commit
8ee38d4ea2
@ -2151,11 +2151,46 @@ typedef struct SoundState {
|
||||
u8 pad45[0x48-0x45];
|
||||
} SoundState;
|
||||
|
||||
typedef struct CustomResampler {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
void* unk14;
|
||||
f32 unk18;
|
||||
s32 unk1C;
|
||||
f32 unk20;
|
||||
s32 unk24;
|
||||
void* unk28;
|
||||
s16 unk2C;
|
||||
s16 unk2E;
|
||||
s16 unk30;
|
||||
s16 unk32;
|
||||
} CustomResampler;
|
||||
|
||||
typedef struct CustomPVoice {
|
||||
ALLink node;
|
||||
u8 pad8[0x2C - 0x8];
|
||||
ALResampler resampler;
|
||||
u8 pad60[0x88 - 0x60];
|
||||
u8 pad8[4];
|
||||
void* unkC;
|
||||
void* unk10;
|
||||
u8 pad14[0x28 - 0x14];
|
||||
s32 unk28;
|
||||
CustomResampler resampler;
|
||||
s16 unk60;
|
||||
s16 unk62;
|
||||
s16 unk64;
|
||||
s16 unk66;
|
||||
s16 unk68;
|
||||
s16 unk6A;
|
||||
s16 unk6C;
|
||||
s16 unk6E;
|
||||
s32 unk70;
|
||||
s32 unk74;
|
||||
s32 unk78;
|
||||
s32 unk7C;
|
||||
s32 unk80;
|
||||
s32 unk84;
|
||||
s32 unk88;
|
||||
u8 unk8C;
|
||||
u8 pad8D[0x90 - 0x8D];
|
||||
|
@ -1761,7 +1761,7 @@ us,asm,func_global_asm_8064BCB0,124,yes
|
||||
us,asm,func_global_asm_80738D20,312,yes
|
||||
us,asm,func_global_asm_8066B0EC,12,yes
|
||||
us,asm,func_global_asm_806EBCF0,188,yes
|
||||
us,asm,func_global_asm_8073C604,540,no
|
||||
us,asm,func_global_asm_8073C604,532,yes
|
||||
us,asm,func_global_asm_8070CAB4,120,yes
|
||||
us,asm,func_global_asm_806115A8,108,no
|
||||
us,asm,func_global_asm_8065D0FC,116,yes
|
||||
|
|
@ -1761,7 +1761,7 @@ us,asm,func_global_asm_8064BCB0,124,yes
|
||||
us,asm,func_global_asm_80738D20,312,yes
|
||||
us,asm,func_global_asm_8066B0EC,12,yes
|
||||
us,asm,func_global_asm_806EBCF0,188,yes
|
||||
us,asm,func_global_asm_8073C604,540,no
|
||||
us,asm,func_global_asm_8073C604,532,yes
|
||||
us,asm,func_global_asm_8070CAB4,120,yes
|
||||
us,asm,func_global_asm_806115A8,108,no
|
||||
us,asm,func_global_asm_8065D0FC,116,yes
|
||||
|
|
@ -9,7 +9,7 @@
|
||||
</mask>
|
||||
<g mask="url(#anybadge_1)">
|
||||
<path fill="#555" d="M0 0h77v20H0z"/>
|
||||
<path fill="#c09300" d="M77 0h67v20H77z"/>
|
||||
<path fill="#c09400" d="M77 0h67v20H77z"/>
|
||||
<path fill="url(#b)" d="M0 0h144v20H0z"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
@ -17,7 +17,7 @@
|
||||
<text x="38.5" y="14">global_asm</text>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">38.3757%</text>
|
||||
<text x="110.5" y="14">38.3757%</text>
|
||||
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">38.4196%</text>
|
||||
<text x="110.5" y="14">38.4196%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -17,7 +17,7 @@
|
||||
<text x="66.0" y="14">Donkey Kong 64 (US)</text>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">40.9450%</text>
|
||||
<text x="165.5" y="14">40.9450%</text>
|
||||
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">40.9778%</text>
|
||||
<text x="165.5" y="14">40.9778%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -107,7 +107,7 @@ void func_global_asm_8073BE54(Struct8073BC74 *arg0, f32 arg1) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/audio/code_140600/func_global_asm_8073C040.s")
|
||||
|
||||
s16 *func_global_asm_80732444(s32, s32, s32, u8, s32);
|
||||
s32 func_global_asm_80732444(s32, s32, ALHeap *, s32, s32);
|
||||
extern s32 D_global_asm_80756458[];
|
||||
|
||||
typedef struct {
|
||||
@ -259,4 +259,41 @@ void func_global_asm_8073C040(s16 **arg0, Struct8073C040_arg1 *arg1, s16 arg2, s
|
||||
}
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/audio/code_140600/func_global_asm_8073C604.s")
|
||||
void func_global_asm_8073C604(CustomPVoice *arg0, s32 (*arg1)(CustomResampler *), ALHeap *arg2) {
|
||||
arg0->unkC = func_global_asm_80732444(0, 0, arg2, 1, 0x20);
|
||||
arg0->unk10 = func_global_asm_80732444(0, 0, arg2, 1, 0x20);
|
||||
arg0->unk28 = arg1(&arg0->resampler);
|
||||
arg0->resampler.unk8 = 0;
|
||||
arg0->resampler.unkC = 1;
|
||||
arg0->resampler.unk10 = 0;
|
||||
arg0->resampler.unk14 = func_global_asm_80732444(0, 0, arg2, 1, 0x20);
|
||||
arg0->resampler.unk20 = 0.0f;
|
||||
arg0->resampler.unk24 = 1;
|
||||
arg0->resampler.unk18 = 1.0f;
|
||||
arg0->resampler.unk1C = 0;
|
||||
arg0->resampler.unk28 = func_global_asm_80732444(0, 0, arg2, 1, 0x50);
|
||||
arg0->unk78 = 1;
|
||||
arg0->unk84 = 0;
|
||||
arg0->resampler.unk2E = 1;
|
||||
arg0->unk68 = 1;
|
||||
arg0->unk6E = 1;
|
||||
arg0->resampler.unk30 = 1;
|
||||
arg0->resampler.unk32 = 1;
|
||||
arg0->unk60 = 0;
|
||||
arg0->unk62 = 0;
|
||||
arg0->unk66 = 1;
|
||||
arg0->unk64 = 0;
|
||||
arg0->unk66 = 1;
|
||||
arg0->unk64 = 0;
|
||||
arg0->unk70 = 0;
|
||||
arg0->unk74 = 0;
|
||||
arg0->resampler.unk2C = 0;
|
||||
arg0->unk7C = 0;
|
||||
arg0->unk80 = 0;
|
||||
arg0->unk8C = 0;
|
||||
arg0->unk92 = 0;
|
||||
arg0->unk90 = 0;
|
||||
arg0->unkBC = func_global_asm_80732444(0, 0, arg2, 1, 8);
|
||||
arg0->unkB8 = 0;
|
||||
}
|
||||
|
||||
|
@ -17,27 +17,27 @@ void *func_global_asm_80741070(CustomPVoice *arg0, s16 *arg1, Acmd *arg2) {
|
||||
|
||||
sp34 = arg2;
|
||||
sp32 = 0x170;
|
||||
if (arg0->resampler.upitch != 0) {
|
||||
if (arg0->resampler.unk1C != 0) {
|
||||
sp34 = func_global_asm_80740100(arg0, &sp32, 0xB8, arg2);
|
||||
sp20 = sp34++;
|
||||
sp20->words.w0 = (sp32 & 0xFFFFFF) | 0x0A000000;
|
||||
sp20->words.w1 = ((*arg1 & 0xFFFF) << 0x10) | 0x170;
|
||||
if (1) {}
|
||||
} else {
|
||||
if (arg0->resampler.ratio > D_global_asm_80760580) {
|
||||
arg0->resampler.ratio = D_global_asm_80760588;
|
||||
if (arg0->resampler.unk18 > D_global_asm_80760580) {
|
||||
arg0->resampler.unk18 = D_global_asm_80760588;
|
||||
}
|
||||
arg0->resampler.ratio = (s32) (arg0->resampler.ratio * 32768.0f);
|
||||
arg0->resampler.ratio /= 32768.0f;
|
||||
sp24 = arg0->resampler.delta + (arg0->resampler.ratio * 184.0f);
|
||||
arg0->resampler.unk18 = (s32) (arg0->resampler.unk18 * 32768.0f);
|
||||
arg0->resampler.unk18 /= 32768.0f;
|
||||
sp24 = arg0->resampler.unk20 + (arg0->resampler.unk18 * 184.0f);
|
||||
sp2C = (s32) sp24;
|
||||
arg0->resampler.delta = sp24 - sp2C;
|
||||
arg0->resampler.unk20 = sp24 - sp2C;
|
||||
sp34 = func_global_asm_80740100(arg0, &sp32, sp2C, arg2);
|
||||
sp28 = arg0->resampler.ratio * 32768.0f;
|
||||
sp28 = arg0->resampler.unk18 * 32768.0f;
|
||||
sp1C = sp34++;
|
||||
sp1C->words.w0 = (osVirtualToPhysical(arg0->resampler.state) & 0xFFFFFF) | 0x05000000;
|
||||
sp1C->words.w1 = ((arg0->resampler.first & 3) << 0x1E) | ((sp28 & 0xFFFF) << 0xE) | ((sp32 & 0xFFF) * 4);
|
||||
arg0->resampler.first = 0;
|
||||
sp1C->words.w0 = (osVirtualToPhysical(arg0->resampler.unk14) & 0xFFFFFF) | 0x05000000;
|
||||
sp1C->words.w1 = ((arg0->resampler.unk24 & 3) << 0x1E) | ((sp28 & 0xFFFF) << 0xE) | ((sp32 & 0xFFF) * 4);
|
||||
arg0->resampler.unk24 = 0;
|
||||
}
|
||||
return sp34;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user