From 19209918a7e27ccf0fe17c05c85bba09ea781808 Mon Sep 17 00:00:00 2001 From: Wolfvak Date: Thu, 29 Mar 2018 22:12:53 -0300 Subject: [PATCH] Deprecated PCX code in favor of PNG. --- Makefile.common | 2 +- README.md | 2 +- arm9/source/filesys/filetype.c | 10 ++--- arm9/source/filesys/filetype.h | 4 +- arm9/source/godmode.c | 63 +++++++++++++--------------- arm9/source/system/pcx.c | 62 --------------------------- arm9/source/system/pcx.h | 37 ---------------- arm9/source/system/png.c | 6 +-- arm9/source/system/png.h | 4 +- arm9/source/system/vram0.h | 2 +- arm9/source/utils/scripting.c | 33 ++++++++------- resources/GodMode9_splash.pcx | Bin 8708 -> 0 bytes resources/GodMode9_splash.png | Bin 0 -> 16891 bytes resources/SafeMode9_splash.pcx | Bin 12510 -> 0 bytes resources/SafeMode9_splash.png | Bin 0 -> 23230 bytes resources/sample/HelloBranching.gm9 | 6 +-- resources/sample/HelloSpaghetti.gm9 | 8 ++-- 17 files changed, 70 insertions(+), 169 deletions(-) delete mode 100644 arm9/source/system/pcx.c delete mode 100644 arm9/source/system/pcx.h delete mode 100644 resources/GodMode9_splash.pcx create mode 100644 resources/GodMode9_splash.png delete mode 100644 resources/SafeMode9_splash.pcx create mode 100644 resources/SafeMode9_splash.png diff --git a/Makefile.common b/Makefile.common index 861bbc7..7eae5ee 100644 --- a/Makefile.common +++ b/Makefile.common @@ -7,7 +7,7 @@ rwildcard = $(foreach d, $(wildcard $1*), \ FLAVOR ?= GodMode9 README := README.md -SPLASH = resources/$(FLAVOR)_splash.pcx +SPLASH = resources/$(FLAVOR)_splash.png ifeq ($(FLAVOR),SafeMode9) CFLAGS += -DSAFEMODE diff --git a/README.md b/README.md index 7f071f8..478903a 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ GodMode9 provides access to system data via drives, a listing of what each drive * __`K: AESKEYDB IMAGE`__: An `aeskeydb.bin` image can be mounted and accessed via this drive. The drive shows all keys inside the aeskeydb.bin. This is read-only. * __`T: TICKET.DB IMAGE`__: Ticket database files can be mounted and accessed via this drive. This provides easy and quick access to all tickets inside the `ticket.db`. This is read-only. * __`M: MEMORY VIRTUAL`__: This provides access to various memory regions. This is protected by a special write permission, and caution is advised when doing modifications inside this drive. This drive also gives access to `boot9.bin`, `boot11.bin` (boot9strap only) and `otp.mem` (sighaxed systems only). -* __`V: VRAM VIRTUAL`__: This drive resides in the first VRAM bank and contains files essential to GodMode9. The font (in PBM format), the splash logo (in PCX format) and the readme file are found there, as well as any file that is provided inside the `data` folder at build time. This is read-only. +* __`V: VRAM VIRTUAL`__: This drive resides in the first VRAM bank and contains files essential to GodMode9. The font (in PBM format), the splash logo (in PNG format) and the readme file are found there, as well as any file that is provided inside the `data` folder at build time. This is read-only. * __`Z: LAST SEARCH`__: After a search operation, search results are found inside this drive. The drive can be accessed at a later point to return to the former search results. diff --git a/arm9/source/filesys/filetype.c b/arm9/source/filesys/filetype.c index e022a44..825ab17 100644 --- a/arm9/source/filesys/filetype.c +++ b/arm9/source/filesys/filetype.c @@ -7,7 +7,7 @@ #include "keydb.h" #include "ctrtransfer.h" #include "scripting.h" -#include "pcx.h" +#include "png.h" #include "ui.h" // only for font file detection u64 IdentifyFileType(const char* path) { @@ -17,7 +17,7 @@ u64 IdentifyFileType(const char* path) { const u8 tickdb_magic[] = { TICKDB_MAGIC }; const u8 smdh_magic[] = { SMDH_MAGIC }; const u8 threedsx_magic[] = { THREEDSX_EXT_MAGIC }; - const u8 pcx_magic[] = { PCX_MAGIC }; + const u8 png_magic[] = { PNG_MAGIC }; if (!path) return 0; // safety u8 header[0x200] __attribute__((aligned(32))); // minimum required size @@ -118,9 +118,9 @@ u64 IdentifyFileType(const char* path) { (GetNcchInfoVersion((NcchInfoHeader*) data)) && (strncasecmp(fname, NCCHINFO_NAME, 32) == 0)) { return BIN_NCCHNFO; // ncchinfo.bin file - } else if ((fsize > sizeof(pcx_magic)) && (memcmp(data, pcx_magic, sizeof(pcx_magic)) == 0) && - (strncasecmp(ext, "pcx", 4) == 0)) { - return GFX_PCX; + } else if ((strncasecmp(ext, "png", 4) == 0) && + (fsize > sizeof(png_magic)) && (memcmp(data, png_magic, sizeof(png_magic)) == 0)) { + return GFX_PNG; } else if (ext && ((strncasecmp(ext, "cdn", 4) == 0) || (strncasecmp(ext, "nus", 4) == 0))) { char path_cetk[256]; char* ext_cetk = path_cetk + (ext - path); diff --git a/arm9/source/filesys/filetype.h b/arm9/source/filesys/filetype.h index 6d40755..4f985e6 100644 --- a/arm9/source/filesys/filetype.h +++ b/arm9/source/filesys/filetype.h @@ -29,7 +29,7 @@ #define BIN_LEGKEY (1ULL<<24) #define TXT_SCRIPT (1ULL<<25) #define TXT_GENERIC (1ULL<<26) -#define GFX_PCX (1ULL<<27) +#define GFX_PNG (1ULL<<27) #define FONT_PBM (1ULL<<28) #define NOIMG_NAND (1ULL<<29) #define HDR_NAND (1ULL<<30) @@ -65,7 +65,7 @@ #define FTYPE_KEYINSTALL(tp) (tp&(BIN_KEYDB)) #define FTYPE_SCRIPT(tp) (tp&(TXT_SCRIPT)) #define FTYPE_FONT(tp) (tp&(FONT_PBM)) -#define FTYPE_GFX(tp) (tp&(GFX_PCX)) +#define FTYPE_GFX(tp) (tp&(GFX_PNG)) #define FTYPE_BOOTABLE(tp) (tp&(SYS_FIRM)) #define FTYPE_INSTALLABLE(tp) (tp&(SYS_FIRM)) #define FTPYE_AGBSAVE(tp) (tp&(SYS_AGBSAVE)) diff --git a/arm9/source/godmode.c b/arm9/source/godmode.c index ace1cdb..4a67b36 100644 --- a/arm9/source/godmode.c +++ b/arm9/source/godmode.c @@ -13,7 +13,7 @@ #include "unittype.h" #include "entrypoints.h" #include "bootfirm.h" -#include "pcx.h" +#include "png.h" #include "timer.h" #include "rtc.h" #include "power.h" @@ -47,24 +47,26 @@ typedef struct { u32 SplashInit(const char* modestr) { u64 splash_size; - u8* splash = FindVTarFileInfo(VRAM0_SPLASH_PCX, &splash_size); - u8* bitmap = (u8*) malloc(SCREEN_SIZE_TOP); + u32 splash_width, splash_height; + u8* splash = FindVTarFileInfo(VRAM0_SPLASH_PNG, &splash_size); + u8* bitmap = NULL; const char* namestr = FLAVOR " " VERSION; const char* loadstr = "booting..."; const u32 pos_xb = 10; const u32 pos_yb = 10; const u32 pos_xu = SCREEN_WIDTH_BOT - 10 - GetDrawStringWidth(loadstr); const u32 pos_yu = SCREEN_HEIGHT - 10 - GetDrawStringHeight(loadstr); - + ClearScreenF(true, true, COLOR_STD_BG); - - if (splash && bitmap && PCX_Decompress(bitmap, SCREEN_SIZE_TOP, splash, splash_size)) { - PCXHdr* hdr = (PCXHdr*) (void*) splash; - DrawBitmap(TOP_SCREEN, -1, -1, PCX_Width(hdr), PCX_Height(hdr), bitmap); - } else DrawStringF(TOP_SCREEN, 10, 10, COLOR_STD_FONT, COLOR_TRANSPARENT, "(" VRAM0_SPLASH_PCX " not found)"); + + if (splash) { + bitmap = PNG_Decompress(splash, splash_size, &splash_width, &splash_height); + DrawBitmap(TOP_SCREEN, -1, -1, splash_width, splash_height, bitmap); + } else DrawStringF(TOP_SCREEN, 10, 10, COLOR_STD_FONT, COLOR_TRANSPARENT, "(" VRAM0_SPLASH_PNG " not found)"); + if (modestr) DrawStringF(TOP_SCREEN, SCREEN_WIDTH_TOP - 10 - GetDrawStringWidth(modestr), SCREEN_HEIGHT - 10 - GetDrawStringHeight(modestr), COLOR_STD_FONT, COLOR_TRANSPARENT, modestr); - + DrawStringF(BOT_SCREEN, pos_xb, pos_yb, COLOR_STD_FONT, COLOR_STD_BG, "%s\n%*.*s\n%s\n \n \n%s\n%s\n \n%s\n%s", namestr, strnlen(namestr, 64), strnlen(namestr, 64), "------------------------------", "https://github.com/d0k3/GodMode9", @@ -72,7 +74,7 @@ u32 SplashInit(const char* modestr) { "Hourlies:", "https://d0k3.secretalgorithm.com/"); DrawStringF(BOT_SCREEN, pos_xu, pos_yu, COLOR_STD_FONT, COLOR_STD_BG, loadstr); DrawStringF(BOT_SCREEN, pos_xb, pos_yu, COLOR_STD_FONT, COLOR_STD_BG, "built: " DBUILTL); - + if (bitmap) free(bitmap); return 0; } @@ -406,30 +408,23 @@ u32 SdFormatMenu(void) { u32 FileGraphicsViewer(const char* path) { const u32 max_size = SCREEN_SIZE(ALT_SCREEN); u64 filetype = IdentifyFileType(path); - u8* bitmap = (u8*) malloc(max_size); - u8* input = (u8*) malloc(max_size); + u8* bitmap = NULL; + u8* input = (u8*)malloc(max_size); u32 w = 0; u32 h = 0; u32 ret = 1; - - if (!bitmap || !input) { - if (bitmap) free(bitmap); - if (input) free(input); - return 1; - } - + + if (!input) + return ret; + u32 input_size = FileGetData(path, input, max_size, 0); if (input_size && (input_size < max_size)) { - if (filetype & GFX_PCX) { - if (PCX_Decompress(bitmap, max_size, input, input_size)) { - PCXHdr* hdr = (PCXHdr*) (void*) input; - w = PCX_Width(hdr); - h = PCX_Height(hdr); - ret = 0; - } + if (filetype & GFX_PNG) { + bitmap = PNG_Decompress(input, input_size, &w, &h); + if (bitmap != NULL) ret = 0; } } - + if ((ret == 0) && w && h && (w < SCREEN_WIDTH(ALT_SCREEN)) && (h < SCREEN_HEIGHT)) { ClearScreenF(true, true, COLOR_STD_BG); DrawBitmap(ALT_SCREEN, -1, -1, w, h, bitmap); @@ -437,9 +432,9 @@ u32 FileGraphicsViewer(const char* path) { while(!(InputWait(0) & (BUTTON_A | BUTTON_B))); ClearScreenF(true, true, COLOR_STD_BG); } else ret = 1; - - free(bitmap); - free(input); + + if (bitmap) free(bitmap); + if (input) free(input); return ret; } @@ -1091,7 +1086,7 @@ u32 FileHandlerMenu(char* current_path, u32* cursor, u32* scroll, PaneData** pan (filetype & BIN_NCCHNFO)? "NCCHinfo options..." : (filetype & TXT_SCRIPT) ? "Execute GM9 script" : (filetype & FONT_PBM) ? "Set as active font" : - (filetype & GFX_PCX) ? "View PCX bitmap file" : + (filetype & GFX_PNG) ? "View PNG file" : (filetype & HDR_NAND) ? "Rebuild NCSD header" : (filetype & NOIMG_NAND) ? "Rebuild NCSD header" : "???"; optionstr[hexviewer-1] = "Show in Hexeditor"; @@ -1265,7 +1260,7 @@ u32 FileHandlerMenu(char* current_path, u32* cursor, u32* scroll, PaneData** pan if (install > 0) optionstr[install-1] = "Install FIRM"; if (boot > 0) optionstr[boot-1] = "Boot FIRM"; if (script > 0) optionstr[script-1] = "Execute GM9 script"; - if (view > 0) optionstr[font-1] = "View PCX bitmap file"; + if (view > 0) optionstr[view-1] = "View PNG file"; if (font > 0) optionstr[font-1] = "Set as active font"; if (agbexport > 0) optionstr[agbexport-1] = "Dump GBA VC save"; if (agbimport > 0) optionstr[agbimport-1] = "Inject GBA VC save"; @@ -1730,7 +1725,7 @@ u32 FileHandlerMenu(char* current_path, u32* cursor, u32* scroll, PaneData** pan } else if (user_select == view) { // view gfx if (FileGraphicsViewer(file_path) != 0) - ShowPrompt(false, "%s\nError: Cannot view file"); + ShowPrompt(false, "%s\nError: Cannot view file\n(Hint: maybe it's too big)", pathstr); return 0; } else if (user_select == agbexport) { // export GBA VC save diff --git a/arm9/source/system/pcx.c b/arm9/source/system/pcx.c deleted file mode 100644 index 73cc6d0..0000000 --- a/arm9/source/system/pcx.c +++ /dev/null @@ -1,62 +0,0 @@ -#include -#include - -#include "pcx.h" - -// Define __PCX_INVERT_RGB to have the buffer output in BGR24 -#define __PCX_INVERT_RGB - - -static inline int PCX_Validate(const PCXHdr *hdr) { - return (hdr != NULL && - hdr->manufacturer == 10 && - PCX_Encoding(hdr) == 1 && - PCX_PlaneCount(hdr) == 1 && - PCX_BitsPerPixel(hdr) == 8) ? 1 : 0; -} - -int PCX_Decompress(u8 *out_buf, size_t out_maxlen, const u8 *pcx_data, size_t pcx_len) { - const PCXHdr *pcx = (const PCXHdr*)pcx_data; - const u8 *pcx_palette, *out_start, *out_end, *pcx_bitmap, *pcx_end; - int mrk, palind; - - if (PCX_Validate(pcx) == 0 || (size_t) (PCX_BitmapSize(pcx) * 3) > out_maxlen) - return -1; - - pcx_end = pcx_data + pcx_len - 769; - out_end = out_buf + out_maxlen; - out_start = out_buf; - pcx_bitmap = PCX_Bitmap(pcx); - pcx_palette = PCX_Palette(pcx, pcx_len); - - while (pcx_bitmap < pcx_end && out_buf < out_end) { - mrk = *(pcx_bitmap++); - - if (mrk >= 0xC0) { - mrk -= 0xC0; - palind = *(pcx_bitmap++) * 3; - - if ((out_buf + mrk) > out_end) { - // TODO: report the buffer overflow somehow - return -1; - } - } else { - palind = mrk * 3; - mrk = 1; - } - - while (mrk--) { - #ifdef __PCX_INVERT_RGB - *(out_buf++) = pcx_palette[palind + 2]; - *(out_buf++) = pcx_palette[palind + 1]; - *(out_buf++) = pcx_palette[palind + 0]; - #else - *(out_buf++) = pcx_palette[palind + 0]; - *(out_buf++) = pcx_palette[palind + 1]; - *(out_buf++) = pcx_palette[palind + 2]; - #endif - } - } - - return (out_buf - out_start); -} diff --git a/arm9/source/system/pcx.h b/arm9/source/system/pcx.h deleted file mode 100644 index 5fd802f..0000000 --- a/arm9/source/system/pcx.h +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include -#include "common.h" - -#define PCX_MAGIC 0x0A, 0x05, 0x01, 0x08 - -typedef struct { - u8 manufacturer; - u8 version; - u8 enc; - u8 bpp; - u16 minx; - u16 miny; - u16 maxx; - u16 maxy; - u16 hres; - u16 vres; - u8 egapalette[48]; - u8 reserved; - u8 clrplanes; - u16 bytesperline; - u16 palettetype; - u8 resv_[58]; -} __attribute__((packed)) PCXHdr; - -#define PCX_Width(hdr) (hdr->maxx - hdr->minx + 1) -#define PCX_Height(hdr) (hdr->maxy - hdr->miny + 1) -#define PCX_BitsPerPixel(hdr) (hdr->bpp) -#define PCX_BitmapSize(hdr) (PCX_Width(hdr) * PCX_Height(hdr)) -#define PCX_MaxColors(hdr) (1<clrplanes) -#define PCX_Encoding(hdr) (hdr->enc) -#define PCX_Palette(hdr, pcx_len) (((u8*)hdr) + pcx_len - 768) -#define PCX_Bitmap(hdr) (((u8*)hdr) + sizeof(PCXHdr)) - -int PCX_Decompress(u8 *out_buf, size_t out_maxlen, const u8 *pcx_data, size_t pcx_len); diff --git a/arm9/source/system/png.c b/arm9/source/system/png.c index f51449f..4a424bc 100644 --- a/arm9/source/system/png.c +++ b/arm9/source/system/png.c @@ -6,17 +6,15 @@ #include "ui.h" -u8 *PNG_Decompress(const u8 *png, size_t png_len, size_t *w, size_t *h) +u8 *PNG_Decompress(const u8 *png, size_t png_len, u32 *w, u32 *h) { u8 *img; u32 res; size_t w_, h_; res = lodepng_decode24(&img, &w_, &h_, png, png_len); - if (res) { - ShowPrompt(false, "PNG error: %s", lodepng_error_text(res)); + if (res) return NULL; - } // maybe process in batches of 3 pixels / 12 bytes at a time? for (size_t i = 0; i < (w_ * h_ * 3); i += 3) { diff --git a/arm9/source/system/png.h b/arm9/source/system/png.h index 7e3fea2..af2d619 100644 --- a/arm9/source/system/png.h +++ b/arm9/source/system/png.h @@ -4,4 +4,6 @@ #include "common.h" #include "lodepng/lodepng.h" -u8 *PNG_Decompress(const u8 *png, size_t png_len, size_t *w, size_t *h); +#define PNG_MAGIC 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A + +u8 *PNG_Decompress(const u8 *png, size_t png_len, u32 *w, u32 *h); diff --git a/arm9/source/system/vram0.h b/arm9/source/system/vram0.h index 90e07a9..8699a6e 100644 --- a/arm9/source/system/vram0.h +++ b/arm9/source/system/vram0.h @@ -9,7 +9,7 @@ #define VRAM0_FONT_PBM "font_default.pbm" #define VRAM0_SCRIPTS "scripts" #define VRAM0_README_MD "README.md" -#define VRAM0_SPLASH_PCX FLAVOR "_splash.pcx" +#define VRAM0_SPLASH_PNG FLAVOR "_splash.png" #define VRAM0_OFFSET 0x18000000 diff --git a/arm9/source/utils/scripting.c b/arm9/source/utils/scripting.c index 6c14a87..aa018b0 100644 --- a/arm9/source/utils/scripting.c +++ b/arm9/source/utils/scripting.c @@ -12,7 +12,7 @@ #include "sha.h" #include "hid.h" #include "ui.h" -#include "pcx.h" +#include "png.h" #define _MAX_ARGS 4 @@ -1645,11 +1645,11 @@ bool ExecuteGM9Script(const char* path_script) { bool result = true; while (ptr < end) { u32 flags = 0; - + // find line end char* line_end = strchr(ptr, '\n'); if (!line_end) line_end = ptr + strlen(ptr); - + // update script viewer if (MAIN_SCREEN != TOP_SCREEN) { if (preview_mode != preview_mode_local) { @@ -1657,25 +1657,30 @@ bool ExecuteGM9Script(const char* path_script) { ClearScreen(TOP_SCREEN, COLOR_STD_BG); if (preview_mode > 2) { char* preview_str = get_var("PREVIEW_MODE", NULL); - u32 pcx_size = fvx_qsize(preview_str); - u8* pcx = (u8*) malloc(SCREEN_SIZE_TOP); - u8* bitmap = (u8*) malloc(SCREEN_SIZE_TOP); - if (pcx && bitmap && pcx_size && (pcx_size < SCREEN_SIZE_TOP) && - (pcx_size == FileGetData(preview_str, pcx, pcx_size, 0)) && - (PCX_Decompress(bitmap, SCREEN_SIZE_TOP, pcx, pcx_size))) { - PCXHdr* hdr = (PCXHdr*) (void*) pcx; - DrawBitmap(TOP_SCREEN, -1, -1, PCX_Width(hdr), PCX_Height(hdr), bitmap); + u32 bitmap_width, bitmap_height; + u8* bitmap = NULL; + + u8* png = (u8*) malloc(SCREEN_SIZE_TOP); + if (png) { + u32 png_size = FileGetData(preview_str, png, SCREEN_SIZE_TOP, 0); + if (png_size && png_size < SCREEN_SIZE_TOP) + bitmap = PNG_Decompress(png, png_size, &bitmap_width, &bitmap_height); + free(png); + } + + if (bitmap) { + DrawBitmap(TOP_SCREEN, -1, -1, bitmap_width, bitmap_height, bitmap); + free(bitmap); } else { if (strncmp(preview_str, "off", _VAR_CNT_LEN) == 0) preview_str = "(preview disabled)"; DrawStringCenter(TOP_SCREEN, COLOR_STD_FONT, COLOR_STD_BG, preview_str); } - if (pcx) free(pcx); - if (bitmap) free(bitmap); + preview_mode = 0; } preview_mode_local = preview_mode; } - + bool show_preview = preview_mode; if (preview_mode == 1) { show_preview = false; diff --git a/resources/GodMode9_splash.pcx b/resources/GodMode9_splash.pcx deleted file mode 100644 index 95b3485f544aaf391189270401239dbb9f697e1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8708 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

n(rO&S5Fbol$So$$?_POWr;9kCB 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 HF75vTTC5L! diff --git a/resources/SafeMode9_splash.png b/resources/SafeMode9_splash.png new file mode 100644 index 0000000000000000000000000000000000000000..231a068dbb7bb8b15a06c17ba5d82f6ceb119496 GIT binary patch literal 23230 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
O#NjBS3&SsrF`F=nZ?SA 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