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:
parent
a30b5bbb26
commit
5f552a369c
11 changed files with 255 additions and 880 deletions
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue