Tedious Travel 0.4.1 (2019-06-08)

A curated forum for approved mods. Users are unable to create new topics in this forum but can reply to existing topics. Please message a moderator to have your mod moved into this forum area.
User avatar
King of Worms
Posts: 2177
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)
Contact:

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by King of Worms » Thu Jun 13, 2019 10:35 am

I will try the clean install and report back

User avatar
pango
Posts: 1403
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by pango » Mon Jul 08, 2019 8:43 pm

pango wrote:
Tue Jun 11, 2019 8:40 pm
King of Worms wrote:
Tue Jun 11, 2019 4:10 pm
Hmm its crashing my game, no mods, no custom quests..

I load a save game, get a black screen with compass, I can turn around /compass moves/ but cant see anything.
When I press ESC, suddenly the 3d view appears with a menu tab, when I press continue, I get back to black screen :lol:
Looks like a strange issue in sound clip caching, maybe due to concurrent access?
That doesn't look directly related to Tedious Travel, but that could be something indirectly triggered... maybe
Does it happen consistently?

Code: Select all

ArgumentException: An element with the same key already exists in the dictionary.
  at System.Collections.Generic.Dictionary`2[System.Int32,UnityEngine.AudioClip].Add (Int32 key, UnityEngine.AudioClip value) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.SoundReader.CacheClip (Int32 key, UnityEngine.AudioClip clip) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.SoundReader.GetAudioClip (Int32 soundIndex) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.DaggerfallAudioSource.Apply (Single spatialBlend) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.DaggerfallAudioSource.SetSound (SoundClips soundClip, AudioPresets preset, Single spatialBlend) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.RMBLayout.AddAnimalAudioSource (UnityEngine.GameObject go) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.RMBLayout.AddMiscBlockFlats (DaggerfallConnect.DFBlock& blockData, UnityEngine.Transform flatsParent, DaggerfallWorkshop.DaggerfallBillboardBatch animalsBillboardBatch, DaggerfallWorkshop.Utility.TextureAtlasBuilder miscBillboardsAtlas, DaggerfallWorkshop.DaggerfallBillboardBatch miscBillboardsBatch) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.GameObjectHelper.CreateRMBBlockGameObject (DFBlock blockData, Int32 layoutX, Int32 layoutY, Boolean addGroundPlane, DaggerfallWorkshop.DaggerfallRMBBlock cloneFrom, DaggerfallWorkshop.DaggerfallBillboardBatch natureBillboardBatch, DaggerfallWorkshop.DaggerfallBillboardBatch lightsBillboardBatch, DaggerfallWorkshop.DaggerfallBillboardBatch animalsBillboardBatch, DaggerfallWorkshop.Utility.TextureAtlasBuilder miscBillboardAtlas, DaggerfallWorkshop.DaggerfallBillboardBatch miscBillboardBatch, ClimateNatureSets climateNature, ClimateSeason climateSeason) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.StreamingWorld+<UpdateLocation>c__Iterator1.MoveNext () [0x00000] in <filename unknown>:0 
  at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0 
UnityEngine.MonoBehaviour:StartCoroutineManaged2(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
DaggerfallWorkshop.StreamingWorld:UpdateLocations()
DaggerfallWorkshop.StreamingWorld:Update()
Ok, I managed to reproduce the problem.
It's not an issue with concurrent access, but with a null value being stored in the AudioClips cache: if there's any problem loading an AudioClip, SndFile.GetSound() returns null, and this is stored in the cache.
But SoundReader.GetCachedClip() uses null return value to signify that the clip is not in the cache, so SoundReader.GetAudioClip tries to put it in again, and here comes above exception.

So the root problem is that some AudioClip couldn't be loaded. It happened to me with DREAM - SOUNDS mod installed but not enabled, it could be some bug with sound clip mods. SoundIndex was 99 (horse neigh?), it that matters, but it looks like a legit value.

Game save: happened right at the exit of a dungeon, the issue should be triggered immediately.
Attachments
SAVE0.zip
(435.02 KiB) Downloaded 8 times
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Kamer
Posts: 342
Joined: Mon Mar 05, 2018 9:26 pm

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by Kamer » Mon Jul 08, 2019 10:26 pm

Yeah I can't use this mod at all. Black screen with compass. Is it an issue with the new Unity version?

User avatar
pango
Posts: 1403
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by pango » Mon Jul 08, 2019 10:47 pm

Kamer wrote:
Mon Jul 08, 2019 10:26 pm
Yeah I can't use this mod at all. Black screen with compass. Is it an issue with the new Unity version?
For what it''s worth, it works for me; It can be many things, so the logs file could be useful...
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Jaiysaun
Posts: 43
Joined: Tue May 28, 2019 3:08 pm

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by Jaiysaun » Mon Jul 08, 2019 11:33 pm

Works fine for me, too.

jedidia
Posts: 137
Joined: Sat Sep 15, 2018 9:49 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by jedidia » Tue Jul 09, 2019 6:21 am

SoundIndex was 99 (horse neigh?), it that matters
If it's really the horse neigh, there might be a connection. If I remember right, the neighing is controlled by some primitive Markov chain. It might be that there are side effects from disabling it that maybe makes the sound play before it is properly loaded or something when it got disabled? Like, since TediousTravel is now disabled on loading a save file, it might be possible that that immediately triggers a neigh, and that the soundfile isn't there yet, especially if it's loaded from mods. Yeah, I'm speculating pretty wildly here...
Yeah I can't use this mod at all. Black screen with compass. Is it an issue with the new Unity version?
Wait, wait... No, I mean, literally, *wait* for at least a couple of minutes when launching tedious travel for the first time. Quoting from the first page:
important: When you load your first save after activating the mod, it will export some data to the Mods/TediousData folder. This might take a minute or two, but is only necessary the first time around.
It almost sounds like this is your problem, because that would be exactly what that looks like.

@pango: Have your changes for the encounter hooks been merged with the june build? If so, I might have a look at trying to get that to work somewhen... soonish.

User avatar
pango
Posts: 1403
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by pango » Tue Jul 09, 2019 10:06 am

jedidia wrote:
Tue Jul 09, 2019 6:21 am
SoundIndex was 99 (horse neigh?), it that matters
If it's really the horse neigh, there might be a connection. If I remember right, the neighing is controlled by some primitive Markov chain. It might be that there are side effects from disabling it that maybe makes the sound play before it is properly loaded or something when it got disabled? [...]
Sound files are loaded asynchronously all the time, so it shouldn't be an issue. In case they're not in the cache, if they can be loaded within some timeout (150ms I think), they're played as soon as fully loaded. Otherwise they're not played, but the next time the sound should be in the cache...
So yeah, I can't guarantee there's no implementation bug, but it's supposed to handle that case.
jedidia wrote:
Tue Jul 09, 2019 6:21 am
@pango: Have your changes for the encounter hooks been merged with the june build? If so, I might have a look at trying to get that to work somewhen... soonish.
Yes, the OnEncounter hook is in 0.8.2. My PR to use it in TediousTravel is primitive, I use it to set a flag that is then used asynchronously alongside AreEnemiesNearby(). It's more reliable than AreEnemiesNearby() alone, but the asynchronicity sucks, you often get the "do you want to try to avoid the encounter?" after the encounter messages!
I'm sure something much better can be done.

Oh, and I also submitted a PR with the 0.8.2's travel map search engine changes.
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Kamer
Posts: 342
Joined: Mon Mar 05, 2018 9:26 pm

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by Kamer » Tue Jul 09, 2019 11:44 pm

jedidia wrote:
Tue Jul 09, 2019 6:21 am

Yeah I can't use this mod at all. Black screen with compass. Is it an issue with the new Unity version?
Wait, wait... No, I mean, literally, *wait* for at least a couple of minutes when launching tedious travel for the first time. Quoting from the first page:
important: When you load your first save after activating the mod, it will export some data to the Mods/TediousData folder. This might take a minute or two, but is only necessary the first time around.
It almost sounds like this is your problem, because that would be exactly what that looks like.
You weren't fucking around when you said it took awhile. I disabled everything and it still took about 2 minutes long.

jedidia
Posts: 137
Joined: Sat Sep 15, 2018 9:49 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by jedidia » Wed Jul 10, 2019 12:11 pm

You weren't fucking around when you said it took awhile. I disabled everything and it still took about 2 minutes long.
Well, yeah... "a minute or two" was meant quite literally :lol:
Also, disabling anything wouldn't help. It's just parsing through the entire native town data and writing some of them to disk. The export is necessary because otherwise TT would have to parse through the town data of an entire region everytime you focus on it on the map, which I figured would be a lot more annyoing. That port flag is hidden rather deep...
Oh, and I also submitted a PR with the 0.8.2's travel map search engine changes.
Oh nice, thanks a lot!
the asynchronicity sucks, you often get the "do you want to try to avoid the encounter?" after the encounter messages!
I'm sure something much better can be done.
What mod would you recommend for testing? I haven't played with any quest mods so far.

User avatar
Jay_H
Posts: 2707
Joined: Tue Aug 25, 2015 1:54 am

Re: Tedious Travel 0.4.1 (2019-06-08)

Post by Jay_H » Wed Jul 10, 2019 12:28 pm

The relevant quest mod would be Warm Ashes. Quest Pack 1 doesn't add wilderness fights.

Post Reply