c: func_800021B0

This commit is contained in:
Mittenshugg
2020-08-09 18:34:28 -05:00
parent 605745e437
commit c18ecd9e81
2 changed files with 27 additions and 63 deletions
@@ -1,34 +0,0 @@
glabel func_800021B0
/* 002DB0 800021B0 308EFFFF */ andi $t6, $a0, 0xffff
/* 002DB4 800021B4 AFA40000 */ sw $a0, ($sp)
/* 002DB8 800021B8 19C0000D */ blez $t6, .L800021F0
/* 002DBC 800021BC 01C01825 */ move $v1, $t6
/* 002DC0 800021C0 3C0F8011 */ lui $t7, %hi(D_80115D14) # $t7, 0x8011
/* 002DC4 800021C4 8DEF5D14 */ lw $t7, %lo(D_80115D14)($t7)
/* 002DC8 800021C8 00034080 */ sll $t0, $v1, 2
/* 002DCC 800021CC 8DF80004 */ lw $t8, 4($t7)
/* 002DD0 800021D0 00000000 */ nop
/* 002DD4 800021D4 8F04000C */ lw $a0, 0xc($t8)
/* 002DD8 800021D8 00000000 */ nop
/* 002DDC 800021DC 8499000E */ lh $t9, 0xe($a0)
/* 002DE0 800021E0 00884821 */ addu $t1, $a0, $t0
/* 002DE4 800021E4 032E082A */ slt $at, $t9, $t6
/* 002DE8 800021E8 10200003 */ beqz $at, .L800021F8
/* 002DEC 800021EC 00000000 */ nop
.L800021F0:
/* 002DF0 800021F0 03E00008 */ jr $ra
/* 002DF4 800021F4 00001025 */ move $v0, $zero
.L800021F8:
/* 002DF8 800021F8 8D2A000C */ lw $t2, 0xc($t1)
/* 002DFC 800021FC 00000000 */ nop
/* 002E00 80002200 8D4B0000 */ lw $t3, ($t2)
/* 002E04 80002204 00000000 */ nop
/* 002E08 80002208 8D620004 */ lw $v0, 4($t3)
/* 002E0C 8000220C 00000000 */ nop
/* 002E10 80002210 244C0001 */ addiu $t4, $v0, 1
/* 002E14 80002214 2D8C0001 */ sltiu $t4, $t4, 1
/* 002E18 80002218 318200FF */ andi $v0, $t4, 0xff
/* 002E1C 8000221C 03E00008 */ jr $ra
/* 002E20 80002220 00000000 */ nop
+27 -29
View File
@@ -52,25 +52,9 @@ extern u8 D_80115D04;
extern u8 D_80115D05;
extern s32 musicTempo;
extern ALBank ** D_80115D10;
extern ALBankFile *D_80115D10;
typedef struct unk80115D14_4_C {
u8 pad0[0xE];
u16 unkE;
} unk80115D14_4_C;
typedef struct unk80115D14_4 {
u8 pad0[0xC];
unk80115D14_4_C* unkC;
} unk80115D14_4;
typedef struct unk80115D14 {
u8 pad0[4];
unk80115D14_4* unk4;
} unk80115D14;
extern unk80115D14 *D_80115D14;
extern ALBankFile *D_80115D14;
/* Size: 0x0A bytes */
typedef struct unk80115D18 {
@@ -103,8 +87,21 @@ extern s8 D_80115F78;
extern s8 D_80115F79;
extern s32 D_80115F7C;
#if 1
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000450.s")
#else
void func_80000450(void){
u32 *tmp;
ALBankFile *tmp2;
alHeapInit(&gALHeap, &D_800EBF60, 0x00029D88);
tmp = func_80076C58(38);
D_80115D14 = (ALBankFile*) func_80070C9C(tmp[2] - tmp[1], 0x00FFFFFF);
func_80076E68(39, D_80115D14, tmp[1], tmp[2] - tmp[1]);
alBnkfNew(D_80115D14, func_80076EE8(39, tmp[2]));
}
#endif
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000890.s")
void func_80004A60(u8, u16);
@@ -399,14 +396,10 @@ void func_80001878(u8 arg0) {
}
}
u8 func_800018D0(void){
return D_800DC640;
}
void func_800018E0(void) {
if (func_80001C08() == 0) {
D_80115D05 = 0;
@@ -493,7 +486,7 @@ GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001F14.s")
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001FB8.s")
u16 func_800020E8(void) {
return D_80115D14->unk4->unkC->unkE;
return D_80115D14->bankArray[0]->instArray[0]->soundCount;
}
u8 func_80002110(void) {
@@ -525,11 +518,16 @@ void func_8000216C(unk80115D1C **arg0, s32 *arg1, s32 *arg2) {
}
}
#if 0
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_800021B0.s")
#else
u8 func_800021B0(u16 arg0){
if(arg0 <= 0 || D_80115D14->bankArray[0]->instArray[0]->soundCount < arg0){
return 0;
}
return ((u32)(1+ D_80115D14->bankArray[0]->instArray[0]->soundArray[arg0-1]->envelope->decayTime) == 0);
}
#endif
#if 0
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80002224.s")
@@ -553,7 +551,7 @@ ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events){
cseqp = (ALCSPlayer *) alHeapDBAlloc(NULL, 0, &gALHeap, 1, 128);
alCSPNew(cseqp, &config);
alCSPSetBank(cseqp, D_80115D10[1]);
alCSPSetBank(cseqp, D_80115D10->bankArray[0]);
((u8*) cseqp)[0x36]= 0x7F; //this member doesn't exist in ALCSPlayer
return cseqp;
}