summaryrefslogtreecommitdiff
path: root/soh/src/code/code_800AD920.c
diff options
context:
space:
mode:
authorM4xw <m4x@m4xw.net>2022-03-22 02:51:23 +0100
committerM4xw <m4x@m4xw.net>2022-03-22 02:51:23 +0100
commit39cc86c2608e2f75ace33fc7f43bc4f2ad743f1a (patch)
tree0d3fd9e995d7484eaaeb158ac808bd6a39121189 /soh/src/code/code_800AD920.c
parent0bb0e7b53bd80bdc7f78e08c441691737e039b2b (diff)
git subrepo clone https://github.com/HarbourMasters/soh.git
subrepo: subdir: "soh" merged: "ba904bbd0" upstream: origin: "https://github.com/HarbourMasters/soh.git" branch: "master" commit: "ba904bbd0" git-subrepo: version: "0.4.1" origin: "???" commit: "???"
Diffstat (limited to 'soh/src/code/code_800AD920.c')
-rw-r--r--soh/src/code/code_800AD920.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/soh/src/code/code_800AD920.c b/soh/src/code/code_800AD920.c
new file mode 100644
index 000000000..2ef7cf0bb
--- /dev/null
+++ b/soh/src/code/code_800AD920.c
@@ -0,0 +1,64 @@
+#include "global.h"
+
+// Note : This file is related to z_vismono, the original name was probably z_vis<something after "mono" alphabetically>
+
+// z-buffer
+extern u16 D_0E000000[];
+
+// Init
+void func_800AD920(struct_80166500* this) {
+ this->useRgba = false;
+ this->setScissor = false;
+ this->primColor.r = 255;
+ this->primColor.g = 255;
+ this->primColor.b = 255;
+ this->primColor.a = 255;
+ this->envColor.a = 255;
+ this->envColor.r = 0;
+ this->envColor.g = 0;
+ this->envColor.b = 0;
+}
+
+// Destroy
+void func_800AD950(struct_80166500* this) {
+}
+
+// Draw
+void func_800AD958(struct_80166500* this, Gfx** gfxp) {
+ Gfx* gfx = *gfxp;
+
+ // OTRTODO
+#if 0
+ u16* tex = D_0E000000;
+ s32 fmt = this->useRgba == false ? G_IM_FMT_IA : G_IM_FMT_RGBA;
+ s32 y;
+ s32 height = 6;
+
+ gDPPipeSync(gfx++);
+ if (this->setScissor == true) {
+ gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
+ }
+
+ gDPSetOtherMode(gfx++,
+ G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE |
+ G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
+ G_AC_NONE | G_ZS_PRIM | G_RM_OPA_SURF | G_RM_OPA_SURF2);
+ gDPSetCombineLERP(gfx++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT,
+ PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT);
+
+ gDPSetColor(gfx++, G_SETPRIMCOLOR, this->primColor.rgba);
+ gDPSetColor(gfx++, G_SETENVCOLOR, this->envColor.rgba);
+
+ for (y = 0; y <= SCREEN_HEIGHT - height; y += height) {
+ gDPLoadTextureBlock(gfx++, tex, fmt, G_IM_SIZ_16b, SCREEN_WIDTH, height, 0, G_TX_NOMIRROR | G_TX_CLAMP,
+ G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
+
+ gSPTextureRectangle(gfx++, 0, (y) << 2, (SCREEN_WIDTH << 2), (y + height) << 2, G_TX_RENDERTILE, 0, 0,
+ (1 << 10), (1 << 10));
+ tex += SCREEN_WIDTH * height;
+ }
+
+ gDPPipeSync(gfx++);
+ *gfxp = gfx;
+#endif
+}