1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-10-20 13:40:02 +00:00

z_skin OK and z_skin_awb decomped (one barely nonmatching) (#632)

* skin_awb some functions done

* more matches

* stuff

* matching skins

* closer?

* less skin

* skin

* format

* one thing

* merge actor

Co-authored-by: gns <adamkiddle23@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
This commit is contained in:
petrie911 2021-02-12 13:41:34 -06:00 committed by GitHub
commit 5f552a369c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 255 additions and 880 deletions

View file

@ -1365,7 +1365,7 @@ void func_800A6460(GlobalContext* globalCtx, PSkinAwb* skin, s32 arg2);
void func_800A663C(GlobalContext* globalCtx, PSkinAwb* skin, SkeletonHeader* skeletonHeader,
AnimationHeader* animationHeader);
void func_800A6888(GlobalContext* globalCtx, PSkinAwb* skin);
s32 func_800A698C(PSkinAwb* skin, SkinLimb** limbs, Mtx* arg2, u8 arg3, u8 arg4);
s32 func_800A698C(PSkinAwb* skin, SkinLimb** limbs, MtxF* arg2, u8 arg3, u8 arg4);
s32 func_800A6AC4(PSkinAwb* skin, MtxF* arg1, Actor* actor, s32 arg3);
void SkinMatrix_Vec3fMtxFMultXYZW(MtxF* mf, Vec3f* src, Vec3f* xyzDest, f32* wDest);
void SkinMatrix_Vec3fMtxFMultXYZ(MtxF* mf, Vec3f* src, Vec3f* dest);

View file

@ -47,6 +47,11 @@
// NOTE: Once we start supporting other builds, this can be changed with an ifdef
#define REGION_NATIVE REGION_EU
typedef struct{
/* 0x00 */ char unk[0x4];
/* 0x04 */ MtxF mf;
} HorseStruct;
// Game Info aka. Static Context (dbg ram start: 80210A10)
// Data normally accessed through REG macros (see regs.h)
typedef struct {

View file

@ -51,7 +51,7 @@ typedef struct {
/* 0x06 */ u8 child;
/* 0x07 */ u8 sibling;
/* 0x08 */ s32 unk_8; // Type of data contained in segment
/* 0x0C */ UNK_PTR segment; // Segment address of data. Currently unclear what.
/* 0x0C */ void* segment; // Segment address of data. Currently unclear what.
} SkinLimb; // size = 0x10
// Model has limbs with only rigid meshes
@ -266,11 +266,12 @@ typedef struct SkelAnime {
typedef struct {
/* 0x000 */ u16 unk_0;
/* 0x002 */ char unk_2[0x4];
/* 0x002 */ s16 unk_2;
/* 0x004 */ s16 unk_4;
/* 0x006 */ s8 unk_6;
/* 0x007 */ s8 unk_7;
/* 0x008 */ s8 unk_8;
/* 0x009 */ char unk_9[0x1];
/* 0x009 */ u8 unk_9;
} Struct_800A57C0; // size = 0xA
typedef struct {
@ -282,19 +283,19 @@ typedef struct {
} Struct_800A598C_2; // size = 0xA
typedef struct {
/* 0x000 */ char unk_0[0x2];
/* 0x000 */ u16 unk_0;
/* 0x002 */ u16 unk_2;
/* 0x004 */ u32 unk_4;
/* 0x008 */ Gfx* unk_8;
} Struct_800A5E28;
/* 0x004 */ u16 unk_4;
/* 0x008 */ Struct_800A57C0* unk_8;
/* 0x00C */ Struct_800A598C_2* unk_C;
} Struct_800A598C; // size = 0x10
typedef struct {
/* 0x000 */ u16 unk_0;
/* 0x002 */ u16 unk_2;
/* 0x004 */ u16 unk_4;
/* 0x008 */ s32 unk_8;
/* 0x00C */ s32 unk_C;
} Struct_800A598C; // size = 0x10
/* 0x004 */ Struct_800A598C* unk_4;
/* 0x008 */ Gfx* unk_8;
} Struct_800A5E28;
typedef struct {
/* 0x000 */ u8 unk_0;