mirror of https://github.com/zeldaret/tp.git
28 lines
759 B
C
28 lines
759 B
C
#ifndef JKRCOMPREESION_H_
|
|
#define JKRCOMPREESION_H_
|
|
|
|
#include "JSystem/JKernel/SArc.h"
|
|
#include "dolphin/types.h"
|
|
|
|
inline u32 read_big_endian_u32(void* ptr) {
|
|
u8* uptr = (u8*)ptr;
|
|
return ((u32)uptr[0] << 0x18) | ((u32)uptr[1] << 0x10) | ((u32)uptr[2] << 8) | (u32)uptr[3];
|
|
}
|
|
|
|
inline u16 read_big_endian_u16(void* ptr) {
|
|
u8* uptr = (u8*)ptr;
|
|
return ((u16)uptr[0] << 8) | ((u16)uptr[1]);
|
|
}
|
|
|
|
typedef int JKRCompression;
|
|
const JKRCompression COMPRESSION_NONE = 0;
|
|
const JKRCompression COMPRESSION_YAY0 = 1;
|
|
const JKRCompression COMPRESSION_YAZ0 = 2;
|
|
const JKRCompression COMPRESSION_ASR = 3;
|
|
|
|
inline u32 JKRDecompExpandSize(SArcHeader* header) {
|
|
u8* fileLength = (u8*)&header->file_length;
|
|
return read_big_endian_u32(fileLength);
|
|
}
|
|
|
|
#endif |