Files
dusklight/include/dusk/dvd_emu.h
T

46 lines
1.3 KiB
C++

#ifndef DOLPHIN_DVD_EMU_H
#define DOLPHIN_DVD_EMU_H
#include "dolphin/types.h"
#include <string>
// PC-Emulation der DVD-Funktionen
namespace DvdEmu {
// Basis-Pfad zum Datenordner (relativ zur .exe)
void setBasePath(const char* path);
const char* getBasePath();
// Konvertiert GameCube-Pfad zu PC-Pfad
// z.B. "/res/Object/LogoUs.arc" -> "C:/Games/Dusk/data/res/Object/LogoUs.arc"
std::string convertPath(const char* gcPath);
// Prüft ob Datei existiert
bool fileExists(const char* gcPath);
// Lädt Datei komplett in Speicher
// Gibt Pointer zurück, Größe wird in outSize geschrieben
// Caller muss Speicher mit free() freigeben
void* loadFile(const char* gcPath, u32* outSize, void* heap = nullptr);
// Lädt Datei in vorhandenen Buffer
// Gibt gelesene Bytes zurück
u32 loadFileToBuffer(const char* gcPath, void* buffer, u32 bufferSize, u32 offset = 0);
// Datei-Größe abfragen
u32 getFileSize(const char* gcPath);
} // namespace DvdEmu
// Ersatz für DVDConvertPathToEntrynum
// Gibt einen "Fake" Entry-Number zurück (Hash des Pfads) oder -1 wenn nicht gefunden
s32 DVDConvertPathToEntrynum_Emu(const char* path);
// Speichert Pfad für Entry-Number (für späteres Laden)
void DVDRegisterPath(s32 entryNum, const char* path);
// Holt Pfad für Entry-Number
const char* DVDGetPathForEntry(s32 entryNum);
#endif // DOLPHIN_DVD_EMU_H