A Virus Named TOM
 This topic has been pinned, so it's probably important
flibitijibibo  [developer] Sep 18, 2013 @ 11:13am
PSA (Mac/Linux): Save Data Compatibility
I'll start with the point right away: Save data for A Virus Named TOM is not compatible between the Windows version and the Mac/Linux version.

During testing we came across this issue, and it was determined to be an issue with the BinarySerializer not accepting data made from the other version of the game. As far we know, the savedata structure is the same on both platforms, but there is an additional factor leading to binary incompatibility. What this incompatibility is, we have not figured it out. Our best theory is that the C# assembly information differs and that the difference is causing some kind of interference, but debugging the issue has proven to be difficult.

But! We still want to offer everyone Steam cloud saves without save data colliding with each other, and possibly breaking the game for users on multiple platforms. So, for the Mac/Linux version, the cloud data is saved as "user_sdl2.dat", rather than the "user.dat" name used on Windows.

So, the TL;DR version:
- Windows saves do NOT work on Mac/Linux, and vice versa.
- Mac saves DO work on Linux, and vice versa.
- Windows saves are stored as "user.dat", Mac/Linux saves are stored as "user_sdl2.dat".
- The reason for the incompatibility is currently unknown.

We apologize for any inconvenience, and we will keep you updated if we find any information regarding this issue.
< >
Showing 1-2 of 2 comments
Nick Sep 19, 2013 @ 6:12am 
>As far we know, the savedata structure is the same on both platforms

Wouldn't that be easy-as to test? I assume you yourself know how your game saves data, so, quickly throw together on each operating system a function that saves a 'mid level' game save for both operating systems, but, with hard-coded configs, then, simply use diff[man.cx]/cmp[man.cx]/any other binary comparing software to test this?

That assumes that there's lots of 'variable' data that's also saved (Like time to complete/etc), if there's no variable data, just beat the first mission identically, then do diff that way.

Anyway. I highly doubt the files are the exact same, yet, fail to read on two different operating systems. It makes literally zero sense, either the code is parsing differently, or, the files are stored differently.

EDIT:- Hell, you know what? If I get this game to even launch (Which, so far I'm failing), I'll attempt to muck around with it. Any chance of you posting the save file specifications?

EDIT2:- Yet to look at the linux save file (And probably won't be able to for a few hours, as, I'm going to college in an hour, and, I need to shower/etc...), however, the windows save (C:\Users\%username%\Documents\SavedGames\AVNT\CircuitGameData\AllPlayers\PlayerData\UserSlot0.xml, I presume), looks very .net orientated with "System.Collections.Generic.Dictionary" and other .net related stuff:-

I'm not exactly sure how you saved it, or, how you're running the linux version (Mono, I presume?), but, I can't really think that's a good sign.
Last edited by Nick; Sep 19, 2013 @ 6:38am
Misfits Attic  [developer] Sep 26, 2013 @ 3:24pm 
Thanks for taking a peek :)

Yes, windows is using XNA/C#/.NET and Mac/Linux is using MonoGame. I was a little worried that trying to make things compatible may force work in converting any old saves and I get a little trepid about messing with peoples saves.
< >
Showing 1-2 of 2 comments
Per page: 15 30 50