Page 1 of 1

[15.19] [Harkonnen] Blueprint string speakers have the wrong instrument

Posted: Fri Jun 09, 2017 10:32 am
by mentlerd
In the 15.19 update, a new instrument was added to the programmable speakers. Blueprint strings created before the update import with the wrong speaker instrument, altough savegames, and blueprints stored in the ingame blueprint book have been migrated correctly.

This is the exact same music machine, exported in the indicated version. 15.19 does not import the 15.18 export correctly:
[15.18] export: https://pastebin.com/raw/mmwKeKC8
[15.19] export: https://pastebin.com/raw/3DEaQD4t

Re: [15.19] Blueprint string speakers have the wrong instrument

Posted: Sat Jun 10, 2017 8:27 pm
by Rseding91
Blueprint strings don't migrate between game version. They work for the version they're created in and may work for future versions but it's not guaranteed.

If you want the strings in the current version of the game you'll need to import them in an older version and re-export them.

Re: [15.19] Blueprint string speakers have the wrong instrument

Posted: Sat Jun 10, 2017 8:32 pm
by Harkonnen
This happens because new 'Alarms' section was added and instrument was referred as just an integer. Also blueprint strings have no version information for us to react on, so we can properly load old saves, but not blueprint strings. We will review instruments situation since this is a very unpleasant thing, sorry for that :( for now your best bet is to load blueprint string with old version, save game, load game with new version, and create new altered blueprint string.

Re: [15.19] Blueprint string speakers have the wrong instrument

Posted: Sun Jun 11, 2017 6:17 am
by TruePikachu
Also blueprint strings have no version information for us to react on
IIRC the "version" field in the JSON encodes the writing game's version number across four 16-bit words (with the first being zero, and the last being a revision for the actual version; ignoring it, one gets the actual game's version number)

Code: Select all

...ancer","version":64424706048},"ind...
64424706048 = 0x0000000F00030000 -> 0x0000 0x000F 0x0003 0x0000 -> 0.15.3.0

Re: [15.19] Blueprint string speakers have the wrong instrument

Posted: Sun Jun 11, 2017 7:09 am
by Rseding91
TruePikachu wrote:
Also blueprint strings have no version information for us to react on
IIRC the "version" field in the JSON encodes the writing game's version number across four 16-bit words (with the first being zero, and the last being a revision for the actual version; ignoring it, one gets the actual game's version number)

Code: Select all

...ancer","version":64424706048},"ind...
64424706048 = 0x0000000F00030000 -> 0x0000 0x000F 0x0003 0x0000 -> 0.15.3.0
Talking it over internally we also decided that we aren't going to do blueprint-string migrations as to do that correctly would bloat all blueprint strings by an additional 20 KB of text for even the smallest string. It would also duplicate a massive portion of the games loading code and was deemed not worth it.

As it is, blueprint strings are only officially supported in the version they're created. Past that they may or may not work depending on other game changes/mod changes you've done.

Re: [15.19] Blueprint string speakers have the wrong instrument

Posted: Tue Jun 20, 2017 7:26 am
by Harkonnen
I've detected a bunch of programmable speaker blueprint strings roaming the internet, so that is now fixed for 0.15.22