Stardew Engine
Loading...
Searching...
No Matches
BinarySerializer.h
Go to the documentation of this file.
1#ifndef BINARY_SERIALIZER_H
2#define BINARY_SERIALIZER_H
3#ifdef __cplusplus
4extern "c" {
5#endif
6#include <stdbool.h>
7#include "IntTypes.h"
8
14
16 {
17 bool bSaving;
18 char* pData;
20 char* pReadPtr;
21 char* pPath;
23
26 };
27
28 void BS_CreateForLoadFromBuffer(void* buf, int size, struct BinarySerializer* pOutSerializer);
29 void BS_CreateForLoad(const char* path, struct BinarySerializer* pOutSerializer);
30 void BS_CreateForSave(const char* path, struct BinarySerializer* pOutSerializer);
31 void BS_CreateForSaveToNetwork(struct BinarySerializer* pOutSerializer, int client);
32
33 void BS_Finish(struct BinarySerializer* pOutSerializer);
34
35
36 void BS_SerializeI64(i64 val, struct BinarySerializer* pSerializer);
37 void BS_SerializeU64(u64 val, struct BinarySerializer* pSerializer);
38 void BS_SerializeI32(i32 val, struct BinarySerializer* pSerializer);
39 void BS_SerializeU32(u32 val, struct BinarySerializer* pSerializer);
40 void BS_SerializeI16(i16 val, struct BinarySerializer* pSerializer);
41 void BS_SerializeU16(u16 val, struct BinarySerializer* pSerializer);
42 void BS_SerializeI8(i8 val, struct BinarySerializer* pSerializer);
43 void BS_SerializeU8(u8 val, struct BinarySerializer* pSerializer);
44 void BS_SerializeBool(bool val, struct BinarySerializer* pSerializer);
45 void BS_SerializeFloat(float val, struct BinarySerializer* pSerializer);
46 void BS_SerializeDouble(double val, struct BinarySerializer* pSerializer);
47 void BS_SerializeString(const char* val, struct BinarySerializer* pSerializer);
48 void BS_SerializeBytes(const char* val, u32 len, struct BinarySerializer* pSerializer);
49 void BS_SerializeBytesNoLen(const char* val, u32 len, struct BinarySerializer* pSerializer);
50
51
52 void BS_DeSerializeI64(i64* val, struct BinarySerializer* pSerializer);
53 void BS_DeSerializeU64(u64* val, struct BinarySerializer* pSerializer);
54 void BS_DeSerializeI32(i32* val, struct BinarySerializer* pSerializer);
55 void BS_DeSerializeU32(u32* val, struct BinarySerializer* pSerializer);
56 void BS_DeSerializeI16(i16* val, struct BinarySerializer* pSerializer);
57 void BS_DeSerializeU16(u16* val, struct BinarySerializer* pSerializer);
58 void BS_DeSerializeI8(i8* val, struct BinarySerializer* pSerializer);
59 void BS_DeSerializeU8(u8* val, struct BinarySerializer* pSerializer);
60 void BS_DeSerializeBool(bool* val, struct BinarySerializer* pSerializer);
61 void BS_DeSerializeFloat(float* val, struct BinarySerializer* pSerializer);
62 void BS_DeSerializeDouble(double* val, struct BinarySerializer* pSerializer);
63 void BS_DeSerializeString(char** val, struct BinarySerializer* pSerializer);
64 void BS_DeSerializeStringInto(char* buf, struct BinarySerializer* pSerializer);
65 void BS_BytesRead(struct BinarySerializer* pSerializer, u32 numBytes, char* pDst);
66
67#ifdef __cplusplus
68}
69#endif
70#endif
void BS_SerializeU64(u64 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:101
void BS_SerializeFloat(float val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:165
void BS_DeSerializeString(char **val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:293
void BS_CreateForLoadFromBuffer(void *buf, int size, struct BinarySerializer *pOutSerializer)
Definition BinarySerializer.c:11
void BS_DeSerializeU32(u32 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:234
void BS_SerializeU8(u8 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:151
void BS_DeSerializeU64(u64 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:222
void BS_SerializeString(const char *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:183
void BS_SerializeI8(i8 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:146
void BS_SerializeI16(i16 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:128
void BS_DeSerializeDouble(double *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:276
void BS_SerializeI64(i64 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:92
void BS_DeSerializeI16(i16 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:240
void BS_DeSerializeFloat(float *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:270
void BS_DeSerializeBool(bool *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:264
void BS_DeSerializeI8(i8 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:252
void BS_DeSerializeStringInto(char *buf, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:282
void BS_CreateForLoad(const char *path, struct BinarySerializer *pOutSerializer)
Definition BinarySerializer.c:22
void BS_Finish(struct BinarySerializer *pOutSerializer)
Definition BinarySerializer.c:53
SerializationContext
Definition BinarySerializer.h:10
@ SCTX_ToNetwork
Definition BinarySerializer.h:12
@ SCTX_ToFile
Definition BinarySerializer.h:11
void BS_DeSerializeI64(i64 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:216
void BS_DeSerializeI32(i32 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:228
void BS_SerializeU32(u32 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:119
void BS_SerializeBytes(const char *val, u32 len, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:197
void BS_BytesRead(struct BinarySerializer *pSerializer, u32 numBytes, char *pDst)
Definition BinarySerializer.c:304
void BS_SerializeU16(u16 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:137
void BS_SerializeI32(i32 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:110
void BS_DeSerializeU8(u8 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:258
void BS_CreateForSave(const char *path, struct BinarySerializer *pOutSerializer)
Definition BinarySerializer.c:33
void BS_CreateForSaveToNetwork(struct BinarySerializer *pOutSerializer, int client)
Definition BinarySerializer.c:43
void BS_SerializeBool(bool val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:156
void BS_SerializeDouble(double val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:174
void BS_SerializeBytesNoLen(const char *val, u32 len, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:207
void BS_DeSerializeU16(u16 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:246
uint64_t u64
Definition IntTypes.h:15
int32_t i32
Definition IntTypes.h:13
int64_t i64
Definition IntTypes.h:16
uint8_t u8
Definition IntTypes.h:6
uint16_t u16
Definition IntTypes.h:9
int16_t i16
Definition IntTypes.h:10
int8_t i8
Definition IntTypes.h:7
uint32_t u32
Definition IntTypes.h:12
Definition BinarySerializer.h:16
int pDataSize
Definition BinarySerializer.h:19
bool bSaving
Definition BinarySerializer.h:17
int toClient
only valid if saving to network as a server
Definition BinarySerializer.h:25
char * pPath
Definition BinarySerializer.h:21
char * pReadPtr
Definition BinarySerializer.h:20
char * pData
Definition BinarySerializer.h:18
enum SerializationContext ctx
Definition BinarySerializer.h:22