true 16-bit color... glorious
This commit is contained in:
parent
3dccce8a81
commit
b1e8525c3e
30 changed files with 678 additions and 652 deletions
|
|
@ -21,8 +21,8 @@ struct pxl8_cart {
|
|||
char* name;
|
||||
};
|
||||
|
||||
static pxl8_cart* __pxl8_current_cart = NULL;
|
||||
static char* __pxl8_original_cwd = NULL;
|
||||
static pxl8_cart* pxl8_current_cart = NULL;
|
||||
static char* pxl8_original_cwd = NULL;
|
||||
|
||||
static void pxl8_add_file_recursive(mz_zip_archive* zip, const char* dir_path, const char* prefix) {
|
||||
DIR* dir = opendir(dir_path);
|
||||
|
|
@ -89,7 +89,7 @@ pxl8_cart* pxl8_cart_create(void) {
|
|||
}
|
||||
|
||||
pxl8_cart* pxl8_cart_current(void) {
|
||||
return __pxl8_current_cart;
|
||||
return pxl8_current_cart;
|
||||
}
|
||||
|
||||
void pxl8_cart_destroy(pxl8_cart* cart) {
|
||||
|
|
@ -254,20 +254,20 @@ pxl8_result pxl8_cart_mount(pxl8_cart* cart) {
|
|||
if (!cart || !cart->base_path) return PXL8_ERROR_NULL_POINTER;
|
||||
if (cart->is_mounted) return PXL8_OK;
|
||||
|
||||
if (__pxl8_current_cart) {
|
||||
pxl8_cart_unmount(__pxl8_current_cart);
|
||||
if (pxl8_current_cart) {
|
||||
pxl8_cart_unmount(pxl8_current_cart);
|
||||
}
|
||||
|
||||
__pxl8_original_cwd = getcwd(NULL, 0);
|
||||
pxl8_original_cwd = getcwd(NULL, 0);
|
||||
if (chdir(cart->base_path) != 0) {
|
||||
pxl8_error("Failed to change to cart directory: %s", cart->base_path);
|
||||
free(__pxl8_original_cwd);
|
||||
__pxl8_original_cwd = NULL;
|
||||
free(pxl8_original_cwd);
|
||||
pxl8_original_cwd = NULL;
|
||||
return PXL8_ERROR_FILE_NOT_FOUND;
|
||||
}
|
||||
|
||||
cart->is_mounted = true;
|
||||
__pxl8_current_cart = cart;
|
||||
pxl8_current_cart = cart;
|
||||
|
||||
pxl8_info("Mounted cart: %s", cart->name);
|
||||
return PXL8_OK;
|
||||
|
|
@ -276,15 +276,15 @@ pxl8_result pxl8_cart_mount(pxl8_cart* cart) {
|
|||
void pxl8_cart_unmount(pxl8_cart* cart) {
|
||||
if (!cart || !cart->is_mounted) return;
|
||||
|
||||
if (__pxl8_original_cwd) {
|
||||
chdir(__pxl8_original_cwd);
|
||||
free(__pxl8_original_cwd);
|
||||
__pxl8_original_cwd = NULL;
|
||||
if (pxl8_original_cwd) {
|
||||
chdir(pxl8_original_cwd);
|
||||
free(pxl8_original_cwd);
|
||||
pxl8_original_cwd = NULL;
|
||||
}
|
||||
|
||||
cart->is_mounted = false;
|
||||
if (__pxl8_current_cart == cart) {
|
||||
__pxl8_current_cart = NULL;
|
||||
if (pxl8_current_cart == cart) {
|
||||
pxl8_current_cart = NULL;
|
||||
}
|
||||
|
||||
pxl8_info("Unmounted cart: %s", cart->name);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue