pmd-red/include/data_serializer.h
2025-06-10 22:27:32 +02:00

20 lines
732 B
C

#ifndef GUARD_DATA_SERIALIZER_H
#define GUARD_DATA_SERIALIZER_H
// size: 0x10
typedef struct DataSerializer
{
/* 0x0 */ u8 *stream;
/* 0x4 */ u8 *end; // Exclusive end of the stream
/* 0x8 */ u32 count; // Used to count bits between ReadBits functions, or count bytes between ReadBytes functions
/* 0xC */ u32 unkC; // Seems to be a temporary 32 bit storage
} DataSerializer;
void FinishBitSerializer(DataSerializer *seri);
void InitBitReader(DataSerializer *seri, u8 *buffer, s32 bufLen);
void InitBitWriter(DataSerializer *seri, u8 *buffer, s32 bufLen);
void ReadBits(DataSerializer *seri, void *dst, s32 numBits);
void WriteBits(DataSerializer *seri, void *src, s32 numBits);
#endif // GUARD_DATA_SERIALIZER_H