48 lines
744 B
C
48 lines
744 B
C
#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(pak_read_t *pack, const char *filename);
|
|
void close_asset_pack(asset_pack_t **pack);
|
|
|
|
#endif // !PAK_H
|