Decompile audioStartThread

This commit is contained in:
Ryan Dwyer
2020-10-01 07:57:05 +10:00
parent b6c03f09ff
commit 1505534065
12 changed files with 50 additions and 58 deletions
+2 -2
View File
@@ -10545,7 +10545,7 @@ bool aiChrBeginOrEndTeleport(void)
g_Vars.currentplayer->teleportcamerapad = 0;
a = osGetThreadPri(0);
b = osGetThreadPri(&var800915e0);
b = osGetThreadPri(&g_AudioThread);
osSetThreadPri(0, b + 1);
c = audioStart(var80095200, 0x0433, NULL, -1, -1, -1, -1, -1);
@@ -10586,7 +10586,7 @@ bool aiIfChrTeleportFullWhite(void)
} else {
fvalue = 0.4;
a = osGetThreadPri(0);
b = osGetThreadPri(&var800915e0);
b = osGetThreadPri(&g_AudioThread);
osSetThreadPri(0, b + 1);
c = audioStart(var80095200, 0x8055, NULL, -1, -1, -1, -1, -1);
+1 -1
View File
@@ -3420,7 +3420,7 @@ u32 var8005d500 = 0x00000000;
u32 var8005d504 = 0x00000000;
u32 var8005d508 = 0x00000000;
u32 var8005d50c = 0x00000000;
u32 var8005d510 = 0x00000000;
u8 g_AudioIsThreadRunning = false;
u32 var8005d514 = 0x00000001;
u32 var8005d518 = 0x00000001;
u32 var8005d51c = 0x00000000;
+4 -4
View File
@@ -632,10 +632,10 @@ glabel var7f1a9e50
/* f060ab8: 00002025 */ or $a0,$zero,$zero
/* f060abc: 0c012230 */ jal osGetThreadPri
/* f060ac0: afa3005c */ sw $v1,0x5c($sp)
/* f060ac4: 3c048009 */ lui $a0,%hi(var800915e0)
/* f060ac4: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f060ac8: afa2004c */ sw $v0,0x4c($sp)
/* f060acc: 0c012230 */ jal osGetThreadPri
/* f060ad0: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f060ad0: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f060ad4: 00002025 */ or $a0,$zero,$zero
/* f060ad8: 0c01210c */ jal osSetThreadPri
/* f060adc: 24450001 */ addiu $a1,$v0,0x1
@@ -785,10 +785,10 @@ glabel var7f1a9e5c
/* f060cc4: 8fa50064 */ lw $a1,0x64($sp)
/* f060cc8: 0c012230 */ jal osGetThreadPri
/* f060ccc: 00002025 */ or $a0,$zero,$zero
/* f060cd0: 3c048009 */ lui $a0,%hi(var800915e0)
/* f060cd0: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f060cd4: afa20050 */ sw $v0,0x50($sp)
/* f060cd8: 0c012230 */ jal osGetThreadPri
/* f060cdc: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f060cdc: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f060ce0: 00002025 */ or $a0,$zero,$zero
/* f060ce4: 0c01210c */ jal osSetThreadPri
/* f060ce8: 24450001 */ addiu $a1,$v0,0x1
+10 -10
View File
@@ -1289,10 +1289,10 @@ glabel func0f093630
/* f09368c: 18400033 */ blez $v0,.L0f09375c
/* f093690: 00128100 */ sll $s0,$s2,0x4
/* f093694: 02128023 */ subu $s0,$s0,$s2
/* f093698: 3c158009 */ lui $s5,%hi(var800915e0)
/* f093698: 3c158009 */ lui $s5,%hi(g_AudioThread)
/* f09369c: 3c138007 */ lui $s3,%hi(var8006ae10)
/* f0936a0: 2673ae10 */ addiu $s3,$s3,%lo(var8006ae10)
/* f0936a4: 26b515e0 */ addiu $s5,$s5,%lo(var800915e0)
/* f0936a4: 26b515e0 */ addiu $s5,$s5,%lo(g_AudioThread)
/* f0936a8: 001080c0 */ sll $s0,$s0,0x3
/* f0936ac: 2416ffff */ addiu $s6,$zero,-1
/* f0936b0: 8e6e0000 */ lw $t6,0x0($s3)
@@ -1388,10 +1388,10 @@ glabel func0f093790
/* f0937e4: 18400035 */ blez $v0,.L0f0938bc
/* f0937e8: 00139100 */ sll $s2,$s3,0x4
/* f0937ec: 02539023 */ subu $s2,$s2,$s3
/* f0937f0: 3c168009 */ lui $s6,%hi(var800915e0)
/* f0937f0: 3c168009 */ lui $s6,%hi(g_AudioThread)
/* f0937f4: 3c158007 */ lui $s5,%hi(var8006ae10)
/* f0937f8: 26b5ae10 */ addiu $s5,$s5,%lo(var8006ae10)
/* f0937fc: 26d615e0 */ addiu $s6,$s6,%lo(var800915e0)
/* f0937fc: 26d615e0 */ addiu $s6,$s6,%lo(g_AudioThread)
/* f093800: 001290c0 */ sll $s2,$s2,0x3
/* f093804: 8eae0000 */ lw $t6,0x0($s5)
.L0f093808:
@@ -1940,10 +1940,10 @@ glabel func0f0939f8
/* f093f80: 35cf0010 */ ori $t7,$t6,0x10
/* f093f84: 0c012230 */ jal osGetThreadPri
/* f093f88: a60f0030 */ sh $t7,0x30($s0)
/* f093f8c: 3c048009 */ lui $a0,%hi(var800915e0)
/* f093f8c: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f093f90: afa200a8 */ sw $v0,0xa8($sp)
/* f093f94: 0c012230 */ jal osGetThreadPri
/* f093f98: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f093f98: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f093f9c: 00002025 */ or $a0,$zero,$zero
/* f093fa0: 0c01210c */ jal osSetThreadPri
/* f093fa4: 24450001 */ addiu $a1,$v0,0x1
@@ -1957,10 +1957,10 @@ glabel func0f0939f8
.L0f093fc4:
/* f093fc4: 0c012230 */ jal osGetThreadPri
/* f093fc8: 00002025 */ or $a0,$zero,$zero
/* f093fcc: 3c048009 */ lui $a0,%hi(var800915e0)
/* f093fcc: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f093fd0: afa200a8 */ sw $v0,0xa8($sp)
/* f093fd4: 0c012230 */ jal osGetThreadPri
/* f093fd8: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f093fd8: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f093fdc: 00002025 */ or $a0,$zero,$zero
/* f093fe0: 0c01210c */ jal osSetThreadPri
/* f093fe4: 24450001 */ addiu $a1,$v0,0x1
@@ -2441,10 +2441,10 @@ glabel audioPlayFromProp2
.L0f094668:
/* f094668: 0c012230 */ jal osGetThreadPri
/* f09466c: 00002025 */ or $a0,$zero,$zero
/* f094670: 3c048009 */ lui $a0,%hi(var800915e0)
/* f094670: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f094674: afa20048 */ sw $v0,0x48($sp)
/* f094678: 0c012230 */ jal osGetThreadPri
/* f09467c: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f09467c: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f094680: 00002025 */ or $a0,$zero,$zero
/* f094684: 0c01210c */ jal osSetThreadPri
/* f094688: 24450001 */ addiu $a1,$v0,0x1
+12 -12
View File
@@ -3809,10 +3809,10 @@ glabel var7f1ac320
/* f09a9c0: 8fbf002c */ lw $ra,0x2c($sp)
/* f09a9c4: 0c012230 */ jal osGetThreadPri
/* f09a9c8: 00002025 */ or $a0,$zero,$zero
/* f09a9cc: 3c048009 */ lui $a0,%hi(var800915e0)
/* f09a9cc: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f09a9d0: afa20040 */ sw $v0,0x40($sp)
/* f09a9d4: 0c012230 */ jal osGetThreadPri
/* f09a9d8: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f09a9d8: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f09a9dc: 00002025 */ or $a0,$zero,$zero
/* f09a9e0: 0c01210c */ jal osSetThreadPri
/* f09a9e4: 24450001 */ addiu $a1,$v0,0x1
@@ -5168,10 +5168,10 @@ glabel var7f1ac450
/* f09ba84: 00002025 */ or $a0,$zero,$zero
/* f09ba88: 0c012230 */ jal osGetThreadPri
/* f09ba8c: e7a40044 */ swc1 $f4,0x44($sp)
/* f09ba90: 3c048009 */ lui $a0,%hi(var800915e0)
/* f09ba90: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f09ba94: afa20040 */ sw $v0,0x40($sp)
/* f09ba98: 0c012230 */ jal osGetThreadPri
/* f09ba9c: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f09ba9c: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f09baa0: 00002025 */ or $a0,$zero,$zero
/* f09baa4: 0c01210c */ jal osSetThreadPri
/* f09baa8: 24450001 */ addiu $a1,$v0,0x1
@@ -5204,10 +5204,10 @@ glabel var7f1ac450
/* f09bb10: 00002025 */ or $a0,$zero,$zero
/* f09bb14: 0c012230 */ jal osGetThreadPri
/* f09bb18: e7a80038 */ swc1 $f8,0x38($sp)
/* f09bb1c: 3c048009 */ lui $a0,%hi(var800915e0)
/* f09bb1c: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f09bb20: afa20034 */ sw $v0,0x34($sp)
/* f09bb24: 0c012230 */ jal osGetThreadPri
/* f09bb28: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f09bb28: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f09bb2c: 00002025 */ or $a0,$zero,$zero
/* f09bb30: 0c01210c */ jal osSetThreadPri
/* f09bb34: 24450001 */ addiu $a1,$v0,0x1
@@ -6272,10 +6272,10 @@ glabel var7f1ac5ec
/* f09c6e4: 00002025 */ or $a0,$zero,$zero
/* f09c6e8: 0c012230 */ jal osGetThreadPri
/* f09c6ec: e7a6004c */ swc1 $f6,0x4c($sp)
/* f09c6f0: 3c048009 */ lui $a0,%hi(var800915e0)
/* f09c6f0: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f09c6f4: afa20044 */ sw $v0,0x44($sp)
/* f09c6f8: 0c012230 */ jal osGetThreadPri
/* f09c6fc: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f09c6fc: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f09c700: 00002025 */ or $a0,$zero,$zero
/* f09c704: 0c01210c */ jal osSetThreadPri
/* f09c708: 24450001 */ addiu $a1,$v0,0x1
@@ -6380,10 +6380,10 @@ glabel var7f1ac5ec
/* f09c890: 00002025 */ or $a0,$zero,$zero
/* f09c894: 0c012230 */ jal osGetThreadPri
/* f09c898: e7a60040 */ swc1 $f6,0x40($sp)
/* f09c89c: 3c048009 */ lui $a0,%hi(var800915e0)
/* f09c89c: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f09c8a0: afa2003c */ sw $v0,0x3c($sp)
/* f09c8a4: 0c012230 */ jal osGetThreadPri
/* f09c8a8: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f09c8a8: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f09c8ac: 00002025 */ or $a0,$zero,$zero
/* f09c8b0: 0c01210c */ jal osSetThreadPri
/* f09c8b4: 24450001 */ addiu $a1,$v0,0x1
@@ -6418,10 +6418,10 @@ glabel var7f1ac5ec
/* f09c924: 00002025 */ or $a0,$zero,$zero
/* f09c928: 0c012230 */ jal osGetThreadPri
/* f09c92c: e7b00034 */ swc1 $f16,0x34($sp)
/* f09c930: 3c048009 */ lui $a0,%hi(var800915e0)
/* f09c930: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* f09c934: afa20030 */ sw $v0,0x30($sp)
/* f09c938: 0c012230 */ jal osGetThreadPri
/* f09c93c: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* f09c93c: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* f09c940: 00002025 */ or $a0,$zero,$zero
/* f09c944: 0c01210c */ jal osSetThreadPri
/* f09c948: 24450001 */ addiu $a1,$v0,0x1
+1 -1
View File
@@ -140,7 +140,7 @@ void menuPlaySound(s32 menusound)
if (sound != -1) {
s32 handle;
OSPri prevpri = osGetThreadPri(NULL);
osSetThreadPri(0, osGetThreadPri(&var800915e0) + 1);
osSetThreadPri(0, osGetThreadPri(&g_AudioThread) + 1);
handle = audioStart(var80095200, sound, NULL, -1, -1, -1, -1, -1);
+1 -1
View File
@@ -4196,7 +4196,7 @@ u32 var800915d0 = 0;
u32 var800915d4 = 0;
u32 var800915d8 = 0;
u32 var800915dc = 0;
OSThread var800915e0 = {0};
OSThread g_AudioThread = {0};
u32 var80091790 = 0;
u32 var80091794 = 0;
u32 var80091798 = 0;
+1
View File
@@ -74,6 +74,7 @@ extern u32 var8005d390;
extern u32 var8005d3b8;
extern u32 var8005d4c0;
extern u32 var8005d4e8;
extern u8 g_AudioIsThreadRunning;
extern u32 var8005d520;
extern struct rend_vidat var8005d530;
extern u32 var8005d588;
+1 -1
View File
@@ -404,7 +404,7 @@ extern u32 var80091590;
extern u32 var800915c8;
extern u32 var800915d0;
extern u32 var800915d4;
extern OSThread var800915e0;
extern OSThread g_AudioThread;
extern u32 var80091810;
extern u32 var80091828;
extern u32 var80091848;
+1 -1
View File
@@ -5,7 +5,7 @@
u32 func00008a20(void);
u32 func00008a48(void);
u32 func000090ec(void);
void audioStartThread(void);
u32 func00009118(void);
u32 func00009124(void);
u32 func00009448(void);
+11 -20
View File
@@ -475,12 +475,12 @@ glabel func00008a48
/* 9094: 2405003c */ addiu $a1,$zero,0x3c
/* 9098: 3c088009 */ lui $t0,%hi(var800918f0)
/* 909c: 8d0818f0 */ lw $t0,%lo(var800918f0)($t0)
/* 90a0: 3c048009 */ lui $a0,%hi(var800915e0)
/* 90a0: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* 90a4: 3c067001 */ lui $a2,%hi(func00009154)
/* 90a8: 24090014 */ addiu $t1,$zero,0x14
/* 90ac: afa90014 */ sw $t1,0x14($sp)
/* 90b0: 24c69154 */ addiu $a2,$a2,%lo(func00009154)
/* 90b4: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* 90b4: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* 90b8: 24050004 */ addiu $a1,$zero,0x4
/* 90bc: 00003825 */ or $a3,$zero,$zero
/* 90c0: 0c000fb8 */ jal osCreateThread
@@ -496,20 +496,11 @@ glabel func00008a48
/* 90e8: 27bd05c0 */ addiu $sp,$sp,0x5c0
);
GLOBAL_ASM(
glabel func000090ec
/* 90ec: 27bdffe8 */ addiu $sp,$sp,-24
/* 90f0: afbf0014 */ sw $ra,0x14($sp)
/* 90f4: 3c048009 */ lui $a0,%hi(var800915e0)
/* 90f8: 0c01207c */ jal osStartThread
/* 90fc: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* 9100: 8fbf0014 */ lw $ra,0x14($sp)
/* 9104: 240e0001 */ addiu $t6,$zero,0x1
/* 9108: 3c018006 */ lui $at,%hi(var8005d510)
/* 910c: a02ed510 */ sb $t6,%lo(var8005d510)($at)
/* 9110: 03e00008 */ jr $ra
/* 9114: 27bd0018 */ addiu $sp,$sp,0x18
);
void audioStartThread(void)
{
osStartThread(&g_AudioThread);
g_AudioIsThreadRunning = true;
}
GLOBAL_ASM(
glabel func00009118
@@ -520,14 +511,14 @@ glabel func00009118
GLOBAL_ASM(
glabel func00009124
/* 9124: 3c0e8006 */ lui $t6,%hi(var8005d510)
/* 9128: 81ced510 */ lb $t6,%lo(var8005d510)($t6)
/* 9124: 3c0e8006 */ lui $t6,%hi(g_AudioIsThreadRunning)
/* 9128: 81ced510 */ lb $t6,%lo(g_AudioIsThreadRunning)($t6)
/* 912c: 27bdffe8 */ addiu $sp,$sp,-24
/* 9130: afbf0014 */ sw $ra,0x14($sp)
/* 9134: 11c00003 */ beqz $t6,.L00009144
/* 9138: 3c048009 */ lui $a0,%hi(var800915e0)
/* 9138: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* 913c: 0c0120dc */ jal osStopThread
/* 9140: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* 9140: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
.L00009144:
/* 9144: 8fbf0014 */ lw $ra,0x14($sp)
/* 9148: 27bd0018 */ addiu $sp,$sp,0x18
+5 -5
View File
@@ -1314,7 +1314,7 @@ glabel func0000f804
/* fb6c: 3c047001 */ lui $a0,%hi(func0000f7b8)
/* fb70: 0c00cd8d */ jal func00033634
/* fb74: 2484f7b8 */ addiu $a0,$a0,%lo(func0000f7b8)
/* fb78: 0c00243b */ jal func000090ec
/* fb78: 0c00243b */ jal audioStartThread
/* fb7c: 00000000 */ nop
/* fb80: 3c048006 */ lui $a0,%hi(g_SoundMode)
/* fb84: 0c003ce3 */ jal audioSetSoundMode
@@ -1565,10 +1565,10 @@ glabel func0000fe88
/* fe94: afb00028 */ sw $s0,0x28($sp)
/* fe98: 0c012230 */ jal osGetThreadPri
/* fe9c: 00002025 */ or $a0,$zero,$zero
/* fea0: 3c048009 */ lui $a0,%hi(var800915e0)
/* fea0: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* fea4: 00408025 */ or $s0,$v0,$zero
/* fea8: 0c012230 */ jal osGetThreadPri
/* feac: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* feac: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* feb0: 00002025 */ or $a0,$zero,$zero
/* feb4: 0c01210c */ jal osSetThreadPri
/* feb8: 24450001 */ addiu $a1,$v0,0x1
@@ -2226,9 +2226,9 @@ glabel func00010718
/* 10730: 0c012230 */ jal osGetThreadPri
/* 10734: 00002025 */ or $a0,$zero,$zero
/* 10738: 2408ffff */ addiu $t0,$zero,-1
/* 1073c: 3c048009 */ lui $a0,%hi(var800915e0)
/* 1073c: 3c048009 */ lui $a0,%hi(g_AudioThread)
/* 10740: afa2003c */ sw $v0,0x3c($sp)
/* 10744: 248415e0 */ addiu $a0,$a0,%lo(var800915e0)
/* 10744: 248415e0 */ addiu $a0,$a0,%lo(g_AudioThread)
/* 10748: 0c012230 */ jal osGetThreadPri
/* 1074c: afa80038 */ sw $t0,0x38($sp)
/* 10750: 00002025 */ or $a0,$zero,$zero