Closed EternalFlower closed 2 years ago
Seems good. Like I'd mentioned to you, the face overwriting was a great idea that I'd never gotten around to and the refactor was due on that class. The more new variations that get added, the jankier that was gonna get.
Refactor Character Handler:
Refactor Character Handler instead of 1 handler handles all model versions, there is 1 handler per version.
The reason for this change is checking which version outside of the handler introduces bugs where a switch case for the new version is forgotten (like xxpGeneralReboot::GetBytes).
There is also a bug in WriteXXP. In WriteXXP, it always uses version 10 size and data structure. By moving to 1 handler per model version, we can avoid having to check the size tag and data structure.
Overwrite Face Function: With the introduction of version 12 of the character model file, pso2 face is stored in AltFaceFIGR. Right now, if the user wants to reuse an old face, they will have to recreate it from scratch or try to load it from an older file and have it overwrite their NGS face.
The overwrite face function will take the face FIGR from another file and overwrites base or NGS face alone.