mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-07 14:50:15 +00:00
Match and improve some non matchings (#254)
This commit is contained in:
parent
4e1fc875c3
commit
106f7a3f6a
12 changed files with 51 additions and 451 deletions
|
@ -636,7 +636,7 @@ void func_80A543A0(EnHeishi2* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
void func_80A544AC(EnHeishi2* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.z, -0x17D4, 5, (s16)(s32)(f32)this->unk_2E4, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.z, -6100, 5, this->unk_2E4, 0);
|
||||
Math_SmoothScaleMaxF(&this->unk_2E4, 3000.0f, 1.0f, 500.0f);
|
||||
this->actor.posRot.rot.z = this->actor.shape.rot.z;
|
||||
if (this->actor.shape.rot.z < -6000) {
|
||||
|
@ -647,12 +647,10 @@ void func_80A544AC(EnHeishi2* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// regalloc differences
|
||||
void func_80A5455C(EnHeishi2* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->actor;
|
||||
Vec3f pos;
|
||||
s32 rotY;
|
||||
f32 rotY;
|
||||
EnBom* bomb;
|
||||
|
||||
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
|
||||
|
@ -674,9 +672,6 @@ void func_80A5455C(EnHeishi2* this, GlobalContext* globalCtx) {
|
|||
this->actionFunc = func_80A546DC;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Heishi2/func_80A5455C.s")
|
||||
#endif
|
||||
|
||||
void func_80A546DC(EnHeishi2* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.z, 200, 5, this->unk_2E4, 0);
|
||||
|
|
|
@ -584,36 +584,31 @@ s32 func_80B4F45C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
|
|||
return 0;
|
||||
}
|
||||
|
||||
void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx);
|
||||
#ifdef NON_MATCHING
|
||||
// Stack issue in two instructions - made much better with the pad
|
||||
void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) {
|
||||
s32 pad[2];
|
||||
EnZl2* this = THIS;
|
||||
Player* player;
|
||||
s32 pad[2];
|
||||
|
||||
if (limbIndex == 10) {
|
||||
if ((this->unk_254 != 0) && (globalCtx->csCtx.frames >= 900)) {
|
||||
gSPDisplayList((*gfx)++, &D_0600BAE8);
|
||||
}
|
||||
|
||||
player = PLAYER;
|
||||
Matrix_Push();
|
||||
if (player->unk_15D == 0xFF) {
|
||||
Matrix_Put(&player->mf_A20);
|
||||
Matrix_Translate(180.0f, 979.0f, -375.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateRPY(-0x5DE7, -0x53E9, 0x3333, MTXMODE_APPLY);
|
||||
Matrix_Scale(1.2f, 1.2f, 1.2f, MTXMODE_APPLY);
|
||||
gSPMatrix((*gfx)++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1253),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList((*gfx)++, &D_0600BAE8);
|
||||
{
|
||||
Player* player = PLAYER;
|
||||
Matrix_Push();
|
||||
if (player->unk_15D == 0xFF) {
|
||||
Matrix_Put(&player->mf_A20);
|
||||
Matrix_Translate(180.0f, 979.0f, -375.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateRPY(-0x5DE7, -0x53E9, 0x3333, MTXMODE_APPLY);
|
||||
Matrix_Scale(1.2f, 1.2f, 1.2f, MTXMODE_APPLY);
|
||||
gSPMatrix((*gfx)++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1253),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList((*gfx)++, &D_0600BAE8);
|
||||
}
|
||||
Matrix_Pull();
|
||||
}
|
||||
Matrix_Pull();
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Zl2/EnZl2_PostLimbDraw.s")
|
||||
#endif
|
||||
|
||||
void func_80B4FCCC(EnZl2* this, GlobalContext* globalCtx) {
|
||||
s32 unk_274 = this->unk_274;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue