sotn-decomp icon indicating copy to clipboard operation
sotn-decomp copied to clipboard

Prologue stage and Dracula: Remove the legacy .ext.generic

Open Xeeynamo opened this issue 2 years ago • 1 comments

What

In the past we used a structure for our Entity system that held all the unknown values. Later on we found the last 0x40 bytes are a reserved memory area for each entity to store their custom values. After a few proposals #187, #188, #195 we decided to come with a pattern where all this reserved areas for each entity will fall into their respective unique struct found in include/entity.h with ET_ as a prefix. This approach was never retroactively applied to the already decompiled entities, which are now using the structure ET_Generic and used as .ext.generic. This is legacy and it is creating unnecessary coupling to a dying structure.

This is an opportunity to learn how the Prologue stage and Dracula work in Symphony of the Night. You will have the freedom of documenting what an entity does and take ownership of each entity function.

Acceptance criteria

For the overlay ST0 and all the files under src/st/st0, remove any reference to .ext.generic and use dedicated structures for the entity. No union or weird casts should to be used with the new structures.

Xeeynamo avatar Nov 07 '23 18:11 Xeeynamo

Only one left in EntityCutscene

Xeeynamo avatar Sep 21 '24 11:09 Xeeynamo