Attempt to decompile func0f0939f8
This commit is contained in:
parent
c396ba1c5a
commit
335834aae9
|
|
@ -4596,7 +4596,7 @@ glabel aiSpeak
|
|||
// s16 text_id = cmd[4] | (cmd[3] << 8);
|
||||
// s32 prevplayernum = g_Vars.currentplayernum;
|
||||
// s32 playernum = g_Vars.currentplayernum;
|
||||
// u32 audioref;
|
||||
// u32 channelnum;
|
||||
// char *text = text_id >= 0 ? langGet(text_id) : NULL;
|
||||
//
|
||||
// if (chr && chr->prop && chr->prop->type == PROPTYPE_PLAYER) {
|
||||
|
|
@ -4610,13 +4610,13 @@ glabel aiSpeak
|
|||
// }
|
||||
//
|
||||
// if (cmd[2] == CHR_P1P2) {
|
||||
// audioref = audioPlayFromProp(cmd[7], audio_id, 0, g_Vars.chrdata->prop, 0, 512);
|
||||
// channelnum = audioPlayFromProp(cmd[7], audio_id, 0, g_Vars.chrdata->prop, 0, 512);
|
||||
// } else {
|
||||
// audioref = audioPlayFromProp(cmd[7], audio_id, 0, g_Vars.chrdata->prop, 9, 512);
|
||||
// channelnum = audioPlayFromProp(cmd[7], audio_id, 0, g_Vars.chrdata->prop, 9, 512);
|
||||
// }
|
||||
//
|
||||
// if (text && !audioIsFiltered(audio_id)) {
|
||||
// func0f0de160(text, 6, cmd[8], audioref);
|
||||
// func0f0de160(text, 6, cmd[8], channelnum);
|
||||
// }
|
||||
//
|
||||
// setCurrentPlayerNum(prevplayernum);
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ u32 var8006ae04 = 0x00000000;
|
|||
u32 var8006ae08 = 0x00000000;
|
||||
u32 var8006ae0c = 0x00000000;
|
||||
struct audiochannel *g_AudioChannels = NULL;
|
||||
u32 var8006ae14 = 0x00000000;
|
||||
u32 g_AudioPrevUuid = 0x00000000;
|
||||
s8 var8006ae18 = 0;
|
||||
s8 var8006ae1c = 0;
|
||||
s8 var8006ae20 = 0;
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ void func0f092a98(s32 channelnum)
|
|||
{
|
||||
struct audiochannel *channel = &g_AudioChannels[channelnum];
|
||||
|
||||
channel->unk32 |= 0x80;
|
||||
channel->flags2 |= 0x80;
|
||||
|
||||
if (channel->flags & AUDIOCHANNELFLAG_0200) {
|
||||
func0f0ddd44(channelnum);
|
||||
|
|
@ -1401,8 +1401,8 @@ glabel var7f1ab748
|
|||
/* f093b14: 10000145 */ b .L0f09402c
|
||||
/* f093b18: 2402ffff */ addiu $v0,$zero,-1
|
||||
.L0f093b1c:
|
||||
/* f093b1c: 3c038007 */ lui $v1,%hi(var8006ae14)
|
||||
/* f093b20: 2463ae14 */ addiu $v1,$v1,%lo(var8006ae14)
|
||||
/* f093b1c: 3c038007 */ lui $v1,%hi(g_AudioPrevUuid)
|
||||
/* f093b20: 2463ae14 */ addiu $v1,$v1,%lo(g_AudioPrevUuid)
|
||||
/* f093b24: 8c620000 */ lw $v0,0x0($v1)
|
||||
/* f093b28: 44801000 */ mtc1 $zero,$f2
|
||||
/* f093b2c: 24190040 */ addiu $t9,$zero,0x40
|
||||
|
|
@ -1504,14 +1504,14 @@ glabel var7f1ab748
|
|||
/* f093c7c: 53200065 */ beqzl $t9,.L0f093e14
|
||||
/* f093c80: 860c0018 */ lh $t4,0x18($s0)
|
||||
/* f093c84: 97a400ac */ lhu $a0,0xac($sp)
|
||||
/* f093c88: 3c0c8006 */ lui $t4,%hi(audiodefinitions)
|
||||
/* f093c8c: 258cdde4 */ addiu $t4,$t4,%lo(audiodefinitions)
|
||||
/* f093c88: 3c0c8006 */ lui $t4,%hi(g_AudioRussMappings)
|
||||
/* f093c8c: 258cdde4 */ addiu $t4,$t4,%lo(g_AudioRussMappings)
|
||||
/* f093c90: 308a7fff */ andi $t2,$a0,0x7fff
|
||||
/* f093c94: 000a5880 */ sll $t3,$t2,0x2
|
||||
/* f093c98: 016c1021 */ addu $v0,$t3,$t4
|
||||
/* f093c9c: 94450002 */ lhu $a1,0x2($v0)
|
||||
/* f093ca0: 3c0e8006 */ lui $t6,%hi(audioconfigs)
|
||||
/* f093ca4: 25cee4d8 */ addiu $t6,$t6,%lo(audioconfigs)
|
||||
/* f093ca0: 3c0e8006 */ lui $t6,%hi(g_AudioConfigs)
|
||||
/* f093ca4: 25cee4d8 */ addiu $t6,$t6,%lo(g_AudioConfigs)
|
||||
/* f093ca8: 00056940 */ sll $t5,$a1,0x5
|
||||
/* f093cac: 01ae1821 */ addu $v1,$t5,$t6
|
||||
/* f093cb0: c4640000 */ lwc1 $f4,0x0($v1)
|
||||
|
|
@ -1769,9 +1769,228 @@ glabel var7f1ab748
|
|||
/* f09403c: 00000000 */ nop
|
||||
);
|
||||
|
||||
// Mismatch: Two beq operators are swapped in this expression:
|
||||
// g_AudioConfigs[confignum].unk14 != -1
|
||||
//s16 func0f0939f8(
|
||||
// struct audiochannel *channel,
|
||||
// struct prop *prop,
|
||||
// s16 soundnum,
|
||||
// s16 padnum,
|
||||
// s32 arg4,
|
||||
// u16 flags,
|
||||
// u16 flags2,
|
||||
// s32 arg7,
|
||||
// struct coord *pos,
|
||||
// f32 arg9,
|
||||
// s16 *rooms,
|
||||
// s32 room,
|
||||
// f32 arg12,
|
||||
// f32 arg13,
|
||||
// f32 arg14)
|
||||
//{
|
||||
// union soundnumhack spac;
|
||||
// OSPri prevpri;
|
||||
// u32 stack[3];
|
||||
// struct pad pad;
|
||||
// s32 i;
|
||||
// s32 j;
|
||||
//
|
||||
// if (arg7 == 0x11) {
|
||||
// func0f0938ec(prop);
|
||||
// }
|
||||
//
|
||||
// spac.packed = soundnum;
|
||||
//
|
||||
// if (channel == NULL) {
|
||||
// if (arg7 != 16 && var8005ddd4 > 12) {
|
||||
// return -1;
|
||||
// }
|
||||
//
|
||||
// for (i = 8; i < (IS4MB() ? 30 : 40); i++) {
|
||||
// if (g_AudioChannels[i].flags & AUDIOCHANNELFLAG_IDLE) {
|
||||
// channel = &g_AudioChannels[i];
|
||||
// channel->channelnum = i;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (padnum >= 0) {
|
||||
// padUnpack(padnum, PADFIELD_POS | PADFIELD_ROOM, &pad);
|
||||
// pos = &pad.pos;
|
||||
// room = pad.room;
|
||||
// prop = NULL;
|
||||
// }
|
||||
//
|
||||
// if (channel == NULL) {
|
||||
// return -1;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioPrevUuid < 0xffffffff) {
|
||||
// g_AudioPrevUuid++;
|
||||
// } else {
|
||||
// g_AudioPrevUuid = 0;
|
||||
// }
|
||||
//
|
||||
// channel->flags = flags;
|
||||
// channel->flags2 = flags2;
|
||||
// channel->audiohandle = NULL;
|
||||
// channel->unk06 = -1;
|
||||
// channel->unk08 = -1;
|
||||
// channel->unk0e = -1;
|
||||
// channel->soundnum04 = (arg4 != -1) ? arg4 : -1;
|
||||
// channel->unk0a = 64;
|
||||
// channel->unk0c = 0;
|
||||
// channel->unk10 = 0x7fff;
|
||||
// channel->unk1a = 1;
|
||||
// channel->unk44 = (arg9 > 0) ? arg9 : -1;
|
||||
// channel->unk48 = channel->unk44;
|
||||
// channel->unk20 = -1;
|
||||
// channel->unk1c = -1;
|
||||
// channel->padnum = padnum;
|
||||
// channel->prop = prop;
|
||||
// channel->unk28 = arg7;
|
||||
// channel->unk12 = arg4;
|
||||
// channel->unk40 = -1;
|
||||
// channel->unk34 = (arg12 > 0) ? arg12 : 400;
|
||||
// channel->unk38 = (arg13 > 0) ? arg13 : 2500;
|
||||
// channel->unk3c = (arg14 > 0) ? arg14 : 3000;
|
||||
// channel->unk18 = 0;
|
||||
// channel->uuid = g_AudioPrevUuid;
|
||||
//
|
||||
// if (spac.bits2.isruss) {
|
||||
// s32 id = spac.bits.id;
|
||||
// s32 confignum = g_AudioRussMappings[id].audioconfig_index;
|
||||
// s32 newid = g_AudioRussMappings[id].soundnum;
|
||||
//
|
||||
// channel->unk34 = g_AudioConfigs[confignum].unk00;
|
||||
// channel->unk38 = g_AudioConfigs[confignum].unk04;
|
||||
// channel->unk3c = g_AudioConfigs[confignum].unk08;
|
||||
// channel->unk18 = g_AudioConfigs[confignum].unk18;
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].unk10 != 100) {
|
||||
// channel->unk10 = g_AudioConfigs[confignum].unk10 * 327;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].unk0c > 0) {
|
||||
// channel->unk44 = g_AudioConfigs[confignum].unk0c;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].unk14 != -1) {
|
||||
// channel->unk0a = g_AudioConfigs[confignum].unk14;
|
||||
// channel->flags |= AUDIOCHANNELFLAG_0020;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].flags & AUDIOCONFIGFLAG_01) {
|
||||
// channel->flags |= AUDIOCHANNELFLAG_0800;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].flags & AUDIOCONFIGFLAG_04) {
|
||||
// channel->flags2 |= AUDIOCHANNELFLAG2_0001;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].flags & AUDIOCONFIGFLAG_08) {
|
||||
// if (channel->soundnum04 == -1) {
|
||||
// channel->soundnum04 = channel->unk10;
|
||||
// }
|
||||
//
|
||||
// channel->flags |= AUDIOCHANNELFLAG_8000;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].flags & AUDIOCONFIGFLAG_10) {
|
||||
// channel->flags2 |= AUDIOCHANNELFLAG2_0020;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].flags & AUDIOCONFIGFLAG_20) {
|
||||
// channel->flags2 |= AUDIOCHANNELFLAG2_0010;
|
||||
// }
|
||||
//
|
||||
// if (g_AudioConfigs[confignum].flags & AUDIOCONFIGFLAG_40) {
|
||||
// channel->flags2 |= AUDIOCHANNELFLAG2_0040;
|
||||
// }
|
||||
//
|
||||
// channel->flags |= AUDIOCHANNELFLAG_0040;
|
||||
//
|
||||
// spac.packed = newid;
|
||||
// spac.bits2.isruss = false;
|
||||
// soundnum = spac.packed;
|
||||
// }
|
||||
//
|
||||
// if (channel->unk18) {
|
||||
// channel->flags |= AUDIOCHANNELFLAG_0002;
|
||||
// }
|
||||
//
|
||||
// channel->soundnum26 = spac.packed;
|
||||
// channel->unk2c = spac.bits3.id;
|
||||
//
|
||||
// if (audioIsFiltered(channel->unk2c)) {
|
||||
// channel->flags2 |= AUDIOCHANNELFLAG2_0020;
|
||||
// }
|
||||
//
|
||||
// if (spac.bits2.unk02) {
|
||||
// channel->flags2 |= AUDIOCHANNELFLAG2_0010;
|
||||
// }
|
||||
//
|
||||
// if (pos) {
|
||||
// channel->pos.x = pos->x;
|
||||
// channel->pos.y = pos->y;
|
||||
// channel->pos.z = pos->z;
|
||||
// channel->posptr = &channel->pos;
|
||||
// } else {
|
||||
// channel->posptr = NULL;
|
||||
// }
|
||||
//
|
||||
// if (rooms) {
|
||||
// // @dangerous: Array overflow will occur if rooms has more than 8 elements
|
||||
// for (j = 0; rooms[j] != -1; j++) {
|
||||
// channel->rooms[j] = rooms[j];
|
||||
// }
|
||||
//
|
||||
// channel->rooms[j] = -1;
|
||||
// } else if (room != -1) {
|
||||
// channel->rooms[0] = room;
|
||||
// channel->rooms[1] = -1;
|
||||
// } else {
|
||||
// channel->rooms[0] = -1;
|
||||
// }
|
||||
//
|
||||
// if (!pos && !channel->prop) {
|
||||
// channel->flags2 |= AUDIOCHANNELFLAG2_0010;
|
||||
// }
|
||||
//
|
||||
// if ((channel->flags2 & AUDIOCHANNELFLAG2_0010) && channel->soundnum04 == -1) {
|
||||
// channel->soundnum04 = channel->unk10;
|
||||
// }
|
||||
//
|
||||
// channel->flags |= AUDIOCHANNELFLAG_1000;
|
||||
//
|
||||
// if (func0000fba0(soundnum)) {
|
||||
// channel->flags |= AUDIOCHANNELFLAG_0010;
|
||||
//
|
||||
// prevpri = osGetThreadPri(0);
|
||||
// osSetThreadPri(0, osGetThreadPri(&g_AudioThread) + 1);
|
||||
// func0f092c04(channel->channelnum);
|
||||
// osSetThreadPri(0, prevpri);
|
||||
// } else {
|
||||
// prevpri = osGetThreadPri(0);
|
||||
// osSetThreadPri(0, osGetThreadPri(&g_AudioThread) + 1);
|
||||
// func0f092c04(channel->channelnum);
|
||||
// osSetThreadPri(0, prevpri);
|
||||
// }
|
||||
//
|
||||
// if (channel->flags & AUDIOCHANNELFLAG_0400) {
|
||||
// channel->flags &= ~AUDIOCHANNELFLAG_0400;
|
||||
// channel->flags2 |= AUDIOCHANNELFLAG2_0010;
|
||||
// }
|
||||
//
|
||||
// channel->flags &= ~AUDIOCHANNELFLAG_1000;
|
||||
//
|
||||
// return channel->channelnum;
|
||||
//}
|
||||
|
||||
s32 audioPlayFromProp(s32 channelnum, s16 soundnum, s32 arg2, struct prop *prop, s16 arg4, u16 arg5)
|
||||
{
|
||||
s32 result = -1;
|
||||
s32 retchannelnum = -1;
|
||||
|
||||
if (arg4 == 11) {
|
||||
if (channelnum >= 0 && channelnum <= 7) {
|
||||
|
|
@ -1779,34 +1998,34 @@ s32 audioPlayFromProp(s32 channelnum, s16 soundnum, s32 arg2, struct prop *prop,
|
|||
g_AudioChannels[channelnum].soundnum26 = soundnum;
|
||||
g_AudioChannels[channelnum].unk28 = 11;
|
||||
g_AudioChannels[channelnum].flags &= ~AUDIOCHANNELFLAG_IDLE;
|
||||
result = channelnum;
|
||||
retchannelnum = channelnum;
|
||||
} else {
|
||||
g_AudioChannels[channelnum].soundnum26 = soundnum;
|
||||
g_AudioChannels[channelnum].unk28 = 11;
|
||||
g_AudioChannels[channelnum].flags &= ~AUDIOCHANNELFLAG_IDLE;
|
||||
result = channelnum;
|
||||
retchannelnum = channelnum;
|
||||
}
|
||||
}
|
||||
} else if (channelnum == 10) {
|
||||
result = func0f0939f8(NULL, prop, soundnum, -1,
|
||||
retchannelnum = func0f0939f8(NULL, prop, soundnum, -1,
|
||||
(arg2 ? 0 : -1), arg5 | 0x0080, 0, arg4, 0, -1, 0, -1, -1, -1, -1);
|
||||
} else if (channelnum < 0 || channelnum >= 8 || channelnum == 9) {
|
||||
result = func0f0939f8(NULL, prop, soundnum, -1,
|
||||
retchannelnum = func0f0939f8(NULL, prop, soundnum, -1,
|
||||
(arg2 ? 0 : -1), arg5, 0, arg4, 0, -1, 0, -1, -1, -1, -1);
|
||||
} else {
|
||||
if ((g_AudioChannels[channelnum].flags & AUDIOCHANNELFLAG_IDLE) == 0) {
|
||||
func0f092a98(channelnum);
|
||||
}
|
||||
|
||||
g_AudioChannels[channelnum].unk2e = channelnum;
|
||||
g_AudioChannels[channelnum].channelnum = channelnum;
|
||||
|
||||
func0f0939f8(&g_AudioChannels[channelnum].audiohandle, prop, soundnum, -1,
|
||||
func0f0939f8(&g_AudioChannels[channelnum], prop, soundnum, -1,
|
||||
(arg2 ? 0 : -1), arg5, 0, arg4, 0, -1, 0, -1, -1, -1, -1);
|
||||
|
||||
result = channelnum;
|
||||
retchannelnum = channelnum;
|
||||
}
|
||||
|
||||
return result;
|
||||
return retchannelnum;
|
||||
}
|
||||
|
||||
void audioMuteChannel(s32 channelnum)
|
||||
|
|
@ -1844,7 +2063,7 @@ bool audioIsChannelIdle(s32 channelnum)
|
|||
return true;
|
||||
}
|
||||
|
||||
void audioPlayFromProp2(s32 channelnum, s32 soundnum, s16 arg2, struct prop *prop, s32 arg4, s32 arg5, s32 arg6, u16 arg7)
|
||||
void audioPlayFromProp2(s32 channelnum, s32 soundnum, s16 padnum, struct prop *prop, s32 arg4, s32 arg5, s32 arg6, u16 arg7)
|
||||
{
|
||||
struct audiochannel *channel = &g_AudioChannels[channelnum];
|
||||
bool a1 = (arg4 >= 6) ? true : false;
|
||||
|
|
@ -1852,9 +2071,9 @@ void audioPlayFromProp2(s32 channelnum, s32 soundnum, s16 arg2, struct prop *pro
|
|||
|
||||
if (channelnum >= 0 && channelnum <= 7) {
|
||||
if (channel->unk28 == 11) {
|
||||
g_AudioChannels[channelnum].unk2e = channelnum;
|
||||
g_AudioChannels[channelnum].channelnum = (u16)channelnum;
|
||||
|
||||
func0f0939f8(&g_AudioChannels[channelnum].audiohandle, prop, channel->soundnum26, -1,
|
||||
func0f0939f8(&g_AudioChannels[channelnum], prop, channel->soundnum26, -1,
|
||||
-1, arg7, 0, 0, 0, -1, 0, -1, 400, arg5, arg6);
|
||||
} else {
|
||||
if ((channel->flags & AUDIOCHANNELFLAG_2000) == 0 && soundnum >= 0) {
|
||||
|
|
@ -1865,8 +2084,8 @@ void audioPlayFromProp2(s32 channelnum, s32 soundnum, s16 arg2, struct prop *pro
|
|||
channel->unk1c = arg4;
|
||||
}
|
||||
|
||||
if (arg2 != -1) {
|
||||
channel->unk24 = arg2;
|
||||
if (padnum != -1) {
|
||||
channel->padnum = padnum;
|
||||
}
|
||||
|
||||
if (prop) {
|
||||
|
|
@ -1927,13 +2146,13 @@ glabel func0f0946b0
|
|||
/* f094718: 0018cfc2 */ srl $t9,$t8,0x1f
|
||||
/* f09471c: 13200018 */ beqz $t9,.L0f094780
|
||||
/* f094720: a7a2006c */ sh $v0,0x6c($sp)
|
||||
/* f094724: 3c0d8006 */ lui $t5,%hi(audiodefinitions)
|
||||
/* f094728: 25addde4 */ addiu $t5,$t5,%lo(audiodefinitions)
|
||||
/* f094724: 3c0d8006 */ lui $t5,%hi(g_AudioRussMappings)
|
||||
/* f094728: 25addde4 */ addiu $t5,$t5,%lo(g_AudioRussMappings)
|
||||
/* f09472c: 000b6080 */ sll $t4,$t3,0x2
|
||||
/* f094730: 018d1821 */ addu $v1,$t4,$t5
|
||||
/* f094734: 94650002 */ lhu $a1,0x2($v1)
|
||||
/* f094738: 3c188006 */ lui $t8,%hi(audioconfigs)
|
||||
/* f09473c: 2718e4d8 */ addiu $t8,$t8,%lo(audioconfigs)
|
||||
/* f094738: 3c188006 */ lui $t8,%hi(g_AudioConfigs)
|
||||
/* f09473c: 2718e4d8 */ addiu $t8,$t8,%lo(g_AudioConfigs)
|
||||
/* f094740: 00057940 */ sll $t7,$a1,0x5
|
||||
/* f094744: 01f81021 */ addu $v0,$t7,$t8
|
||||
/* f094748: c4520008 */ lwc1 $f18,0x8($v0)
|
||||
|
|
@ -2563,13 +2782,13 @@ glabel var7f1ab784
|
|||
/* f094f44: e7a40040 */ swc1 $f4,0x40($sp)
|
||||
/* f094f48: 01c02025 */ or $a0,$t6,$zero
|
||||
/* f094f4c: 30997fff */ andi $t9,$a0,0x7fff
|
||||
/* f094f50: 3c0a8006 */ lui $t2,%hi(audiodefinitions)
|
||||
/* f094f54: 254adde4 */ addiu $t2,$t2,%lo(audiodefinitions)
|
||||
/* f094f50: 3c0a8006 */ lui $t2,%hi(g_AudioRussMappings)
|
||||
/* f094f54: 254adde4 */ addiu $t2,$t2,%lo(g_AudioRussMappings)
|
||||
/* f094f58: 00194880 */ sll $t1,$t9,0x2
|
||||
/* f094f5c: 012a1821 */ addu $v1,$t1,$t2
|
||||
/* f094f60: 94650002 */ lhu $a1,0x2($v1)
|
||||
/* f094f64: 3c0c8006 */ lui $t4,%hi(audioconfigs)
|
||||
/* f094f68: 258ce4d8 */ addiu $t4,$t4,%lo(audioconfigs)
|
||||
/* f094f64: 3c0c8006 */ lui $t4,%hi(g_AudioConfigs)
|
||||
/* f094f68: 258ce4d8 */ addiu $t4,$t4,%lo(g_AudioConfigs)
|
||||
/* f094f6c: 00055940 */ sll $t3,$a1,0x5
|
||||
/* f094f70: 016c1021 */ addu $v0,$t3,$t4
|
||||
/* f094f74: 8c4e001c */ lw $t6,0x1c($v0)
|
||||
|
|
@ -2662,16 +2881,16 @@ glabel var7f1ab78c
|
|||
.L0f09509c:
|
||||
/* f09509c: 8faf0058 */ lw $t7,0x58($sp)
|
||||
/* f0950a0: 97a40058 */ lhu $a0,0x58($sp)
|
||||
/* f0950a4: 3c0a8006 */ lui $t2,%hi(audiodefinitions)
|
||||
/* f0950a4: 3c0a8006 */ lui $t2,%hi(g_AudioRussMappings)
|
||||
/* f0950a8: 000fc7c2 */ srl $t8,$t7,0x1f
|
||||
/* f0950ac: 1300001e */ beqz $t8,.L0f095128
|
||||
/* f0950b0: 30997fff */ andi $t9,$a0,0x7fff
|
||||
/* f0950b4: 00194880 */ sll $t1,$t9,0x2
|
||||
/* f0950b8: 254adde4 */ addiu $t2,$t2,%lo(audiodefinitions)
|
||||
/* f0950b8: 254adde4 */ addiu $t2,$t2,%lo(g_AudioRussMappings)
|
||||
/* f0950bc: 012a1821 */ addu $v1,$t1,$t2
|
||||
/* f0950c0: 94650002 */ lhu $a1,0x2($v1)
|
||||
/* f0950c4: 3c0c8006 */ lui $t4,%hi(audioconfigs)
|
||||
/* f0950c8: 258ce4d8 */ addiu $t4,$t4,%lo(audioconfigs)
|
||||
/* f0950c4: 3c0c8006 */ lui $t4,%hi(g_AudioConfigs)
|
||||
/* f0950c8: 258ce4d8 */ addiu $t4,$t4,%lo(g_AudioConfigs)
|
||||
/* f0950cc: 00055940 */ sll $t3,$a1,0x5
|
||||
/* f0950d0: 016c1021 */ addu $v0,$t3,$t4
|
||||
/* f0950d4: 8c4e001c */ lw $t6,0x1c($v0)
|
||||
|
|
|
|||
|
|
@ -38822,7 +38822,7 @@ void ammotypePlayPickupSound(u32 ammotype)
|
|||
}
|
||||
}
|
||||
|
||||
u32 propPlayPickupSound(struct prop *prop, s32 weapon)
|
||||
s32 propPlayPickupSound(struct prop *prop, s32 weapon)
|
||||
{
|
||||
s16 sound;
|
||||
|
||||
|
|
|
|||
|
|
@ -250,10 +250,27 @@
|
|||
#define AUDIOCHANNELFLAG_0002 0x0002
|
||||
#define AUDIOCHANNELFLAG_0008 0x0008
|
||||
#define AUDIOCHANNELFLAG_0010 0x0010
|
||||
#define AUDIOCHANNELFLAG_0020 0x0020
|
||||
#define AUDIOCHANNELFLAG_0040 0x0040
|
||||
#define AUDIOCHANNELFLAG_0080 0x0080
|
||||
#define AUDIOCHANNELFLAG_0200 0x0200
|
||||
#define AUDIOCHANNELFLAG_0400 0x0400
|
||||
#define AUDIOCHANNELFLAG_0800 0x0800
|
||||
#define AUDIOCHANNELFLAG_1000 0x1000
|
||||
#define AUDIOCHANNELFLAG_2000 0x2000
|
||||
#define AUDIOCHANNELFLAG_8000 0x8000
|
||||
|
||||
#define AUDIOCHANNELFLAG2_0001 0x0001
|
||||
#define AUDIOCHANNELFLAG2_0010 0x0010
|
||||
#define AUDIOCHANNELFLAG2_0020 0x0020
|
||||
#define AUDIOCHANNELFLAG2_0040 0x0040
|
||||
|
||||
#define AUDIOCONFIGFLAG_01 0x01
|
||||
#define AUDIOCONFIGFLAG_04 0x04
|
||||
#define AUDIOCONFIGFLAG_08 0x08
|
||||
#define AUDIOCONFIGFLAG_10 0x10
|
||||
#define AUDIOCONFIGFLAG_20 0x20
|
||||
#define AUDIOCONFIGFLAG_40 0x40
|
||||
|
||||
#define BANK_0 0
|
||||
#define BANK_1 1
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ extern bool g_CountdownTimerRunning;
|
|||
extern f32 g_CountdownTimerValue;
|
||||
extern u32 g_StageFlags;
|
||||
|
||||
extern struct audiodefinition audiodefinitions[];
|
||||
extern struct audioconfig audioconfigs[];
|
||||
extern struct audiorussmapping g_AudioRussMappings[];
|
||||
extern struct audioconfig g_AudioConfigs[];
|
||||
|
||||
extern bool (*g_CommandPointers[NUM_AICOMMANDS])(void);
|
||||
extern u16 g_CommandLengths[NUM_AICOMMANDS];
|
||||
|
|
@ -106,7 +106,7 @@ extern u32 var8005ddc0;
|
|||
extern u32 var8005ddc4;
|
||||
extern u16 g_SfxVolume;
|
||||
extern u32 g_SoundMode;
|
||||
extern u32 var8005ddd4;
|
||||
extern s32 var8005ddd4;
|
||||
extern u32 var8005ddd8;
|
||||
extern u32 var8005dde0;
|
||||
extern u32 var8005edf0;
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ extern u32 var8006ad8c;
|
|||
extern u32 var8006ad90;
|
||||
extern u32 var8006adf8;
|
||||
extern struct audiochannel *g_AudioChannels;
|
||||
extern u32 var8006ae14;
|
||||
extern u32 g_AudioPrevUuid;
|
||||
extern s8 var8006ae18;
|
||||
extern s8 var8006ae1c;
|
||||
extern s8 var8006ae20;
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ void func0f092c04(s32 channelnum);
|
|||
u32 func0f093508(void);
|
||||
u32 func0f093630(void);
|
||||
u32 func0f093790(void);
|
||||
u32 func0f0938ec(void);
|
||||
s32 func0f0939f8(void *arg0, struct prop *prop, s16 sound, s32 padnum, s32 arg4, u32 arg5, s32 arg6, s32 arg7, s32 arg8, f32 arg9, s32 arg10, s32 arg11, f32 arg12, f32 arg13, f32 arg14);
|
||||
void func0f0938ec(struct prop *prop);
|
||||
s16 func0f0939f8(struct audiochannel *channel, struct prop *prop, s16 soundnum, s16 padnum, s32 arg4, u16 flags, u16 flags2, s32 arg7, struct coord *pos, f32 arg9, s16 *rooms, s32 room, f32 arg12, f32 arg13, f32 arg14);
|
||||
void audioMuteChannel(s32 channelnum);
|
||||
bool audioIsChannelIdle(s32 channelnum);
|
||||
void audioPlayFromProp2(s32 channelnum, s32 soundnum, s16 arg2, struct prop *prop, s32 arg4, s32 arg5, s32 arg6, u16 arg7);
|
||||
void audioPlayFromProp2(s32 channelnum, s32 soundnum, s16 padnum, struct prop *prop, s32 arg4, s32 arg5, s32 arg6, u16 arg7);
|
||||
u32 func0f0946b0(void);
|
||||
u32 func0f094940(void);
|
||||
u32 func0f094b1c(void);
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ void ammotypeGetPickedUpText(char *dst);
|
|||
void ammotypeGetDeterminer(char *dst, s32 ammotype, s32 qty);
|
||||
void ammotypeGetPickupName(char *dst, s32 ammotype, s32 qty);
|
||||
void ammotypePlayPickupSound(u32 ammotype);
|
||||
u32 propPlayPickupSound(struct prop *prop, s32 weapon);
|
||||
s32 propPlayPickupSound(struct prop *prop, s32 weapon);
|
||||
void func0f087d10(s32 weaponnum);
|
||||
void ammotypeGetPickupMessage(char *dst, s32 ammotype, s32 qty);
|
||||
void currentPlayerQueuePickupAmmoHudmsg(s32 ammotype, s32 pickupqty);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ void audioSetSoundMode(u32 mode);
|
|||
u32 func0000f49c(void);
|
||||
u32 func0000f67c(void);
|
||||
u32 func0000f804(void);
|
||||
u32 func0000fba0(void);
|
||||
bool func0000fba0(s32 soundnum);
|
||||
void func0000fbc4(s16 arg0);
|
||||
u32 func0000fc48(void);
|
||||
u32 func0000fd74(void);
|
||||
|
|
|
|||
|
|
@ -3392,8 +3392,30 @@ struct something {
|
|||
u32 unk08;
|
||||
};
|
||||
|
||||
struct audiodefinition {
|
||||
u16 unk00;
|
||||
union soundnumhack {
|
||||
s16 packed;
|
||||
|
||||
struct {
|
||||
u16 isruss : 1;
|
||||
u16 id : 15;
|
||||
} bits;
|
||||
|
||||
struct {
|
||||
u16 isruss : 1;
|
||||
u16 unk02 : 2;
|
||||
u16 id : 13;
|
||||
} bits2;
|
||||
|
||||
struct {
|
||||
u16 isruss : 1;
|
||||
u16 unk02 : 2;
|
||||
u16 unk04 : 2;
|
||||
u16 id : 11;
|
||||
} bits3;
|
||||
};
|
||||
|
||||
struct audiorussmapping {
|
||||
s16 soundnum;
|
||||
u16 audioconfig_index;
|
||||
};
|
||||
|
||||
|
|
@ -3402,7 +3424,7 @@ struct audioconfig {
|
|||
f32 unk04;
|
||||
f32 unk08;
|
||||
f32 unk0c;
|
||||
u32 unk10;
|
||||
s32 unk10;
|
||||
s32 unk14;
|
||||
u32 unk18;
|
||||
u32 flags; // 0x10 = contains swearing
|
||||
|
|
@ -6680,38 +6702,37 @@ struct audiochannel {
|
|||
/*0x00*/ struct audiohandle *audiohandle;
|
||||
/*0x04*/ s16 soundnum04;
|
||||
/*0x06*/ s16 unk06;
|
||||
/*0x08*/ u32 unk08;
|
||||
/*0x0c*/ u32 unk0c;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x08*/ s16 unk08;
|
||||
/*0x0a*/ s16 unk0a;
|
||||
/*0x0c*/ s16 unk0c;
|
||||
/*0x0e*/ s16 unk0e;
|
||||
/*0x10*/ s16 unk10;
|
||||
/*0x12*/ u16 unk12;
|
||||
/*0x14*/ u32 unk14;
|
||||
/*0x18*/ u16 unk18;
|
||||
/*0x18*/ s16 unk18;
|
||||
/*0x1a*/ u8 unk1a;
|
||||
/*0x1c*/ s32 unk1c;
|
||||
/*0x20*/ u32 unk20;
|
||||
/*0x24*/ s16 unk24;
|
||||
/*0x20*/ s32 unk20;
|
||||
/*0x24*/ s16 padnum;
|
||||
/*0x26*/ s16 soundnum26;
|
||||
/*0x28*/ s16 unk28;
|
||||
/*0x2a*/ u16 unk2a;
|
||||
/*0x2c*/ u16 unk2c;
|
||||
/*0x2e*/ u16 unk2e;
|
||||
/*0x2c*/ s16 unk2c;
|
||||
/*0x2e*/ s16 channelnum;
|
||||
/*0x30*/ u16 flags;
|
||||
/*0x32*/ u16 unk32;
|
||||
/*0x32*/ u16 flags2;
|
||||
/*0x34*/ f32 unk34;
|
||||
/*0x38*/ f32 unk38;
|
||||
/*0x3c*/ f32 unk3c;
|
||||
/*0x40*/ u32 unk40;
|
||||
/*0x44*/ u32 unk44;
|
||||
/*0x48*/ u32 unk48;
|
||||
/*0x40*/ f32 unk40;
|
||||
/*0x44*/ f32 unk44;
|
||||
/*0x48*/ f32 unk48;
|
||||
/*0x4c*/ f32 unk4c;
|
||||
/*0x50*/ struct prop *prop;
|
||||
/*0x54*/ u32 unk54;
|
||||
/*0x58*/ u32 unk58;
|
||||
/*0x5c*/ u32 unk5c;
|
||||
/*0x60*/ u32 unk60;
|
||||
/*0x64*/ u32 unk64;
|
||||
/*0x68*/ u32 unk68;
|
||||
/*0x6c*/ u32 unk6c;
|
||||
/*0x70*/ u32 unk70;
|
||||
/*0x74*/ u32 unk74;
|
||||
/*0x54*/ struct coord *posptr;
|
||||
/*0x58*/ struct coord pos;
|
||||
/*0x64*/ s16 rooms[8];
|
||||
/*0x74*/ u32 uuid;
|
||||
};
|
||||
|
||||
struct var8007e3d0_data {
|
||||
|
|
|
|||
|
|
@ -62,13 +62,13 @@ u32 var8005ddc4 = 0x00000000;
|
|||
u16 g_SfxVolume = 32767;
|
||||
u32 g_SoundMode = SOUNDMODE_STEREO;
|
||||
u32 var8005ddd0 = 0x00000000;
|
||||
u32 var8005ddd4 = 0x00000000;
|
||||
s32 var8005ddd4 = 0x00000000;
|
||||
u32 var8005ddd8 = 0x00000000;
|
||||
u32 var8005dddc = 0x00000000;
|
||||
u32 var8005dde0 = 0x00000000;
|
||||
|
||||
// 3e04
|
||||
struct audiodefinition audiodefinitions[] = {
|
||||
struct audiorussmapping g_AudioRussMappings[] = {
|
||||
/*0x0000*/ { 0x85ba, 59 },
|
||||
/*0x0001*/ { 0x85a5, 15 },
|
||||
/*0x0002*/ { 0x85a6, 15 },
|
||||
|
|
@ -517,71 +517,71 @@ struct audiodefinition audiodefinitions[] = {
|
|||
};
|
||||
|
||||
// 44f8
|
||||
struct audioconfig audioconfigs[] = {
|
||||
{ /* 0*/ 200, 1000, 1200, -1, 100, -1, 0, 0x00 },
|
||||
{ /* 1*/ 400, 2500, 3000, -1, 100, 48, 0, 0x20 },
|
||||
{ /* 2*/ 400, 2500, 3000, -1, 100, -1, 0, 0x10 },
|
||||
{ /* 3*/ 400, 2500, 3000, -1, 100, 48, 0, 0x30 },
|
||||
{ /* 4*/ 200, 1000, 1200, -1, 100, -1, 0, 0x00 },
|
||||
{ /* 5*/ 200, 1000, 1200, -1, 100, -1, 0, 0x00 },
|
||||
{ /* 6*/ 200, 1000, 1200, -1, 100, -1, 0, 0x00 },
|
||||
{ /* 7*/ 1000, 3500, 4000, -1, 100, -1, 120, 0x09 },
|
||||
{ /* 8*/ 1000, 2500, 3000, -1, 100, -1, 30, 0x09 },
|
||||
{ /* 9*/ 1000, 3500, 4000, -1, 100, -1, 120, 0x09 },
|
||||
{ /*10*/ 1000, 2500, 3000, -1, 100, -1, 30, 0x09 },
|
||||
{ /*11*/ 1600, 3000, 3500, -1, 100, -1, 0, 0x09 },
|
||||
{ /*12*/ 400, 1100, 1400, -1, 100, -1, 140, 0x09 },
|
||||
{ /*13*/ 400, 1100, 1400, -1, 100, -1, 0, 0x09 },
|
||||
{ /*14*/ 300, 1200, 1250, -1, 100, -1, 0, 0x01 },
|
||||
{ /*15*/ 500, 1800, 1900, -1, 100, -1, 0, 0x01 },
|
||||
{ /*16*/ 1000, 2700, 2900, -1, 100, -1, 0, 0x01 },
|
||||
{ /*17*/ 1500, 3000, 4000, -1, 100, -1, 0, 0x01 },
|
||||
{ /*18*/ 2500, 4900, 5000, -1, 100, -1, 0, 0x01 },
|
||||
{ /*19*/ 5500, 5600, 5700, -1, 100, -1, 0, 0x21 },
|
||||
{ /*20*/ 20, 400, 500, -1, 100, -1, 0, 0x00 },
|
||||
{ /*21*/ 300, 1700, 2000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*22*/ 600, 3500, 5000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*23*/ 600, 3500, 5000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*24*/ 600, 3500, 5000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*25*/ 600, 2500, 3000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*26*/ 1500, 4900, 5500, -1, 100, -1, 100, 0x01 },
|
||||
{ /*27*/ 5500, 5740, 5800, -1, 100, -1, 100, 0x01 },
|
||||
{ /*28*/ 250, 1000, 1300, 2, 100, -1, 120, 0x01 },
|
||||
{ /*29*/ 200, 2600, 3000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*30*/ 200, 750, 850, -1, 100, -1, 0, 0x00 },
|
||||
{ /*31*/ 600, 2000, 3000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*32*/ 500, 1500, 1800, -1, 100, -1, 0, 0x00 },
|
||||
{ /*33*/ 800, 2500, 3000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*34*/ 400, 1500, 2000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*35*/ 1000, 3500, 5000, -1, 100, -1, 0, 0x01 },
|
||||
{ /*36*/ 50, 225, 250, -1, 100, -1, 0, 0x01 },
|
||||
{ /*37*/ 50, 225, 250, -1, 100, -1, 0, 0x01 },
|
||||
{ /*38*/ 2000, 2500, 2700, -1, 50, -1, 0, 0x09 },
|
||||
{ /*39*/ 300, 1000, 1200, -1, 100, -1, 0, 0x01 },
|
||||
{ /*40*/ 300, 1000, 1200, -1, 100, -1, 100, 0x01 },
|
||||
{ /*41*/ 600, 1500, 1800, -1, 100, -1, 0, 0x01 },
|
||||
{ /*42*/ 600, 1500, 1800, -1, 100, -1, 100, 0x01 },
|
||||
{ /*43*/ 800, 2600, 3500, -1, 100, -1, 0, 0x01 },
|
||||
{ /*44*/ 800, 2600, 3500, -1, 100, -1, 100, 0x01 },
|
||||
{ /*45*/ 200, 800, 1000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*46*/ 200, 700, 1000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*47*/ 1000, 2500, 3000, -1, 100, -1, 0, 0x00 },
|
||||
{ /*48*/ 500, 1400, 1500, -1, 100, -1, 0, 0x00 },
|
||||
{ /*49*/ 500, 2000, 2200, -1, 100, -1, 0, 0x00 },
|
||||
{ /*50*/ 400, 2500, 3000, -1, 50, -1, 0, 0x00 },
|
||||
{ /*51*/ 400, 2500, 3000, -1, 75, -1, 0, 0x00 },
|
||||
{ /*52*/ 200, 500, 800, -1, 100, -1, 100, 0x00 },
|
||||
{ /*53*/ 1000, 1100, 1600, -1, 100, -1, 0, 0x00 },
|
||||
{ /*54*/ 300, 1300, 1500, -1, 100, -1, 0, 0x01 },
|
||||
{ /*55*/ 300, 1300, 1500, -1, 100, -1, 200, 0x01 },
|
||||
{ /*56*/ 250, 600, 900, -1, 100, -1, 200, 0x01 },
|
||||
{ /*57*/ 50, 180, 250, -1, 100, -1, 200, 0x01 },
|
||||
{ /*58*/ 100, 400, 600, -1, 100, -1, 200, 0x01 },
|
||||
{ /*59*/ 700, 1100, 1400, -1, 100, -1, 200, 0x01 },
|
||||
{ /*60*/ 400, 2500, 3000, -1, 100, -1, 0, 0x04 },
|
||||
{ /*61*/ 300, 900, 1100, -1, 100, -1, 0, 0x00 },
|
||||
{ /*62*/ 1000, 2500, 3000, -1, 100, -1, 0, 0x08 },
|
||||
{ /*63*/ 400, 1000, 1200, -1, 100, -1, 0, 0x00 },
|
||||
struct audioconfig g_AudioConfigs[] = {
|
||||
{ /* 0*/ 200, 1000, 1200, -1, 100, -1, 0, 0 },
|
||||
{ /* 1*/ 400, 2500, 3000, -1, 100, 48, 0, AUDIOCONFIGFLAG_20 },
|
||||
{ /* 2*/ 400, 2500, 3000, -1, 100, -1, 0, AUDIOCONFIGFLAG_10 },
|
||||
{ /* 3*/ 400, 2500, 3000, -1, 100, 48, 0, AUDIOCONFIGFLAG_10 | AUDIOCONFIGFLAG_20 },
|
||||
{ /* 4*/ 200, 1000, 1200, -1, 100, -1, 0, 0 },
|
||||
{ /* 5*/ 200, 1000, 1200, -1, 100, -1, 0, 0 },
|
||||
{ /* 6*/ 200, 1000, 1200, -1, 100, -1, 0, 0 },
|
||||
{ /* 7*/ 1000, 3500, 4000, -1, 100, -1, 120, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_08 },
|
||||
{ /* 8*/ 1000, 2500, 3000, -1, 100, -1, 30, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_08 },
|
||||
{ /* 9*/ 1000, 3500, 4000, -1, 100, -1, 120, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_08 },
|
||||
{ /*10*/ 1000, 2500, 3000, -1, 100, -1, 30, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_08 },
|
||||
{ /*11*/ 1600, 3000, 3500, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_08 },
|
||||
{ /*12*/ 400, 1100, 1400, -1, 100, -1, 140, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_08 },
|
||||
{ /*13*/ 400, 1100, 1400, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_08 },
|
||||
{ /*14*/ 300, 1200, 1250, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*15*/ 500, 1800, 1900, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*16*/ 1000, 2700, 2900, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*17*/ 1500, 3000, 4000, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*18*/ 2500, 4900, 5000, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*19*/ 5500, 5600, 5700, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_20 },
|
||||
{ /*20*/ 20, 400, 500, -1, 100, -1, 0, 0 },
|
||||
{ /*21*/ 300, 1700, 2000, -1, 100, -1, 0, 0 },
|
||||
{ /*22*/ 600, 3500, 5000, -1, 100, -1, 0, 0 },
|
||||
{ /*23*/ 600, 3500, 5000, -1, 100, -1, 0, 0 },
|
||||
{ /*24*/ 600, 3500, 5000, -1, 100, -1, 0, 0 },
|
||||
{ /*25*/ 600, 2500, 3000, -1, 100, -1, 0, 0 },
|
||||
{ /*26*/ 1500, 4900, 5500, -1, 100, -1, 100, AUDIOCONFIGFLAG_01 },
|
||||
{ /*27*/ 5500, 5740, 5800, -1, 100, -1, 100, AUDIOCONFIGFLAG_01 },
|
||||
{ /*28*/ 250, 1000, 1300, 2, 100, -1, 120, AUDIOCONFIGFLAG_01 },
|
||||
{ /*29*/ 200, 2600, 3000, -1, 100, -1, 0, 0 },
|
||||
{ /*30*/ 200, 750, 850, -1, 100, -1, 0, 0 },
|
||||
{ /*31*/ 600, 2000, 3000, -1, 100, -1, 0, 0 },
|
||||
{ /*32*/ 500, 1500, 1800, -1, 100, -1, 0, 0 },
|
||||
{ /*33*/ 800, 2500, 3000, -1, 100, -1, 0, 0 },
|
||||
{ /*34*/ 400, 1500, 2000, -1, 100, -1, 0, 0 },
|
||||
{ /*35*/ 1000, 3500, 5000, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*36*/ 50, 225, 250, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*37*/ 50, 225, 250, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*38*/ 2000, 2500, 2700, -1, 50, -1, 0, AUDIOCONFIGFLAG_01 | AUDIOCONFIGFLAG_08 },
|
||||
{ /*39*/ 300, 1000, 1200, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*40*/ 300, 1000, 1200, -1, 100, -1, 100, AUDIOCONFIGFLAG_01 },
|
||||
{ /*41*/ 600, 1500, 1800, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*42*/ 600, 1500, 1800, -1, 100, -1, 100, AUDIOCONFIGFLAG_01 },
|
||||
{ /*43*/ 800, 2600, 3500, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*44*/ 800, 2600, 3500, -1, 100, -1, 100, AUDIOCONFIGFLAG_01 },
|
||||
{ /*45*/ 200, 800, 1000, -1, 100, -1, 0, 0 },
|
||||
{ /*46*/ 200, 700, 1000, -1, 100, -1, 0, 0 },
|
||||
{ /*47*/ 1000, 2500, 3000, -1, 100, -1, 0, 0 },
|
||||
{ /*48*/ 500, 1400, 1500, -1, 100, -1, 0, 0 },
|
||||
{ /*49*/ 500, 2000, 2200, -1, 100, -1, 0, 0 },
|
||||
{ /*50*/ 400, 2500, 3000, -1, 50, -1, 0, 0 },
|
||||
{ /*51*/ 400, 2500, 3000, -1, 75, -1, 0, 0 },
|
||||
{ /*52*/ 200, 500, 800, -1, 100, -1, 100, 0 },
|
||||
{ /*53*/ 1000, 1100, 1600, -1, 100, -1, 0, 0 },
|
||||
{ /*54*/ 300, 1300, 1500, -1, 100, -1, 0, AUDIOCONFIGFLAG_01 },
|
||||
{ /*55*/ 300, 1300, 1500, -1, 100, -1, 200, AUDIOCONFIGFLAG_01 },
|
||||
{ /*56*/ 250, 600, 900, -1, 100, -1, 200, AUDIOCONFIGFLAG_01 },
|
||||
{ /*57*/ 50, 180, 250, -1, 100, -1, 200, AUDIOCONFIGFLAG_01 },
|
||||
{ /*58*/ 100, 400, 600, -1, 100, -1, 200, AUDIOCONFIGFLAG_01 },
|
||||
{ /*59*/ 700, 1100, 1400, -1, 100, -1, 200, AUDIOCONFIGFLAG_01 },
|
||||
{ /*60*/ 400, 2500, 3000, -1, 100, -1, 0, AUDIOCONFIGFLAG_04 },
|
||||
{ /*61*/ 300, 900, 1100, -1, 100, -1, 0, 0 },
|
||||
{ /*62*/ 1000, 2500, 3000, -1, 100, -1, 0, AUDIOCONFIGFLAG_08 },
|
||||
{ /*63*/ 400, 1000, 1200, -1, 100, -1, 0, 0 },
|
||||
};
|
||||
|
||||
u32 var8005ecd8 = 0x00000000;
|
||||
|
|
@ -2585,13 +2585,13 @@ glabel audioIsFiltered
|
|||
/* 10438: 304e07ff */ andi $t6,$v0,0x7ff
|
||||
/* 1043c: 30887fff */ andi $t0,$a0,0x7fff
|
||||
/* 10440: 00084880 */ sll $t1,$t0,0x2
|
||||
/* 10444: 3c0a8006 */ lui $t2,%hi(audiodefinitions+0x2)
|
||||
/* 10444: 3c0a8006 */ lui $t2,%hi(g_AudioRussMappings+0x2)
|
||||
/* 10448: 01495021 */ addu $t2,$t2,$t1
|
||||
/* 1044c: 954adde6 */ lhu $t2,%lo(audiodefinitions+0x2)($t2)
|
||||
/* 10450: 3c0c8006 */ lui $t4,%hi(audioconfigs+0x1c)
|
||||
/* 1044c: 954adde6 */ lhu $t2,%lo(g_AudioRussMappings+0x2)($t2)
|
||||
/* 10450: 3c0c8006 */ lui $t4,%hi(g_AudioConfigs+0x1c)
|
||||
/* 10454: 000a5940 */ sll $t3,$t2,0x5
|
||||
/* 10458: 018b6021 */ addu $t4,$t4,$t3
|
||||
/* 1045c: 8d8ce4f4 */ lw $t4,%lo(audioconfigs+0x1c)($t4)
|
||||
/* 1045c: 8d8ce4f4 */ lw $t4,%lo(g_AudioConfigs+0x1c)($t4)
|
||||
/* 10460: 318d0010 */ andi $t5,$t4,0x10
|
||||
/* 10464: 51a0000c */ beqzl $t5,.L00010498
|
||||
/* 10468: 00001025 */ or $v0,$zero,$zero
|
||||
|
|
@ -2622,9 +2622,9 @@ glabel audioIsFiltered
|
|||
// // 434
|
||||
// if ((audio_id << 16) >> 31) {
|
||||
// u32 index = audio_id & 0x7fff;
|
||||
// u32 configindex = audiodefinitions[index].audioconfig_index;
|
||||
// u32 configindex = g_AudioRussMappings[index].audioconfig_index;
|
||||
//
|
||||
// if (audioconfigs[configindex].flags & 0x10) {
|
||||
// if (g_AudioConfigs[configindex].flags & 0x10) {
|
||||
// return true;
|
||||
// }
|
||||
// } else {
|
||||
|
|
@ -2685,8 +2685,8 @@ glabel audioAdjust
|
|||
/* 10524: 8fac002c */ lw $t4,0x2c($sp)
|
||||
/* 10528: a7a20020 */ sh $v0,0x20($sp)
|
||||
/* 1052c: 8fac0020 */ lw $t4,0x20($sp)
|
||||
/* 10530: 3c058006 */ lui $a1,%hi(audiodefinitions)
|
||||
/* 10534: 24a5dde4 */ addiu $a1,$a1,%lo(audiodefinitions)
|
||||
/* 10530: 3c058006 */ lui $a1,%hi(g_AudioRussMappings)
|
||||
/* 10534: 24a5dde4 */ addiu $a1,$a1,%lo(g_AudioRussMappings)
|
||||
/* 10538: 000c6fc2 */ srl $t5,$t4,0x1f
|
||||
/* 1053c: 11a0002e */ beqz $t5,.L000105f8
|
||||
/* 10540: 00407025 */ or $t6,$v0,$zero
|
||||
|
|
@ -2696,8 +2696,8 @@ glabel audioAdjust
|
|||
/* 10550: 00b85021 */ addu $t2,$a1,$t8
|
||||
/* 10554: 97220002 */ lhu $v0,0x2($t9)
|
||||
/* 10558: 854b0000 */ lh $t3,0x0($t2)
|
||||
/* 1055c: 3c0f8006 */ lui $t7,%hi(audioconfigs)
|
||||
/* 10560: 25efe4d8 */ addiu $t7,$t7,%lo(audioconfigs)
|
||||
/* 1055c: 3c0f8006 */ lui $t7,%hi(g_AudioConfigs)
|
||||
/* 10560: 25efe4d8 */ addiu $t7,$t7,%lo(g_AudioConfigs)
|
||||
/* 10564: 00027140 */ sll $t6,$v0,0x5
|
||||
/* 10568: a7ab001c */ sh $t3,0x1c($sp)
|
||||
/* 1056c: 93ac001c */ lbu $t4,0x1c($sp)
|
||||
|
|
@ -2873,8 +2873,8 @@ glabel func00010718
|
|||
/* 107c4: 8fad004c */ lw $t5,0x4c($sp)
|
||||
/* 107c8: a7a90030 */ sh $t1,0x30($sp)
|
||||
/* 107cc: 8faa0030 */ lw $t2,0x30($sp)
|
||||
/* 107d0: 3c058006 */ lui $a1,%hi(audiodefinitions)
|
||||
/* 107d4: 24a5dde4 */ addiu $a1,$a1,%lo(audiodefinitions)
|
||||
/* 107d0: 3c058006 */ lui $a1,%hi(g_AudioRussMappings)
|
||||
/* 107d4: 24a5dde4 */ addiu $a1,$a1,%lo(g_AudioRussMappings)
|
||||
/* 107d8: 000a5fc2 */ srl $t3,$t2,0x1f
|
||||
/* 107dc: 11600031 */ beqz $t3,.L000108a4
|
||||
/* 107e0: 24060064 */ addiu $a2,$zero,0x64
|
||||
|
|
@ -2885,10 +2885,10 @@ glabel func00010718
|
|||
/* 107f4: 85f90000 */ lh $t9,0x0($t7)
|
||||
/* 107f8: 00aec021 */ addu $t8,$a1,$t6
|
||||
/* 107fc: 97020002 */ lhu $v0,0x2($t8)
|
||||
/* 10800: 3c0d8006 */ lui $t5,%hi(audioconfigs)
|
||||
/* 10800: 3c0d8006 */ lui $t5,%hi(g_AudioConfigs)
|
||||
/* 10804: a7b9002c */ sh $t9,0x2c($sp)
|
||||
/* 10808: 93aa002c */ lbu $t2,0x2c($sp)
|
||||
/* 1080c: 25ade4d8 */ addiu $t5,$t5,%lo(audioconfigs)
|
||||
/* 1080c: 25ade4d8 */ addiu $t5,$t5,%lo(g_AudioConfigs)
|
||||
/* 10810: 00026140 */ sll $t4,$v0,0x5
|
||||
/* 10814: 018d2021 */ addu $a0,$t4,$t5
|
||||
/* 10818: 8c830010 */ lw $v1,0x10($a0)
|
||||
|
|
@ -3020,10 +3020,10 @@ glabel audioStart
|
|||
/* 109cc: 11800006 */ beqz $t4,.L000109e8
|
||||
/* 109d0: 31ae7fff */ andi $t6,$t5,0x7fff
|
||||
/* 109d4: 000e7880 */ sll $t7,$t6,0x2
|
||||
/* 109d8: 3c048006 */ lui $a0,%hi(audiodefinitions)
|
||||
/* 109d8: 3c048006 */ lui $a0,%hi(g_AudioRussMappings)
|
||||
/* 109dc: 008f2021 */ addu $a0,$a0,$t7
|
||||
/* 109e0: 10000001 */ b .L000109e8
|
||||
/* 109e4: 8484dde4 */ lh $a0,%lo(audiodefinitions)($a0)
|
||||
/* 109e4: 8484dde4 */ lh $a0,%lo(g_AudioRussMappings)($a0)
|
||||
.L000109e8:
|
||||
/* 109e8: 308307ff */ andi $v1,$a0,0x7ff
|
||||
/* 109ec: 10610003 */ beq $v1,$at,.L000109fc
|
||||
|
|
@ -3119,9 +3119,9 @@ glabel func00010ae4
|
|||
/* 10b24: 1100000a */ beqz $t0,.L00010b50
|
||||
/* 10b28: 26104eb0 */ addiu $s0,$s0,%lo(var80094eb0)
|
||||
/* 10b2c: 000a5880 */ sll $t3,$t2,0x2
|
||||
/* 10b30: 3c0c8006 */ lui $t4,%hi(audiodefinitions)
|
||||
/* 10b30: 3c0c8006 */ lui $t4,%hi(g_AudioRussMappings)
|
||||
/* 10b34: 018b6021 */ addu $t4,$t4,$t3
|
||||
/* 10b38: 858cdde4 */ lh $t4,%lo(audiodefinitions)($t4)
|
||||
/* 10b38: 858cdde4 */ lh $t4,%lo(g_AudioRussMappings)($t4)
|
||||
/* 10b3c: a7ac0020 */ sh $t4,0x20($sp)
|
||||
/* 10b40: 93ad0020 */ lbu $t5,0x20($sp)
|
||||
/* 10b44: 31aeff7f */ andi $t6,$t5,0xff7f
|
||||
|
|
@ -3159,8 +3159,8 @@ glabel func00010ae4
|
|||
/* 10bb4: 00084fc2 */ srl $t1,$t0,0x1f
|
||||
/* 10bb8: 1120002e */ beqz $t1,.L00010c74
|
||||
/* 10bbc: 314b7fff */ andi $t3,$t2,0x7fff
|
||||
/* 10bc0: 3c028006 */ lui $v0,%hi(audioconfigs)
|
||||
/* 10bc4: 2442e4d8 */ addiu $v0,$v0,%lo(audioconfigs)
|
||||
/* 10bc0: 3c028006 */ lui $v0,%hi(g_AudioConfigs)
|
||||
/* 10bc4: 2442e4d8 */ addiu $v0,$v0,%lo(g_AudioConfigs)
|
||||
/* 10bc8: 000b6140 */ sll $t4,$t3,0x5
|
||||
/* 10bcc: 004c6821 */ addu $t5,$v0,$t4
|
||||
/* 10bd0: 8daf0010 */ lw $t7,0x10($t5)
|
||||
|
|
@ -3271,13 +3271,13 @@ glabel func00010ae4
|
|||
/* 10d58: 8fae0024 */ lw $t6,0x24($sp)
|
||||
.L00010d5c:
|
||||
/* 10d5c: 97ab0024 */ lhu $t3,0x24($sp)
|
||||
/* 10d60: 3c0f8006 */ lui $t7,%hi(audioconfigs+0x1c)
|
||||
/* 10d60: 3c0f8006 */ lui $t7,%hi(g_AudioConfigs+0x1c)
|
||||
/* 10d64: 000e4fc2 */ srl $t1,$t6,0x1f
|
||||
/* 10d68: 11200007 */ beqz $t1,.L00010d88
|
||||
/* 10d6c: 316d7fff */ andi $t5,$t3,0x7fff
|
||||
/* 10d70: 000d5140 */ sll $t2,$t5,0x5
|
||||
/* 10d74: 01ea7821 */ addu $t7,$t7,$t2
|
||||
/* 10d78: 8defe4f4 */ lw $t7,%lo(audioconfigs+0x1c)($t7)
|
||||
/* 10d78: 8defe4f4 */ lw $t7,%lo(g_AudioConfigs+0x1c)($t7)
|
||||
/* 10d7c: 31ec0004 */ andi $t4,$t7,0x4
|
||||
/* 10d80: 55800005 */ bnezl $t4,.L00010d98
|
||||
/* 10d84: 24080003 */ addiu $t0,$zero,0x3
|
||||
|
|
|
|||
Loading…
Reference in New Issue