Files
pokediamond/include/sdat.h
T
2021-05-23 16:43:24 -04:00

48 lines
1.1 KiB
C

#ifndef GUARD_LIBSDAT_H
#define GUARD_LIBSDAT_H
struct SDATHeader
{
// 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 SDATFileMgr
{
struct SDATHeader header;
BOOL is_init;
FSFile file; // 00034
FSFileID fileID; // 7C
void * fat_p;
void * symb_p;
void * info_p;
};
void NNS_SndInit(void);
void * NNS_SndHeapCreate(void *, u32);
void NNS_SndArcInit(struct SDATFileMgr *, 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