@Pstemarie sorry, I just realized that I had not responded to you. That definitely sounds interesting, but based on where I’m at, I don’t think I can take on trying to fiddle with tile sets just yet. If I get curious, I’ll reach out.
At this point, I’m pretty close to wrapping up horses.
@Proleric (and anyone else who has played with horses), I’m trying to resolve secret door issues, following the great work in https://nwnlexicon.com/index.php?title=Builders_Guide_To_Horses#Fix_for_Transition_Bugs.
The solution seems very elegant, but I’m running into a circular dependency issue.
- The updated x0_i0_transport script calls the new _transition_inc library.
- The new _transition_inc library includes ls x3_inc_horse.
- x3_inc_horse then includes x0_inc_henai
- x0_inc_henai includes x0_i0_henchman
- x0_i0_henchman includes x0_i0_common
- x0_i0_common includes x0_i0_transport, which takes us back tot he top.
Oddly, when I override x0_i0_common to comment out the include to x0_i0_transport, it works fine. I’m wondering if that’s legacy code that just never got cleaned up? I’m trying hard to not override core files, but it seems like that might be the thing to do, here. Does that seem correct?
Well, I spoke too soon, maybe. Compiling the module scripts revealed many errors where the my various secret scripts were including x0_i0_secret. It seems like that library includes x0_i0_common as a way to pull in x0_i0_transport.
I’ve side stepped this by instead updating the call to x0_i0_secret to comment out the include of x0_i0_common and instead include _transition_inc. I then replaced the call in UseSecretTransport() to use DoTransition() instead. I rolled x0_i0_transport back to the default version.
One odd thing is that I then had to override the script on the secret item. Otherwise, it didn’t seem to compile with the module. So after all that… I’m kind of back to customizing the individual secret scripts anyway. Seems like it should have compiled and I’m scratching my head as to why.
At least now I’m only overriding with x0_i0_secret and I have a path forward.