diff options
| author | Trueffeloot <geiloking135@gmail.com> | 2023-07-22 16:01:41 +0200 |
|---|---|---|
| committer | Trueffeloot <geiloking135@gmail.com> | 2023-07-22 16:01:41 +0200 |
| commit | 5be7e910cc477f3f0d43e5bb1d4261021d224581 (patch) | |
| tree | 5bab90f5a79dbc0c2e8d7110e11f06b7a3e929a4 /include/JSystem | |
| parent | 4682deae990086677d01b65679d3bcac8aff0244 (diff) | |
| parent | 21c01d5efd3328356e4b6fdc3061d2c74953bc70 (diff) | |
Merge branch 'master' of https://github.com/zeldaret/tp into d_menu_skill
Diffstat (limited to 'include/JSystem')
| -rw-r--r-- | include/JSystem/JKernel/JKRArchive.h | 5 | ||||
| -rw-r--r-- | include/JSystem/JKernel/JKRDecomp.h | 7 | ||||
| -rw-r--r-- | include/JSystem/JKernel/JKRDvdAramRipper.h | 4 | ||||
| -rw-r--r-- | include/JSystem/JKernel/JKRDvdRipper.h | 10 |
4 files changed, 21 insertions, 5 deletions
diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h index 687dc1865f..b1b6b13d2b 100644 --- a/include/JSystem/JKernel/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive.h @@ -40,9 +40,8 @@ inline u16 read_big_endian_u16(void* ptr) { return ((u16)uptr[0] << 8) | ((u16)uptr[1]); } -inline u32 JKRDecompExpandSize(SArcHeader* header) { - u8* fileLength = (u8*)&header->file_length; - return read_big_endian_u32(fileLength); +inline u32 JKRDecompExpandSize(u8 * pBuf) { + return (pBuf[4] << 0x18) | (pBuf[5] << 0x10) | (pBuf[6] << 8) | pBuf[7]; } extern u32 sCurrentDirID__10JKRArchive; // JKRArchive::sCurrentDirID diff --git a/include/JSystem/JKernel/JKRDecomp.h b/include/JSystem/JKernel/JKRDecomp.h index 7775addaee..d9347005d8 100644 --- a/include/JSystem/JKernel/JKRDecomp.h +++ b/include/JSystem/JKernel/JKRDecomp.h @@ -63,4 +63,11 @@ inline JKRDecomp* JKRCreateDecompManager(long priority) { return JKRDecomp::create(priority); } +inline JKRCompression JKRCheckCompressed_noASR(u8 *pBuf) { + JKRCompression compression = JKRDecomp::checkCompressed(pBuf); + if (compression == COMPRESSION_ASR) // ternary i had before was either incorrect, or was not a ternary at all + compression = COMPRESSION_NONE; + return compression; +} + #endif /* JKRDECOMP_H */ diff --git a/include/JSystem/JKernel/JKRDvdAramRipper.h b/include/JSystem/JKernel/JKRDvdAramRipper.h index a6b59f07a2..428b5a7ab4 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper.h +++ b/include/JSystem/JKernel/JKRDvdAramRipper.h @@ -50,4 +50,8 @@ public: static u32 sSZSBufferSize; }; +inline JKRAramBlock *JKRDvdToAram(s32 entrynum, u32 p2, JKRExpandSwitch expSwitch, u32 p4, u32 p5, u32 *p6) { + return JKRDvdAramRipper::loadToAram(entrynum, p2, expSwitch, p4, p5, p6); +} + #endif /* JKRDVDARAMRIPPER_H */ diff --git a/include/JSystem/JKernel/JKRDvdRipper.h b/include/JSystem/JKernel/JKRDvdRipper.h index 2afe449fb2..5d359d8bd2 100644 --- a/include/JSystem/JKernel/JKRDvdRipper.h +++ b/include/JSystem/JKernel/JKRDvdRipper.h @@ -2,6 +2,7 @@ #define JKRDVDRIPPER_H #include "JSystem/JKernel/JKRCompression.h" +#include "JSystem/JSupport/JSUList.h" #include "dolphin/types.h" enum JKRExpandSwitch { @@ -15,12 +16,16 @@ struct SYaz0Header { u32 length; }; +class JKRDMCommand { + JKRDMCommand(); + ~JKRDMCommand(); +}; + class JKRHeap; class JKRDvdFile; class JKRDvdRipper { public: - // TODO: fix type - static u8 sDvdAsyncList[12]; + static JSUList<JKRDMCommand> sDvdAsyncList; static u32 sSZSBufferSize; enum EAllocDirection { @@ -39,6 +44,7 @@ public: u32, JKRCompression*, u32*); static u8 isErrorRetry(void); + inline static u32 getSZSBufferSize() { return sSZSBufferSize; } }; // void JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*); |
