mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-22 06:56:31 -04:00
46 lines
1.3 KiB
C++
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
|