37 lines
807 B
C
37 lines
807 B
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "pxl8_types.h"
|
||
|
|
|
||
|
|
typedef struct pxl8_cart {
|
||
|
|
char* base_path;
|
||
|
|
char* name;
|
||
|
|
void* archive_data;
|
||
|
|
size_t archive_size;
|
||
|
|
bool is_folder;
|
||
|
|
bool is_mounted;
|
||
|
|
} pxl8_cart;
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
pxl8_result pxl8_cart_load(pxl8_cart* cart, const char* path);
|
||
|
|
void pxl8_cart_unload(pxl8_cart* cart);
|
||
|
|
|
||
|
|
pxl8_result pxl8_cart_mount(pxl8_cart* cart);
|
||
|
|
void pxl8_cart_unmount(pxl8_cart* cart);
|
||
|
|
|
||
|
|
char* pxl8_cart_resolve_path(const pxl8_cart* cart, const char* relative_path);
|
||
|
|
bool pxl8_cart_file_exists(const pxl8_cart* cart, const char* path);
|
||
|
|
|
||
|
|
pxl8_cart* pxl8_cart_new(void);
|
||
|
|
void pxl8_cart_destroy(pxl8_cart* cart);
|
||
|
|
|
||
|
|
pxl8_result pxl8_cart_pack(const char* folder_path, const char* output_path);
|
||
|
|
|
||
|
|
pxl8_cart* pxl8_cart_current(void);
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|