From 5365c54531d0ddd330e82066a22e63ce81e2ca35 Mon Sep 17 00:00:00 2001 From: Quote <94698137+ChronoQuote@users.noreply.github.com> Date: Sun, 28 Aug 2022 05:30:48 -0700 Subject: [PATCH] Fix compatibility with new 066 achievement 1.3.11 saves now load again. --- Save.bb | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/Save.bb b/Save.bb index d033d432..ad5e8d2d 100644 --- a/Save.bb +++ b/Save.bb @@ -119,6 +119,7 @@ Function SaveGame(file$) WriteByte f, SoundTransmission WriteByte f, Contained106 + WriteByte f, MAXACHIEVEMENTS For i = 0 To MAXACHIEVEMENTS-1 WriteByte f, Achievements(i) Next @@ -581,9 +582,30 @@ Function LoadGame(file$) SoundTransmission = ReadByte(f) Contained106 = ReadByte(f) - For i = 0 To MAXACHIEVEMENTS-1 + If CompareVersions(version, "1.3.12") >= 0 Then + temp = ReadByte(f) + Else + temp = 37 + EndIf + For i = 0 To temp-1 Achievements(i)=ReadByte(f) Next + If CompareVersions(version, "1.3.12") < 0 Then + Achievements(37)=Achievements(36) + Achievements(36)=Achievements(31) + Achievements(31)=Achievements(28) + Achievements(28)=Achievements(34) + Achievements(34)=Achievements(32) + Achievements(32)=Achievements(29) + Achievements(29)=Achievements(35) + Achievements(35)=Achievements(33) + Achievements(33)=Achievements(30) + Achievements(30)=Achievements(27) + For i = 27 To 6 Step -1 + Achievements(i)=Achievements(i-1) + Next + Achievements(5)=False + EndIf RefinedItems = ReadInt(f) MapWidth = ReadInt(f) @@ -1416,9 +1438,30 @@ Function LoadGameQuick(file$) SoundTransmission = ReadByte(f) Contained106 = ReadByte(f) - For i = 0 To MAXACHIEVEMENTS-1 + If CompareVersions(version, "1.3.12") >= 0 Then + temp = ReadByte(f) + Else + temp = 37 + EndIf + For i = 0 To temp-1 Achievements(i)=ReadByte(f) Next + If CompareVersions(version, "1.3.12") < 0 Then + Achievements(37)=Achievements(36) + Achievements(36)=Achievements(31) + Achievements(31)=Achievements(28) + Achievements(28)=Achievements(34) + Achievements(34)=Achievements(32) + Achievements(32)=Achievements(29) + Achievements(29)=Achievements(35) + Achievements(35)=Achievements(33) + Achievements(33)=Achievements(30) + Achievements(30)=Achievements(27) + For i = 27 To 6 Step -1 + Achievements(i)=Achievements(i-1) + Next + Achievements(5)=False + EndIf RefinedItems = ReadInt(f) MapWidth = ReadInt(f)