diff options
Diffstat (limited to 'include/sdat.h')
-rw-r--r-- | include/sdat.h | 75 |
1 files changed, 37 insertions, 38 deletions
diff --git a/include/sdat.h b/include/sdat.h index 3ba8583c..53e0a729 100644 --- a/include/sdat.h +++ b/include/sdat.h @@ -1,47 +1,46 @@ #ifndef GUARD_LIBSDAT_H #define GUARD_LIBSDAT_H -struct SDATHeader +#include "SND_main.h" + +typedef struct NNSSndArcHeader { - // Generic header - char magic[4]; - u16 bom; - u16 version; - u32 filesize; - u16 header_size; - u16 section_count; - // SDAT chunks - u32 symb_offset, symb_size; - u32 info_offset, info_size; - u32 fat_offset, fat_size; - u32 file_offset, file_size; -}; + struct SNDBinaryFileHeader fileHeader; + u32 symbolDataOffset; + u32 symbolDataSize; + u32 infoOffset; + u32 infoSize; + u32 fatOffset; + u32 fatSize; + u32 fileImageOffset; + u32 fileImageSize; +} NNSSndArcHeader; -struct SDATFileMgr +typedef struct NNSSndArc { - struct SDATHeader header; - BOOL is_init; - FSFile file; // 00034 - FSFileID fileID; // 7C - void * fat_p; - void * symb_p; - void * info_p; -}; + NNSSndArcHeader header; + BOOL file_open; + FSFile file; + FSFileID fileId; + struct NNSSndArcFat* fat; + struct NNSSndArcSymbol* symbol; + struct NNSSndArcInfo* info; +} NNSSndArc; -void SDAT_Init(void); -void * FUN_020C2A94(void *, u32); -void SDAT_Open(struct SDATFileMgr *, char *, void *, u32); -void FUN_020C39CC(void *); -void FUN_020C01A0(void); -int FUN_020C290C(void *); -void FUN_020C2828(void *, int); -BOOL FUN_020C36A8(u32 *, void *); -BOOL FUN_020C3674(u32 *, void *); -BOOL FUN_020C35E0(u32 *, u32 *, void *); -BOOL FUN_020C360C(u32 *, void *); -BOOL FUN_020C3640(u32 *, void *); -void FUN_020C0F80(u32 *); -void FUN_020C1040(int, int); -void FUN_020C0F68(void); +void NNS_SndInit(void); +void * NNS_SndHeapCreate(void *, u32); +void NNS_SndArcInit(NNSSndArc *, const char *, void *, u32); +void NNS_SndArcPlayerSetup(void *); +void NNS_SndMain(void); +int NNS_SndHeapSaveState(void *); +void NNS_SndHeapLoadState(void *, int); +BOOL NNS_SndArcLoadGroup(u32 *, void *); +BOOL NNS_SndArcLoadSeq(u32 *, void *); +BOOL NNS_SndArcLoadSeqEx(u32 *, u32 *, void *); +BOOL NNS_SndArcLoadWaveArc(u32 *, void *); +BOOL NNS_SndArcLoadBank(u32 *, void *); +void NNS_SndHandleInit(u32 *); +void NNS_SndPlayerStopSeqByPlayerNo(int, int); +void NNS_SndHandleReleaseSeq(void); #endif //GUARD_LIBSDAT_H |