summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorDragorn421 <Dragorn421@users.noreply.github.com>2024-08-30 00:23:01 +0200
committerGitHub <noreply@github.com>2024-08-29 18:23:01 -0400
commitdc964931c25f0ef308620b677649ff1e3524198d (patch)
treea64cb65587600621fc0ad60f1d69eacfa280da4f /src/code
parenta63f0a63b5e812784f8908371ab1756b2bc07bf4 (diff)
[ntsc-1.2] Match z_demo.c, z_eff_blure.c, z_eff_spark.c (#2096)
* Match z_demo.c * Match z_eff_blure.c * Match z_eff_spark.c (fake inc.) * review * improve EffectSpark_Draw match Co-authored-by: cadmic <cadmic24@gmail.com> * cleanup * fix merge * review * better match EffectBlure_DrawSimpleVertices (ty cadmic) * review * rm unneeded include versions.h --------- Co-authored-by: cadmic <cadmic24@gmail.com>
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_demo.c16
-rw-r--r--src/code/z_eff_blure.c149
-rw-r--r--src/code/z_eff_spark.c70
3 files changed, 123 insertions, 112 deletions
diff --git a/src/code/z_demo.c b/src/code/z_demo.c
index 7417b7868..56a94816c 100644
--- a/src/code/z_demo.c
+++ b/src/code/z_demo.c
@@ -1,6 +1,9 @@
#include "global.h"
#include "quake.h"
#include "z64camera.h"
+#if PLATFORM_N64
+#include "n64dd.h"
+#endif
#include "assets/scenes/indoors/tokinoma/tokinoma_scene.h"
@@ -111,7 +114,7 @@ EntranceCutscene sEntranceCutsceneTable[] = {
{ ENTR_KOKIRI_FOREST_12, 2, EVENTCHKINF_C6, gKokiriForestDekuSproutCs },
};
-void* sUnusedEntranceCsList[] = {
+void* sCutscenesUnknownList[] = {
gDekuTreeIntroCs, gJabuJabuIntroCs, gDcOpeningCs, gMinuetCs, gIceCavernSerenadeCs, gTowerBarrierCs,
};
@@ -1702,6 +1705,9 @@ s32 CutsceneCmd_SetCamAt(PlayState* play, CutsceneContext* csCtx, u8* script, u8
void CutsceneCmd_Text(PlayState* play, CutsceneContext* csCtx, CsCmdText* cmd) {
u8 dialogState;
+#if PLATFORM_N64
+ s32 pad;
+#endif
s16 endFrame;
if ((csCtx->curFrame > cmd->startFrame) && (csCtx->curFrame <= cmd->endFrame)) {
@@ -2416,6 +2422,14 @@ void Cutscene_HandleConditionalTriggers(PlayState* play) {
}
void Cutscene_SetScript(PlayState* play, void* script) {
+#if PLATFORM_N64
+ if ((B_80121AF0 != NULL) && (B_80121AF0->unk_78 != NULL)) {
+ if (B_80121AF0->unk_78(play, script, sCutscenesUnknownList)) {
+ return;
+ }
+ }
+#endif
+
if (SEGMENT_NUMBER(script) != 0) {
play->csCtx.script = SEGMENTED_TO_VIRTUAL(script);
} else {
diff --git a/src/code/z_eff_blure.c b/src/code/z_eff_blure.c
index 9dbc91a1b..e0957a016 100644
--- a/src/code/z_eff_blure.c
+++ b/src/code/z_eff_blure.c
@@ -399,76 +399,78 @@ void EffectBlure_DrawElemNoInterpolation(EffectBlure* this, EffectBlureElement*
if (vtx == NULL) {
PRINTF(T("z_eff_blure.c::SQ_NoInterpolate_disp() 頂点確保できず。\n",
"z_eff_blure.c::SQ_NoInterpolate_disp() Vertices cannot be secured.\n"));
- } else {
- vtx[0].v = baseVtx;
- vtx[1].v = baseVtx;
- vtx[2].v = baseVtx;
- vtx[3].v = baseVtx;
-
- ratio = (f32)elem->timer / (f32)this->elemDuration;
- EffectBlure_GetComputedValues(this, index, ratio, &sp8C, &sp84, &sp7C, &sp78);
-
- sp60.x = sp84.x;
- sp60.y = sp84.y;
- sp60.z = sp84.z;
- Math_Vec3f_Diff(&sp60, &sp6C, &sp54);
- Math_Vec3f_Scale(&sp54, 10.0f);
- vtx[0].v.ob[0] = sp54.x;
- vtx[0].v.ob[1] = sp54.y;
- vtx[0].v.ob[2] = sp54.z;
- vtx[0].v.cn[0] = sp78.r;
- vtx[0].v.cn[1] = sp78.g;
- vtx[0].v.cn[2] = sp78.b;
- vtx[0].v.cn[3] = sp78.a;
-
- if (1) {} // Necessary to match
-
- sp60.x = sp8C.x;
- sp60.y = sp8C.y;
- sp60.z = sp8C.z;
- Math_Vec3f_Diff(&sp60, &sp6C, &sp54);
- Math_Vec3f_Scale(&sp54, 10.0f);
- vtx[1].v.ob[0] = sp54.x;
- vtx[1].v.ob[1] = sp54.y;
- vtx[1].v.ob[2] = sp54.z;
- vtx[1].v.cn[0] = sp7C.r;
- vtx[1].v.cn[1] = sp7C.g;
- vtx[1].v.cn[2] = sp7C.b;
- vtx[1].v.cn[3] = sp7C.a;
-
- ratio = (f32)(elem + 1)->timer / (f32)this->elemDuration;
- EffectBlure_GetComputedValues(this, index + 1, ratio, &sp8C, &sp84, &sp7C, &sp78);
-
- sp60.x = sp8C.x;
- sp60.y = sp8C.y;
- sp60.z = sp8C.z;
- Math_Vec3f_Diff(&sp60, &sp6C, &sp54);
- Math_Vec3f_Scale(&sp54, 10.0f);
- vtx[2].v.ob[0] = sp54.x;
- vtx[2].v.ob[1] = sp54.y;
- vtx[2].v.ob[2] = sp54.z;
- vtx[2].v.cn[0] = sp7C.r;
- vtx[2].v.cn[1] = sp7C.g;
- vtx[2].v.cn[2] = sp7C.b;
- vtx[2].v.cn[3] = sp7C.a;
-
- sp60.x = sp84.x;
- sp60.y = sp84.y;
- sp60.z = sp84.z;
- Math_Vec3f_Diff(&sp60, &sp6C, &sp54);
- Math_Vec3f_Scale(&sp54, 10.0f);
- vtx[3].v.ob[0] = sp54.x;
- vtx[3].v.ob[1] = sp54.y;
- vtx[3].v.ob[2] = sp54.z;
- vtx[3].v.cn[0] = sp78.r;
- vtx[3].v.cn[1] = sp78.g;
- vtx[3].v.cn[2] = sp78.b;
- vtx[3].v.cn[3] = sp78.a;
-
- gSPVertex(POLY_XLU_DISP++, vtx, 4, 0);
- gSP2Triangles(POLY_XLU_DISP++, 0, 1, 2, 0, 0, 2, 3, 0);
+ goto end;
}
+ vtx[0].v = baseVtx;
+ vtx[1].v = baseVtx;
+ vtx[2].v = baseVtx;
+ vtx[3].v = baseVtx;
+
+ ratio = (f32)elem->timer / (f32)this->elemDuration;
+ EffectBlure_GetComputedValues(this, index, ratio, &sp8C, &sp84, &sp7C, &sp78);
+
+ sp60.x = sp84.x;
+ sp60.y = sp84.y;
+ sp60.z = sp84.z;
+ Math_Vec3f_Diff(&sp60, &sp6C, &sp54);
+ Math_Vec3f_Scale(&sp54, 10.0f);
+ vtx[0].v.ob[0] = sp54.x;
+ vtx[0].v.ob[1] = sp54.y;
+ vtx[0].v.ob[2] = sp54.z;
+ vtx[0].v.cn[0] = sp78.r;
+ vtx[0].v.cn[1] = sp78.g;
+ vtx[0].v.cn[2] = sp78.b;
+ vtx[0].v.cn[3] = sp78.a;
+
+ sp60.x = sp8C.x;
+ sp60.y = sp8C.y;
+ sp60.z = sp8C.z;
+ Math_Vec3f_Diff(&sp60, &sp6C, &sp54);
+ Math_Vec3f_Scale(&sp54, 10.0f);
+ vtx[1].v.ob[0] = sp54.x;
+ vtx[1].v.ob[1] = sp54.y;
+ vtx[1].v.ob[2] = sp54.z;
+ vtx[1].v.cn[0] = sp7C.r;
+ vtx[1].v.cn[1] = sp7C.g;
+ vtx[1].v.cn[2] = sp7C.b;
+ vtx[1].v.cn[3] = sp7C.a;
+
+ ratio = (f32)(elem + 1)->timer / (f32)this->elemDuration;
+ EffectBlure_GetComputedValues(this, index + 1, ratio, &sp8C, &sp84, &sp7C, &sp78);
+
+ sp60.x = sp8C.x;
+ sp60.y = sp8C.y;
+ sp60.z = sp8C.z;
+ Math_Vec3f_Diff(&sp60, &sp6C, &sp54);
+ Math_Vec3f_Scale(&sp54, 10.0f);
+ vtx[2].v.ob[0] = sp54.x;
+ vtx[2].v.ob[1] = sp54.y;
+ vtx[2].v.ob[2] = sp54.z;
+ vtx[2].v.cn[0] = sp7C.r;
+ vtx[2].v.cn[1] = sp7C.g;
+ vtx[2].v.cn[2] = sp7C.b;
+ vtx[2].v.cn[3] = sp7C.a;
+
+ sp60.x = sp84.x;
+ sp60.y = sp84.y;
+ sp60.z = sp84.z;
+ Math_Vec3f_Diff(&sp60, &sp6C, &sp54);
+ Math_Vec3f_Scale(&sp54, 10.0f);
+ vtx[3].v.ob[0] = sp54.x;
+ vtx[3].v.ob[1] = sp54.y;
+ vtx[3].v.ob[2] = sp54.z;
+ vtx[3].v.cn[0] = sp78.r;
+ vtx[3].v.cn[1] = sp78.g;
+ vtx[3].v.cn[2] = sp78.b;
+ vtx[3].v.cn[3] = sp78.a;
+
+ if (1) {}
+
+ gSPVertex(POLY_XLU_DISP++, vtx, 4, 0);
+ gSP2Triangles(POLY_XLU_DISP++, 0, 1, 2, 0, 0, 2, 3, 0);
+
+end:
CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 932);
}
@@ -759,9 +761,6 @@ void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this,
MtxF sp94;
f32 scale;
s32 i;
- s32 j;
-
- j = 0;
for (i = 0; i < this->numElements - 1; i++) {
if (this->drawMode == 1) {
@@ -771,9 +770,7 @@ void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this,
gDPPipeSync(POLY_XLU_DISP++);
}
- if (1) {} // Necessary to match
-
- gSPVertex(POLY_XLU_DISP++, &vtx[j], 4, 0);
+ gSPVertex(POLY_XLU_DISP++, &vtx[4 * i], 4, 0);
gSP2Triangles(POLY_XLU_DISP++, 0, 1, 3, 0, 0, 3, 2, 0);
if (this->flags & 4) {
@@ -806,13 +803,11 @@ void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this,
}
gSPMatrix(POLY_XLU_DISP++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPVertex(POLY_XLU_DISP++, &vtx[j], 4, 0);
+ gSPVertex(POLY_XLU_DISP++, &vtx[4 * i], 4, 0);
gSP2Triangles(POLY_XLU_DISP++, 0, 1, 3, 0, 0, 3, 2, 0);
gSPMatrix(POLY_XLU_DISP++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
}
}
-
- j += 4;
}
}
diff --git a/src/code/z_eff_spark.c b/src/code/z_eff_spark.c
index 41da75368..ba39da6b8 100644
--- a/src/code/z_eff_spark.c
+++ b/src/code/z_eff_spark.c
@@ -222,41 +222,43 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) {
vertices[j].v.tc[0] = 0;
vertices[j].v.tc[1] = 1024;
vertices[j].v.flag = 0;
+ j++;
- vertices[j + 1].v.ob[0] = 32;
- vertices[j + 1].v.ob[1] = 32;
- vertices[j + 1].v.ob[2] = 0;
- vertices[j + 1].v.cn[0] = sp1CF;
- vertices[j + 1].v.cn[1] = sp1CE;
- vertices[j + 1].v.cn[2] = sp1CD;
- vertices[j + 1].v.cn[3] = sp1CC;
- vertices[j + 1].v.tc[0] = 1024;
- vertices[j + 1].v.tc[1] = 0;
- vertices[j + 1].v.flag = 0;
-
- vertices[j + 2].v.ob[0] = -32;
- vertices[j + 2].v.ob[1] = 32;
- vertices[j + 2].v.ob[2] = 0;
- vertices[j + 2].v.cn[0] = sp1CB;
- vertices[j + 2].v.cn[1] = sp1CA;
- vertices[j + 2].v.cn[2] = sp1C9;
- vertices[j + 2].v.cn[3] = sp1C8;
- vertices[j + 2].v.tc[0] = 0;
- vertices[j + 2].v.tc[1] = 0;
- vertices[j + 2].v.flag = 0;
-
- vertices[j + 3].v.ob[0] = 32;
- vertices[j + 3].v.ob[1] = -32;
- vertices[j + 3].v.ob[2] = 0;
- vertices[j + 3].v.cn[0] = sp1C7;
- vertices[j + 3].v.cn[1] = sp1C6;
- vertices[j + 3].v.cn[2] = sp1C5;
- vertices[j + 3].v.cn[3] = sp1C4;
- vertices[j + 3].v.tc[0] = 1024;
- vertices[j + 3].v.tc[1] = 1024;
- vertices[j + 3].v.flag = 0;
-
- j += 4;
+ vertices[j].v.ob[0] = 32;
+ vertices[j].v.ob[1] = 32;
+ vertices[j].v.ob[2] = 0;
+ vertices[j].v.cn[0] = sp1CF;
+ vertices[j].v.cn[1] = sp1CE;
+ vertices[j].v.cn[2] = sp1CD;
+ vertices[j].v.cn[3] = sp1CC;
+ vertices[j].v.tc[0] = 1024;
+ vertices[j].v.tc[1] = 0;
+ vertices[j].v.flag = 0;
+ j++;
+
+ vertices[j].v.ob[0] = -32;
+ vertices[j].v.ob[1] = 32;
+ vertices[j].v.ob[2] = 0;
+ vertices[j].v.cn[0] = sp1CB;
+ vertices[j].v.cn[1] = sp1CA;
+ vertices[j].v.cn[2] = sp1C9;
+ vertices[j].v.cn[3] = sp1C8;
+ vertices[j].v.tc[0] = 0;
+ vertices[j].v.tc[1] = 0;
+ vertices[j].v.flag = 0;
+ j++;
+
+ vertices[j].v.ob[0] = 32;
+ vertices[j].v.ob[1] = -32;
+ vertices[j].v.ob[2] = 0;
+ vertices[j].v.cn[0] = sp1C7;
+ vertices[j].v.cn[1] = sp1C6;
+ vertices[j].v.cn[2] = sp1C5;
+ vertices[j].v.cn[3] = sp1C4;
+ vertices[j].v.tc[0] = 1024;
+ vertices[j].v.tc[1] = 1024;
+ vertices[j].v.flag = 0;
+ j++;
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp12C);
if (mtx == NULL) {