Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void func_80B4DB14(Actor* thisx, GlobalContext* globalCtx) {
- EnInvadepoh* this = THIS;
- Gfx* gfx;
- Vec3f sp80;
- Vec3f sp74;
- s32 alpha2;
- f32 new_var2;
- s8 new_var;
- void** new_var3;
- OPEN_DISPS(globalCtx->state.gfxCtx);
- func_8012C2DC(globalCtx->state.gfxCtx);
- SysMatrix_StatePush();
- // new_var = this->drawAlien;
- if (this->drawAlien) {
- if (this->alienAlpha == 255) {
- func_8012C28C(globalCtx->state.gfxCtx);
- AnimatedMat_Draw(globalCtx, D_80B50400);
- Scene_SetRenderModeXlu(globalCtx, 0, 1);
- // new_var3 = this->skelAnime.skeleton;
- gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
- POLY_OPA_DISP = SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
- this->skelAnime.dListCount, func_80B4D9D8, func_80B4D9F4, &this->actor,
- POLY_OPA_DISP);
- // gfx = POLY_OPA_DISP;
- } else {
- AnimatedMat_Draw(globalCtx, D_80B50400);
- Scene_SetRenderModeXlu(globalCtx, 1, 2);
- gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alienAlpha);
- POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
- this->skelAnime.dListCount, func_80B4D9D8, func_80B4D9F4, &this->actor,
- POLY_XLU_DISP);
- }
- if (this->alienBeamAlpha != 0) {
- AnimatedMat_Draw(globalCtx, D_80B503FC);
- gfx = POLY_XLU_DISP;
- gDPPipeSync(gfx++);
- gDPSetPrimColor(gfx++, 0, 255, 240, 180, 100, 60);
- gDPSetEnvColor(gfx++, 255, 255, 255, this->alienBeamAlpha * 0.5882353f);
- SysMatrix_InsertMatrix(&D_80B502A0, MTXMODE_NEW);
- gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- dummy:;
- gSPDisplayList(gfx++, D_06000080);
- SysMatrix_InsertMatrix(&D_80B502E0, MTXMODE_NEW);
- gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(gfx++, D_06000080);
- POLY_XLU_DISP = gfx;
- }
- }
- // POLY_XLU_DISP = gfx;
- // dummy3:;
- if (this->drawAlienDeathEffect) {
- SysMatrix_SetStateRotationAndTranslation(this->actor.world.pos.x, this->actor.world.pos.y + 68.0f,
- this->actor.world.pos.z, &this->actor.shape);
- Matrix_Scale(this->alienDeathEffectScale.x, this->alienDeathEffectScale.y, this->alienDeathEffectScale.z,
- MTXMODE_APPLY);
- gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gfx = POLY_XLU_DISP;
- gSPDisplayList(gfx++, D_06000720);
- POLY_XLU_DISP = gfx;
- }
- if (this->drawAlien) {
- // dummy2:;
- gfx = POLY_XLU_DISP;
- POLY_XLU_DISP = gfx;
- gfx = func_8012C868(gfx);
- gSPSetOtherMode(gfx++, G_SETOTHERMODE_H, 4, 4, 0x00000080);
- gDPSetCombineLERP(gfx++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE,
- 0);
- SysMatrix_InsertMatrix(&globalCtx->mf_187FC, MTXMODE_NEW);
- SysMatrix_GetStateTranslationAndScaledZ(60.0f, &sp80);
- sp74.x = thisx->world.pos.x + sp80.x;
- sp74.y = thisx->world.pos.y + sp80.y + 68.0f;
- sp74.z = thisx->world.pos.z + sp80.z;
- SysMatrix_InsertTranslation(sp74.x, sp74.y, sp74.z, MTXMODE_NEW);
- Matrix_Scale(0.25f, 0.25f, 0.25f, MTXMODE_APPLY);
- if (globalCtx) {}
- alpha2 = this->alienAlpha * 0.39215687f;
- gSPDisplayList(gfx++, D_04029CB0);
- gDPSetPrimColor(gfx++, 0, 0, 0xF0, 0xB4, 0x64, alpha2);
- if (globalCtx) {}
- gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(gfx++, D_04029CF0);
- POLY_XLU_DISP = gfx;
- if ((this->alienAlpha > 128) && func_80B456A8(globalCtx, &sp74)) {
- func_800F9824(globalCtx, &globalCtx->envCtx, &globalCtx->view, globalCtx->state.gfxCtx, sp74, 10.0f, 9.0f,
- 0, 0);
- }
- }
- SysMatrix_StatePop();
- CLOSE_DISPS(globalCtx->state.gfxCtx);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement