Add asset pack reader library

This commit is contained in:
abdelrahman committed 2023-11-04 14:29:54 +00:00
1 parent a2cd38d5b6
commit 533d30359d
3 files changed
+54

No files matched your search

+48
View File
@@ -0,0 +1,48 @@
#ifndef PAK_H
#define PAK_H
#include "aliases.h"
#include <stdbool.h>
typedef struct {
u64 size;
u8 data[];
} buf_t;
typedef struct {
u64 offset;
u64 length;
char name[];
} toc_entry_t;
typedef struct {
u64 count;
u64 size;
} toc_t;
typedef struct {
u64 major;
u64 minor;
u64 patch;
} pak_ver_t;
typedef struct {
u64 size;
u8 data[];
} pak_entry_t;
typedef struct {
u64 magic;
pak_ver_t version;
toc_t toc;
} pak_t;
typedef struct asset_pack asset_pack_t;
bool create_asset_pack(const char *dirpath, const char *output);
asset_pack_t *load_asset_pack(const char *filepath);
buf_t *read_file_from_pack(asset_pack_t *pack, const char *filename);
void close_pack_file(buf_t **buf);
void close_asset_pack(asset_pack_t **pack);
#endif // !PAK_H