H-uru / moul-assets

A collection of fan-maintained game assets and sources used by Myst Online.
Other
21 stars 17 forks source link

Fix Bahro Cave Kadish pole snow animation #244

Closed DamnBriggsy closed 1 year ago

DamnBriggsy commented 1 year ago

Snow ("static") animation for the Kadish pole in the Bahro Cave did not actually move due to what is likely a copy-paste error. A small change to this prp fixes the issue mentioned in https://github.com/H-uru/moul-assets/issues/231

The Layer Animation Snow1_LayerAnim_1 had line 10 of the UVW Transform animation controller changed to <hsMatrix44 identity="True" /> where previously it was a duplicate of line 7.

Hoikas commented 1 year ago

It appears that this PR changes a number of the ObjIDs for textures used in the YeeshaCave PRP file. Can you verify that these references have not been shattered by an old PRP Shop? If you're working with a current build of PRP Shop with all PRPs opened, I would not expect for any ObjIDs to change in this PR.

image

DamnBriggsy commented 1 year ago

Looking at bhro_lightsupport*0#0.hsm in BahroCave_District_Textures.prp, its ObjID is 9. When I open BahroCave.age in prpshop and save it, it seems to change BahroCave_District_YeeshaCave.prp to match. If open all 3 .prps individually in prpshop, the ObjID for the same texture is still 9. This happens in the build I have from January and the installed version currently up as the release in the repo. I'll keep working to try and resolve this.

DamnBriggsy commented 1 year ago

YeeshaCave prp was saved first, then the textures prp following a series of events culminating in https://github.com/H-uru/libhsplasma/pull/279. Everything looks okay on my end after this.

Hoikas commented 1 year ago

I'm still seeing reference shattering

image

DamnBriggsy commented 1 year ago

I cannot make this change to the PRP without it affecting the ObjIDs, no matter what combination of plasmashop version and order in which things are saved I try. What's more, even though I save the textures PRP, there are no changes to the file and it cannot be pushed along with the YeeshaCave prp on my branch. I also can't explain why it works properly in-game with the ObjIDs changed the way they are. There are no errors shown from broken texture references, despite replacing only the YeeshaCave prp in the game files with the new version.

I've done all I can think of to make this edit without affecting the ObjIDs, which much help from chat. I am completely at a loss for what else to try at this point.

Hoikas commented 1 year ago

I've reproduced the changes with PRPShop 2022.05.19 and pushed the result to this PR. I see no evidence of ObjID shattering in my commit. The changes in the GenericPhysicals is expected. Can you make sure the fix still works as expected?

DamnBriggsy commented 1 year ago

This looks like it might be identical to another version of this file I created by either opening just YeeshaCave's prp or all 3 without the .age file. Regardless, the visual effect is the same (many of the textures in the age are scrambled).

The only time it's worked for me has been when the ObjIDs get messed with, and this happens when I open the .age file in prpshop. The .age file needed to be modified to have the nonexistent page removed in order to be opened in this way.

image

Hoikas commented 1 year ago

I reverted my commit to this PR because I see the same breakage. According to libHSPlasma, the changes to ObjIDs made by @DamnBriggsy actually fix incorrect references already in YeeshaCave.prp. What's weird is that the game does not report any problems with the current dataset.

Hoikas commented 1 year ago

As a recap, the original PRP files use an ObjID of zero to reference the textures. libHSPlasma is replacing those zeros with the actual ObjIDs in the Textures PRP.

DamnBriggsy commented 1 year ago

Could a maintainer please remove the tag awaiting author?