From 02b9b3d81f4f14b7e42f2816ec0d633492d5606c Mon Sep 17 00:00:00 2001 From: M0liusX Date: Thu, 8 Dec 2022 12:56:15 -0600 Subject: [PATCH] add some audio synth funcs --- marioparty.yaml | 20 +- src/8B3D0.c | 669 --------------------------- src/8B870.c | 637 +++++++++++++++++++++++++ src/B980.c | 4 +- src/lib/2.0I/audio/sndp.h | 102 ++++ src/lib/2.0I/audio/sndpallocate.c | 42 ++ src/lib/2.0I/audio/sndpdeallocate.c | 34 ++ src/lib/2.0I/audio/sndpdelete.c | 43 ++ src/lib/2.0I/audio/sndpgetsound.c | 26 ++ src/lib/2.0I/audio/sndpgetstate.c | 28 ++ src/lib/2.0I/audio/sndpplay.c | 35 ++ src/lib/2.0I/audio/sndpsetfxmix.c | 41 ++ src/lib/2.0I/audio/sndpsetpan.c | 41 ++ src/lib/2.0I/audio/sndpsetpitch.c | 47 ++ src/lib/2.0I/audio/sndpsetpriority.c | 37 ++ src/lib/2.0I/audio/sndpsetsound.c | 35 ++ src/lib/2.0I/audio/sndpsetvol.c | 41 ++ src/lib/2.0I/audio/sndpstop.c | 34 ++ src/lib/2.0I/audio/synaddplayer.c | 33 ++ src/lib/2.0I/audio/syndelete.c | 26 ++ src/lib/2.0I/audio/synremoveplayer.c | 48 ++ symbol_addrs.txt | 18 +- 22 files changed, 1367 insertions(+), 674 deletions(-) delete mode 100644 src/8B3D0.c create mode 100644 src/8B870.c create mode 100644 src/lib/2.0I/audio/sndp.h create mode 100644 src/lib/2.0I/audio/sndpallocate.c create mode 100644 src/lib/2.0I/audio/sndpdeallocate.c create mode 100644 src/lib/2.0I/audio/sndpdelete.c create mode 100644 src/lib/2.0I/audio/sndpgetsound.c create mode 100644 src/lib/2.0I/audio/sndpgetstate.c create mode 100644 src/lib/2.0I/audio/sndpplay.c create mode 100644 src/lib/2.0I/audio/sndpsetfxmix.c create mode 100644 src/lib/2.0I/audio/sndpsetpan.c create mode 100644 src/lib/2.0I/audio/sndpsetpitch.c create mode 100644 src/lib/2.0I/audio/sndpsetpriority.c create mode 100644 src/lib/2.0I/audio/sndpsetsound.c create mode 100644 src/lib/2.0I/audio/sndpsetvol.c create mode 100644 src/lib/2.0I/audio/sndpstop.c create mode 100644 src/lib/2.0I/audio/synaddplayer.c create mode 100644 src/lib/2.0I/audio/syndelete.c create mode 100644 src/lib/2.0I/audio/synremoveplayer.c diff --git a/marioparty.yaml b/marioparty.yaml index fab03a2..3cf5cdb 100644 --- a/marioparty.yaml +++ b/marioparty.yaml @@ -142,7 +142,7 @@ segments: - [0x89AF0, c, "../src/lib/2.0I/os/thread"] - [0x89B30, c, "../src/lib/2.0I/os/timerintr"] - [0x89E30, c, "../src/lib/2.0I/os/virtualtophysical"] - - [0x89E90, c] # + - [0x89E90, c] # Empty? - [0x89EA0, c, "../src/lib/2.0I/audio/bnkf"] # -O0 - [0x8A170, c, "../src/lib/2.0I/audio/event"] # -O0 - [0x8A4C0, c, "../src/lib/2.0I/audio/sl"] # -O0 @@ -164,7 +164,23 @@ segments: - [0x8B320, c, "../src/lib/2.0I/audio/seqpsettempo"] # -O0 - [0x8B370, c, "../src/lib/2.0I/audio/seqpsetvol"] # -O0 - [0x8B3A0, c, "../src/lib/2.0I/audio/seqpstop"] # -O0 - - [0x8B3D0, c] # -O0? + - [0x8B3D0, c, "../src/lib/2.0I/audio/sndpdelete"] # -O0 + - [0x8B400, c, "../src/lib/2.0I/audio/sndpallocate"] # -O0 + - [0x8B4C0, c, "../src/lib/2.0I/audio/sndpdeallocate"] # -O0 + - [0x8B510, c, "../src/lib/2.0I/audio/sndpsetsound"] # -O0 + - [0x8B520, c, "../src/lib/2.0I/audio/sndpplay"] # -O0 + - [0x8B580, c, "../src/lib/2.0I/audio/sndpgetsound"] # -O0 + - [0x8B590, c, "../src/lib/2.0I/audio/sndpstop"] # -O0 + - [0x8B5E0, c, "../src/lib/2.0I/audio/sndpgetstate"] # -O0 + - [0x8B600, c, "../src/lib/2.0I/audio/sndpsetpitch"] # -O0 + - [0x8B650, c, "../src/lib/2.0I/audio/sndpsetpriority"] # -O0 + - [0x8B680, c, "../src/lib/2.0I/audio/sndpsetvol"] # -O0 + - [0x8B6D0, c, "../src/lib/2.0I/audio/sndpsetpan"] # -O0 + - [0x8B720, c, "../src/lib/2.0I/audio/sndpsetfxmix"] # -O0 + - [0x8B770, c, "../src/lib/2.0I/audio/syndelete"] # -O0 + - [0x8B780, c, "../src/lib/2.0I/audio/synaddplayer"] # -O0 + - [0x8B7D0, c, "../src/lib/2.0I/audio/synremoveplayer"] # -O0 + - [0x8B870, c] # -O0? - [0xA2080, c] # -O0? - [0xA21C0, c] # -O0? - [0xA29F0, c] # -O0? diff --git a/src/8B3D0.c b/src/8B3D0.c deleted file mode 100644 index 74514ed..0000000 --- a/src/8B3D0.c +++ /dev/null @@ -1,669 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "8B3D0", func_8008A7D0); - -INCLUDE_ASM(s32, "8B3D0", func_8008A800); - -INCLUDE_ASM(s32, "8B3D0", func_8008A8C0); - -INCLUDE_ASM(s32, "8B3D0", func_8008A910); - -INCLUDE_ASM(s32, "8B3D0", func_8008A920); - -INCLUDE_ASM(s32, "8B3D0", func_8008A980); - -INCLUDE_ASM(s32, "8B3D0", func_8008A990); - -INCLUDE_ASM(s32, "8B3D0", func_8008A9E0); - -INCLUDE_ASM(s32, "8B3D0", func_8008AA00); - -INCLUDE_ASM(s32, "8B3D0", func_8008AA50); - -INCLUDE_ASM(s32, "8B3D0", func_8008AA80); - -INCLUDE_ASM(s32, "8B3D0", func_8008AAD0); - -INCLUDE_ASM(s32, "8B3D0", func_8008AB20); - -INCLUDE_ASM(s32, "8B3D0", alSynDelete); - -INCLUDE_ASM(s32, "8B3D0", func_8008AB80); - -INCLUDE_ASM(s32, "8B3D0", alSynRemovePlayer); - -INCLUDE_ASM(s32, "8B3D0", func_8008AC70); - -INCLUDE_ASM(s32, "8B3D0", func_8008AD10); - -INCLUDE_ASM(s32, "8B3D0", func_8008AE38); - -INCLUDE_ASM(s32, "8B3D0", func_8008AEF0); - -INCLUDE_ASM(s32, "8B3D0", func_8008AF70); - -INCLUDE_ASM(s32, "8B3D0", func_8008B010); - -INCLUDE_ASM(s32, "8B3D0", func_8008B0A0); - -INCLUDE_ASM(s32, "8B3D0", func_8008B160); - -INCLUDE_ASM(s32, "8B3D0", func_8008B1C0); - -INCLUDE_ASM(s32, "8B3D0", func_8008B1D0); - -INCLUDE_ASM(s32, "8B3D0", func_8008B270); - -INCLUDE_ASM(s32, "8B3D0", func_8008B47C); - -INCLUDE_ASM(s32, "8B3D0", func_8008B4B0); - -INCLUDE_ASM(s32, "8B3D0", func_8008B4D0); - -INCLUDE_ASM(s32, "8B3D0", func_8008B520); - -INCLUDE_ASM(s32, "8B3D0", func_8008B560); - -INCLUDE_ASM(s32, "8B3D0", func_8008B5A0); - -INCLUDE_ASM(s32, "8B3D0", func_8008B600); - -INCLUDE_ASM(s32, "8B3D0", func_8008B650); - -INCLUDE_ASM(s32, "8B3D0", func_8008B6A0); - -INCLUDE_ASM(s32, "8B3D0", func_8008B700); - -INCLUDE_ASM(s32, "8B3D0", func_8008B89C); - -INCLUDE_ASM(s32, "8B3D0", func_8008B950); - -INCLUDE_ASM(s32, "8B3D0", func_8008BA10); - -INCLUDE_ASM(s32, "8B3D0", func_8008BA70); - -INCLUDE_ASM(s32, "8B3D0", func_8008BBEC); - -INCLUDE_ASM(s32, "8B3D0", func_8008BC90); - -INCLUDE_ASM(s32, "8B3D0", func_8008BD50); - -INCLUDE_ASM(s32, "8B3D0", func_8008BE40); - -INCLUDE_ASM(s32, "8B3D0", func_8008BEB0); - -INCLUDE_ASM(s32, "8B3D0", func_8008BF50); - -INCLUDE_ASM(s32, "8B3D0", func_8008BFA4); - -INCLUDE_ASM(s32, "8B3D0", func_8008C010); - -INCLUDE_ASM(s32, "8B3D0", bcopy); - -INCLUDE_ASM(s32, "8B3D0", bzero); - -INCLUDE_ASM(s32, "8B3D0", func_8008C400); - -INCLUDE_ASM(s32, "8B3D0", func_8008C438); - -INCLUDE_ASM(s32, "8B3D0", func_8008C45C); - -INCLUDE_ASM(s32, "8B3D0", sprintf); - -INCLUDE_ASM(s32, "8B3D0", func_8008C4E8); - -INCLUDE_ASM(s32, "8B3D0", func_8008C520); - -INCLUDE_ASM(s32, "8B3D0", func_8008C534); - -INCLUDE_ASM(s32, "8B3D0", func_8008C550); - -INCLUDE_ASM(s32, "8B3D0", func_8008C6C0); - -INCLUDE_ASM(s32, "8B3D0", func_8008CB88); - -INCLUDE_ASM(s32, "8B3D0", func_8008CBFC); - -INCLUDE_ASM(s32, "8B3D0", func_8008CCFC); - -INCLUDE_ASM(s32, "8B3D0", func_8008D558); - -INCLUDE_ASM(s32, "8B3D0", func_8008D6E8); - -INCLUDE_ASM(s32, "8B3D0", func_8008D778); - -INCLUDE_ASM(s32, "8B3D0", func_8008D7B0); - -INCLUDE_ASM(s32, "8B3D0", func_8008D934); - -INCLUDE_ASM(s32, "8B3D0", func_8008DE08); - -INCLUDE_ASM(s32, "8B3D0", func_8008DED8); - -INCLUDE_ASM(s32, "8B3D0", func_8008E0D8); - -INCLUDE_ASM(s32, "8B3D0", func_8008E900); - -INCLUDE_ASM(s32, "8B3D0", func_8008E96C); - -INCLUDE_ASM(s32, "8B3D0", func_8008E9BC); - -INCLUDE_ASM(s32, "8B3D0", func_8008EA20); - -INCLUDE_ASM(s32, "8B3D0", func_8008EA74); - -INCLUDE_ASM(s32, "8B3D0", func_8008EB48); - -INCLUDE_ASM(s32, "8B3D0", func_8008EBB8); - -INCLUDE_ASM(s32, "8B3D0", func_8008EBD4); - -INCLUDE_ASM(s32, "8B3D0", func_8008EC18); - -INCLUDE_ASM(s32, "8B3D0", func_8008ED3C); - -INCLUDE_ASM(s32, "8B3D0", func_8008EDEC); - -INCLUDE_ASM(s32, "8B3D0", func_8008EE98); - -INCLUDE_ASM(s32, "8B3D0", func_8008EEEC); - -INCLUDE_ASM(s32, "8B3D0", func_8008EF6C); - -INCLUDE_ASM(s32, "8B3D0", func_8008F020); - -INCLUDE_ASM(s32, "8B3D0", func_8008F110); - -INCLUDE_ASM(s32, "8B3D0", func_8008F150); - -INCLUDE_ASM(s32, "8B3D0", alSynNew); - -INCLUDE_ASM(s32, "8B3D0", func_8008F4BC); - -INCLUDE_ASM(s32, "8B3D0", func_8008F66C); - -INCLUDE_ASM(s32, "8B3D0", func_8008F698); - -INCLUDE_ASM(s32, "8B3D0", func_8008F6B0); - -INCLUDE_ASM(s32, "8B3D0", func_8008F704); - -INCLUDE_ASM(s32, "8B3D0", func_8008F744); - -INCLUDE_ASM(s32, "8B3D0", func_8008F78C); - -INCLUDE_ASM(s32, "8B3D0", func_8008F7D8); - -INCLUDE_ASM(s32, "8B3D0", func_8008F830); - -INCLUDE_ASM(s32, "8B3D0", func_8008F950); - -INCLUDE_ASM(s32, "8B3D0", func_8008FAD0); - -INCLUDE_ASM(s32, "8B3D0", func_8008FB50); - -INCLUDE_ASM(s32, "8B3D0", func_8008FCE8); - -INCLUDE_ASM(s32, "8B3D0", func_8008FD70); - -INCLUDE_ASM(s32, "8B3D0", func_8008FED8); - -INCLUDE_ASM(s32, "8B3D0", func_8008FF80); - -INCLUDE_ASM(s32, "8B3D0", func_80090120); - -INCLUDE_ASM(s32, "8B3D0", func_800901A8); - -INCLUDE_ASM(s32, "8B3D0", func_80090244); - -INCLUDE_ASM(s32, "8B3D0", func_80090300); - -INCLUDE_ASM(s32, "8B3D0", func_800904F0); - -INCLUDE_ASM(s32, "8B3D0", func_80090550); - -INCLUDE_ASM(s32, "8B3D0", func_800905B0); - -INCLUDE_ASM(s32, "8B3D0", func_800906F4); - -INCLUDE_ASM(s32, "8B3D0", func_80090940); - -INCLUDE_ASM(s32, "8B3D0", func_80090C4C); - -INCLUDE_ASM(s32, "8B3D0", func_80090D70); - -INCLUDE_ASM(s32, "8B3D0", func_80090F1C); - -INCLUDE_ASM(s32, "8B3D0", func_80090F90); - -INCLUDE_ASM(s32, "8B3D0", func_80091120); - -INCLUDE_ASM(s32, "8B3D0", func_80091230); - -INCLUDE_ASM(s32, "8B3D0", func_80091428); - -INCLUDE_ASM(s32, "8B3D0", func_80091500); - -INCLUDE_ASM(s32, "8B3D0", func_80091600); - -INCLUDE_ASM(s32, "8B3D0", func_80091A40); - -INCLUDE_ASM(s32, "8B3D0", func_80091AA0); - -INCLUDE_ASM(s32, "8B3D0", func_80091C40); - -INCLUDE_ASM(s32, "8B3D0", func_80091CB0); - -INCLUDE_ASM(s32, "8B3D0", func_80091E40); - -INCLUDE_ASM(s32, "8B3D0", func_80091F10); - -INCLUDE_ASM(s32, "8B3D0", func_80091FC0); - -INCLUDE_ASM(s32, "8B3D0", func_80092050); - -INCLUDE_ASM(s32, "8B3D0", func_800921F0); - -INCLUDE_ASM(s32, "8B3D0", func_80092390); - -INCLUDE_ASM(s32, "8B3D0", func_80092500); - -INCLUDE_ASM(s32, "8B3D0", func_80092810); - -INCLUDE_ASM(s32, "8B3D0", func_80092830); - -INCLUDE_ASM(s32, "8B3D0", func_80092DBC); - -INCLUDE_ASM(s32, "8B3D0", __osEnqueueAndYield); - -INCLUDE_ASM(s32, "8B3D0", __osEnqueueThread); - -INCLUDE_ASM(s32, "8B3D0", __osPopThread); - -INCLUDE_ASM(s32, "8B3D0", __osDispatchThread); - -INCLUDE_ASM(s32, "8B3D0", __osCleanupThread); - -INCLUDE_ASM(s32, "8B3D0", osGetMemSize); - -INCLUDE_ASM(s32, "8B3D0", osInitialize); - -INCLUDE_ASM(s32, "8B3D0", func_80093468); - -INCLUDE_ASM(s32, "8B3D0", __osDisableInt); - -INCLUDE_ASM(s32, "8B3D0", __osRestoreInt); - -INCLUDE_ASM(s32, "8B3D0", func_800935B0); - -INCLUDE_ASM(s32, "8B3D0", func_80093660); - -INCLUDE_ASM(s32, "8B3D0", guNormalize); - -INCLUDE_ASM(s32, "8B3D0", func_80093770); - -INCLUDE_ASM(s32, "8B3D0", osGetCount); - -INCLUDE_ASM(s32, "8B3D0", func_80093790); - -INCLUDE_ASM(s32, "8B3D0", __osProbeTLB); - -INCLUDE_ASM(s32, "8B3D0", func_80093860); - -INCLUDE_ASM(s32, "8B3D0", func_80093870); - -INCLUDE_ASM(s32, "8B3D0", func_800938C0); - -INCLUDE_ASM(s32, "8B3D0", func_80093920); - -INCLUDE_ASM(s32, "8B3D0", func_800939C0); - -INCLUDE_ASM(s32, "8B3D0", func_80093E04); - -INCLUDE_ASM(s32, "8B3D0", func_800941A0); - -INCLUDE_ASM(s32, "8B3D0", func_8009434C); - -INCLUDE_ASM(s32, "8B3D0", func_800944D0); - -INCLUDE_ASM(s32, "8B3D0", func_800945AC); - -INCLUDE_ASM(s32, "8B3D0", func_800945E0); - -INCLUDE_ASM(s32, "8B3D0", func_80094720); - -INCLUDE_ASM(s32, "8B3D0", func_80094750); - -INCLUDE_ASM(s32, "8B3D0", func_8009493C); - -INCLUDE_ASM(s32, "8B3D0", func_80094A00); - -INCLUDE_ASM(s32, "8B3D0", func_80094AE8); - -INCLUDE_ASM(s32, "8B3D0", func_80094C50); - -INCLUDE_ASM(s32, "8B3D0", func_80094CB8); - -INCLUDE_ASM(s32, "8B3D0", func_80094D20); - -INCLUDE_ASM(s32, "8B3D0", func_80094DB0); - -INCLUDE_ASM(s32, "8B3D0", func_80094EC4); - -INCLUDE_ASM(s32, "8B3D0", func_80094ECC); - -INCLUDE_ASM(s32, "8B3D0", func_80094EE8); - -INCLUDE_ASM(s32, "8B3D0", func_80094F04); - -INCLUDE_ASM(s32, "8B3D0", func_80094F18); - -INCLUDE_ASM(s32, "8B3D0", func_80094F48); - -INCLUDE_ASM(s32, "8B3D0", func_80094F98); - -INCLUDE_ASM(s32, "8B3D0", func_80094FF0); - -INCLUDE_ASM(s32, "8B3D0", func_80095000); - -INCLUDE_ASM(s32, "8B3D0", func_800950A0); - -INCLUDE_ASM(s32, "8B3D0", func_800950C0); - -INCLUDE_ASM(s32, "8B3D0", func_800950E0); - -INCLUDE_ASM(s32, "8B3D0", func_800950F0); - -INCLUDE_ASM(s32, "8B3D0", func_80095100); - -INCLUDE_ASM(s32, "8B3D0", func_80095130); - -INCLUDE_ASM(s32, "8B3D0", func_80095240); - -INCLUDE_ASM(s32, "8B3D0", func_80095250); - -INCLUDE_ASM(s32, "8B3D0", func_800952A4); - -INCLUDE_ASM(s32, "8B3D0", func_80095310); - -INCLUDE_ASM(s32, "8B3D0", func_80095340); - -INCLUDE_ASM(s32, "8B3D0", bcmp); - -INCLUDE_ASM(s32, "8B3D0", _Printf); - -INCLUDE_ASM(s32, "8B3D0", func_800959E0); - -INCLUDE_ASM(s32, "8B3D0", func_80095EA0); - -INCLUDE_ASM(s32, "8B3D0", func_80095F44); - -INCLUDE_ASM(s32, "8B3D0", func_800963DC); - -INCLUDE_ASM(s32, "8B3D0", func_80096494); - -INCLUDE_ASM(s32, "8B3D0", func_80096544); - -INCLUDE_ASM(s32, "8B3D0", func_800965D0); - -INCLUDE_ASM(s32, "8B3D0", func_8009662C); - -INCLUDE_ASM(s32, "8B3D0", func_80096688); - -INCLUDE_ASM(s32, "8B3D0", func_800966D0); - -INCLUDE_ASM(s32, "8B3D0", func_80096BD0); - -INCLUDE_ASM(s32, "8B3D0", func_80096CA4); - -INCLUDE_ASM(s32, "8B3D0", func_80096F78); - -INCLUDE_ASM(s32, "8B3D0", func_80097058); - -INCLUDE_ASM(s32, "8B3D0", func_8009707C); - -INCLUDE_ASM(s32, "8B3D0", func_800972FC); - -INCLUDE_ASM(s32, "8B3D0", func_80097380); - -INCLUDE_ASM(s32, "8B3D0", func_800976F4); - -INCLUDE_ASM(s32, "8B3D0", func_80097708); - -INCLUDE_ASM(s32, "8B3D0", func_800978F8); - -INCLUDE_ASM(s32, "8B3D0", func_80097B10); - -INCLUDE_ASM(s32, "8B3D0", func_80097C80); - -INCLUDE_ASM(s32, "8B3D0", func_80097DF0); - -INCLUDE_ASM(s32, "8B3D0", func_80097E8C); - -INCLUDE_ASM(s32, "8B3D0", func_80097F20); - -INCLUDE_ASM(s32, "8B3D0", func_80097FC8); - -INCLUDE_ASM(s32, "8B3D0", func_80097FF0); - -INCLUDE_ASM(s32, "8B3D0", func_80098024); - -INCLUDE_ASM(s32, "8B3D0", func_80098068); - -INCLUDE_ASM(s32, "8B3D0", func_80098354); - -INCLUDE_ASM(s32, "8B3D0", func_800984B8); - -INCLUDE_ASM(s32, "8B3D0", func_80098684); - -INCLUDE_ASM(s32, "8B3D0", func_8009873C); - -INCLUDE_ASM(s32, "8B3D0", func_80098A80); - -INCLUDE_ASM(s32, "8B3D0", func_80098C80); - -INCLUDE_ASM(s32, "8B3D0", func_80098EA0); - -INCLUDE_ASM(s32, "8B3D0", func_80098F0C); - -INCLUDE_ASM(s32, "8B3D0", func_80098F90); - -INCLUDE_ASM(s32, "8B3D0", func_80099350); - -INCLUDE_ASM(s32, "8B3D0", func_800994C0); - -INCLUDE_ASM(s32, "8B3D0", func_80099630); - -INCLUDE_ASM(s32, "8B3D0", func_80099A90); - -INCLUDE_ASM(s32, "8B3D0", func_80099BE8); - -INCLUDE_ASM(s32, "8B3D0", func_80099D50); - -INCLUDE_ASM(s32, "8B3D0", func_80099E40); - -INCLUDE_ASM(s32, "8B3D0", func_80099ED4); - -INCLUDE_ASM(s32, "8B3D0", func_80099F60); - -INCLUDE_ASM(s32, "8B3D0", func_80099FB0); - -INCLUDE_ASM(s32, "8B3D0", func_8009A000); - -INCLUDE_ASM(s32, "8B3D0", func_8009A050); - -INCLUDE_ASM(s32, "8B3D0", func_8009A090); - -INCLUDE_ASM(s32, "8B3D0", func_8009A0E0); - -INCLUDE_ASM(s32, "8B3D0", func_8009A100); - -INCLUDE_ASM(s32, "8B3D0", func_8009A120); - -INCLUDE_ASM(s32, "8B3D0", func_8009A370); - -INCLUDE_ASM(s32, "8B3D0", func_8009A7B0); - -INCLUDE_ASM(s32, "8B3D0", func_8009A848); - -INCLUDE_ASM(s32, "8B3D0", func_8009ADF0); - -INCLUDE_ASM(s32, "8B3D0", func_8009AE74); - -INCLUDE_ASM(s32, "8B3D0", func_8009AFB0); - -INCLUDE_ASM(s32, "8B3D0", func_8009AFD0); - -INCLUDE_ASM(s32, "8B3D0", func_8009B0A8); - -INCLUDE_ASM(s32, "8B3D0", func_8009B150); - -INCLUDE_ASM(s32, "8B3D0", func_8009B308); - -INCLUDE_ASM(s32, "8B3D0", func_8009B420); - -INCLUDE_ASM(s32, "8B3D0", func_8009B590); - -INCLUDE_ASM(s32, "8B3D0", func_8009B618); - -INCLUDE_ASM(s32, "8B3D0", func_8009B674); - -INCLUDE_ASM(s32, "8B3D0", func_8009B6F0); - -INCLUDE_ASM(s32, "8B3D0", func_8009B770); - -INCLUDE_ASM(s32, "8B3D0", func_8009B810); - -INCLUDE_ASM(s32, "8B3D0", func_8009B840); - -INCLUDE_ASM(s32, "8B3D0", func_8009B848); - -INCLUDE_ASM(s32, "8B3D0", func_8009B850); - -INCLUDE_ASM(s32, "8B3D0", func_8009B960); - -INCLUDE_ASM(s32, "8B3D0", func_8009BA30); - -INCLUDE_ASM(s32, "8B3D0", func_8009BAA4); - -INCLUDE_ASM(s32, "8B3D0", func_8009BAD8); - -INCLUDE_ASM(s32, "8B3D0", func_8009BBD4); - -INCLUDE_ASM(s32, "8B3D0", func_8009BCA0); - -INCLUDE_ASM(s32, "8B3D0", func_8009BE10); - -INCLUDE_ASM(s32, "8B3D0", func_8009BE30); - -INCLUDE_ASM(s32, "8B3D0", func_8009BE70); - -INCLUDE_ASM(s32, "8B3D0", func_8009BF90); - -INCLUDE_ASM(s32, "8B3D0", func_8009C090); - -INCLUDE_ASM(s32, "8B3D0", func_8009C0A0); - -INCLUDE_ASM(s32, "8B3D0", func_8009C100); - -INCLUDE_ASM(s32, "8B3D0", func_8009C160); - -INCLUDE_ASM(s32, "8B3D0", func_8009C240); - -INCLUDE_ASM(s32, "8B3D0", HuGuLookAtF); - -INCLUDE_ASM(s32, "8B3D0", func_8009C6E0); - -INCLUDE_ASM(s32, "8B3D0", func_8009C770); - -INCLUDE_ASM(s32, "8B3D0", func_8009CD20); - -INCLUDE_ASM(s32, "8B3D0", func_8009CDB0); - -INCLUDE_ASM(s32, "8B3D0", func_8009D840); - -INCLUDE_ASM(s32, "8B3D0", func_8009D920); - -INCLUDE_ASM(s32, "8B3D0", func_8009DAD0); - -INCLUDE_ASM(s32, "8B3D0", func_8009DB50); - -INCLUDE_ASM(s32, "8B3D0", func_8009DD10); - -INCLUDE_ASM(s32, "8B3D0", func_8009DD90); - -INCLUDE_ASM(s32, "8B3D0", func_8009DFF0); - -INCLUDE_ASM(s32, "8B3D0", func_8009E060); - -INCLUDE_ASM(s32, "8B3D0", func_8009E360); - -INCLUDE_ASM(s32, "8B3D0", func_8009E7E0); - -INCLUDE_ASM(s32, "8B3D0", func_8009E8F0); - -INCLUDE_ASM(s32, "8B3D0", func_8009EA40); - -INCLUDE_ASM(s32, "8B3D0", func_8009EB50); - -INCLUDE_ASM(s32, "8B3D0", func_8009ECB0); - -INCLUDE_ASM(s32, "8B3D0", func_8009EEC0); - -INCLUDE_ASM(s32, "8B3D0", func_8009F2D0); - -INCLUDE_ASM(s32, "8B3D0", func_8009F530); - -INCLUDE_ASM(s32, "8B3D0", func_8009F9B0); - -INCLUDE_ASM(s32, "8B3D0", func_8009FD40); - -INCLUDE_ASM(s32, "8B3D0", func_800A0270); - -INCLUDE_ASM(s32, "8B3D0", func_800A03B0); - -INCLUDE_ASM(s32, "8B3D0", func_800A0730); - -INCLUDE_ASM(s32, "8B3D0", func_800A07A0); - -INCLUDE_ASM(s32, "8B3D0", func_800A0810); - -INCLUDE_ASM(s32, "8B3D0", func_800A0890); - -INCLUDE_ASM(s32, "8B3D0", func_800A0900); - -INCLUDE_ASM(s32, "8B3D0", func_800A0970); - -INCLUDE_ASM(s32, "8B3D0", func_800A09D0); - -INCLUDE_ASM(s32, "8B3D0", func_800A0A20); - -INCLUDE_ASM(s32, "8B3D0", func_800A0B90); - -INCLUDE_ASM(s32, "8B3D0", func_800A0D00); - -INCLUDE_ASM(s32, "8B3D0", func_800A0D50); - -INCLUDE_ASM(s32, "8B3D0", func_800A0DA0); - -INCLUDE_ASM(s32, "8B3D0", func_800A0E00); - -INCLUDE_ASM(s32, "8B3D0", func_800A0E80); - -INCLUDE_ASM(s32, "8B3D0", func_800A0F00); - -INCLUDE_ASM(s32, "8B3D0", func_800A0F70); - -INCLUDE_ASM(s32, "8B3D0", func_800A1010); - -INCLUDE_ASM(s32, "8B3D0", func_800A10C0); - -INCLUDE_ASM(s32, "8B3D0", func_800A1190); - -INCLUDE_ASM(s32, "8B3D0", func_800A1200); - -INCLUDE_ASM(s32, "8B3D0", func_800A1250); - -INCLUDE_ASM(s32, "8B3D0", func_800A1320); - -INCLUDE_ASM(s32, "8B3D0", func_800A13C0); diff --git a/src/8B870.c b/src/8B870.c new file mode 100644 index 0000000..628b061 --- /dev/null +++ b/src/8B870.c @@ -0,0 +1,637 @@ +#include "common.h" + +INCLUDE_ASM(s32, "8B870", func_8008AC70); + +INCLUDE_ASM(s32, "8B870", func_8008AD10); + +INCLUDE_ASM(s32, "8B870", func_8008AE38); + +INCLUDE_ASM(s32, "8B870", func_8008AEF0); + +INCLUDE_ASM(s32, "8B870", func_8008AF70); + +INCLUDE_ASM(s32, "8B870", func_8008B010); + +INCLUDE_ASM(s32, "8B870", func_8008B0A0); + +INCLUDE_ASM(s32, "8B870", func_8008B160); + +INCLUDE_ASM(s32, "8B870", func_8008B1C0); + +INCLUDE_ASM(s32, "8B870", func_8008B1D0); + +INCLUDE_ASM(s32, "8B870", func_8008B270); + +INCLUDE_ASM(s32, "8B870", func_8008B47C); + +INCLUDE_ASM(s32, "8B870", func_8008B4B0); + +INCLUDE_ASM(s32, "8B870", func_8008B4D0); + +INCLUDE_ASM(s32, "8B870", func_8008B520); + +INCLUDE_ASM(s32, "8B870", func_8008B560); + +INCLUDE_ASM(s32, "8B870", func_8008B5A0); + +INCLUDE_ASM(s32, "8B870", func_8008B600); + +INCLUDE_ASM(s32, "8B870", func_8008B650); + +INCLUDE_ASM(s32, "8B870", func_8008B6A0); + +INCLUDE_ASM(s32, "8B870", func_8008B700); + +INCLUDE_ASM(s32, "8B870", func_8008B89C); + +INCLUDE_ASM(s32, "8B870", func_8008B950); + +INCLUDE_ASM(s32, "8B870", func_8008BA10); + +INCLUDE_ASM(s32, "8B870", func_8008BA70); + +INCLUDE_ASM(s32, "8B870", func_8008BBEC); + +INCLUDE_ASM(s32, "8B870", func_8008BC90); + +INCLUDE_ASM(s32, "8B870", func_8008BD50); + +INCLUDE_ASM(s32, "8B870", func_8008BE40); + +INCLUDE_ASM(s32, "8B870", func_8008BEB0); + +INCLUDE_ASM(s32, "8B870", func_8008BF50); + +INCLUDE_ASM(s32, "8B870", func_8008BFA4); + +INCLUDE_ASM(s32, "8B870", func_8008C010); + +INCLUDE_ASM(s32, "8B870", bcopy); + +INCLUDE_ASM(s32, "8B870", bzero); + +INCLUDE_ASM(s32, "8B870", func_8008C400); + +INCLUDE_ASM(s32, "8B870", func_8008C438); + +INCLUDE_ASM(s32, "8B870", func_8008C45C); + +INCLUDE_ASM(s32, "8B870", sprintf); + +INCLUDE_ASM(s32, "8B870", func_8008C4E8); + +INCLUDE_ASM(s32, "8B870", func_8008C520); + +INCLUDE_ASM(s32, "8B870", func_8008C534); + +INCLUDE_ASM(s32, "8B870", func_8008C550); + +INCLUDE_ASM(s32, "8B870", func_8008C6C0); + +INCLUDE_ASM(s32, "8B870", func_8008CB88); + +INCLUDE_ASM(s32, "8B870", func_8008CBFC); + +INCLUDE_ASM(s32, "8B870", func_8008CCFC); + +INCLUDE_ASM(s32, "8B870", func_8008D558); + +INCLUDE_ASM(s32, "8B870", func_8008D6E8); + +INCLUDE_ASM(s32, "8B870", func_8008D778); + +INCLUDE_ASM(s32, "8B870", func_8008D7B0); + +INCLUDE_ASM(s32, "8B870", func_8008D934); + +INCLUDE_ASM(s32, "8B870", func_8008DE08); + +INCLUDE_ASM(s32, "8B870", func_8008DED8); + +INCLUDE_ASM(s32, "8B870", func_8008E0D8); + +INCLUDE_ASM(s32, "8B870", func_8008E900); + +INCLUDE_ASM(s32, "8B870", func_8008E96C); + +INCLUDE_ASM(s32, "8B870", func_8008E9BC); + +INCLUDE_ASM(s32, "8B870", func_8008EA20); + +INCLUDE_ASM(s32, "8B870", func_8008EA74); + +INCLUDE_ASM(s32, "8B870", func_8008EB48); + +INCLUDE_ASM(s32, "8B870", func_8008EBB8); + +INCLUDE_ASM(s32, "8B870", func_8008EBD4); + +INCLUDE_ASM(s32, "8B870", func_8008EC18); + +INCLUDE_ASM(s32, "8B870", func_8008ED3C); + +INCLUDE_ASM(s32, "8B870", func_8008EDEC); + +INCLUDE_ASM(s32, "8B870", func_8008EE98); + +INCLUDE_ASM(s32, "8B870", func_8008EEEC); + +INCLUDE_ASM(s32, "8B870", func_8008EF6C); + +INCLUDE_ASM(s32, "8B870", func_8008F020); + +INCLUDE_ASM(s32, "8B870", func_8008F110); + +INCLUDE_ASM(s32, "8B870", func_8008F150); + +INCLUDE_ASM(s32, "8B870", alSynNew); + +INCLUDE_ASM(s32, "8B870", func_8008F4BC); + +INCLUDE_ASM(s32, "8B870", func_8008F66C); + +INCLUDE_ASM(s32, "8B870", func_8008F698); + +INCLUDE_ASM(s32, "8B870", func_8008F6B0); + +INCLUDE_ASM(s32, "8B870", func_8008F704); + +INCLUDE_ASM(s32, "8B870", func_8008F744); + +INCLUDE_ASM(s32, "8B870", func_8008F78C); + +INCLUDE_ASM(s32, "8B870", func_8008F7D8); + +INCLUDE_ASM(s32, "8B870", func_8008F830); + +INCLUDE_ASM(s32, "8B870", func_8008F950); + +INCLUDE_ASM(s32, "8B870", func_8008FAD0); + +INCLUDE_ASM(s32, "8B870", func_8008FB50); + +INCLUDE_ASM(s32, "8B870", func_8008FCE8); + +INCLUDE_ASM(s32, "8B870", func_8008FD70); + +INCLUDE_ASM(s32, "8B870", func_8008FED8); + +INCLUDE_ASM(s32, "8B870", func_8008FF80); + +INCLUDE_ASM(s32, "8B870", func_80090120); + +INCLUDE_ASM(s32, "8B870", func_800901A8); + +INCLUDE_ASM(s32, "8B870", func_80090244); + +INCLUDE_ASM(s32, "8B870", func_80090300); + +INCLUDE_ASM(s32, "8B870", func_800904F0); + +INCLUDE_ASM(s32, "8B870", func_80090550); + +INCLUDE_ASM(s32, "8B870", func_800905B0); + +INCLUDE_ASM(s32, "8B870", func_800906F4); + +INCLUDE_ASM(s32, "8B870", func_80090940); + +INCLUDE_ASM(s32, "8B870", func_80090C4C); + +INCLUDE_ASM(s32, "8B870", func_80090D70); + +INCLUDE_ASM(s32, "8B870", func_80090F1C); + +INCLUDE_ASM(s32, "8B870", func_80090F90); + +INCLUDE_ASM(s32, "8B870", func_80091120); + +INCLUDE_ASM(s32, "8B870", func_80091230); + +INCLUDE_ASM(s32, "8B870", func_80091428); + +INCLUDE_ASM(s32, "8B870", func_80091500); + +INCLUDE_ASM(s32, "8B870", func_80091600); + +INCLUDE_ASM(s32, "8B870", func_80091A40); + +INCLUDE_ASM(s32, "8B870", func_80091AA0); + +INCLUDE_ASM(s32, "8B870", func_80091C40); + +INCLUDE_ASM(s32, "8B870", func_80091CB0); + +INCLUDE_ASM(s32, "8B870", func_80091E40); + +INCLUDE_ASM(s32, "8B870", func_80091F10); + +INCLUDE_ASM(s32, "8B870", func_80091FC0); + +INCLUDE_ASM(s32, "8B870", func_80092050); + +INCLUDE_ASM(s32, "8B870", func_800921F0); + +INCLUDE_ASM(s32, "8B870", func_80092390); + +INCLUDE_ASM(s32, "8B870", func_80092500); + +INCLUDE_ASM(s32, "8B870", func_80092810); + +INCLUDE_ASM(s32, "8B870", func_80092830); + +INCLUDE_ASM(s32, "8B870", func_80092DBC); + +INCLUDE_ASM(s32, "8B870", __osEnqueueAndYield); + +INCLUDE_ASM(s32, "8B870", __osEnqueueThread); + +INCLUDE_ASM(s32, "8B870", __osPopThread); + +INCLUDE_ASM(s32, "8B870", __osDispatchThread); + +INCLUDE_ASM(s32, "8B870", __osCleanupThread); + +INCLUDE_ASM(s32, "8B870", osGetMemSize); + +INCLUDE_ASM(s32, "8B870", osInitialize); + +INCLUDE_ASM(s32, "8B870", func_80093468); + +INCLUDE_ASM(s32, "8B870", __osDisableInt); + +INCLUDE_ASM(s32, "8B870", __osRestoreInt); + +INCLUDE_ASM(s32, "8B870", func_800935B0); + +INCLUDE_ASM(s32, "8B870", func_80093660); + +INCLUDE_ASM(s32, "8B870", guNormalize); + +INCLUDE_ASM(s32, "8B870", func_80093770); + +INCLUDE_ASM(s32, "8B870", osGetCount); + +INCLUDE_ASM(s32, "8B870", func_80093790); + +INCLUDE_ASM(s32, "8B870", __osProbeTLB); + +INCLUDE_ASM(s32, "8B870", func_80093860); + +INCLUDE_ASM(s32, "8B870", func_80093870); + +INCLUDE_ASM(s32, "8B870", func_800938C0); + +INCLUDE_ASM(s32, "8B870", func_80093920); + +INCLUDE_ASM(s32, "8B870", func_800939C0); + +INCLUDE_ASM(s32, "8B870", func_80093E04); + +INCLUDE_ASM(s32, "8B870", func_800941A0); + +INCLUDE_ASM(s32, "8B870", func_8009434C); + +INCLUDE_ASM(s32, "8B870", func_800944D0); + +INCLUDE_ASM(s32, "8B870", func_800945AC); + +INCLUDE_ASM(s32, "8B870", func_800945E0); + +INCLUDE_ASM(s32, "8B870", func_80094720); + +INCLUDE_ASM(s32, "8B870", func_80094750); + +INCLUDE_ASM(s32, "8B870", func_8009493C); + +INCLUDE_ASM(s32, "8B870", func_80094A00); + +INCLUDE_ASM(s32, "8B870", func_80094AE8); + +INCLUDE_ASM(s32, "8B870", func_80094C50); + +INCLUDE_ASM(s32, "8B870", func_80094CB8); + +INCLUDE_ASM(s32, "8B870", func_80094D20); + +INCLUDE_ASM(s32, "8B870", func_80094DB0); + +INCLUDE_ASM(s32, "8B870", func_80094EC4); + +INCLUDE_ASM(s32, "8B870", func_80094ECC); + +INCLUDE_ASM(s32, "8B870", func_80094EE8); + +INCLUDE_ASM(s32, "8B870", func_80094F04); + +INCLUDE_ASM(s32, "8B870", func_80094F18); + +INCLUDE_ASM(s32, "8B870", func_80094F48); + +INCLUDE_ASM(s32, "8B870", func_80094F98); + +INCLUDE_ASM(s32, "8B870", func_80094FF0); + +INCLUDE_ASM(s32, "8B870", func_80095000); + +INCLUDE_ASM(s32, "8B870", func_800950A0); + +INCLUDE_ASM(s32, "8B870", func_800950C0); + +INCLUDE_ASM(s32, "8B870", func_800950E0); + +INCLUDE_ASM(s32, "8B870", func_800950F0); + +INCLUDE_ASM(s32, "8B870", func_80095100); + +INCLUDE_ASM(s32, "8B870", func_80095130); + +INCLUDE_ASM(s32, "8B870", func_80095240); + +INCLUDE_ASM(s32, "8B870", func_80095250); + +INCLUDE_ASM(s32, "8B870", func_800952A4); + +INCLUDE_ASM(s32, "8B870", func_80095310); + +INCLUDE_ASM(s32, "8B870", func_80095340); + +INCLUDE_ASM(s32, "8B870", bcmp); + +INCLUDE_ASM(s32, "8B870", _Printf); + +INCLUDE_ASM(s32, "8B870", func_800959E0); + +INCLUDE_ASM(s32, "8B870", func_80095EA0); + +INCLUDE_ASM(s32, "8B870", func_80095F44); + +INCLUDE_ASM(s32, "8B870", func_800963DC); + +INCLUDE_ASM(s32, "8B870", func_80096494); + +INCLUDE_ASM(s32, "8B870", func_80096544); + +INCLUDE_ASM(s32, "8B870", func_800965D0); + +INCLUDE_ASM(s32, "8B870", func_8009662C); + +INCLUDE_ASM(s32, "8B870", func_80096688); + +INCLUDE_ASM(s32, "8B870", func_800966D0); + +INCLUDE_ASM(s32, "8B870", func_80096BD0); + +INCLUDE_ASM(s32, "8B870", func_80096CA4); + +INCLUDE_ASM(s32, "8B870", func_80096F78); + +INCLUDE_ASM(s32, "8B870", func_80097058); + +INCLUDE_ASM(s32, "8B870", func_8009707C); + +INCLUDE_ASM(s32, "8B870", func_800972FC); + +INCLUDE_ASM(s32, "8B870", func_80097380); + +INCLUDE_ASM(s32, "8B870", func_800976F4); + +INCLUDE_ASM(s32, "8B870", func_80097708); + +INCLUDE_ASM(s32, "8B870", func_800978F8); + +INCLUDE_ASM(s32, "8B870", func_80097B10); + +INCLUDE_ASM(s32, "8B870", func_80097C80); + +INCLUDE_ASM(s32, "8B870", func_80097DF0); + +INCLUDE_ASM(s32, "8B870", func_80097E8C); + +INCLUDE_ASM(s32, "8B870", func_80097F20); + +INCLUDE_ASM(s32, "8B870", func_80097FC8); + +INCLUDE_ASM(s32, "8B870", func_80097FF0); + +INCLUDE_ASM(s32, "8B870", func_80098024); + +INCLUDE_ASM(s32, "8B870", func_80098068); + +INCLUDE_ASM(s32, "8B870", func_80098354); + +INCLUDE_ASM(s32, "8B870", func_800984B8); + +INCLUDE_ASM(s32, "8B870", func_80098684); + +INCLUDE_ASM(s32, "8B870", func_8009873C); + +INCLUDE_ASM(s32, "8B870", func_80098A80); + +INCLUDE_ASM(s32, "8B870", func_80098C80); + +INCLUDE_ASM(s32, "8B870", func_80098EA0); + +INCLUDE_ASM(s32, "8B870", func_80098F0C); + +INCLUDE_ASM(s32, "8B870", func_80098F90); + +INCLUDE_ASM(s32, "8B870", func_80099350); + +INCLUDE_ASM(s32, "8B870", func_800994C0); + +INCLUDE_ASM(s32, "8B870", func_80099630); + +INCLUDE_ASM(s32, "8B870", func_80099A90); + +INCLUDE_ASM(s32, "8B870", func_80099BE8); + +INCLUDE_ASM(s32, "8B870", func_80099D50); + +INCLUDE_ASM(s32, "8B870", func_80099E40); + +INCLUDE_ASM(s32, "8B870", func_80099ED4); + +INCLUDE_ASM(s32, "8B870", func_80099F60); + +INCLUDE_ASM(s32, "8B870", func_80099FB0); + +INCLUDE_ASM(s32, "8B870", func_8009A000); + +INCLUDE_ASM(s32, "8B870", func_8009A050); + +INCLUDE_ASM(s32, "8B870", func_8009A090); + +INCLUDE_ASM(s32, "8B870", func_8009A0E0); + +INCLUDE_ASM(s32, "8B870", func_8009A100); + +INCLUDE_ASM(s32, "8B870", func_8009A120); + +INCLUDE_ASM(s32, "8B870", func_8009A370); + +INCLUDE_ASM(s32, "8B870", func_8009A7B0); + +INCLUDE_ASM(s32, "8B870", func_8009A848); + +INCLUDE_ASM(s32, "8B870", func_8009ADF0); + +INCLUDE_ASM(s32, "8B870", func_8009AE74); + +INCLUDE_ASM(s32, "8B870", func_8009AFB0); + +INCLUDE_ASM(s32, "8B870", func_8009AFD0); + +INCLUDE_ASM(s32, "8B870", func_8009B0A8); + +INCLUDE_ASM(s32, "8B870", func_8009B150); + +INCLUDE_ASM(s32, "8B870", func_8009B308); + +INCLUDE_ASM(s32, "8B870", func_8009B420); + +INCLUDE_ASM(s32, "8B870", func_8009B590); + +INCLUDE_ASM(s32, "8B870", func_8009B618); + +INCLUDE_ASM(s32, "8B870", func_8009B674); + +INCLUDE_ASM(s32, "8B870", func_8009B6F0); + +INCLUDE_ASM(s32, "8B870", func_8009B770); + +INCLUDE_ASM(s32, "8B870", func_8009B810); + +INCLUDE_ASM(s32, "8B870", func_8009B840); + +INCLUDE_ASM(s32, "8B870", func_8009B848); + +INCLUDE_ASM(s32, "8B870", func_8009B850); + +INCLUDE_ASM(s32, "8B870", func_8009B960); + +INCLUDE_ASM(s32, "8B870", func_8009BA30); + +INCLUDE_ASM(s32, "8B870", func_8009BAA4); + +INCLUDE_ASM(s32, "8B870", func_8009BAD8); + +INCLUDE_ASM(s32, "8B870", func_8009BBD4); + +INCLUDE_ASM(s32, "8B870", func_8009BCA0); + +INCLUDE_ASM(s32, "8B870", func_8009BE10); + +INCLUDE_ASM(s32, "8B870", func_8009BE30); + +INCLUDE_ASM(s32, "8B870", func_8009BE70); + +INCLUDE_ASM(s32, "8B870", func_8009BF90); + +INCLUDE_ASM(s32, "8B870", func_8009C090); + +INCLUDE_ASM(s32, "8B870", func_8009C0A0); + +INCLUDE_ASM(s32, "8B870", func_8009C100); + +INCLUDE_ASM(s32, "8B870", func_8009C160); + +INCLUDE_ASM(s32, "8B870", func_8009C240); + +INCLUDE_ASM(s32, "8B870", HuGuLookAtF); + +INCLUDE_ASM(s32, "8B870", func_8009C6E0); + +INCLUDE_ASM(s32, "8B870", func_8009C770); + +INCLUDE_ASM(s32, "8B870", func_8009CD20); + +INCLUDE_ASM(s32, "8B870", func_8009CDB0); + +INCLUDE_ASM(s32, "8B870", func_8009D840); + +INCLUDE_ASM(s32, "8B870", func_8009D920); + +INCLUDE_ASM(s32, "8B870", func_8009DAD0); + +INCLUDE_ASM(s32, "8B870", func_8009DB50); + +INCLUDE_ASM(s32, "8B870", func_8009DD10); + +INCLUDE_ASM(s32, "8B870", func_8009DD90); + +INCLUDE_ASM(s32, "8B870", func_8009DFF0); + +INCLUDE_ASM(s32, "8B870", func_8009E060); + +INCLUDE_ASM(s32, "8B870", func_8009E360); + +INCLUDE_ASM(s32, "8B870", func_8009E7E0); + +INCLUDE_ASM(s32, "8B870", func_8009E8F0); + +INCLUDE_ASM(s32, "8B870", func_8009EA40); + +INCLUDE_ASM(s32, "8B870", func_8009EB50); + +INCLUDE_ASM(s32, "8B870", func_8009ECB0); + +INCLUDE_ASM(s32, "8B870", func_8009EEC0); + +INCLUDE_ASM(s32, "8B870", func_8009F2D0); + +INCLUDE_ASM(s32, "8B870", func_8009F530); + +INCLUDE_ASM(s32, "8B870", func_8009F9B0); + +INCLUDE_ASM(s32, "8B870", func_8009FD40); + +INCLUDE_ASM(s32, "8B870", func_800A0270); + +INCLUDE_ASM(s32, "8B870", func_800A03B0); + +INCLUDE_ASM(s32, "8B870", func_800A0730); + +INCLUDE_ASM(s32, "8B870", func_800A07A0); + +INCLUDE_ASM(s32, "8B870", func_800A0810); + +INCLUDE_ASM(s32, "8B870", func_800A0890); + +INCLUDE_ASM(s32, "8B870", func_800A0900); + +INCLUDE_ASM(s32, "8B870", func_800A0970); + +INCLUDE_ASM(s32, "8B870", func_800A09D0); + +INCLUDE_ASM(s32, "8B870", func_800A0A20); + +INCLUDE_ASM(s32, "8B870", func_800A0B90); + +INCLUDE_ASM(s32, "8B870", func_800A0D00); + +INCLUDE_ASM(s32, "8B870", func_800A0D50); + +INCLUDE_ASM(s32, "8B870", func_800A0DA0); + +INCLUDE_ASM(s32, "8B870", func_800A0E00); + +INCLUDE_ASM(s32, "8B870", func_800A0E80); + +INCLUDE_ASM(s32, "8B870", func_800A0F00); + +INCLUDE_ASM(s32, "8B870", func_800A0F70); + +INCLUDE_ASM(s32, "8B870", func_800A1010); + +INCLUDE_ASM(s32, "8B870", func_800A10C0); + +INCLUDE_ASM(s32, "8B870", func_800A1190); + +INCLUDE_ASM(s32, "8B870", func_800A1200); + +INCLUDE_ASM(s32, "8B870", func_800A1250); + +INCLUDE_ASM(s32, "8B870", func_800A1320); + +INCLUDE_ASM(s32, "8B870", func_800A13C0); diff --git a/src/B980.c b/src/B980.c index 1a92c93..1c2bd3b 100644 --- a/src/B980.c +++ b/src/B980.c @@ -9,7 +9,7 @@ extern s32 D_800CDA90; extern s8 D_800ECB2C; void func_800130A4(Addr*); void alSeqpDelete(s32); -void func_8008A7D0(s32); +void alSndpDelete(s32); extern s32 D_800C1870; extern Addr D_800C1874; extern s32 D_800CDAD4; @@ -92,7 +92,7 @@ s32 func_8000B198(void) { if (D_800CEAA0 == 0) { if (D_800C1870 & 0x8000) { alSeqpDelete(D_800CDAD4); - func_8008A7D0(D_800CEA8C); + alSndpDelete(D_800CEA8C); func_800130A4(&D_800C1874); D_800C1870 = 0; return 0; diff --git a/src/lib/2.0I/audio/sndp.h b/src/lib/2.0I/audio/sndp.h new file mode 100644 index 0000000..014cbca --- /dev/null +++ b/src/lib/2.0I/audio/sndp.h @@ -0,0 +1,102 @@ +/*==================================================================== + * sndp.h + * + * Synopsis: + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + + +#ifndef __SNDP__ +#define __SNDP__ + +#include + +#ifndef MIN +#define MIN(a,b) (((a)<(b))?(a):(b)) +#endif + +#ifndef MAX +#define MAX(a,b) (((a)>(b))?(a):(b)) +#endif + +#define MIN_RATIO 0.0001 + +typedef enum { + AL_SNDP_PLAY_EVT, + AL_SNDP_STOP_EVT, + AL_SNDP_PAN_EVT, + AL_SNDP_VOL_EVT, + AL_SNDP_PITCH_EVT, + AL_SNDP_API_EVT, + AL_SNDP_DECAY_EVT, + AL_SNDP_END_EVT, + AL_SNDP_FX_EVT +} ALSndpMsgType; + +typedef struct { + ALVoice voice; + ALSound *sound; /* sound referenced here */ + s16 priority; + f32 pitch; /* current playback pitch */ + s32 state; /* play state for this sound */ + s16 vol; /* volume - combined with volume from bank */ + ALPan pan; /* pan - 0 = left, 127 = right */ + u8 fxMix; /* wet/dry mix - 0 = dry, 127 = wet */ +} ALSoundState; + +typedef union { + + ALEvent msg; + + struct { + s16 type; + ALSoundState *state; + } common; + + struct { + s16 type; + ALSoundState *state; + s16 vol; + } vol; + + struct { + s16 type; + ALSoundState *state; + f32 pitch; + } pitch; + + struct { + s16 type; + ALSoundState *state; + ALPan pan; + } pan; + + struct { + s16 type; + ALSoundState *state; + u8 mix; + } fx; + +} ALSndpEvent; + +// static ALMicroTime _sndpVoiceHandler(void *node); +// static void _handleEvent(ALSndPlayer *sndp, ALSndpEvent *event); +// static void _removeEvents(ALEventQueue *evtq, ALSoundState *state); +// static s32 _DivS32ByF32 (s32 i, f32 f); + +#endif diff --git a/src/lib/2.0I/audio/sndpallocate.c b/src/lib/2.0I/audio/sndpallocate.c new file mode 100644 index 0000000..edf13ff --- /dev/null +++ b/src/lib/2.0I/audio/sndpallocate.c @@ -0,0 +1,42 @@ +/*==================================================================== + * sndpallocate.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" + +ALSndId alSndpAllocate(ALSndPlayer *sndp, ALSound *sound) +{ + ALSndId i; + ALSoundState *sState = sndp->sndState; + + for (i = 0; i < sndp->maxSounds; i++) { + if (!sState[i].sound) { + sState[i].sound = sound; + sState[i].priority = AL_DEFAULT_PRIORITY; + sState[i].state = AL_STOPPED; + sState[i].pitch = 1.0; + sState[i].pan = AL_PAN_CENTER; + sState[i].fxMix = AL_DEFAULT_FXMIX; + sState[i].vol = 32767*sound->sampleVolume/AL_VOL_FULL; + return i; + } + } + + return -1; +} diff --git a/src/lib/2.0I/audio/sndpdeallocate.c b/src/lib/2.0I/audio/sndpdeallocate.c new file mode 100644 index 0000000..eb26084 --- /dev/null +++ b/src/lib/2.0I/audio/sndpdeallocate.c @@ -0,0 +1,34 @@ +/*==================================================================== + * sndpdeallocate.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpDeallocate(ALSndPlayer *sndp, ALSndId id) +{ + ALSoundState *sState = sndp->sndState; + + ALFailIf((sState + id)->state != AL_STOPPED, ERR_ALSNDPDEALLOCATE); + + sState[id].sound = 0; + if (sndp->target == id) /* if we are deleting the target sound */ + sndp->target = -1; +} diff --git a/src/lib/2.0I/audio/sndpdelete.c b/src/lib/2.0I/audio/sndpdelete.c new file mode 100644 index 0000000..212d76a --- /dev/null +++ b/src/lib/2.0I/audio/sndpdelete.c @@ -0,0 +1,43 @@ +/*==================================================================== + * sndpdelete.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpDelete(ALSndPlayer *sndp) +{ + /* + * Remove client from synthesizer. Note application is responsible + * for making sure all sounds have been stopped beforehand. + */ +#ifdef _DEBUG + { + int i, notStopped = 0; + ALSoundState *sState = sndp->sndState; + + for (i=0; imaxSounds; i++) + if ((sState + i)->state != AL_STOPPED) + notStopped = 1; + ALFailIf(notStopped, ERR_ALSNDPDELETE); + } +#endif + alSynRemovePlayer(&alGlobals->drvr, &sndp->node); +} diff --git a/src/lib/2.0I/audio/sndpgetsound.c b/src/lib/2.0I/audio/sndpgetsound.c new file mode 100644 index 0000000..0273507 --- /dev/null +++ b/src/lib/2.0I/audio/sndpgetsound.c @@ -0,0 +1,26 @@ +/*==================================================================== + * sndpgetsound.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" + +ALSndId alSndpGetSound(ALSndPlayer *sndp) +{ + return (ALSndId) sndp->target; +} diff --git a/src/lib/2.0I/audio/sndpgetstate.c b/src/lib/2.0I/audio/sndpgetstate.c new file mode 100644 index 0000000..f3b2d8b --- /dev/null +++ b/src/lib/2.0I/audio/sndpgetstate.c @@ -0,0 +1,28 @@ +/*==================================================================== + * sndpgetstate.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" + +s32 alSndpGetState(ALSndPlayer *sndp) +{ + ALSoundState *sState = sndp->sndState; + + return (sState + sndp->target)->state; +} diff --git a/src/lib/2.0I/audio/sndpplay.c b/src/lib/2.0I/audio/sndpplay.c new file mode 100644 index 0000000..54b3ead --- /dev/null +++ b/src/lib/2.0I/audio/sndpplay.c @@ -0,0 +1,35 @@ +/*==================================================================== + * sndpplay.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpPlay(ALSndPlayer *sndp) +{ + ALSndpEvent evt; + ALSoundState *sState = sndp->sndState; + + ALFailIf((sState + sndp->target)->state != AL_STOPPED, ERR_ALSNDPPLAY); + + evt.common.type = AL_SNDP_PLAY_EVT; + evt.common.state = &sState[sndp->target]; + alEvtqPostEvent(&sndp->evtq, (ALEvent *)&evt, 0); +} diff --git a/src/lib/2.0I/audio/sndpsetfxmix.c b/src/lib/2.0I/audio/sndpsetfxmix.c new file mode 100644 index 0000000..669ab0e --- /dev/null +++ b/src/lib/2.0I/audio/sndpsetfxmix.c @@ -0,0 +1,41 @@ +/*==================================================================== + * sndpsetfxmix.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpSetFXMix(ALSndPlayer *sndp, u8 mix) +{ + ALSndpEvent evt; + ALSoundState *sState = sndp->sndState; + +#ifdef _DEBUG + if ((sndp->target >= sndp->maxSounds) || (sndp->target < 0)){ + __osError(ERR_ALSNDPSETPAR, 2, sndp->target, sndp->maxSounds-1); + return; + } +#endif + + evt.fx.type = AL_SNDP_FX_EVT; + evt.fx.state = &sState[sndp->target]; + evt.fx.mix = mix; + alEvtqPostEvent(&sndp->evtq, (ALEvent *)&evt, 0); +} diff --git a/src/lib/2.0I/audio/sndpsetpan.c b/src/lib/2.0I/audio/sndpsetpan.c new file mode 100644 index 0000000..d1db6f9 --- /dev/null +++ b/src/lib/2.0I/audio/sndpsetpan.c @@ -0,0 +1,41 @@ +/*==================================================================== + * sndpsetpan.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpSetPan(ALSndPlayer *sndp, ALPan pan) +{ + ALSndpEvent evt; + ALSoundState *sState = sndp->sndState; + +#ifdef _DEBUG + if ((sndp->target >= sndp->maxSounds) || (sndp->target < 0)){ + __osError(ERR_ALSNDPSETPAR, 2, sndp->target, sndp->maxSounds-1); + return; + } +#endif + + evt.pan.type = AL_SNDP_PAN_EVT; + evt.pan.pan = pan; + evt.pan.state = &sState[sndp->target]; + alEvtqPostEvent(&sndp->evtq, (ALEvent *)&evt, 0); +} diff --git a/src/lib/2.0I/audio/sndpsetpitch.c b/src/lib/2.0I/audio/sndpsetpitch.c new file mode 100644 index 0000000..51be28e --- /dev/null +++ b/src/lib/2.0I/audio/sndpsetpitch.c @@ -0,0 +1,47 @@ +/*==================================================================== + * sndpsetpitch.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpSetPitch(ALSndPlayer *sndp, f32 pitch) +{ + ALSndpEvent evt; + ALSoundState *sState = sndp->sndState; + + /* + * If this is set during playback there will be + * a the envelope lengths won't be accurate - but you can still + * do it. + */ + +#ifdef _DEBUG + if ((sndp->target >= sndp->maxSounds) || (sndp->target < 0)){ + __osError(ERR_ALSNDPSETPAR, 2, sndp->target, sndp->maxSounds-1); + return; + } +#endif + + evt.pitch.type = AL_SNDP_PITCH_EVT; + evt.pitch.state = &sState[sndp->target]; + evt.pitch.pitch = pitch; + alEvtqPostEvent(&sndp->evtq, (ALEvent *)&evt, 0); +} diff --git a/src/lib/2.0I/audio/sndpsetpriority.c b/src/lib/2.0I/audio/sndpsetpriority.c new file mode 100644 index 0000000..f5ee10a --- /dev/null +++ b/src/lib/2.0I/audio/sndpsetpriority.c @@ -0,0 +1,37 @@ +/*==================================================================== + * sndpsetsound.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpSetPriority(ALSndPlayer *sndp, ALSndId id, u8 priority) +{ + ALSoundState *sState = sndp->sndState; + +#ifdef _DEBUG + if ((id >= sndp->maxSounds) || (id < 0)){ + __osError(ERR_ALSNDPSETPRIORITY, 2, id, sndp->maxSounds-1); + return; + } +#endif + + sState[id].priority = priority; +} diff --git a/src/lib/2.0I/audio/sndpsetsound.c b/src/lib/2.0I/audio/sndpsetsound.c new file mode 100644 index 0000000..b540215 --- /dev/null +++ b/src/lib/2.0I/audio/sndpsetsound.c @@ -0,0 +1,35 @@ +/*==================================================================== + * sndpsetsound.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpSetSound(ALSndPlayer *sndp, ALSndId id) +{ +#ifdef _DEBUG + if ((id >= sndp->maxSounds) || (id < 0)){ + __osError(ERR_ALSNDPSETSOUND, 2, id, sndp->maxSounds-1); + return; + } +#endif + + sndp->target = id; +} diff --git a/src/lib/2.0I/audio/sndpsetvol.c b/src/lib/2.0I/audio/sndpsetvol.c new file mode 100644 index 0000000..7e1346c --- /dev/null +++ b/src/lib/2.0I/audio/sndpsetvol.c @@ -0,0 +1,41 @@ +/*==================================================================== + * sndpsetvol.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" +#include +#include + +void alSndpSetVol(ALSndPlayer *sndp, s16 vol) +{ + ALSndpEvent evt; + ALSoundState *sState = sndp->sndState; + +#ifdef _DEBUG + if ((sndp->target >= sndp->maxSounds) || (sndp->target < 0)){ + __osError(ERR_ALSNDPSETPAR, 2, sndp->target, sndp->maxSounds-1); + return; + } +#endif + + evt.vol.type = AL_SNDP_VOL_EVT; + evt.vol.state = &sState[sndp->target]; + evt.vol.vol = vol; + alEvtqPostEvent(&sndp->evtq, (ALEvent *)&evt, 0); +} diff --git a/src/lib/2.0I/audio/sndpstop.c b/src/lib/2.0I/audio/sndpstop.c new file mode 100644 index 0000000..e7cc392 --- /dev/null +++ b/src/lib/2.0I/audio/sndpstop.c @@ -0,0 +1,34 @@ +/*==================================================================== + * sndpstop.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "sndp.h" + +void alSndpStop(ALSndPlayer *sndp) +{ + ALSndpEvent evt; + ALSoundState *sState = sndp->sndState; + + /* + * Go immediately into the release phase + */ + evt.common.type = AL_SNDP_STOP_EVT; + evt.common.state = &sState[sndp->target]; + alEvtqPostEvent(&sndp->evtq, (ALEvent *)&evt, 0); +} diff --git a/src/lib/2.0I/audio/synaddplayer.c b/src/lib/2.0I/audio/synaddplayer.c new file mode 100644 index 0000000..4d07246 --- /dev/null +++ b/src/lib/2.0I/audio/synaddplayer.c @@ -0,0 +1,33 @@ +/*==================================================================== + * synaddplayer.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "synthInternals.h" +#include + +void alSynAddPlayer(ALSynth *drvr, ALPlayer *client) +{ + OSIntMask mask = osSetIntMask(OS_IM_NONE); + + client->samplesLeft = drvr->curSamples; + client->next = drvr->head; + drvr->head = client; + + osSetIntMask(mask); +} diff --git a/src/lib/2.0I/audio/syndelete.c b/src/lib/2.0I/audio/syndelete.c new file mode 100644 index 0000000..74abaa4 --- /dev/null +++ b/src/lib/2.0I/audio/syndelete.c @@ -0,0 +1,26 @@ +/*==================================================================== + * syndelete.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "synthInternals.h" + +void alSynDelete(ALSynth *drvr) +{ + drvr->head = 0; +} diff --git a/src/lib/2.0I/audio/synremoveplayer.c b/src/lib/2.0I/audio/synremoveplayer.c new file mode 100644 index 0000000..cb5fccf --- /dev/null +++ b/src/lib/2.0I/audio/synremoveplayer.c @@ -0,0 +1,48 @@ +/*==================================================================== + * synremoveplayer.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +#include "synthInternals.h" +#include + +void alSynRemovePlayer(ALSynth *drvr, ALPlayer *client) +{ + ALPlayer *thing; + ALPlayer *prev = 0; + + if (drvr->head != 0) + { + OSIntMask mask = osSetIntMask(OS_IM_NONE); + + for (thing = drvr->head; thing != 0; thing = thing->next) { + if (thing == client) { + if(prev) + prev->next = thing->next; + else + drvr->head = thing->next; + + client->next = 0; + break; + } + prev = thing; + } + + osSetIntMask(mask); + } +} diff --git a/symbol_addrs.txt b/symbol_addrs.txt index 3eb7b4d..1f09fec 100644 --- a/symbol_addrs.txt +++ b/symbol_addrs.txt @@ -236,10 +236,26 @@ alSeqpSetTempo = 0x8008A720; alSeqpSetVol = 0x8008A770; alSeqpStop = 0x8008A7A0; -alSynNew = 0x8008F1F0; + +alSndpDelete = 0x8008A7D0; +alSndpAllocate = 0x8008A800; +alSndpDeallocate = 0x8008A8C0; +alSndpSetSound = 0x8008A910; +alSndpPlay = 0x8008A920; +alSndpGetSound = 0x8008A980; +alSndpStop = 0x8008A990; +alSndpGetState = 0x8008A9E0; +alSndpSetPitch = 0x8008AA00; +alSndpSetPriority = 0x8008AA50; +alSndpSetVol = 0x8008AA80; +alSndpSetPan = 0x8008AAD0; +alSndpSetFXMix = 0x8008AB20; alSynDelete = 0x8008AB70; +alSynAddPlayer = 0x8008AB80; alSynRemovePlayer = 0x8008ABD0; +alSynNew = 0x8008F1F0; + sinf = 0x80088060; cosf = 0x800855C0; __libm_qnan_f = 0x800CC6B0; \ No newline at end of file