1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-21 22:41:14 +00:00

Fix various small gfx issues (#1313)

* Fix various small gfx issues

* Use 0xFFFF instead of -1 for max prim depth

* More fixed point numbers

* scale -> texCoordScale, better cycle 2 render mode in z_title

* GFXP_CHAR_* defines renamed to SPACING

* Fix some gDPLoadMultiBlock uses
This commit is contained in:
Tharo 2022-07-30 22:49:10 +01:00 committed by GitHub
parent afbc312024
commit 455321d2e8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
111 changed files with 695 additions and 604 deletions

View file

@ -2572,8 +2572,8 @@ void BossMo_DrawWater(BossMo* this, PlayState* play) {
Matrix_Translate(0.0f, MO_WATER_LEVEL(play), 0.0f, MTXMODE_NEW);
gSPSegment(POLY_XLU_DISP++, 0x0D,
Gfx_TwoTexScroll(play->state.gfxCtx, 0, (s16)this->waterTex1x, (s16)this->waterTex1y, 32, 32, 1,
(s16)this->waterTex2x, (s16)this->waterTex2y, 32, 32));
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, (s16)this->waterTex1x, (s16)this->waterTex1y, 32,
32, 1, (s16)this->waterTex2x, (s16)this->waterTex2y, 32, 32));
gDPPipeSync(POLY_XLU_DISP++);
@ -2603,13 +2603,13 @@ void BossMo_DrawCore(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(play->state.gfxCtx, 0, sMorphaTent1->work[MO_TENT_VAR_TIMER] * 3,
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, sMorphaTent1->work[MO_TENT_VAR_TIMER] * 3,
sMorphaTent1->work[MO_TENT_VAR_TIMER] * 3, 32, 32, 1,
sMorphaTent1->work[MO_TENT_VAR_TIMER] * -3,
sMorphaTent1->work[MO_TENT_VAR_TIMER] * -3, 32, 32));
gSPSegment(POLY_XLU_DISP++, 0x09,
Gfx_TwoTexScroll(play->state.gfxCtx, 0, sMorphaTent1->work[MO_TENT_VAR_TIMER] * 5, 0, 32, 32, 1, 0,
sMorphaTent1->work[MO_TENT_VAR_TIMER] * -10, 32, 32));
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, sMorphaTent1->work[MO_TENT_VAR_TIMER] * 5, 0,
32, 32, 1, 0, sMorphaTent1->work[MO_TENT_VAR_TIMER] * -10, 32, 32));
Matrix_RotateX(this->work[MO_TENT_MOVE_TIMER] * 0.5f, MTXMODE_APPLY);
Matrix_RotateZ(this->work[MO_TENT_MOVE_TIMER] * 0.8f, MTXMODE_APPLY);
@ -2678,8 +2678,9 @@ void BossMo_DrawCore(Actor* thisx, PlayState* play) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 100, 255, (s8)this->fwork[MO_CORE_INTRO_WATER_ALPHA]);
gSPSegment(POLY_XLU_DISP++, 0x0D,
Gfx_TwoTexScroll(play->state.gfxCtx, 0, (s16)sMorphaTent1->waterTex1x, (s16)sMorphaTent1->waterTex1y,
32, 32, 1, (s16)sMorphaTent1->waterTex2x, (s16)sMorphaTent1->waterTex2y, 32, 32));
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, (s16)sMorphaTent1->waterTex1x,
(s16)sMorphaTent1->waterTex1y, 32, 32, 1, (s16)sMorphaTent1->waterTex2x,
(s16)sMorphaTent1->waterTex2y, 32, 32));
sp8C = this->subCamAt.x - this->subCamEye.x;
sp88 = this->subCamAt.y - this->subCamEye.y;
@ -2721,7 +2722,7 @@ void BossMo_DrawCore(Actor* thisx, PlayState* play) {
void BossMo_DrawTent(Actor* thisx, PlayState* play) {
s32 pad;
BossMo* this = (BossMo*)thisx;
u16 scroll;
u16 texCoordScale;
OPEN_DISPS(play->state.gfxCtx, "../z_boss_mo.c", 6958);
if (1) {}
@ -2731,12 +2732,13 @@ void BossMo_DrawTent(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(play->state.gfxCtx, 0, this->work[MO_TENT_BASE_TEX1_X], this->work[MO_TENT_BASE_TEX1_Y],
32, 32, 1, this->work[MO_TENT_BASE_TEX2_X], this->work[MO_TENT_BASE_TEX2_Y], 32, 32));
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, this->work[MO_TENT_BASE_TEX1_X],
this->work[MO_TENT_BASE_TEX1_Y], 32, 32, 1, this->work[MO_TENT_BASE_TEX2_X],
this->work[MO_TENT_BASE_TEX2_Y], 32, 32));
gDPSetPrimColor(POLY_XLU_DISP++, 0xFF, 0xFF, 200, 255, 255, (s8)((this->baseAlpha * 12.0f) / 10.0f));
gDPSetEnvColor(POLY_XLU_DISP++, 0, 100, 255, (s8)this->baseAlpha);
scroll = (s16)(Math_SinS(this->work[MO_TENT_VAR_TIMER] * 0xB00) * 30.0f) + 350;
gSPTexture(POLY_XLU_DISP++, scroll, scroll, 0, G_TX_RENDERTILE, G_ON);
texCoordScale = (s16)(Math_SinS(this->work[MO_TENT_VAR_TIMER] * 0xB00) * 30.0f) + 350;
gSPTexture(POLY_XLU_DISP++, texCoordScale, texCoordScale, 0, G_TX_RENDERTILE, G_ON);
if (this->drawActor) {
BossMo_DrawTentacle(this, play);