diff options
| author | Derek Hensley <hensley.derek58@gmail.com> | 2024-05-14 07:46:27 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-14 07:46:27 -0700 |
| commit | d743f705856f4df2c5fcf741037bfe7b726a2ca5 (patch) | |
| tree | e7ac40e8810c6bfee25924edca4173824d2d6fc8 /include | |
| parent | 707577c16ed46aea106e41982a76294a448c7de7 (diff) | |
Prerender (1 NON_MATCHING) (#185)
* Start prerender
* wallpaper_draw1
* wallpaper_draw
* gfx_SetUpCFB
* PreRender_setup_savebuf
* PreRender_init
* PreRender_setup_renderbuf
* PreRender_cleanup
* PreRender_TransBufferCopy
* PreRender_TransBuffer
* PreRender_TransBuffer1
* PreRender_TransBuffer2
* PreRender_ShowCoveredge
* PreRender_saveZBuffer
* PreRender_saveFrameBuffer
* PreRender_saveCVG
* PreRender_loadZBuffer
* PreRender_loadFrameBufferAlpha
* PreRender_loadFrameBufferCopy
* PreRender_ConvertFrameBuffer_fg
* PreRender_ConvertFrameBuffer
* AntiAliasFilter
* ASAlgorithm
* PreRender_loadFrameBuffer
* names
* Remove fake in PreRender_TransBuffer1_env
* PreRender_CopyRGBC NON_MATCHING
Diffstat (limited to 'include')
| -rw-r--r-- | include/PreRender.h | 80 | ||||
| -rw-r--r-- | include/gfx.h | 2 | ||||
| -rw-r--r-- | include/sys_ucode.h | 8 |
3 files changed, 53 insertions, 37 deletions
diff --git a/include/PreRender.h b/include/PreRender.h index cc54950..6b7d8bb 100644 --- a/include/PreRender.h +++ b/include/PreRender.h @@ -2,44 +2,58 @@ #define PRE_RENDER_H #include "ultra64.h" + +#include "listalloc.h" #include "unk.h" typedef struct PreRender { - /* 0x00 */ u16 unk_00; - /* 0x02 */ u16 unk_02; - /* 0x04 */ u16 unk_04; - /* 0x04 */ u16 unk_06; + /* 0x00 */ u16 width; + /* 0x02 */ u16 height; + /* 0x04 */ u16 width_save; + /* 0x04 */ u16 height_save; /* 0x08 */ UNK_TYPE1 unk_08[0x8]; - /* 0x10 */ UNK_PTR unk_10; - /* 0x14 */ UNK_PTR unk_14; - /* 0x18 */ UNK_PTR unk_18; - /* 0x1C */ UNK_TYPE1 unk_1C[0x34]; + /* 0x10 */ u16* fbuf; + /* 0x14 */ u16* fbuf_save; + /* 0x18 */ u8* cvg_save; + /* 0x1C */ u16* zbuf; + /* 0x20 */ u16* zbuf_save; + /* 0x24 */ u16 ulx_save; + /* 0x26 */ u16 uly_save; + /* 0x28 */ u16 lrx_save; + /* 0x2A */ u16 lry_save; + /* 0x2C */ u16 ulx; + /* 0x2E */ u16 uly; + /* 0x30 */ u16 lrx; + /* 0x32 */ u16 lry; + /* 0x34 */ UNK_TYPE1 UNK_34[0x10]; + /* 0x44 */ ListAlloc alloc; + /* 0x4C */ u8 unk_4C; + /* 0x4D */ u8 filterState; } PreRender; // size = 0x50 -// void wallpaper_draw1(); -// void wallpaper_draw(); -// void gfx_SetUpCFB(); -void PreRender_setup_savebuf(PreRender* render, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5); -void PreRender_init(PreRender* render); -void PreRender_setup_renderbuf(PreRender* render, s32 arg1, s32 arg2, void* arg3, void* arg4); -void PreRender_cleanup(PreRender* render); -// void PreRender_TransBufferCopy(); -// void PreRender_TransBuffer(); -// void PreRender_TransBuffer1_env(); -// void PreRender_TransBuffer1(); -// void PreRender_TransBuffer2(); -// void PreRender_ShowCoveredge(); -void PreRender_CopyRGBC(PreRender* render, Gfx** gfxP, s32 arg2, s32 arg3); -// void PreRender_saveZBuffer(); -void PreRender_saveFrameBuffer(PreRender* render, Gfx** gfx); -void PreRender_saveCVG(PreRender* render, Gfx** gfx); -// void PreRender_loadZBuffer(); -// void PreRender_loadFrameBuffer(); -// void PreRender_loadFrameBufferAlpha(); -void PreRender_loadFrameBufferCopy(PreRender* render, Gfx** gfx); -// void ASAlgorithm(); -// void AntiAliasFilter(); -void PreRender_ConvertFrameBuffer_fg(PreRender* render); -// void PreRender_ConvertFrameBuffer(); +#define WALLPAPER_FLAGS_1 (1 << 0) +#define WALLPAPER_FLAGS_2 (1 << 1) +#define WALLPAPER_FLAGS_AC_THRESHOLD (1 << 2) +#define WALLPAPER_FLAGS_LOAD_S2DEX2 (1 << 3) +#define WALLPAPER_FLAGS_COPY (1 << 4) + +void PreRender_setup_savebuf(PreRender* this, s32 width, s32 height, void* arg3, void* arg4, void* arg5); +void PreRender_init(PreRender* this); +void PreRender_setup_renderbuf(PreRender* this, s32 width, s32 height, void* arg3, void* arg4); +void PreRender_cleanup(PreRender* this); +void PreRender_TransBufferCopy(PreRender* this, Gfx** glistpp, void* arg2, void* arg3, u32 useThresholdAlphaCompare); +void PreRender_TransBuffer(PreRender* this, Gfx** glistpp, void* arg2, void* arg3); +void PreRender_TransBuffer1(PreRender* this, Gfx** glistpp, void* arg2, void* arg3); +void PreRender_TransBuffer2(PreRender* this, Gfx** glistpp, void* arg2, void* arg3); +void PreRender_CopyRGBC(PreRender* this, Gfx** gfxP, s32 arg2, s32 arg3); +void PreRender_saveZBuffer(PreRender* this, Gfx** glistpp); +void PreRender_saveFrameBuffer(PreRender* this, Gfx** glistpp); +void PreRender_saveCVG(PreRender* this, Gfx** glistpp); +void PreRender_loadZBuffer(PreRender* this, Gfx** glistpp); +void PreRender_loadFrameBuffer(PreRender* this, Gfx** glistpp); +void PreRender_loadFrameBufferAlpha(PreRender* this, Gfx** glistpp, s32 alpha); +void PreRender_loadFrameBufferCopy(PreRender* this, Gfx** glistpp); +void PreRender_ConvertFrameBuffer_fg(PreRender* this); +void PreRender_ConvertFrameBuffer(PreRender* this); #endif diff --git a/include/gfx.h b/include/gfx.h index 81fbefa..3a30c4b 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -10,6 +10,8 @@ #define GRAPH_ALLOC(gfxCtx, size) ((void*)((gfxCtx)->polyOpa.d = (Gfx*)((u8*)(gfxCtx)->polyOpa.d - ALIGN16(size)))) #define GRAPH_ALLOC_NO_ALIGN(gfxCtx,size) ((void*)((gfxCtx)->polyOpa.d = (Gfx*)((u8*)(gfxCtx)->polyOpa.d - size))) +#define TMEM_SIZE 0x1000 + typedef struct GraphicsContext { /* 0x000 */ UNK_TYPE1 unk_000[0x8]; /* 0x008 */ UNK_PTR unk_008; diff --git a/include/sys_ucode.h b/include/sys_ucode.h index 97f9895..8fc3eb4 100644 --- a/include/sys_ucode.h +++ b/include/sys_ucode.h @@ -6,8 +6,8 @@ extern s64 gspF3DZEX2_NoN_PosLight_fifoTextStart[]; extern s64 gspF3DZEX2_NoN_PosLight_fifoDataStart[]; -extern s64 gspS2DEX2_fifoTextStart[]; -extern s64 gspS2DEX2_fifoDataStart[]; +extern u64 gspS2DEX2_fifoTextStart[]; +extern u64 gspS2DEX2_fifoDataStart[]; @@ -15,7 +15,7 @@ s64* ucode_GetRspBootTextStart(void); size_t ucode_GetRspBootTextSize(void); s64* ucode_GetPolyTextStart(void); s64* ucode_GetPolyDataStart(void); -s64* ucode_GetSpriteTextStart(void); -s64* ucode_GetSpireDataStart(void); +u64* ucode_GetSpriteTextStart(void); +u64* ucode_GetSpriteDataStart(void); #endif |
