mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-24 23:01:23 -04:00
7154ac08e1
* initial freezard actor struct + setActionMode OK * daE_FZ_Draw * setReflectAngle * mBoundSoundset * daE_FZ_Execute & execute * demoDelete * daE_FZ_Delete & _delete * CreateHeap * useHeapInit * cc_set * mtx_set * action WIP * way_gake_check * executeRollMove * executeMove * draw WIP * executeDamage * checkpoint * create * checkpoint * daE_FZ_c::executeWait * checkpoint * daE_FZ_c::damage_check almost done * rm asm * rm headers * setup_profile WIP + doxygen update * fix merge issues * docs fix? * fix2 * doxygen updates * setup g_profile_E_FZ, profile setup script WIP * update github actions * update progress.md
75 lines
2.3 KiB
C++
75 lines
2.3 KiB
C++
#ifndef JKRDVDRIPPER_H
|
|
#define JKRDVDRIPPER_H
|
|
|
|
#include "JSystem/JKernel/JKRCompression.h"
|
|
#include "JSystem/JSupport/JSUList.h"
|
|
|
|
enum JKRExpandSwitch {
|
|
EXPAND_SWITCH_UNKNOWN0 = 0,
|
|
EXPAND_SWITCH_UNKNOWN1 = 1,
|
|
EXPAND_SWITCH_UNKNOWN2 = 2,
|
|
};
|
|
|
|
struct SYaz0Header {
|
|
u32 signature;
|
|
u32 length;
|
|
};
|
|
|
|
/**
|
|
* @ingroup jsystem-jkernel
|
|
*
|
|
*/
|
|
class JKRDMCommand {
|
|
JKRDMCommand();
|
|
~JKRDMCommand();
|
|
};
|
|
|
|
class JKRHeap;
|
|
class JKRDvdFile;
|
|
|
|
/**
|
|
* @ingroup jsystem-jkernel
|
|
*
|
|
*/
|
|
class JKRDvdRipper {
|
|
public:
|
|
static JSUList<JKRDMCommand> sDvdAsyncList;
|
|
static u32 sSZSBufferSize;
|
|
|
|
enum EAllocDirection {
|
|
UNKNOWN_EALLOC_DIRECTION = 0,
|
|
ALLOC_DIRECTION_FORWARD = 1,
|
|
ALLOC_DIRECTION_BACKWARD = 2,
|
|
};
|
|
|
|
static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; }
|
|
|
|
static void* loadToMainRAM(char const*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection,
|
|
u32, JKRCompression*, u32*);
|
|
static void* loadToMainRAM(s32, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection, u32,
|
|
JKRCompression*, u32*);
|
|
static void* loadToMainRAM(JKRDvdFile*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection,
|
|
u32, JKRCompression*, u32*);
|
|
|
|
static u8 isErrorRetry(void);
|
|
inline static u32 getSZSBufferSize() { return sSZSBufferSize; }
|
|
};
|
|
|
|
// void JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*);
|
|
|
|
inline void* JKRDvdToMainRam(s32 entryNum, u8* dst, JKRExpandSwitch expandSwitch, u32 dstLength,
|
|
JKRHeap* heap, JKRDvdRipper::EAllocDirection allocDirection,
|
|
u32 offset, JKRCompression* compression, u32* returnSize) {
|
|
return JKRDvdRipper::loadToMainRAM(entryNum, dst, expandSwitch, dstLength, heap, allocDirection,
|
|
offset, compression, returnSize);
|
|
}
|
|
|
|
inline void* JKRDvdToMainRam(const char* name, u8* dst, JKRExpandSwitch expandSwitch, u32 dstLength,
|
|
JKRHeap* heap, JKRDvdRipper::EAllocDirection allocDirection,
|
|
u32 offset, JKRCompression* compression, u32* returnSize) {
|
|
return JKRDvdRipper::loadToMainRAM(name, dst, expandSwitch, dstLength, heap, allocDirection,
|
|
offset, compression, returnSize);
|
|
}
|
|
|
|
#endif /* JKRDVDRIPPER_H */
|