Mario Kart 64
external.c File Reference
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include "camera.h"
#include "math_util_2.h"
#include "variables.h"
#include "audio/external.h"
#include "audio/load.h"
#include "audio/data.h"
#include <sounds.h>
#include "port_eu.h"
#include "code_80091750.h"
Include dependency graph for external.c:

Data Structures

struct  UnkStruct8018EF18
 
struct  UnkStruct
 

Functions

void func_800C13F0 (void)
 
void func_800C13FC (OSMesg presetId)
 
f32 func_800C1480 (u8 bank, u8 soundId)
 
s8 func_800C15D0 (u8 bank, u8 soundId, u8 channel)
 
f32 func_800C1934 (u8 bank, u8 soundId)
 
void func_800C1DA4 (Camera *arg0, Vec3s arg1, struct Unk_8018EFD8 *arg2)
 
void func_800C1E2C (Camera *camera, Vec3f arg1, struct Unk_8018EFD8 *arg2)
 
void func_800C1F8C (void)
 
f32func_800C21E8 (Vec3f arg0, u32 arg1)
 
void func_800C3448 (u32 arg0)
 
void func_800C3478 (void)
 
u8 func_800C357C (s32 arg0)
 
void func_800C35E8 (u8 arg0)
 
void func_800C4084 (u16 bankMask)
 
void func_800C40F0 (u8 arg0)
 
void play_sound (u32 soundBits, f32 *position, u8 arg2, f32 *arg3, f32 *arg4, u8 *arg5)
 
void func_800C41CC (u8 arg0, struct Unk_80191420 *arg1)
 
void func_800C5384 (u8 arg0, f32 *arg1)
 
void func_800C54B8 (u8 arg0, s32 arg1)
 
void func_800C550C (s32 arg0)
 
void func_800C5848 (void)
 
void func_800C59C4 (void)
 
void func_800C5BD0 (void)
 
void func_800C5C40 (void)
 
void func_800C5CB8 (void)
 
void func_800C5D04 (u8 playerId)
 
void func_800C5E38 (u8 playerId)
 
void func_800C6108 (u8 playerId)
 
void func_800C64A0 (u8 playerId)
 
void func_800C6758 (u8 playerId)
 
void func_800C683C (u8 arg0)
 
void func_800C70A8 (u8 playerId)
 
void func_800C847C (u8 playerId)
 
void func_800C86D8 (u8 playerId)
 
void func_800C8770 (u8 playerId)
 
void func_800C8920 (void)
 
void func_800C89E4 (void)
 
void func_800C8AE4 (void)
 
void func_800C8C7C (u8 arg0)
 
void func_800C8CCC ()
 
void play_sound2 (s32 soundBits)
 
void func_800C8EAC (u16 arg0)
 
void func_800C8EF8 (u16 arg0)
 
void func_800C8F44 (u8 arg0)
 
void func_800C8F80 (u8 arg0, u32 arg1)
 
void func_800C9018 (u8 arg0, s32 arg1)
 
void func_800C9060 (u8 arg0, u32 arg1)
 
void func_800C90F4 (u8 playerId, u32 arg1)
 
void func_800C9250 (u8 arg0)
 
void func_800C92CC (u8 playerId, u32 soundBits)
 
void func_800C94A4 (u8 playerId)
 
void func_800C97C4 (u8 arg0)
 
void func_800C98B8 (Vec3f position, Vec3f velocity, u32 soundBits)
 
void func_800C99E0 (Vec3f arg0, s32 arg1)
 
void func_800C9A88 (u8 playerId)
 
void func_800C9D0C (u8 playerId)
 
void func_800C9D80 (Vec3f position, Vec3f velocity, u32 soundBits)
 
void func_800C9EF4 (Vec3f arg0, u32 arg1)
 
void func_800C9F90 (u8 arg0)
 
void func_800CA008 (u8 arg0, u8 arg1)
 
void func_800CA0A0 ()
 
void func_800CA0B8 ()
 
void func_800CA0CC ()
 
void func_800CA0E4 (void)
 
