Advertisement
fggkyle

Untitled

Jul 7th, 2021
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. void func_80B4DB14(Actor* thisx, GlobalContext* globalCtx) {
  2. EnInvadepoh* this = THIS;
  3. Gfx* gfx;
  4. Vec3f sp80;
  5. Vec3f sp74;
  6. s32 alpha2;
  7. f32 new_var2;
  8. s8 new_var;
  9. void** new_var3;
  10.  
  11. OPEN_DISPS(globalCtx->state.gfxCtx);
  12. func_8012C2DC(globalCtx->state.gfxCtx);
  13. SysMatrix_StatePush();
  14. // new_var = this->drawAlien;
  15. if (this->drawAlien) {
  16. if (this->alienAlpha == 255) {
  17. func_8012C28C(globalCtx->state.gfxCtx);
  18. AnimatedMat_Draw(globalCtx, D_80B50400);
  19. Scene_SetRenderModeXlu(globalCtx, 0, 1);
  20. // new_var3 = this->skelAnime.skeleton;
  21.  
  22. gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
  23. POLY_OPA_DISP = SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
  24. this->skelAnime.dListCount, func_80B4D9D8, func_80B4D9F4, &this->actor,
  25. POLY_OPA_DISP);
  26. // gfx = POLY_OPA_DISP;
  27. } else {
  28. AnimatedMat_Draw(globalCtx, D_80B50400);
  29. Scene_SetRenderModeXlu(globalCtx, 1, 2);
  30. gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alienAlpha);
  31. POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
  32. this->skelAnime.dListCount, func_80B4D9D8, func_80B4D9F4, &this->actor,
  33. POLY_XLU_DISP);
  34. }
  35.  
  36. if (this->alienBeamAlpha != 0) {
  37. AnimatedMat_Draw(globalCtx, D_80B503FC);
  38. gfx = POLY_XLU_DISP;
  39. gDPPipeSync(gfx++);
  40. gDPSetPrimColor(gfx++, 0, 255, 240, 180, 100, 60);
  41. gDPSetEnvColor(gfx++, 255, 255, 255, this->alienBeamAlpha * 0.5882353f);
  42. SysMatrix_InsertMatrix(&D_80B502A0, MTXMODE_NEW);
  43. gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
  44. dummy:;
  45. gSPDisplayList(gfx++, D_06000080);
  46. SysMatrix_InsertMatrix(&D_80B502E0, MTXMODE_NEW);
  47. gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
  48. gSPDisplayList(gfx++, D_06000080);
  49. POLY_XLU_DISP = gfx;
  50. }
  51. }
  52.  
  53. // POLY_XLU_DISP = gfx;
  54. // dummy3:;
  55.  
  56. if (this->drawAlienDeathEffect) {
  57. SysMatrix_SetStateRotationAndTranslation(this->actor.world.pos.x, this->actor.world.pos.y + 68.0f,
  58. this->actor.world.pos.z, &this->actor.shape);
  59. Matrix_Scale(this->alienDeathEffectScale.x, this->alienDeathEffectScale.y, this->alienDeathEffectScale.z,
  60. MTXMODE_APPLY);
  61. gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
  62. gfx = POLY_XLU_DISP;
  63. gSPDisplayList(gfx++, D_06000720);
  64. POLY_XLU_DISP = gfx;
  65. }
  66.  
  67. if (this->drawAlien) {
  68. // dummy2:;
  69. gfx = POLY_XLU_DISP;
  70. POLY_XLU_DISP = gfx;
  71. gfx = func_8012C868(gfx);
  72. gSPSetOtherMode(gfx++, G_SETOTHERMODE_H, 4, 4, 0x00000080);
  73. gDPSetCombineLERP(gfx++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE,
  74. 0);
  75. SysMatrix_InsertMatrix(&globalCtx->mf_187FC, MTXMODE_NEW);
  76. SysMatrix_GetStateTranslationAndScaledZ(60.0f, &sp80);
  77. sp74.x = thisx->world.pos.x + sp80.x;
  78. sp74.y = thisx->world.pos.y + sp80.y + 68.0f;
  79. sp74.z = thisx->world.pos.z + sp80.z;
  80. SysMatrix_InsertTranslation(sp74.x, sp74.y, sp74.z, MTXMODE_NEW);
  81. Matrix_Scale(0.25f, 0.25f, 0.25f, MTXMODE_APPLY);
  82. if (globalCtx) {}
  83. alpha2 = this->alienAlpha * 0.39215687f;
  84. gSPDisplayList(gfx++, D_04029CB0);
  85. gDPSetPrimColor(gfx++, 0, 0, 0xF0, 0xB4, 0x64, alpha2);
  86. if (globalCtx) {}
  87. gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
  88. gSPDisplayList(gfx++, D_04029CF0);
  89. POLY_XLU_DISP = gfx;
  90.  
  91. if ((this->alienAlpha > 128) && func_80B456A8(globalCtx, &sp74)) {
  92. func_800F9824(globalCtx, &globalCtx->envCtx, &globalCtx->view, globalCtx->state.gfxCtx, sp74, 10.0f, 9.0f,
  93. 0, 0);
  94. }
  95. }
  96.  
  97. SysMatrix_StatePop();
  98. CLOSE_DISPS(globalCtx->state.gfxCtx);
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement