Living Cities of Vvardenfell v03-13 doesn't work for OpenMW

Post about your mods, learn about OpenMW mod compatibility, check for problematic mods, discuss issues, and give us feedback about your experience with modded OpenMW.
Post Reply
zelazko
Posts: 25
Joined: 07 Aug 2019, 18:01

Living Cities of Vvardenfell v03-13 doesn't work for OpenMW

Post by zelazko »

http://mw.modhistory.com/download-35-7944

It does not work but it does not seem to hurt the game either.
User avatar
akortunov
Posts: 900
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Living Cities of Vvardenfell v03-13 doesn't work for OpenMW

Post by akortunov »

zelazko
Posts: 25
Joined: 07 Aug 2019, 18:01

Re: Living Cities of Vvardenfell v03-13 doesn't work for OpenMW

Post by zelazko »

So basically OpenMW misses variables and this mod never going to be compatible with OpenMW. Very sad. 1+ to OpenMW does care about compatibility.
User avatar
AnyOldName3
Posts: 2676
Joined: 26 Nov 2015, 03:25

Re: Living Cities of Vvardenfell v03-13 doesn't work for OpenMW

Post by AnyOldName3 »

The mod is supposed to be broken in the original engine, too, but instead of spitting out an error when something's obviously broken, the original CS just picked whatever batshit crazy bonkers thing based on unpredictable things like what colour socks Todd Howard was wearing on the day the script was compiled. Occasionally, simply due to blind luck, this happened to guess the behaviour the mod author wanted, and they'd release a mod with correct bytecode but script source that really shouldn't have produced that bytecode. The original engine uses the bytecode, so these mods work mostly okay until they're used with OpenMW, which uses the script source instead.

It's an unfortunate situation, but there simply isn't an exhaustive list of all the bugs in the original script compiler out there. It's possible (and might even have been verified by someone) that there are bugs where the CS reads uninitialised memory to decide what bytecode to produce, and in that case, even with the original CS, even the original author wouldn't be able to reproduce the same bytecode every time, so their mod would only work on certain 'magic' days when that memory happened to already contain the required value when the CS was started.

The only solutions are to fix the mods or to use the bytecode. There are mods where bugs in the original engine have only been tracked down and removed because OpenMW is more strict about scripts and complained when the author had made a mistake.
User avatar
akortunov
Posts: 900
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Living Cities of Vvardenfell v03-13 doesn't work for OpenMW

Post by akortunov »

zelazko wrote: 27 Aug 2019, 23:03 So basically OpenMW misses variables and this mod never going to be compatible with OpenMW. Very sad. 1+ to OpenMW does care about compatibility.
There is nothing to do with compatibility in this particular case - so far no one even can tell what buggy scripts from this mod are DESIGNED to do. I asked for help modmakers from both English-speaking and Russian-speaking communities, but without success.

Also I even can not tell if this mod works properly in Morrowind - when I tried to use it with original engine several years ago, it caused stable crashes.
Atrayonis
Posts: 7
Joined: 17 Jul 2018, 20:10

Re: Living Cities of Vvardenfell v03-13 doesn't work for OpenMW

Post by Atrayonis »

After checking this out, I think there are basically two, maybe three problems.
  • Empty Hellos,
  • the "nonexistant nolore" scripts which are part of the empty Hellos,
  • the author believed that indentation matters and created some else if constructs on that assumption.
The "nonexistant nolore" script seems to be workaround for a self-made problem.
The LCV scripts are handled by activators in interior and exterior cells and they handle NPCs which might not have been "activated" (the player has not been in the same cell as them) so Morrowind is not tracking them. This might have been a particular problem during save/reload as the NPCs are not set to persisting references so their current whereabouts could be lost.

The workaround here seems to have been to just force Morrowind to register their existance by copying the value of their nolore variable into a temporary variable and then set the setting state variable to -1 to start the setting-specific activation/deactivation scripts.

This could probably have been done differently, but it wasn't. I think that LCV should be remade with better global scripts (which would check for cells per region/city and then call the city-wide disabling/enabling script).
Post Reply