void func_800CA118 (u8 arg0)
 
void func_800CA24C (u8 arg0)
 
void func_800CA270 ()
 
void func_800CA288 (u8 arg0, s8 arg1)
 
void func_800CA2B8 (u8 arg0)
 
void func_800CA2E4 (u8 arg0, s8 arg1)
 
void func_800CA30C (u8 arg0)
 
void func_800CA330 (u8 arg0)
 
void func_800CA388 (u8 arg0)
 
void func_800CA414 (u16 arg0, u16 arg1)
 
void func_800CA49C (u8 arg0)
 
void func_800CA59C (u8 playerId)
 
void func_800C3608 (s32, s32)
 
void func_800CA730 (u8 arg0)
 
void func_800CA984 (u8 arg0)
 
void func_800CAACC (u8 playerId)
 
void func_800CAB4C (u8 arg0)
 
void func_800CAC08 ()
 
void func_800CAC60 (UNUSED s32 arg0)
 
void func_800CAD40 (UNUSED s32 arg0)
 
void func_800CAFC0 (u8 arg0)
 
void func_800CB064 (u8 arg0)
 
void func_800CB134 ()
 
void func_800CB14C ()
 
void func_800CB2C4 ()
 

Variables

s8 D_8018EF10
 
UnkStruct8018EF18 D_8018EF18 [12]
 
struct Unk_8018EFD8 D_8018EFD8 [50]
 
u8 D_8018FB90
 
u8 D_8018FB91
 
CameraD_8018FB98 [4]
 
Vec3f D_8018FBA8 [4]
 
Vec3f D_8018FBD8 [4]
 
u8 D_8018FC08
 
s32 D_8018FC10 [4]
 
struct Unk_8018FC20 sSoundRequests [0x100]
 
struct Unk_80191420 sSoundBanks [SOUND_BANK_COUNT][20]
 
u8 sSoundBankUsedListBack [SOUND_BANK_COUNT]
 
u8 sSoundBankFreeListFront [SOUND_BANK_COUNT]
 
u8 sNumSoundsInBank [SOUND_BANK_COUNT]
 
u8 sSoundBankDisabled []
 
u8 D_801930D0 []
 
u8 D_80192C38
 
u16 D_800EA1C4
 
s32 D_803B17D0
 

Function Documentation

◆ func_800C13F0()

void func_800C13F0 ( void  )

Could not figure out these structs. u8 D_80192AB8[384]; // probably wrong.

struct UnkStruct_80192C38 { u8 unk0; u8 unk1[3]; u8 sSoundBankDisabled[16]; };

struct UnkStruct_80192C38 D_80192C38; u8 D_80192C38; s32 a; u8 sSoundBankDisabled[15]; // 0x80192C3C

typedef struct { f32 unk0; f32 unk4; f32 unk8; f32 unkC; } UnkStruct_80192C48; // size 0x10

UnkStruct_80192C48 D_80192C48;

typedef struct { u8 unk0[9]; } UnkStruct_80192CA8; // size 0xA

UnkStruct_80192CA8 D_80192CA8[3]; u8 D_80192CC6[10]; // unconfirmed u32 D_80192CD0[256];

typedef struct { u8 unk0[0x24C]; } UnkStruct_801930D0;

UnkStruct_801930D0 D_801930D0[3]; UnkStruct_801930D0 D_80193318[2]; // Likely fake var. Probably apart of 801930D0.

◆ func_800C13FC()

void func_800C13FC ( OSMesg  presetId)
Here is the call graph for this function:

◆ func_800C1480()

f32 func_800C1480 ( u8  bank,
u8  soundId 
)

◆ func_800C15D0()

s8 func_800C15D0 ( u8  bank,
u8  soundId,
u8  channel 
)

◆ func_800C1934()

f32 func_800C1934 ( u8  bank,
u8  soundId 
)

◆ func_800C1DA4()

