mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-21 06:21:16 +00:00
improve matching (#1543)
This commit is contained in:
parent
a8d670fe5c
commit
72334df180
6 changed files with 114 additions and 101 deletions
|
@ -1200,29 +1200,32 @@ void EnGo_DrawEffects(EnGo* this, PlayState* play) {
|
|||
OPEN_DISPS(play->state.gfxCtx, "../z_en_go.c", 2626);
|
||||
materialFlag = false;
|
||||
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
|
||||
if (1) {}
|
||||
|
||||
for (i = 0; i < EN_GO_EFFECT_COUNT; i++, dustEffect++) {
|
||||
if (dustEffect->type) {
|
||||
if (!materialFlag) {
|
||||
POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_0);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gGoronDL_00FD40);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 100, 60, 20, 0);
|
||||
materialFlag = true;
|
||||
}
|
||||
|
||||
alpha = dustEffect->timer * (255.0f / dustEffect->initialTimer);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 170, 130, 90, alpha);
|
||||
gDPPipeSync(POLY_XLU_DISP++);
|
||||
Matrix_Translate(dustEffect->pos.x, dustEffect->pos.y, dustEffect->pos.z, MTXMODE_NEW);
|
||||
Matrix_ReplaceRotation(&play->billboardMtxF);
|
||||
Matrix_Scale(dustEffect->scale, dustEffect->scale, 1.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_go.c", 2664),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
index = dustEffect->timer * (8.0f / dustEffect->initialTimer);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustTex[index]));
|
||||
gSPDisplayList(POLY_XLU_DISP++, gGoronDL_00FD50);
|
||||
if (dustEffect->type == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!materialFlag) {
|
||||
POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_0);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gGoronDL_00FD40);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 100, 60, 20, 0);
|
||||
materialFlag = true;
|
||||
}
|
||||
|
||||
alpha = dustEffect->timer * (255.0f / dustEffect->initialTimer);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 170, 130, 90, alpha);
|
||||
gDPPipeSync(POLY_XLU_DISP++);
|
||||
Matrix_Translate(dustEffect->pos.x, dustEffect->pos.y, dustEffect->pos.z, MTXMODE_NEW);
|
||||
Matrix_ReplaceRotation(&play->billboardMtxF);
|
||||
Matrix_Scale(dustEffect->scale, dustEffect->scale, 1.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_go.c", 2664),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
index = dustEffect->timer * (8.0f / dustEffect->initialTimer);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustTex[index]));
|
||||
gSPDisplayList(POLY_XLU_DISP++, gGoronDL_00FD50);
|
||||
}
|
||||
|
||||
CLOSE_DISPS(play->state.gfxCtx, "../z_en_go.c", 2678);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue