Merge pull request #540 from Jcw87/JAudio

JASHardStream, JASResArcLoader
This commit is contained in:
Jasper St. Pierre
2023-11-20 19:47:22 -08:00
committed by GitHub
7 changed files with 482 additions and 46 deletions
+66
View File
@@ -0,0 +1,66 @@
#ifndef JASHARDSTREAM_H
#define JASHARDSTREAM_H
#include "dolphin/types.h"
typedef struct DVDCommandBlock DVDCommandBlock;
typedef struct DVDFileInfo DVDFileInfo;
namespace JASystem {
namespace HardStream {
int unregistBgmAll();
void main();
void firstBgmCallback(s32, DVDFileInfo*);
void secondBgmCallback(s32, DVDFileInfo*);
void getAddrCallback(s32, DVDCommandBlock*);
class TControl {
public:
TControl();
~TControl() {}
u16 getIntroNum();
u16 getLoopNum();
BOOL fileOpen(u16, DVDFileInfo*);
void clearListOne();
void setLastAddr(DVDFileInfo*);
u32 getLastAddr();
BOOL startFirst(u16, DVDFileInfo*, u32*);
BOOL startSecond(u16, DVDFileInfo*, u32*);
void resetFader();
u8 getCurVol();
void calcCurVolume();
u8 volFloatToU8(f32);
/* 0x00 */ int field_0x0;
/* 0x04 */ void* field_0x4;
/* 0x08 */ u16 field_0x8;
/* 0x0A */ u8 field_0xa;
/* 0x0B */ u8 field_0xb;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ int field_0x14;
/* 0x18 */ int field_0x18;
/* 0x1C */ int field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ int field_0x38;
/* 0x3C */ int field_0x3c;
/* 0x40 */ int field_0x40;
/* 0x44 */ u32 field_0x44[2];
/* 0x4C */ u8 field_0x4c;
};
extern TControl strCtrl;
extern bool useHardStreaming;
extern char* streamFiles;
extern u32* playList;
extern int playListMax;
extern char rootDir[];
}
}
#endif /* JASHARDSTREAM_H */
+17
View File
@@ -0,0 +1,17 @@
#ifndef JASRESARCLOADER_H
#define JASRESARCLOADER_H
#include "dolphin/types.h"
class JKRArchive;
namespace JASystem {
namespace ResArcLoader {
u32 getResSize(JKRArchive*, u16);
s32 loadResourceCallback(void*);
u32 loadResource(JKRArchive*, u16, u8*, u32);
void loadResourceAsync(JKRArchive*, u16, u8*, u32, void (*)(u32, u32), u32);
}
}
#endif /* JASRESARCLOADER_H */
+2
View File
@@ -14,10 +14,12 @@ AIDCallback AIRegisterDMACallback(AIDCallback callback);
void AIInitDMA(u32 addr, u32 length);
void AIStartDMA(void);
void AIStopDMA(void);
void AIResetStreamSampleCount(void);
void AISetStreamPlayState(u32 state);
inline u32 AIGetStreamPlayState(void);
void AISetDSPSampleRate(u32 rate);
u32 AIGetDSPSampleRate(void);
void AISetStreamSampleRate(u32 rate);
void __AI_set_stream_sample_rate(u32 rate);
u32 AIGetStreamSampleRate(void);
void AISetStreamVolLeft(u8 vol);
+3
View File
@@ -127,12 +127,15 @@ BOOL DVDChangeDir(const char* dirname);
BOOL DVDCloseDir(DVDDirectory* dir);
BOOL DVDOpenDir(const char*, DVDDirectory* dir);
BOOL DVDReadDir(DVDDirectory* dir, DVDDirectoryEntry* entry);
BOOL DVDPrepareStreamAsync(DVDFileInfo* fileinfo, u32 length, u32 offset, DVDCallback callback);
BOOL DVDReadAbsAsyncPrio(DVDCommandBlock* block, void* addr, s32 length, s32 offset,
DVDCBCallback callback, s32 prio);
BOOL DVDReadAbsAsyncForBS(DVDCommandBlock* block, void* addr, s32 length, s32 offset,
DVDCBCallback callback);
BOOL DVDReadDiskID(DVDCommandBlock* block, DVDDiskID* diskID, DVDCBCallback callback);
BOOL DVDCancelStreamAsync(DVDCommandBlock* block, DVDCBCallback callback);
BOOL DVDStopStreamAtEndAsync(DVDCommandBlock* block, DVDCBCallback callback);
BOOL DVDGetStreamPlayAddrAsync(DVDCommandBlock* block, DVDCBCallback callback);
BOOL DVDInquiryAsync(DVDCommandBlock* block, DVDDriveInfo* info, DVDCBCallback callback);
void DVDReset(void);
BOOL DVDSetAutoInvalidation(BOOL autoInval);