Skip to content

Additional documentation for z_skin system - #2804

Open
Thar0 wants to merge 4 commits into
zeldaret:mainfrom
Thar0:skin-doc
Open

Additional documentation for z_skin system#2804
Thar0 wants to merge 4 commits into
zeldaret:mainfrom
Thar0:skin-doc

Conversation

@Thar0

@Thar0 Thar0 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Recent fast64 work to support this system inspired me to take another look at this and document it some more.

@fig02 fig02 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

woah imagine me reviewing something, I promise I'll be back for real someday ™️

Comment thread include/skin.h Outdated
Comment thread src/code/z_skin.c Outdated
Comment thread src/code/z_skin.c Outdated
Comment thread src/code/z_skin.c Outdated
Comment thread include/skin.h Outdated
Comment thread include/skin.h Outdated
Comment thread include/skin.h Outdated
Comment thread include/skin.h Outdated
Comment thread include/skin.h
*/
typedef struct SkinVertex {
/* 0x00 */ u16 index;
/* 0x00 */ u16 index; // output vertex buffer index

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/* 0x00 */ u16 index; // output vertex buffer index
/* 0x00 */ u16 index; // index into the output vertex buffer

Comment thread include/skin.h
/**
* Holds a compact version of a vertex used in the Skin system
* It is used to initialise the Vtx used by an animated limb
* It is used to initialise the Vtx used by an animated limb to common data

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* It is used to initialise the Vtx used by an animated limb to common data
* It is used to initialize the Vtx used by an animated limb to common data

Comment thread include/skin.h
/* 0x02 */ u16 transformCount;
/* 0x04 */ u16 unk_4; // index of limbTransformations?
/* 0x02 */ u16 transformCount; // number of transformations
/* 0x04 */ u16 staticLimbTransformationIndex; // indicates where to find the limb-space normal, or if singleBindFlag where to also find the limb-space position

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/* 0x04 */ u16 staticLimbTransformationIndex; // indicates where to find the limb-space normal, or if singleBindFlag where to also find the limb-space position
/* 0x04 */ u16 mainBindLimbTransformationIndex; // indicates where to find the limb-space normal, or if singleBindFlag where to also find the limb-space position

I wouldn't be surprised if that value is the one with most weight in the multi-bind path, so I'd call it "main"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants