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
15
17 {
18 bool bSaving;
19 char* pData;
21 char* pReadPtr;
22 char* pPath;
24
27 };
28
29 void BS_CreateForLoadFromBuffer(void* buf, int size, struct BinarySerializer* pOutSerializer);
30 void BS_CreateForLoad(const char* path, struct BinarySerializer* pOutSerializer);
31 void BS_CreateForSave(const char* path, struct BinarySerializer* pOutSerializer);
32 void BS_CreateForSaveToNetwork(struct BinarySerializer* pOutSerializer, int client);
33
34 void BS_Finish(struct BinarySerializer* pOutSerializer);
35
36
37 void BS_SerializeI64(i64 val, struct BinarySerializer* pSerializer);
38 void BS_SerializeU64(u64 val, struct BinarySerializer* pSerializer);
39 void BS_SerializeI32(i32 val, struct BinarySerializer* pSerializer);
40 void BS_SerializeU32(u32 val, struct BinarySerializer* pSerializer);
41 void BS_SerializeI16(i16 val, struct BinarySerializer* pSerializer);
42 void BS_SerializeU16(u16 val, struct BinarySerializer* pSerializer);
43 void BS_SerializeI8(i8 val, struct BinarySerializer* pSerializer);
44 void BS_SerializeU8(u8 val, struct BinarySerializer* pSerializer);
45 void BS_SerializeBool(bool val, struct BinarySerializer* pSerializer);
46 void BS_SerializeFloat(float val, struct BinarySerializer* pSerializer);
47 void BS_SerializeDouble(double val, struct BinarySerializer* pSerializer);
48 void BS_SerializeString(const char* val, struct BinarySerializer* pSerializer);
49 void BS_SerializeBytes(const char* val, u32 len, struct BinarySerializer* pSerializer);
50 void BS_SerializeBytesNoLen(const char* val, u32 len, struct BinarySerializer* pSerializer);
51
52
53 void BS_DeSerializeI64(i64* val, struct BinarySerializer* pSerializer);
54 void BS_DeSerializeU64(u64* val, struct BinarySerializer* pSerializer);
55 void BS_DeSerializeI32(i32* val, struct BinarySerializer* pSerializer);
56 void BS_DeSerializeU32(u32* val, struct BinarySerializer* pSerializer);
57 void BS_DeSerializeI16(i16* val, struct BinarySerializer* pSerializer);
58 void BS_DeSerializeU16(u16* val, struct BinarySerializer* pSerializer);
59 void BS_DeSerializeI8(i8* val, struct BinarySerializer* pSerializer);
60 void BS_DeSerializeU8(u8* val, struct BinarySerializer* pSerializer);
61 void BS_DeSerializeBool(bool* val, struct BinarySerializer* pSerializer);
62 void BS_DeSerializeFloat(float* val, struct BinarySerializer* pSerializer);
63 void BS_DeSerializeDouble(double* val, struct BinarySerializer* pSerializer);
64 void BS_DeSerializeString(char** val, struct BinarySerializer* pSerializer);
65 void BS_DeSerializeStringInto(char* buf, struct BinarySerializer* pSerializer);
66 void BS_BytesRead(struct BinarySerializer* pSerializer, u32 numBytes, char* pDst);
67
68#ifdef __cplusplus
69}
70#endif
71#endif
void BS_SerializeU64(u64 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:104
void BS_SerializeFloat(float val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:168
void BS_DeSerializeString(char **val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:296
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:237
void BS_SerializeU8(u8 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:154
void BS_DeSerializeU64(u64 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:225
void BS_SerializeString(const char *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:186
void BS_SerializeI8(i8 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:149
void BS_SerializeI16(i16 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:131
void BS_DeSerializeDouble(double *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:279
void BS_SerializeI64(i64 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:95
void BS_DeSerializeI16(i16 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:243
void BS_DeSerializeFloat(float *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:273
void BS_DeSerializeBool(bool *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:267
void BS_DeSerializeI8(i8 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:255
void BS_DeSerializeStringInto(char *buf, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:285
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
@ SCTX_ToNetworkUpdate
Definition BinarySerializer.h:13
void BS_DeSerializeI64(i64 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:219
void BS_DeSerializeI32(i32 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:231
void BS_SerializeU32(u32 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:122
void BS_SerializeBytes(const char *val, u32 len, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:200
void BS_BytesRead(struct BinarySerializer *pSerializer, u32 numBytes, char *pDst)
Definition BinarySerializer.c:307
void BS_SerializeU16(u16 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:140
void BS_SerializeI32(i32 val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:113
void BS_DeSerializeU8(u8 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:261
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:159
void BS_SerializeDouble(double val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:177
void BS_SerializeBytesNoLen(const char *val, u32 len, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:210
void BS_DeSerializeU16(u16 *val, struct BinarySerializer *pSerializer)
Definition BinarySerializer.c:249
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:17
int pDataSize
Definition BinarySerializer.h:20
bool bSaving
Definition BinarySerializer.h:18
int toClient
only valid if saving to network as a server
Definition BinarySerializer.h:26
char * pPath
Definition BinarySerializer.h:22
char * pReadPtr
Definition BinarySerializer.h:21
char * pData
Definition BinarySerializer.h:19
enum SerializationContext ctx
Definition BinarySerializer.h:23