mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-15 04:14:34 +00:00
Various fixes/matches
- Matched all remaining functions in `__osMalloc.c`, 2 functions in `code_8007BF90.c`, 1 in `code_800A9F30.c`, 2 in `fault.c`, 1 in `fault_drawer.c`, 1 in `gfxprint.c`, 2 in `z_camera.c` - Improved most other remaining non matchings to ensure they are actually equivalent and to get them closer to matching - Added a `alloc.h` header file in the process of working on `fault.c` non matchings - Decompiled `padmgr.c` data/bss in order to improve padmgr non matchings - Removed unused `z_en_wallmas.c` data files - Moved functions confirmed to be in `z_cheap_proc.c` to their own file with that name
This commit is contained in:
parent
2c7a339a81
commit
76eb52ab52
37 changed files with 549 additions and 2829 deletions
|
@ -1,7 +1,7 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
void func_8007C1AC(Vec3f* dest, struct_80045714* arg1);
|
||||
Vec3f* func_8007C1AC(Vec3f* dest, struct_80045714* arg1);
|
||||
|
||||
f32 func_8007BF90(Vec3f* a, Vec3f* b)
|
||||
{
|
||||
|
@ -33,49 +33,48 @@ f32 func_8007C058(f32 arg0, f32 arg1)
|
|||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C0A8.s")
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_8007C0F8(Vec3f* dest, Vec3f* a, Vec3f* b)
|
||||
Vec3f* func_8007C0F8(Vec3f* dest, Vec3f* a, Vec3f* b)
|
||||
{
|
||||
Vec3f v1;
|
||||
Vec3f v2;
|
||||
f32 temp;
|
||||
|
||||
v1.x = b->x - a->x;
|
||||
v1.y = b->y - a->y;
|
||||
v1.z = b->z - a->z;
|
||||
|
||||
temp = func_8007C058(sqrtf(SQ(v1.x) + SQ(v1.y) + SQ(v1.z)), 0.01f);
|
||||
|
||||
v2.x = v1.x / temp;
|
||||
v2.y = v1.y / temp;
|
||||
v2.z = v1.z / temp;
|
||||
|
||||
*dest = v2;
|
||||
|
||||
return dest;
|
||||
}
|
||||
|
||||
Vec3f* func_8007C1AC(Vec3f* dest, struct_80045714* arg1)
|
||||
{
|
||||
f32 fVar1;
|
||||
Vec3f v;
|
||||
f32 sin4;
|
||||
f32 cos4;
|
||||
f32 sin6;
|
||||
f32 cos6;
|
||||
|
||||
v.x = b->x - a->x;
|
||||
v.y = b->y - a->y;
|
||||
v.z = b->z - a->z;
|
||||
cos4 = Math_Coss(arg1->unk_04);
|
||||
cos6 = Math_Coss(arg1->unk_06);
|
||||
sin4 = Math_Sins(arg1->unk_04);
|
||||
sin6 = Math_Sins(arg1->unk_06);
|
||||
|
||||
fVar1 = func_8007C058(sqrtf(v.x * v.x + v.y * v.y + v.z * v.z), D_8013CB80);
|
||||
v.x = arg1->unk_00 * sin4 * sin6;
|
||||
v.y = arg1->unk_00 * cos4;
|
||||
v.z = arg1->unk_00 * sin4 * cos6;
|
||||
|
||||
dest->x = v.x / fVar1;
|
||||
dest->y = v.y / fVar1;
|
||||
dest->z = v.z / fVar1;
|
||||
*dest = v;
|
||||
|
||||
return dest;
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C0F8.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_8007C1AC(Vec3f* dest, struct_80045714* arg1)
|
||||
{
|
||||
f32 fVar1;
|
||||
f32 fVar2;
|
||||
f32 fVar3;
|
||||
f32 fVar4;
|
||||
f32 fVar5;
|
||||
f32 fVar6;
|
||||
|
||||
fVar1 = Math_Coss(arg1->unk_04);
|
||||
fVar2 = Math_Coss(arg1->unk_06);
|
||||
fVar3 = Math_Coss(arg1->unk_04);
|
||||
fVar4 = Math_Coss(arg1->unk_06);
|
||||
fVar6 = arg1->unk_00;
|
||||
fVar5 = arg1->unk_00;
|
||||
dest->x = arg1->unk_00 * fVar3 * fVar4;
|
||||
dest->y = fVar6 * fVar1;
|
||||
dest->z = fVar5 * fVar3 * fVar2;
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C1AC.s")
|
||||
#endif
|
||||
|
||||
void func_8007C3F4(struct_80045714* arg0, Vec3f* arg1);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue