summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2023-07-22 09:00:13 +0300
committerGitHub <noreply@github.com>2023-07-22 09:00:13 +0300
commit21c01d5efd3328356e4b6fdc3061d2c74953bc70 (patch)
treec320150683325e30ae304832ff95274e20bf921d /include
parent5ec69e491ad024fc07793959f51a354b7f1a94f3 (diff)
parentdb806cda16b4c1c0c20e45d31f7208e8c2dd0516 (diff)
Merge pull request #381 from hatal175/jsystem2
Importing more JKernel code
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/JKernel/JKRArchive.h5
-rw-r--r--include/JSystem/JKernel/JKRDecomp.h7
-rw-r--r--include/JSystem/JKernel/JKRDvdAramRipper.h4
-rw-r--r--include/JSystem/JKernel/JKRDvdRipper.h10
-rw-r--r--include/dolphin/types.h3
5 files changed, 24 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*);
diff --git a/include/dolphin/types.h b/include/dolphin/types.h
index 4bfa3b59fe..00582288eb 100644
--- a/include/dolphin/types.h
+++ b/include/dolphin/types.h
@@ -29,6 +29,9 @@ typedef int BOOL;
#define TRUE 1
#define FALSE 0
+#define READU32_BE(ptr, offset) \
+ (((u32)ptr[offset] << 24) | ((u32)ptr[offset + 1] << 16) | ((u32)ptr[offset + 2] << 8) | (u32)ptr[offset + 3]);
+
#include "MSL_C/MSL_Common/Src/stddef.h"
#define INT32_MAX (0x7fffffff)