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

Castle Entrance (NP3): 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 Castle Entrance map work in Symphony of the Night. You will have the freedom of documenting what an entity does and take ownership of each entity function. This is very similar to #746 as they both share a large amount of code.

Acceptance criteria

For the overlay NP3 and all the files under src/st/np3, 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 at EntityCavernDoorLever, duplicate of #746

Xeeynamo avatar Sep 21 '24 11:09 Xeeynamo