Page 1 of 1

Error with saving SimStatus

Posted: Tue Aug 22, 2017 9:34 am
by irve
Hi, Tony

We have a respectable amount of dlg options and simstatus turned on.
For some reason the async saving crashes when we save simstatus:

Code: Select all

Dialogue System: GetSaveData() failed to get conversation data: capacity was less than the current size.
Parameter name: size
UnityEngine.Debug:LogError(Object)
PixelCrushers.DialogueSystem.PersistentDataManager:AppendConversationData(StringBuilder)
PixelCrushers.DialogueSystem.PersistentDataManager:GetSaveData()
<SaveCoR>c__Iterator0:MoveNext() (at Assets/FO Dialogue/Scripts/Persistence/SunshinePersistence.cs:97)
Is this something you might have an idea about?

EDIT: As a solution we copied the current simstatus source to work on our terms and it seems to work so it's not a high priority thing for us. :mrgreen:

Re: Error with saving SimStatus

Posted: Tue Aug 22, 2017 10:15 am
by Tony Li
Hi,

I'll fix this in version 1.7.5, which will be released this week.

PersistentDataManager limits saved game data to 1 MB, since this is the limit that web builds can save to PlayerPrefs. But there's no reason why it needs to be limited to 1 MB for other platforms, so I'll remove that restriction. Also, I'll make saving of SimStatus more compact, which may end up keeping it under 1 MB anyway. (The cause of the error is that the saved game data -- mostly SimStatus I presume -- is exceeding 1 MB.)

In the very short term, you can untick Save SimStatus as an emergency measure. I'll try to get a patch to you by tomorrow.

Re: Error with saving SimStatus

Posted: Wed Aug 23, 2017 10:15 pm
by Tony Li
The fix is in beta version 1.7.5_20170823, which is available on the Pixel Crushers customer download site.

The release notes for this beta version are:
  • Added: Dialogue Manager > Instantiate Database checkbox to instantiate copy of Initial Database so you can change it at runtime without affecting asset.
  • Added: Preload Actor Portraits component to prevent stutter on first conversation when using very large portrait images.
  • Improved: Removed 1 MB restriction on saved game data size. Now unlimited.
  • Improved: Saved game data (especially when saving SimStatus) is significantly smaller.
  • Improved: Added Show/Hide/Toggle methods to QuestTracker (legacy GUI and Unity UI).
  • Fixed: Conversation Trigger was not always marking the conversation dropdown for saving in the scene.
  • Fixed: UnityUIQuestLogWindow now keeps timeSale in sync when repeatedly opening & closing during slow open/close animations.
  • Fixed: IncrementOnDestroy & PersistentDestructible no longer log (harmless) warnings when stopping playmode.
  • Deftly: Added configurable cooldown time to floating text barks.
  • UFPS: Updated to better support Menu Framework.