swap in memcpy for func_80003540, correct some minor issues in dvd.h and JKRDVDFile.h

This commit is contained in:
Pheenoh
2021-01-03 21:08:33 -05:00
parent da3a142828
commit 6f22d27503
61 changed files with 221 additions and 189 deletions
+42 -7
View File
@@ -20,15 +20,50 @@ typedef enum DVDState {
} DVDState;
}
class DVDFileInfo;
class DVDDiskID {
char game_name[4];
char company[2];
u8 disk_number;
u8 game_version;
u8 is_streaming;
u8 streaming_buffer_size;
u8 padding[22];
};
class DVDCommandBlock {
public:
DVDCommandBlock* next;
DVDCommandBlock* previous;
u32 command;
s32 state;
u32 offset;
u32 length;
void* buffer;
u32 current_transfer_size;
u32 transferred_size;
DVDDiskID* disk_id;
u8 callback[4];
void* user_data;
};
//typedef void (*DVDCallback)(u32 result, DVDFileInfo *info);
class DVDFileInfo {
public:
DVDCommandBlock block;
u32 start_address;
u32 length;
u8 callback[4];
};
extern "C" {
s32 DVDOpen(const char*, u8[48]);
s32 DVDClose(u8[48]);
void DVDReadPrio(void);
s32 DVDOpen(const char*, DVDFileInfo*);
s32 DVDClose(DVDFileInfo*);
void DVDReadPrio(DVDFileInfo*, void*, s32, s32, s32);
void DVDGetCurrentDiskID(void);
s32 DVDFastOpen(long, u8[48]);
int DVDGetCommandBlockStatus(u8[48]);
s32 DVDReadAsyncPrio(u8[48], void*, long, long, void (*)(long, DVDFileInfo*), long);
s32 DVDFastOpen(long, DVDFileInfo*);
int DVDGetCommandBlockStatus(DVDFileInfo*);
s32 DVDReadAsyncPrio(DVDFileInfo*, void*, long, long, void (*)(long, DVDFileInfo*), long);
void DVDConvertPathToEntrynum(void);
DVDState DVDGetDriveStatus(void);
s32 DVDCheckDisk(void);