metaforce/Runtime/CDvdFile.hpp

51 lines
1.1 KiB
C++
Raw Normal View History

2015-08-22 23:42:29 -07:00
#ifndef __RETRO_CDVDFILE_HPP__
#define __RETRO_CDVDFILE_HPP__
#include "RetroTypes.hpp"
namespace Retro
{
const char* DecodeARAMFile(const char* name);
enum ESeekOrigin
{
OriginBegin = 0,
OriginCur = 1,
OriginEnd = 2
};
struct DVDFileInfo;
class CDvdRequest;
class CDvdFile
{
2015-08-23 16:58:07 -07:00
friend class CResLoader;
std::string x18_name;
2015-08-22 23:42:29 -07:00
public:
CDvdFile(const char*);
void UpdateFilePos(int);
void CalcFileOffset(int, ESeekOrigin);
static void internalCallback(s32, DVDFileInfo*);
2015-08-23 16:58:07 -07:00
static bool FileExists(const char*);
2015-08-22 23:42:29 -07:00
void CloseFile();
CDvdRequest* AsyncSeekRead(void*, u32, ESeekOrigin, int);
void SyncSeekRead(void*, u32, ESeekOrigin, int);
CDvdRequest* AsyncRead(void*, u32);
void SyncRead(void*, u32);
void StallForARAMFile();
void StartARAMFileLoad();
void PopARAMFileLoad();
void PushARAMFileLoad();
void TryARAMFile();
void PingARAMTransfer();
void HandleDVDInterrupt();
void HandleARAMInterrupt();
static void ARAMARAMXferCallback(u32);
static void DVDARAMXferCallback(s32, DVDFileInfo*);
};
}
#endif // __RETRO_CDVDFILE_HPP__