Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Identify some unaccounted and blob asset data #1953

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

cadmic
Copy link
Contributor

@cadmic cadmic commented May 25, 2024

I tried to go through all "unaccounted" or "blob" assets (except for room files). I kept track of things with a spreadsheet (notes with question marks are things I didn't solve in this PR).

Common problems:

  • Very commonly there's an extra 8 bytes of palette data after palettes loaded with gsDPLoadTLUT_pal256. I left these as-is for now.
  • ZAPD only discovers Vtxs that are used instead of marking the entire array. I explicitly wrote these vertex arrays but maybe this isn't necessary if extraction is smarter in the future.
  • A few animations have blocks of 0s after them which isn't explained by file padding. I marked these as Blobs since that's what most of them were already.
  • Some textures (mostly indexed ones) I didn't want to figure out so I left them as Blobs.

@@ -12,6 +12,6 @@
<DList Name="object_door_killer_DL_001550" Offset="0x1550"/>
<DList Name="object_door_killer_DL_0017B8" Offset="0x17B8"/>
<DList Name="object_door_killer_DL_001A58" Offset="0x1A58"/>
<Skeleton Name="object_door_killer_Skel_001BC8" Type="Flex" LimbType="Standard" Offset="0x1BC8"/>
<Skeleton Name="object_door_killer_Skel_001BC8" Type="Flex" LimbType="LOD" Offset="0x1BC8"/>
Copy link
Collaborator

Choose a reason for hiding this comment

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

lod type? this seems weird, i dont think the code that draws it agrees. can the non-lod draw functions draw lod limbs?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The struct layout for StandardLimb and LodLimb is the same except for an extra Gfx* pointer, so I think non-lod draw functions would work on LodLimb. I'm not really sure what to make of this, for these limbs the two display lists are the same so it doesn't seem very LOD-y

Comment on lines +610 to 611
SkelAnime_Init(play, &this->skelAnime, &gBarinadeBariSkel.sh, &gBarinadeBariAnim, NULL, NULL, 0);
this->actor.shape.yOffset = 400.0f;
Copy link
Collaborator

Choose a reason for hiding this comment

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

these cases of using the sh field feel weird, wasnt aware there were cases of the wrong skelanime function being used. I guess if it ends up working in practice its fine

Copy link
Contributor Author

Choose a reason for hiding this comment

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

An alternative could be: (SkeletonHeader*)&gBarinadeBariSkel

Copy link
Collaborator

Choose a reason for hiding this comment

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

right yeah I was thinking this as well. I think i like a cast more but someone else should prob weigh in too

@cadmic
Copy link
Contributor Author

cadmic commented Jun 25, 2024

Feedback from discord: skeleton weirdness should get @bug comments

Also this conflicts with #1973, I'd rather that get merged first and I'll update this PR after

@cadmic cadmic marked this pull request as draft July 18, 2024 16:20
@fig02
Copy link
Collaborator

fig02 commented Oct 13, 2024

do we want to try reviving this soon?
I think of the above conversations I would still prefer the cast. And bug comments can happen now or later

@cadmic
Copy link
Contributor Author

cadmic commented Oct 13, 2024

I'll get to this eventually sorry, just that doing this for other versions too is not the most exciting

@Dragorn421
Copy link
Collaborator

You don't have to do it for everything, assets are still very much best effort territory

@cadmic
Copy link
Contributor Author

cadmic commented Oct 13, 2024

yeah I just mean solving merge conflicts with all the _v2.xml files

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

Successfully merging this pull request may close these issues.

3 participants