Skip to content

feat: discover AnimFeature usage in entAnimationControllerComponent#208

Draft
poirierlouis wants to merge 1 commit into
wopss:masterfrom
rayshader:feat/entAnimationControllerComponent
Draft

feat: discover AnimFeature usage in entAnimationControllerComponent#208
poirierlouis wants to merge 1 commit into
wopss:masterfrom
rayshader:feat/entAnimationControllerComponent

Conversation

@poirierlouis

@poirierlouis poirierlouis commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

Research

Reference
Hash of ApplyFeature: 316482401

Work in progress

  • runtime validation
  • changelog

RED4EXT_ASSERT_OFFSET(AnimFeatureEntry, name, 0x00);
RED4EXT_ASSERT_OFFSET(AnimFeatureEntry, animFeature, 0x08);

struct AnimFeatureContainer

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

  • more likely AnimationFeatureController
  • should inherit IScriptable


struct AnimFeatureContainer
{
uint8_t unk00[0x70]; // 00

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

uint8_t unk40[0x70 - 0x40];              // 40

uint8_t unk80[0xE6 - 0x80]; // 80
bool isDirty; // E6
};
RED4EXT_ASSERT_SIZE(AnimFeatureContainer, 0xE8); // Size is at least 0xE8, it may be bigger

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Maybe I should remove this assert entirely instead?

@poirierlouis poirierlouis left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Notes for future me.

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.

1 participant