Tedious Travel 0.4.2 (2019-10-16)
- King of Worms
- Posts: 4753
- Joined: Mon Oct 17, 2016 11:18 pm
- Location: Scourg Barrow (CZ)
- Contact:
Re: Tedious Travel 0.4.1 (2019-06-08)
I will try the clean install and report back
DREAM Nexus https://www.nexusmods.com/users/73250038?tab=user+files
DREAM Forums viewtopic.php?f=27&t=1168
DISCORD: king_of_worms_cz
DREAM Forums viewtopic.php?f=27&t=1168
DISCORD: king_of_worms_cz
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Tedious Travel 0.4.1 (2019-06-08)
Ok, I managed to reproduce the problem.pango wrote: ↑Tue Jun 11, 2019 8:40 pmLooks like a strange issue in sound clip caching, maybe due to concurrent access?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
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()
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 108 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Kamer
- Posts: 583
- Joined: Mon Mar 05, 2018 9:26 pm
Re: Tedious Travel 0.4.1 (2019-06-08)
Yeah I can't use this mod at all. Black screen with compass. Is it an issue with the new Unity version?
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Tedious Travel 0.4.1 (2019-06-08)
For what it''s worth, it works for me; It can be many things, so the logs file could be useful...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Jaiysaun
- Posts: 43
- Joined: Tue May 28, 2019 3:08 pm
Re: Tedious Travel 0.4.1 (2019-06-08)
Works fine for me, too.
-
- Posts: 201
- Joined: Sat Sep 15, 2018 9:49 am
Re: Tedious Travel 0.4.1 (2019-06-08)
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...SoundIndex was 99 (horse neigh?), it that matters
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:Yeah I can't use this mod at all. Black screen with compass. Is it an issue with the new Unity version?
It almost sounds like this is your problem, because that would be exactly what that looks like.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.
@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.
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Tedious Travel 0.4.1 (2019-06-08)
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...jedidia wrote: ↑Tue Jul 09, 2019 6:21 amIf 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? [...]SoundIndex was 99 (horse neigh?), it that matters
So yeah, I can't guarantee there's no implementation bug, but it's supposed to handle that case.
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.
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Kamer
- Posts: 583
- Joined: Mon Mar 05, 2018 9:26 pm
Re: Tedious Travel 0.4.1 (2019-06-08)
You weren't fucking around when you said it took awhile. I disabled everything and it still took about 2 minutes long.jedidia wrote: ↑Tue Jul 09, 2019 6:21 am
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:Yeah I can't use this mod at all. Black screen with compass. Is it an issue with the new Unity version?It almost sounds like this is your problem, because that would be exactly what that looks like.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.
-
- Posts: 201
- Joined: Sat Sep 15, 2018 9:49 am
Re: Tedious Travel 0.4.1 (2019-06-08)
Well, yeah... "a minute or two" was meant quite literallyYou weren't fucking around when you said it took awhile. I disabled everything and it still took about 2 minutes long.
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 nice, thanks a lot!Oh, and I also submitted a PR with the 0.8.2's travel map search engine changes.
What mod would you recommend for testing? I haven't played with any quest mods so far.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.
- Jay_H
- Posts: 4072
- Joined: Tue Aug 25, 2015 1:54 am
- Contact:
Re: Tedious Travel 0.4.1 (2019-06-08)
The relevant quest mod would be Warm Ashes. Quest Pack 1 doesn't add wilderness fights.