1
0
Fork 0
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:
Roman971 2020-07-15 17:23:57 +02:00 committed by GitHub
parent 4e1fc875c3
commit 106f7a3f6a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 51 additions and 451 deletions

View file

@ -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);

View file

@ -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;