void func_800C1DA4 ( Camera arg0,
Vec3s  arg1,
struct Unk_8018EFD8 arg2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C1E2C()

void func_800C1E2C ( Camera camera,
Vec3f  arg1,
struct Unk_8018EFD8 arg2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C1F8C()

void func_800C1F8C ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C21E8()

f32* func_800C21E8 ( Vec3f  arg0,
u32  arg1 
)
Here is the caller graph for this function:

◆ func_800C3448()

void func_800C3448 ( u32  arg0)
Here is the caller graph for this function:

◆ func_800C3478()

void func_800C3478 ( void  )
Here is the caller graph for this function:

◆ func_800C357C()

u8 func_800C357C ( s32  arg0)
Here is the caller graph for this function:

◆ func_800C35E8()

void func_800C35E8 ( u8  arg0)
Here is the caller graph for this function:

◆ func_800C3608()

void func_800C3608 ( s32  ,
s32   
)
Here is the caller graph for this function:

◆ func_800C4084()

void func_800C4084 ( u16  bankMask)

◆ func_800C40F0()

void func_800C40F0 ( u8  arg0)

◆ func_800C41CC()

void func_800C41CC ( u8  arg0,
struct Unk_80191420 arg1 
)
Here is the caller graph for this function:

◆ func_800C5384()

void func_800C5384 ( u8  arg0,
f32 arg1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C54B8()

void func_800C54B8 ( u8  arg0,
s32  arg1 
)
Here is the call graph for this function:

◆ func_800C550C()

void func_800C550C ( s32  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C5848()

void func_800C5848 ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C59C4()

void func_800C59C4 ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C5BD0()

void func_800C5BD0 ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C5C40()

void func_800C5C40 ( void  )
Here is the call graph for this function:

◆ func_800C5CB8()

void func_800C5CB8 ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C5D04()

void func_800C5D04 ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C5E38()

void func_800C5E38 ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C6108()

void func_800C6108 ( u8  playerId)
Here is the caller graph for this function:

◆ func_800C64A0()

void func_800C64A0 ( u8  playerId)
Here is the caller graph for this function:

◆ func_800C6758()

void func_800C6758 ( u8  playerId)
Here is the caller graph for this function:

◆ func_800C683C()

void func_800C683C ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C70A8()

void func_800C70A8 ( u8  playerId)
Here is the caller graph for this function:

◆ func_800C847C()

void func_800C847C ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C86D8()

void func_800C86D8 ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C8770()

void func_800C8770 ( u8  playerId)
Here is the caller graph for this function:

◆ func_800C8920()

void func_800C8920 ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C89E4()

void func_800C89E4 ( void  )
Here is the caller graph for this function:

◆ func_800C8AE4()

void func_800C8AE4 ( void  )
Here is the caller graph for this function:

◆ func_800C8C7C()

void func_800C8C7C ( u8  arg0)
Here is the caller graph for this function:

◆ func_800C8CCC()

void func_800C8CCC ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C8EAC()

void func_800C8EAC ( u16  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C8EF8()

void func_800C8EF8 ( u16  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C8F44()

void func_800C8F44 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C8F80()

void func_800C8F80 ( u8  arg0,
u32  arg1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C9018()

void func_800C9018 ( u8  arg0,
s32  arg1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C9060()

void func_800C9060 ( u8  arg0,
u32  arg1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C90F4()

void func_800C90F4 ( u8  playerId,
u32  arg1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C9250()

void func_800C9250 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C92CC()

void func_800C92CC ( u8  playerId,
u32  soundBits 
)
Here is the call graph for this function:

◆ func_800C94A4()

void func_800C94A4 ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C97C4()

void func_800C97C4 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C98B8()

void func_800C98B8 ( Vec3f  position,
Vec3f  velocity,
u32  soundBits 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C99E0()

void func_800C99E0 ( Vec3f  arg0,
s32  arg1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C9A88()

void func_800C9A88 ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C9D0C()

void func_800C9D0C ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C9D80()

void func_800C9D80 ( Vec3f  position,
Vec3f  velocity,
u32  soundBits 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C9EF4()

void func_800C9EF4 ( Vec3f  arg0,
u32  arg1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800C9F90()

void func_800C9F90 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA008()

void func_800CA008 ( u8  arg0,
u8  arg1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA0A0()

void func_800CA0A0 ( void  )
Here is the caller graph for this function:

◆ func_800CA0B8()

void func_800CA0B8 ( void  )
Here is the caller graph for this function:

◆ func_800CA0CC()

void func_800CA0CC ( void  )
Here is the caller graph for this function:

◆ func_800CA0E4()

void func_800CA0E4 ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA118()

void func_800CA118 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA24C()

void func_800CA24C ( u8  arg0)
Here is the caller graph for this function:

◆ func_800CA270()

void func_800CA270 ( void  )
Here is the caller graph for this function:

◆ func_800CA288()

void func_800CA288 ( u8  arg0,
s8  arg1 
)
Here is the caller graph for this function:

◆ func_800CA2B8()

void func_800CA2B8 ( u8  arg0)
Here is the caller graph for this function:

◆ func_800CA2E4()

void func_800CA2E4 ( u8  arg0,
s8  arg1 
)
Here is the caller graph for this function:

◆ func_800CA30C()

void func_800CA30C ( u8  arg0)
Here is the caller graph for this function:

◆ func_800CA330()

void func_800CA330 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA388()

void func_800CA388 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA414()

void func_800CA414 ( u16  arg0,
u16  arg1 
)
Here is the call graph for this function:

◆ func_800CA49C()

void func_800CA49C ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA59C()

void func_800CA59C ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA730()

void func_800CA730 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CA984()

void func_800CA984 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CAACC()

void func_800CAACC ( u8  playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CAB4C()

void func_800CAB4C ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CAC08()

void func_800CAC08 ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CAC60()

void func_800CAC60 ( UNUSED s32  arg0)
Here is the call graph for this function:

◆ func_800CAD40()

void func_800CAD40 ( UNUSED s32  arg0)
Here is the call graph for this function:

◆ func_800CAFC0()

void func_800CAFC0 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CB064()

void func_800CB064 ( u8  arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CB134()

void func_800CB134 ( void  )
Here is the caller graph for this function:

◆ func_800CB14C()

void func_800CB14C ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800CB2C4()

void func_800CB2C4 ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ play_sound()

void play_sound ( u32  soundBits,
f32 position,
u8  arg2,
f32 arg3,
f32 arg4,
u8 arg5 
)
Here is the caller graph for this function:

◆ play_sound2()

void play_sound2 ( s32  soundBits)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ D_800EA1C4

u16 D_800EA1C4
extern

◆ D_8018EF10

s8 D_8018EF10

◆ D_8018EF18

UnkStruct8018EF18 D_8018EF18[12]

◆ D_8018EFD8

struct Unk_8018EFD8 D_8018EFD8[50]

◆ D_8018FB90

u8 D_8018FB90

◆ D_8018FB91

u8 D_8018FB91

◆ D_8018FB98

Camera* D_8018FB98[4]

◆ D_8018FBA8

Vec3f D_8018FBA8[4]

◆ D_8018FBD8

Vec3f D_8018FBD8[4]

◆ D_8018FC08

u8 D_8018FC08

◆ D_8018FC10

s32 D_8018FC10[4]

◆ D_80192C38

u8 D_80192C38
extern

◆ D_801930D0

u8 D_801930D0[]
extern

◆ D_803B17D0

s32 D_803B17D0
extern

◆ sNumSoundsInBank

u8 sNumSoundsInBank[SOUND_BANK_COUNT]
extern

◆ sSoundBankDisabled

u8 sSoundBankDisabled[]
extern

◆ sSoundBankFreeListFront

u8 sSoundBankFreeListFront[SOUND_BANK_COUNT]

◆ sSoundBanks

struct Unk_80191420 sSoundBanks[SOUND_BANK_COUNT][20]

◆ sSoundBankUsedListBack

u8 sSoundBankUsedListBack[SOUND_BANK_COUNT]

◆ sSoundRequests

struct Unk_8018FC20 sSoundRequests[0x100]