Cow_Life_Sim_RPG/Saving/SaveConverter.gd

50 lines
1.2 KiB
GDScript

extends Node
class_name SaveConverter
static func update_save():
var currentVersion = SaveManager.get_global_value("versionNum", 1)
if currentVersion == 1:
version1_conversion()
SaveManager.set_global_value("versionNum", 2)
static func version1_conversion():
if not FileAccess.file_exists("user://inventory.save"):
return
if not FileAccess.file_exists("user://player.cfg"):
return
#Update save path for most variables
var config = ConfigFile.new()
config.load("user://player.cfg")
config.save("user://player1.cfg")
var saveGame = FileAccess.open("user://inventory.save", FileAccess.READ)
var invInfo = {
"type": "inventory",
"items": [],
"name": "normal"
}
while saveGame.get_position() < saveGame.get_length():
var json_string = saveGame.get_line()
var json = JSON.new()
var parse_result = json.parse(json_string)
if not parse_result == OK:
print("JSON Parse Error: ", json.get_error_message(), " in ", json_string, " at line ", json.get_error_line())
continue
var lineInfo = json.get_data()
invInfo.items.append(lineInfo)
var newSave = FileAccess.open("user://player1inventory.save", FileAccess.WRITE)
var json_string = JSON.stringify(invInfo)
newSave.store_line(json_string)