mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-06 14:20:11 +00:00
z_skin_matrix.c decompiled (1 non matching, 1 non equivalent) (#243)
* func_800A7BE4 and func_800A7C20 done - func_800A7BE4 copy of "Math_Vec3f_ToVec3s" in z_lib.c - func_800A7C20 copy of "Math_Vec3s_ToVec3f" in z_lib.c * done func_800A7A24 * func_800A76A4 done * func_800A6E10 done * func_800A6EF4 done * func_800A6FA0 done * func_800A72FC done * Deleted z_skin_matrix.data.s and updated spec * func_800A730C done * func_800A735C done * func_800A7E70 done, func_800A7C60 matching but I'm not happy with it (weird types in function params) * Corrections. func_800A7C60 in skin_matrix done, Matrix_MtxFToMtx in sys_matrix done. * func_800A7EC0 nonmatching * func_800A8030 nonmatching but VERY close (two registers swapped) * func_800A8030 done * updating comments * func_800A7704 done * func_800A7894 done * halfway through deciphering mips_to_c for func_800A73E0 * func_800A73E0 functional but non-matching (saved register differences and probably regalloc) * Renaming some arguments and rewriting comments * Renamed files across whole project and deleted asm nonmatchings * ran format.sh * fixed function name * fixing multiplcation order in SkinMatrix_MtxFMtxFMult * Corrections in SkinMatrix_MtxFMtxFMult * Formatting changes after review * Changes as per code review * fixing rename error * fixing rename error * rename fixes * fixing function rename error * ran ./format.sh * last couple of changes as per code review * renamed SetScaling -> SetScale * Skin_Matrix_Invert -> SkinMatrix_Invert * Renaming and fixing debug message print * Renamed argument "mf" to more specific "clear" in SkinMatrix_GetClear * renamed again to "mfp" * snake case to camel case changes
This commit is contained in:
parent
34c73dda62
commit
54f762b419
85 changed files with 947 additions and 1443 deletions
|
@ -65,14 +65,14 @@ void EffectSsBomb_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
|
|||
|
||||
scale = this->regs[SS_BOMB_SCALE] / 100.0f;
|
||||
|
||||
func_800A7A24(&sp12C, this->pos.x, this->pos.y, this->pos.z);
|
||||
func_800A76A4(&spEC, scale, scale, 1.0f);
|
||||
func_800A6FA0(&sp12C, &globalCtx->mf_11DA0, &sp6C);
|
||||
func_800A6FA0(&sp6C, &spEC, &spAC);
|
||||
SkinMatrix_SetTranslate(&sp12C, this->pos.x, this->pos.y, this->pos.z);
|
||||
SkinMatrix_SetScale(&spEC, scale, scale, 1.0f);
|
||||
SkinMatrix_MtxFMtxFMult(&sp12C, &globalCtx->mf_11DA0, &sp6C);
|
||||
SkinMatrix_MtxFMtxFMult(&sp6C, &spEC, &spAC);
|
||||
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
mtx = func_800A7E70(gfxCtx, &spAC);
|
||||
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &spAC);
|
||||
|
||||
if (mtx != NULL) {
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
|
|
@ -87,12 +87,12 @@ void EffectSsBomb2_DrawFade(GlobalContext* globalCtx, u32 index, EffectSs* this)
|
|||
Graph_OpenDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb2.c", 298);
|
||||
|
||||
scale = this->regs[SS_BOMB2_SCALE] * 0.01f;
|
||||
func_800A7A24(&sp11C, this->pos.x, this->pos.y, this->pos.z);
|
||||
func_800A76A4(&spDC, scale, scale, 1.0f);
|
||||
func_800A6FA0(&sp11C, &globalCtx->mf_11DA0, &sp5C);
|
||||
SkinMatrix_SetTranslate(&sp11C, this->pos.x, this->pos.y, this->pos.z);
|
||||
SkinMatrix_SetScale(&spDC, scale, scale, 1.0f);
|
||||
SkinMatrix_MtxFMtxFMult(&sp11C, &globalCtx->mf_11DA0, &sp5C);
|
||||
|
||||
func_800A6FA0(&sp5C, &spDC, &sp9C);
|
||||
mtx = func_800A7E70(gfxCtx, &sp9C);
|
||||
SkinMatrix_MtxFMtxFMult(&sp5C, &spDC, &sp9C);
|
||||
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp9C);
|
||||
|
||||
if (mtx != NULL) {
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
@ -134,15 +134,15 @@ void EffectSsBomb2_DrawLayered(GlobalContext* globalCtx, u32 index, EffectSs* th
|
|||
|
||||
temp_f24 = this->regs[SS_BOMB2_A];
|
||||
scale = this->regs[SS_BOMB2_SCALE] * 0.01f;
|
||||
func_800A7A24(&sp1B4, this->pos.x, this->pos.y, this->pos.z);
|
||||
func_800A76A4(&sp174, scale, scale, 1.0f);
|
||||
func_800A6FA0(&sp1B4, &globalCtx->mf_11DA0, &spF4);
|
||||
func_800A6FA0(&spF4, &sp174, &sp134);
|
||||
mtx = func_800A7E70(gfxCtx, &sp134);
|
||||
SkinMatrix_SetTranslate(&sp1B4, this->pos.x, this->pos.y, this->pos.z);
|
||||
SkinMatrix_SetScale(&sp174, scale, scale, 1.0f);
|
||||
SkinMatrix_MtxFMtxFMult(&sp1B4, &globalCtx->mf_11DA0, &spF4);
|
||||
SkinMatrix_MtxFMtxFMult(&spF4, &sp174, &sp134);
|
||||
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp134);
|
||||
|
||||
if (mtx != NULL) {
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
mtx2 = func_800A7E70(gfxCtx, &sp134);
|
||||
mtx2 = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp134);
|
||||
|
||||
if (mtx2 != NULL) {
|
||||
func_80094BC4(gfxCtx);
|
||||
|
|
|
@ -96,13 +96,13 @@ void EffectSsDust_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
|
|||
|
||||
scale = this->regs[SS_DUST_SCALE] * 0.0025f;
|
||||
|
||||
func_800A7A24(&sp144, this->pos.x, this->pos.y, this->pos.z);
|
||||
func_800A76A4(&sp104, scale, scale, 1.0f);
|
||||
func_800A6FA0(&sp144, &globalCtx->mf_11DA0, &sp84);
|
||||
func_800A6FA0(&sp84, &sp104, &spC4);
|
||||
SkinMatrix_SetTranslate(&sp144, this->pos.x, this->pos.y, this->pos.z);
|
||||
SkinMatrix_SetScale(&sp104, scale, scale, 1.0f);
|
||||
SkinMatrix_MtxFMtxFMult(&sp144, &globalCtx->mf_11DA0, &sp84);
|
||||
SkinMatrix_MtxFMtxFMult(&sp84, &sp104, &spC4);
|
||||
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
mtx = func_800A7E70(gfxCtx, &spC4);
|
||||
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &spC4);
|
||||
|
||||
if (mtx != NULL) {
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
|
|
@ -94,12 +94,12 @@ void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
|
|||
|
||||
scale = this->regs[SS_G_SPK_SCALE] * 0.0025f;
|
||||
|
||||
func_800A7A24(&sp11C, this->pos.x, this->pos.y, this->pos.z);
|
||||
func_800A76A4(&spDC, scale, scale, 1.0f);
|
||||
func_800A6FA0(&sp11C, &globalCtx->mf_11DA0, &sp5C);
|
||||
func_800A6FA0(&sp5C, &spDC, &sp9C);
|
||||
SkinMatrix_SetTranslate(&sp11C, this->pos.x, this->pos.y, this->pos.z);
|
||||
SkinMatrix_SetScale(&spDC, scale, scale, 1.0f);
|
||||
SkinMatrix_MtxFMtxFMult(&sp11C, &globalCtx->mf_11DA0, &sp5C);
|
||||
SkinMatrix_MtxFMtxFMult(&sp5C, &spDC, &sp9C);
|
||||
|
||||
mtx = func_800A7E70(gfxCtx, &sp9C);
|
||||
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp9C);
|
||||
|
||||
if (mtx != NULL) {
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue