diff --git a/code/modules/client/preferences/migrations/15_nif_path.dm b/code/modules/client/preferences/migrations/15_nif_path.dm new file mode 100644 index 0000000000..cb68e8b568 --- /dev/null +++ b/code/modules/client/preferences/migrations/15_nif_path.dm @@ -0,0 +1,12 @@ +/// Moves nif stuff to it's own file +/datum/preferences/proc/migration_15_nif_path(datum/json_savefile/S) + var/datum/json_savefile/new_savefile = new /datum/json_savefile(nif_savefile_path(client_ckey)) + + for(var/slot in 1 to CONFIG_GET(number/character_slots)) + var/list/prefs = new_savefile.get_entry("character[slot]", null) + if(!islist(prefs)) + continue + prefs["nif_path"] = replacetext(prefs["nif_path"], "/device", "") + new_savefile.set_entry("character[slot]", prefs) + + new_savefile.save() diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 8c5e58c139..58130c3270 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -1,5 +1,5 @@ #define SAVEFILE_VERSION_MIN 8 -#define SAVEFILE_VERSION_MAX 14 +#define SAVEFILE_VERSION_MAX 15 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn @@ -59,6 +59,16 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car log_debug("[client_ckey] preferences successfully migrated from [current_version] to v14.") to_chat(client, span_danger("v14 savefile migration complete.")) + // Migration for nifs, again, to get rid of the /device path + if(current_version < 15) + log_debug("[client_ckey] preferences migrating from [current_version] to v15....") + to_chat(client, span_danger("Migrating savefile from version [current_version] to v15...")) + + migration_15_nif_path(S) + + log_debug("[client_ckey] preferences successfully migrated from [current_version] to v15.") + to_chat(client, span_danger("v15 savefile migration complete.")) + /datum/preferences/proc/update_character(current_version, list/save_data) // Migration from BYOND savefiles to JSON: Important milemark. diff --git a/vorestation.dme b/vorestation.dme index fb628b0f67..b5eee9450c 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2195,6 +2195,7 @@ #include "code\modules\client\preferences\middleware\_middleware.dm" #include "code\modules\client\preferences\migrations\13_preferences.dm" #include "code\modules\client\preferences\migrations\14_nifs.dm" +#include "code\modules\client\preferences\migrations\15_nif_path.dm" #include "code\modules\client\preferences\types\admin.dm" #include "code\modules\client\preferences\types\auto_fit_viewport.dm" #include "code\modules\client\preferences\types\chat.dm"