anchor.diff:  		return savefile_version
   	return -1
   
  -
  -/datum/preferences/proc/update_antagchoices(current_version, savefile/S)
  -	if((!islist(be_special) || old_be_special ) && current_version < 12)
  -		//Archived values of when antag pref defines were a bitfield+fitflags
  -		var/B_traitor = 1
  -		var/B_operative = 2
  -		var/B_changeling = 4
  -		var/B_wizard = 8
  -		var/B_malf = 16
  -		var/B_rev = 32
  -		var/B_alien = 64
  -		var/B_pai = 128
  -		var/B_cultist = 256
  -		var/B_blob = 512
  -		var/B_ninja = 1024
  -		var/B_monkey = 2048
  -		var/B_gang = 4096
  -		var/B_abductor = 16384
  -		var/B_brother = 32768
  -
  -		var/list/archived = list(B_traitor,B_operative,B_changeling,B_wizard,B_malf,B_rev,B_alien,B_pai,B_cultist,B_blob,B_ninja,B_monkey,B_gang,B_abductor,B_brother)
  -
  -		be_special = list()
  -
  -		for(var/flag in archived)
  -			if(old_be_special & flag)
  -				//this is shitty, but this proc should only be run once per player and then never again for the rest of eternity,
  -				switch(flag)
  -					if(1) //why aren't these the variables above? Good question, it's because byond complains the expression isn't constant, when it is.
  -						be_special += ROLE_TRAITOR
  -					if(2)
  -						be_special += ROLE_OPERATIVE
  -					if(4)
  -						be_special += ROLE_CHANGELING
  -					if(8)
  -						be_special += ROLE_WIZARD
  -					if(16)
  -						be_special += ROLE_MALF
  -					if(32)
  -						be_special += ROLE_REV
  -					if(64)
  -						be_special += ROLE_ALIEN
  -					if(128)
  -						be_special += ROLE_PAI
  -					if(256)
  -						be_special += ROLE_CULTIST
  -					if(512)
  -						be_special += ROLE_BLOB
  -					if(1024)
  -						be_special += ROLE_NINJA
  -					if(2048)
  -						be_special += ROLE_MONKEY
  -					if(16384)
  -						be_special += ROLE_ABDUCTOR
  -					if(32768)
  -						be_special += ROLE_BROTHER
  -
  -
  -/datum/preferences/proc/update_preferences(current_version, savefile/S)
  -
  -
  -//should this proc get fairly long (say 3 versions long),
  +//should these procs get fairly long
   //just increase SAVEFILE_VERSION_MIN so it's not as far behind
   //SAVEFILE_VERSION_MAX and then delete any obsolete if clauses
  -//from this proc.
  -//It's only really meant to avoid annoying frequent players
  +//from these procs.
  +//This only really meant to avoid annoying frequent players
   //if your savefile is 3 months out of date, then 'tough shit'.
  +
  +/datum/preferences/proc/update_preferences(current_version, savefile/S)
  +	return
  +
   /datum/preferences/proc/update_character(current_version, savefile/S)
  -	if(current_version < 16)
  -		var/berandom
  -		S["userandomjob"] >> berandom
  -		if (berandom)
  -			joblessrole = BERANDOMJOB
  -		else
  -			joblessrole = BEASSISTANT
  -	if(current_version < 17)
  -		features["legs"] = "Normal Legs"
   	if(current_version < 20)//Raise this to the max savefile version every time we change something so we don't sanitize this whole list every time you save.
   		features["mam_body_markings"] 	= sanitize_inlist(features["mam_body_markings"], GLOB.mam_body_markings_list)
   		features["mam_ears"] 			= sanitize_inlist(features["mam_ears"], GLOB.mam_ears_list)
  
positive.code: 		features["vag_color"]			= sanitize_hexcolor(features["vag_color"], 3, 0)
  		//womb features
  		features["has_womb"]			= sanitize_integer(features["has_womb"], 0, 1, 0)
  	if(current_version < 19)
  		pda_style = "mono"
  	if(current_version < 20)
  
negative.code: //This is the lowest supported version, anything below this is completely obsolete and the entire savefile will be wiped.
  #define SAVEFILE_VERSION_MIN	18
  
  //This is the current version, anything below this will attempt to update (if it's not obsolete)
  //	You do not need to raise this if you are adding new values that have sane defaults.
  //	Only raise this value when changing the meaning/format/name/layout of an existing value
  //	where you would want the updater procs below to run
  #define SAVEFILE_VERSION_MAX	20
  
  /*
  SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn
  	This proc checks if the current directory of the savefile S needs updating
  