Page 1 of 1

[RESOLVED 0.10.19] 0.10.17 - Vampire fast travel DFU hangs CUREVAM if target dungeon not present in region

Posted: Mon Jan 06, 2020 8:04 pm
by theJF
Greetings humans,
Whilst playing as a vampire I've encountered something unusual. When I fast-travel to a town in the province of Dwynnen DFU hangs during the loading screen. The quest_log file grows during this hanging and I can see that the quest CUREVAM is repeatedly being parsed. After several parses the parsing starts to fail with the message:

Search failed to locate matching remote site for Place _wrongdung_ in region Dwynnen. Resource source: 'Place _wrongdung_ remote dungeon5'

This seems to happen repeatedly. The output_log file also grows but for the same reason.
I tried this with the mod system disabled but the same thing happened. I haven't tried turning off asset injection yet because I don't know what that does.

I did try to fast-travel to the city of Daggerfall and that worked OK. I received the letter from the vampire hunter and thereafter I was able to travel to the same town in Dwynnen that previously caused the hang, which seems to suggest that the CUREVAM quest is involved.

logs and save attached.

Re: vampire fast travel DFU hangs CUREVAM

Posted: Mon Jan 06, 2020 10:07 pm
by The Holy Knight
Just used your save and imitated when you went to upham and its crashing for me as well

Re: vampire fast travel DFU hangs CUREVAM

Posted: Mon Jan 06, 2020 10:10 pm
by pango
The quest is looking for a mine (dungeon5) in the current region but Dwynnen has none, so it fails to initialize in that region.

That it crashes the game is not good though.

Re: vampire fast travel DFU hangs CUREVAM

Posted: Mon Jan 06, 2020 10:16 pm
by theJF
If I understand the quest log correctly the quest $CUREVAM is parsed more than 50 times, each time generating different NPCs and their homes, before it starts to complain about dungeon5. Maybe the missing dungeon isn't the real problem but that the quest is being parsed constantly.

Re: vampire fast travel DFU hangs CUREVAM

Posted: Mon Jan 06, 2020 10:26 pm
by pango
I think the strategy in case of initialization failure is to retry, in case it was just the random selection of locations/NPCs/etc. that lead to a deadend.

So I still think not finding dungeons of the right types (I see it's also searching for a dungeon8?) is why the quest cannot fully initialize in that region.
The fact the quest can initialize if you travel to another region proves that the quest parses correctly.

Re: vampire fast travel DFU hangs CUREVAM

Posted: Mon Jan 06, 2020 10:38 pm
by Interkarma
Thank you for this!

I've had complaints of vampire characters freezing the game before, but wasn't able to reproduce. I can see now this is most likely a problem of the cure quest launching on arrival and not being able to find an appropriate target dungeon.

That is interesting in itself, as I created a fallback method for quests to use any available dungeon if the specific dungeon type is not available in the current region. Obviously, I need to take another look at that.

Will move this one to bug reports to look at later.

Re: 0.10.17 - Vampire fast travel DFU hangs CUREVAM if target dungeon not present in region

Posted: Sat Jan 25, 2020 1:52 pm
by JorisVanEijden
This was a fun one with an unexpected cause. I created a PR with a fix: https://github.com/Interkarma/daggerfal ... /pull/1675

The dungeon had nothing to do with it.
It was the fast travel going back 40 minutes in time (to arrive just after dusk). That made the unsigned integer calculation for how many minutes had passed return a huge number. (136 years) which triggered creating the vampire cure quest 591 times, which quickly runs out of random dungeons to assign.

Re: 0.10.17 - Vampire fast travel DFU hangs CUREVAM if target dungeon not present in region

Posted: Sat Jan 25, 2020 2:04 pm
by pango
Looks like a good one :lol:

Re: 0.10.17 - Vampire fast travel DFU hangs CUREVAM if target dungeon not present in region

Posted: Sat Feb 08, 2020 3:42 pm
by pango
This should be fixed by 0.10.19 now