Attempt to decompile func0f0939f8

This commit is contained in:
Ryan Dwyer
2021-01-10 15:42:37 +10:00
parent c396ba1c5a
commit 335834aae9
12 changed files with 418 additions and 161 deletions
+17
View File
@@ -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
+3 -3
View File
@@ -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;
+1 -1
View File
@@ -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;
+3 -3
View File
@@ -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);
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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);
+45 -24
View File
@@ -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 {