summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2024-05-14 07:46:27 -0700
committerGitHub <noreply@github.com>2024-05-14 07:46:27 -0700
commitd743f705856f4df2c5fcf741037bfe7b726a2ca5 (patch)
treee7ac40e8810c6bfee25924edca4173824d2d6fc8 /include
parent707577c16ed46aea106e41982a76294a448c7de7 (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.h80
-rw-r--r--include/gfx.h2
-rw-r--r--include/sys_ucode.h8
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