Closed dpogue closed 6 years ago
An addition to this (that should probably spawn a libHSPlasma bug) is that PotS exports have the wrong controllers inside the applicator for some lighting:
PotS should have plPointControllerChannel -> plSimplePosController -> plPoint3Controller
MOUL should have plPointControllerChannel -> plLeafController
Korman is generating MOUL controllers and letting libHSPlasma downgrade them, but the downgrade process is producing plPointControllerChannel -> plPoint3Controller
which crashes the game.
Note to self: for the addenum, libHSPlasma's plLeafController::ExpandToKeyController()
needs to be corrected to produce the appropriate "Simple" controllers.
It appears that we will need to selectively remove inverse square omni light animations for PotS exports.
That sounds messy.
This can be closed when H-uru/libhsplasma#105 is merged.
Fixed by libHSPlasma merge
Animating the energy on an omni lamp will create a plOmniSqApplicator, which is correct for MOUL but that class doesn't exist in PotS. The result is that libHSPlasma writes a null creatable (0x8000) for the AGApplicator and the exported files cause other tools to crash.
We should either only generate the OmniSqApplicator for MOUL-compatible exports, or have some step in libHSPlasma to filter out unsupported classes without writing nulls.