1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-02-27 11:34:29 +00:00

Terrible match BgGanonOtyuka_Draw

This commit is contained in:
Sirius902 2020-11-14 20:01:26 -08:00
parent 719384c728
commit c20d8db4a8

View file

@ -133,7 +133,6 @@ void BgGanonOtyuka_Destroy(Actor* thisx, GlobalContext* globalCtx) {
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ganon_Otyuka/BgGanonOtyuka_Update.s") #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ganon_Otyuka/BgGanonOtyuka_Update.s")
#ifdef NON_MATCHING
void BgGanonOtyuka_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgGanonOtyuka_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgGanonOtyuka* this = THIS; BgGanonOtyuka* this = THIS;
s16 i; s16 i;
@ -195,7 +194,7 @@ void BgGanonOtyuka_Draw(Actor* thisx, GlobalContext* globalCtx) {
} }
for (i = 0; i < ARRAY_COUNT(D_80876A64); i++) { for (i = 0; i < ARRAY_COUNT(D_80876A64); i++) {
if ((D_80876A64[i] & otyuka->unk_16C) != 0) { if ((D_80876A64[i] & ((BgGanonOtyuka*)actor)->unk_16C) != 0) {
Matrix_Push(); Matrix_Push();
Matrix_Translate(D_80876AA0[i].x, 0.0f, D_80876AA0[i].z, MTXMODE_APPLY); Matrix_Translate(D_80876AA0[i].x, 0.0f, D_80876AA0[i].z, MTXMODE_APPLY);
Matrix_RotateY(D_80876AD0[i], MTXMODE_APPLY); Matrix_RotateY(D_80876AD0[i], MTXMODE_APPLY);
@ -212,11 +211,11 @@ void BgGanonOtyuka_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
actor = globalCtx->actorCtx.actorList[ACTORTYPE_PROP].first; actor = globalCtx->actorCtx.actorList[ACTORTYPE_PROP].first;
if (actor != NULL) { while (actor != NULL) {
if ((actor->id == ACTOR_BG_GANON_OTYUKA) && (actor->projectedPos.z > -30.0f) &&
(((BgGanonOtyuka*)actor)->unk_16E != 0)) {
otyuka = (BgGanonOtyuka*)actor; otyuka = (BgGanonOtyuka*)actor;
do {
if ((actor->id == ACTOR_BG_GANON_OTYUKA) && (actor->projectedPos.z > -30.0f) && (otyuka->unk_16E != 0)) {
gSPSegment(POLY_XLU_DISP++, 0x08, gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, otyuka->unk_16D * 4, 0, 32, 64, 1, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, otyuka->unk_16D * 4, 0, 32, 64, 1,
otyuka->unk_16D * 4, 0, 32, 64)); otyuka->unk_16D * 4, 0, 32, 64));
@ -231,22 +230,16 @@ void BgGanonOtyuka_Draw(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Translate(D_80876AA0[i].x, 0.0f, D_80876AA0[i].z, MTXMODE_APPLY); Matrix_Translate(D_80876AA0[i].x, 0.0f, D_80876AA0[i].z, MTXMODE_APPLY);
Matrix_RotateY(D_80876AD0[i], MTXMODE_APPLY); Matrix_RotateY(D_80876AD0[i], MTXMODE_APPLY);
Matrix_Scale(0.3f, otyuka->yScale * 0.3f, 0.3f, MTXMODE_APPLY); Matrix_Scale(0.3f, otyuka->yScale * 0.3f, 0.3f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ganon_otyuka.c", 847),
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ganon_otyuka.c", 847),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_80877CF8); gSPDisplayList(POLY_XLU_DISP++, D_80877CF8);
Matrix_Pull(); Matrix_Pull();
} }
} }
break;
} }
actor = actor->next; actor = actor->next;
} while (actor->next != NULL);
} }
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_ganon_otyuka.c", 857); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_ganon_otyuka.c", 857);
} }
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ganon_Otyuka/BgGanonOtyuka_Draw.s")
#endif