From 4b1053c21cf22b9eca6f556139f52414b91f523b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 12 Jun 2021 13:32:50 -0400 Subject: Decompile overlay 19 --- arm9/arm9.lsf | 2 +- arm9/lib/include/gx.h | 5 ++ arm9/modules/19/asm/module_19.s | 111 ----------------------------------- arm9/modules/19/src/module_19.c | 47 +++++++++++++++ arm9/src/gf_gfx_loader.c | 42 ++++++------- files/graphic/poketch/.knarcignore | 2 + files/graphic/poketch/narc_0010.bin | Bin 501 -> 0 bytes files/graphic/poketch/narc_0010.png | Bin 0 -> 435 bytes files/graphic/poketch/narc_0011.NSCR | Bin 435 -> 1572 bytes filesystem.mk | 4 ++ graphics_rules.mk | 3 +- include/gf_gfx_loader.h | 15 ++--- 12 files changed, 90 insertions(+), 141 deletions(-) delete mode 100644 arm9/modules/19/asm/module_19.s create mode 100644 arm9/modules/19/src/module_19.c delete mode 100644 files/graphic/poketch/narc_0010.bin create mode 100644 files/graphic/poketch/narc_0010.png diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 8dd9759c..6b0a49a7 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -794,7 +794,7 @@ Overlay MODULE_18 Overlay MODULE_19 { - ##Overworld (models?)## + ##Bottom screen before Pokétch## After MODULE_06 Object module_19.o } diff --git a/arm9/lib/include/gx.h b/arm9/lib/include/gx.h index cce14e57..7e6606fa 100644 --- a/arm9/lib/include/gx.h +++ b/arm9/lib/include/gx.h @@ -226,4 +226,9 @@ static inline void GXS_SetVisibleWnd(int window) reg_GXS_DB_DISPCNT = (u32)((reg_GXS_DB_DISPCNT & ~(REG_GXS_DB_DISPCNT_W0_MASK | REG_GXS_DB_DISPCNT_W1_MASK | REG_GXS_DB_DISPCNT_OW_MASK)) | (window << REG_GXS_DB_DISPCNT_W0_SHIFT)); } +static inline void GXS_SetOBJVRamModeChar(GXOBJVRamModeChar mode) +{ + reg_GXS_DB_DISPCNT = (u32)(reg_GXS_DB_DISPCNT & ~(REG_GXS_DB_DISPCNT_EXOBJ_CH_MASK | REG_GXS_DB_DISPCNT_OBJMAP_CH_MASK) | mode); +} + #endif //GUARD_GX_H diff --git a/arm9/modules/19/asm/module_19.s b/arm9/modules/19/asm/module_19.s deleted file mode 100644 index cfdf20fa..00000000 --- a/arm9/modules/19/asm/module_19.s +++ /dev/null @@ -1,111 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - .section .text - .balign 4, 0 - - thumb_func_start MOD19_02252440 -MOD19_02252440: ; 0x02252440 - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - mov r0, #3 - mov r1, #8 - lsl r2, r0, #0xf - bl CreateHeap - mov r0, #0 - bl GXS_SetGraphicsMode - mov r0, #0x80 - bl GX_SetBankForSubBG - mov r0, #1 - lsl r0, r0, #8 - bl GX_SetBankForSubOBJ - ldr r2, _022524E0 ; =0x04001000 - ldr r0, _022524E4 ; =0xFFCFFFEF - ldr r1, [r2] - mov r3, #0 - and r1, r0 - mov r0, #0x10 - orr r0, r1 - str r0, [r2] - ldr r2, _022524E8 ; =0x02252508 - add r0, r4, #0 - mov r1, #4 - bl InitBgFromTemplate - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #8 - str r0, [sp, #0xc] - mov r0, #0xc - mov r1, #0xa - add r2, r4, #0 - mov r3, #4 - bl GfGfxLoader_LoadCharData - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #8 - str r0, [sp, #0xc] - mov r0, #0xc - mov r1, #0xb - add r2, r4, #0 - mov r3, #4 - bl GfGfxLoader_LoadScrnData - mov r0, #0x20 - str r0, [sp] - mov r0, #8 - str r0, [sp, #4] - mov r0, #0xc - add r1, r0, #0 - mov r2, #4 - mov r3, #0 - bl GfGfxLoader_GXLoadPal - ldr r2, _022524E0 ; =0x04001000 - ldr r0, _022524EC ; =0xFFFF1FFF - ldr r1, [r2] - and r0, r1 - str r0, [r2] - ldr r1, [r2] - ldr r0, _022524F0 ; =0xFFFFE0FF - and r1, r0 - lsr r0, r2, #0x12 - orr r0, r1 - str r0, [r2] - add sp, #0x10 - pop {r4, pc} - .align 2, 0 -_022524E0: .word 0x04001000 -_022524E4: .word 0xFFCFFFEF -_022524E8: .word MOD19_02252508 -_022524EC: .word 0xFFFF1FFF -_022524F0: .word 0xFFFFE0FF - thumb_func_end MOD19_02252440 - - thumb_func_start MOD19_022524F4 -MOD19_022524F4: ; 0x022524F4 - push {r3, lr} - mov r1, #4 - bl FreeBgTilemapBuffer - mov r0, #8 - bl DestroyHeap - pop {r3, pc} - thumb_func_end MOD19_022524F4 - - thumb_func_start MOD19_02252504 -MOD19_02252504: ; 0x02252504 - mov r0, #1 - bx lr - thumb_func_end MOD19_02252504 - - .rodata - .global MOD19_02252508 -MOD19_02252508: ; 0x02252508 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .data - .bss diff --git a/arm9/modules/19/src/module_19.c b/arm9/modules/19/src/module_19.c new file mode 100644 index 00000000..1fc6197e --- /dev/null +++ b/arm9/modules/19/src/module_19.c @@ -0,0 +1,47 @@ +#include "global.h" +#include "heap.h" +#include "gx.h" +#include "gf_gfx_loader.h" +#include "bg_window.h" +#include "graphic/poketch.naix" + +const struct BgTemplate MOD19_02252508 = { + .x = 0, + .y = 0, + .bufferSize = 0x800, + .baseTile = 0x000, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GF_BG_CLR_4BPP, + .screenBase = 12, + .charBase = 0, + .priority = 0, + .areaOver = 0, + .mosaic = 0 +}; + +THUMB_FUNC void MOD19_02252440(struct BgConfig * bgConfig) +{ + CreateHeap(3, 8, 0x18000); + GXS_SetGraphicsMode(GX_BGMODE_0); + GX_SetBankForSubBG(0x80); + GX_SetBankForSubOBJ(0x100); + GXS_SetOBJVRamModeChar(GX_OBJVRAMMODE_CHAR_1D_32K); + InitBgFromTemplate(bgConfig, GF_BG_LYR_SUB_0, &MOD19_02252508, GF_BG_TYPE_TEXT); + GfGfxLoader_LoadCharData(NARC_GRAPHIC_POKETCH, NARC_poketch_narc_0010_NCGR_lz, bgConfig, GF_BG_LYR_SUB_0, 0, 0, TRUE, 8); + GfGfxLoader_LoadScrnData(NARC_GRAPHIC_POKETCH, NARC_poketch_narc_0011_NSCR_lz, bgConfig, GF_BG_LYR_SUB_0, 0, 0, TRUE, 8); + GfGfxLoader_GXLoadPal(NARC_GRAPHIC_POKETCH, NARC_poketch_narc_0012_NCLR, GF_BG_LYR_SUB_0, 0x00, 0x20, 8); + GXS_SetVisibleWnd(GX_WNDMASK_NONE); + GXS_SetVisiblePlane(GX_PLANEMASK_BG0); +} + +THUMB_FUNC void MOD19_022524F4(struct BgConfig * bgConfig) +{ + FreeBgTilemapBuffer(bgConfig, GF_BG_LYR_SUB_0); + DestroyHeap(8); +} + +THUMB_FUNC BOOL MOD19_02252504(struct BgConfig * bgConfig) +{ +#pragma unused(bgConfig) + return TRUE; +} diff --git a/arm9/src/gf_gfx_loader.c b/arm9/src/gf_gfx_loader.c index 1dc7f50e..0c6d593e 100644 --- a/arm9/src/gf_gfx_loader.c +++ b/arm9/src/gf_gfx_loader.c @@ -3,7 +3,7 @@ #include "NNS_g2d.h" #include "gf_gfx_loader.h" -THUMB_FUNC u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id) +THUMB_FUNC u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 layer, u32 numTiles, u32 szByte, BOOL isCompressed, u32 heap_id) { NNSG2dCharacterData * pCharData; void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberNo, isCompressed, heap_id, FALSE); @@ -13,14 +13,14 @@ THUMB_FUNC u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct BgCo { if (szByte == 0) szByte = pCharData->szByte; - BG_LoadCharTilesData(unkStruct02016B94_2, (u8)a3, pCharData->pRawData, szByte, a4); + BG_LoadCharTilesData(unkStruct02016B94_2, (u8)layer, pCharData->pRawData, szByte, numTiles); } FreeToHeap(pFile); } return szByte; } -THUMB_FUNC void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id) +THUMB_FUNC void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 layer, u32 tileOffset, u32 szByte, BOOL isCompressed, u32 heap_id) { NNSG2dScreenData * pScreenData; void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberNo, isCompressed, heap_id, TRUE); @@ -30,20 +30,20 @@ THUMB_FUNC void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct BgC { if (szByte == 0) szByte = pScreenData->szByte; - if (GetBgTilemapBuffer(unkStruct02016B94_2, (u8) a3) != NULL) - BG_LoadScreenTilemapData(unkStruct02016B94_2, (u8) a3, pScreenData->rawData, szByte); - BgCopyOrUncompressTilemapBufferRangeToVram(unkStruct02016B94_2, (u8) a3, pScreenData->rawData, szByte, a4); + if (GetBgTilemapBuffer(unkStruct02016B94_2, (u8) layer) != NULL) + BG_LoadScreenTilemapData(unkStruct02016B94_2, (u8) layer, pScreenData->rawData, szByte); + BgCopyOrUncompressTilemapBufferRangeToVram(unkStruct02016B94_2, (u8) layer, pScreenData->rawData, szByte, tileOffset); } FreeToHeap(pFile); } } -THUMB_FUNC void GfGfxLoader_GXLoadPal(NarcId narcId, s32 memberNo, u32 whichRoutine, u32 baseAddr, u32 szByte, u32 heap_id) +THUMB_FUNC void GfGfxLoader_GXLoadPal(NarcId narcId, s32 memberNo, u32 layer, u32 baseAddr, u32 szByte, u32 heap_id) { - GfGfxLoader_GXLoadPalWithSrcOffset(narcId, memberNo, whichRoutine, 0, baseAddr, szByte, heap_id); + GfGfxLoader_GXLoadPalWithSrcOffset(narcId, memberNo, layer, 0, baseAddr, szByte, heap_id); } -THUMB_FUNC void GfGfxLoader_GXLoadPalWithSrcOffset(NarcId narcId, s32 memberNo, u32 whichRoutine, u32 srcOffset, u32 baseAddr, u32 szByte, u32 heap_id) +THUMB_FUNC void GfGfxLoader_GXLoadPalWithSrcOffset(NarcId narcId, s32 memberNo, u32 layer, u32 srcOffset, u32 baseAddr, u32 szByte, u32 heap_id) { static void (*const load_funcs[])(void *, u32, u32) = { GX_LoadBGPltt, @@ -65,30 +65,30 @@ THUMB_FUNC void GfGfxLoader_GXLoadPalWithSrcOffset(NarcId narcId, s32 memberNo, if (szByte == 0) szByte = pPltData->szByte - srcOffset; DC_FlushRange(pPltData->pRawData, szByte); - switch (whichRoutine) + switch (layer) { case 2: GX_BeginLoadBGExtPltt(); - load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte); + load_funcs[layer](pPltData->pRawData, baseAddr, szByte); GX_EndLoadBGExtPltt(); break; case 6: GXS_BeginLoadBGExtPltt(); - load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte); + load_funcs[layer](pPltData->pRawData, baseAddr, szByte); GXS_EndLoadBGExtPltt(); break; case 3: GX_BeginLoadOBJExtPltt(); - load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte); + load_funcs[layer](pPltData->pRawData, baseAddr, szByte); GX_EndLoadOBJExtPltt(); break; case 7: GXS_BeginLoadOBJExtPltt(); - load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte); + load_funcs[layer](pPltData->pRawData, baseAddr, szByte); GXS_EndLoadOBJExtPltt(); break; default: - load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte); + load_funcs[layer](pPltData->pRawData, baseAddr, szByte); break; } } @@ -96,7 +96,7 @@ THUMB_FUNC void GfGfxLoader_GXLoadPalWithSrcOffset(NarcId narcId, s32 memberNo, } } -THUMB_FUNC u32 GfGfxLoader_LoadWholePalette(NarcId narcId, s32 memberId, u32 whichRoutine, u32 baseAddr, u32 szByte, BOOL isCompressed, u32 heap_id) +THUMB_FUNC u32 GfGfxLoader_LoadWholePalette(NarcId narcId, s32 memberId, u32 layer, u32 baseAddr, u32 szByte, BOOL isCompressed, u32 heap_id) { static void (*const load_funcs[])(void *, u32, u32) = { GX_LoadOBJ, @@ -112,7 +112,7 @@ THUMB_FUNC u32 GfGfxLoader_LoadWholePalette(NarcId narcId, s32 memberId, u32 whi if (szByte == 0) szByte = pCharData->szByte; DC_FlushRange(pCharData->pRawData, szByte); - load_funcs[whichRoutine](pCharData->pRawData, baseAddr, szByte); + load_funcs[layer](pCharData->pRawData, baseAddr, szByte); } FreeToHeap(pFile); } @@ -142,7 +142,7 @@ THUMB_FUNC void GfGfxLoader_PartiallyLoadPalette(NarcId narcId, s32 memberId, NN } } -THUMB_FUNC u32 GfGfxLoader_LoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 whichRoutine, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy *pImgProxy) +THUMB_FUNC u32 GfGfxLoader_LoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 layer, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy *pImgProxy) { static void (*const load_funcs[])(const NNSG2dCharacterData *, u32, NNS_G2D_VRAM_TYPE, NNSG2dImageProxy *) = { NNS_G2dLoadImage1DMapping, @@ -158,7 +158,7 @@ THUMB_FUNC u32 GfGfxLoader_LoadImageMapping(NarcId narcId, s32 memberId, BOOL is { if (szByte != 0) pSrcData->szByte = szByte; - load_funcs[whichRoutine](pSrcData, baseAddr, type, pImgProxy); + load_funcs[layer](pSrcData, baseAddr, type, pImgProxy); retSize = pSrcData->szByte; } FreeToHeap(pFile); @@ -166,7 +166,7 @@ THUMB_FUNC u32 GfGfxLoader_LoadImageMapping(NarcId narcId, s32 memberId, BOOL is return retSize; } -THUMB_FUNC void GfGfxLoader_SetObjCntFlagsAndLoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 whichRoutine, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy * pImageProxy) +THUMB_FUNC void GfGfxLoader_SetObjCntFlagsAndLoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 layer, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy * pImageProxy) { static void (*const load_funcs[])(const NNSG2dCharacterData *, u32, NNS_G2D_VRAM_TYPE, NNSG2dImageProxy *) = { NNS_G2dLoadImage1DMapping, @@ -191,7 +191,7 @@ THUMB_FUNC void GfGfxLoader_SetObjCntFlagsAndLoadImageMapping(NarcId narcId, s32 default: ; } - load_funcs[whichRoutine](pCharacterData, baseAddr, type, pImageProxy); + load_funcs[layer](pCharacterData, baseAddr, type, pImageProxy); } FreeToHeap(pFile); } diff --git a/files/graphic/poketch/.knarcignore b/files/graphic/poketch/.knarcignore index 2856080a..25285fc7 100644 --- a/files/graphic/poketch/.knarcignore +++ b/files/graphic/poketch/.knarcignore @@ -1,2 +1,4 @@ *.png *.pal +narc_0010.NCGR +narc_0011.NSCR diff --git a/files/graphic/poketch/narc_0010.bin b/files/graphic/poketch/narc_0010.bin deleted file mode 100644 index 75d87f58..00000000 Binary files a/files/graphic/poketch/narc_0010.bin and /dev/null differ diff --git a/files/graphic/poketch/narc_0010.png b/files/graphic/poketch/narc_0010.png new file mode 100644 index 00000000..0945423d Binary files /dev/null and b/files/graphic/poketch/narc_0010.png differ diff --git a/files/graphic/poketch/narc_0011.NSCR b/files/graphic/poketch/narc_0011.NSCR index 97830501..d2f5f9df 100644 Binary files a/files/graphic/poketch/narc_0011.NSCR and b/files/graphic/poketch/narc_0011.NSCR differ diff --git a/filesystem.mk b/filesystem.mk index 387231bf..ce072c9c 100644 --- a/filesystem.mk +++ b/filesystem.mk @@ -3262,6 +3262,10 @@ files/msgdata/msg.narc: \ files/msgdata/msg/narc_0622.bin \ files/msgdata/msg/narc_0623.bin +files/graphic/poketch.narc: \ + files/graphic/poketch/narc_0010.NCGR.lz \ + files/graphic/poketch/narc_0011.NSCR.lz + ## Trainer names files/msgdata/msg/narc_0559.txt: files/poketool/trainer/trdata.json (echo " -"; $(GREP) -w '"name":' $< | cut -d'"' -f4) | $(SED) 's/^(.+)$$/{TRNAME}\1\r/g' > $@ diff --git a/graphics_rules.mk b/graphics_rules.mk index 691a81f4..d36fa0c3 100644 --- a/graphics_rules.mk +++ b/graphics_rules.mk @@ -156,7 +156,8 @@ VERSION101_SOPC_8BPP_NCGR_FILES := files/demo/title/titledemo/narc_0001.NCGR \ VERSION101_SOPC_NCGR_FILES := files/application/wifi_earth/wifi_earth/narc_0005.NCGR \ files/demo/title/titledemo/narc_0007.NCGR \ files/demo/title/titledemo/narc_0011.NCGR \ - files/demo/title/titledemo/narc_0015.NCGR + files/demo/title/titledemo/narc_0015.NCGR \ + files/graphic/poketch/narc_0010.NCGR 8BPP_COMP10_NOPAD_NCLR_PNG_FILES := files/poketool/trgra/trbgra/narc_0000.NCLR \ files/poketool/trgra/trbgra/narc_0002.NCLR \ diff --git a/include/gf_gfx_loader.h b/include/gf_gfx_loader.h index cb7de269..32d63449 100644 --- a/include/gf_gfx_loader.h +++ b/include/gf_gfx_loader.h @@ -2,15 +2,16 @@ #define POKEDIAMOND_GF_GFX_LOADER_H #include "bg_window.h" +#include "filesystem.h" -u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id); -void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id); -void GfGfxLoader_GXLoadPal(NarcId narcId, s32 memberNo, u32 whichRoutine, u32 baseAddr, u32 szByte, u32 heap_id); -void GfGfxLoader_GXLoadPalWithSrcOffset(NarcId narcId, s32 memberNo, u32 whichRoutine, u32 srcOffset, u32 baseAddr, u32 szByte, u32 heap_id); -u32 GfGfxLoader_LoadWholePalette(NarcId narcId, s32 memberId, u32 whichRoutine, u32 baseAddr, u32 szByte, BOOL isCompressed, u32 heap_id); +u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 layer, u32 numTiles, u32 szByte, BOOL isCompressed, u32 heap_id); +void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 layer, u32 tileOffset, u32 szByte, BOOL isCompressed, u32 heap_id); +void GfGfxLoader_GXLoadPal(NarcId narcId, s32 memberNo, u32 layer, u32 baseAddr, u32 szByte, u32 heap_id); +void GfGfxLoader_GXLoadPalWithSrcOffset(NarcId narcId, s32 memberNo, u32 layer, u32 srcOffset, u32 baseAddr, u32 szByte, u32 heap_id); +u32 GfGfxLoader_LoadWholePalette(NarcId narcId, s32 memberId, u32 layer, u32 baseAddr, u32 szByte, BOOL isCompressed, u32 heap_id); void GfGfxLoader_PartiallyLoadPalette(NarcId narcId, s32 memberId, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heap_id, NNSG2dImagePaletteProxy * pPltProxy); -u32 GfGfxLoader_LoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 whichRoutine, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy *pImgProxy); -void GfGfxLoader_SetObjCntFlagsAndLoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 whichRoutine, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy * pImageProxy); +u32 GfGfxLoader_LoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 layer, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy *pImgProxy); +void GfGfxLoader_SetObjCntFlagsAndLoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 layer, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy * pImageProxy); void * GfGfxLoader_GetCharData(NarcId narcId, s32 memberId, BOOL isCompressed, NNSG2dCharacterData ** ppCharData, u32 heap_id); void * GfGfxLoader_GetScrnData(NarcId narcId, s32 memberId, BOOL isCompressed, NNSG2dScreenData ** ppScrData, u32 heap_id); void * GfGfxLoader_GetPlttData(NarcId narcId, s32 memberId, NNSG2dPaletteData ** ppPltData, u32 heap_id); -- cgit v1.2.3