Files
2025-03-15 20:35:06 -04:00

105 lines
3.1 KiB
C++

#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 TPlayPair {
public:
u16 getIntro() { return mIntroNum; }
u16 getLoop() { return mLoopNum; }
public:
/* 0x00 */ u16 field_0x0;
/* 0x02 */ u16 field_0x2;
/* 0x04 */ u16 mIntroNum;
/* 0x06 */ u16 mLoopNum;
};
class TPlayList {
public:
void clear() {
mpPair = NULL;
mpNextList = NULL;
field_0x8 = 0;
}
TPlayPair* getPair() { return mpPair; }
TPlayList* getNext() { return mpNextList; }
public:
/* 0x00 */ TPlayPair* mpPair;
/* 0x04 */ TPlayList* mpNextList;
/* 0x08 */ u32 field_0x8;
};
class TControl {
public:
TControl();
~TControl() {}
u16 getIntroNum();
u16 getLoopNum();
BOOL fileOpen(u16, DVDFileInfo*);
BOOL 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);
void getLastAddrBefore() {}
TPlayList* getList() { return mpList; }
void getPlayArea() {}
void getRestart() {}
void getState() {}
void setList(TPlayList* list) { mpList = list; }
void setPlayArea(u16) {}
void setRestart(u8) {}
void setState(u8) {}
/* 0x00 */ int field_0x0;
/* 0x04 */ TPlayList* mpList;
/* 0x08 */ u16 field_0x8;
/* 0x0A */ u8 field_0xa;
/* 0x0B */ u8 field_0xb;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ u32 field_0x14;
/* 0x18 */ u32 field_0x18;
/* 0x1C */ u32 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 */ u32 field_0x38;
/* 0x3C */ u32 field_0x3c;
/* 0x40 */ u32 field_0x40;
/* 0x44 */ u32 field_0x44[2];
/* 0x4C */ u8 field_0x4c;
};
extern TControl strCtrl;
extern bool useHardStreaming;
extern char* streamFiles;
extern TPlayList* playList;
extern int playListMax;
extern char rootDir[];
}
}
#endif /* JASHARDSTREAM_H */