diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index b826029649c..948ed00d564 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -329,6 +329,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) /// Versioning hack! Versioning hack! Versioning hack! var/list/current_version = list() + var/fuzzy = FALSE //Fuzzy scaling + /datum/preferences/New(client/C) parent = C @@ -635,6 +637,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Sprite Size: [features["body_size"]*100]%
" if (CONFIG_GET(number/body_width_min) != CONFIG_GET(number/body_width_max)) dat += "Sprite Width: [features["body_width"]*100]%
" + dat += "Scaled Appearance: [fuzzy ? "Fuzzy" : "Sharp"]
" if(!(NOEYES in pref_species.species_traits)) dat += "

Eye Type

" @@ -3343,6 +3346,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(dorfy != "No") features["body_size"] = new_body_size + if("toggle_fuzzy") + fuzzy = !fuzzy + if("body_width") var/min = CONFIG_GET(number/body_width_min) var/max = CONFIG_GET(number/body_width_max) @@ -3911,6 +3917,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) character.special_i = special_i character.special_a = special_a character.special_l = special_l + character.fuzzy = fuzzy character.left_eye_color = left_eye_color character.right_eye_color = right_eye_color diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 44962978c90..98f93238949 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -635,6 +635,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["body_model"] >> features["body_model"] S["body_size"] >> features["body_size"] S["body_width"] >> features["body_width"] + + //Fuzzy scaling + S["feature_fuzzy"] >> fuzzy + S["age"] >> age S["hair_color"] >> hair_color S["facial_hair_color"] >> facial_hair_color @@ -951,6 +955,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car width_max = CONFIG_GET(number/body_width_max) features["body_width"] = sanitize_num_clamp(features["body_width"], width_min, width_max, RESIZE_DEFAULT_SIZE, 0.01) + fuzzy = sanitize_integer(fuzzy, 0, 1, initial(fuzzy)) + var/static/list/B_sizes if(!B_sizes) var/list/L = CONFIG_GET(keyed_list/breasts_cups_prefs) @@ -1119,6 +1125,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car "Mobility - Can not Run", ) WRITE_FILE(S["all_quirks"], debug_oldies) + + WRITE_FILE(S["feature_fuzzy"], fuzzy) matchmaking_prefs = sanitize_matchmaking_prefs(matchmaking_prefs) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 502970a4c28..04599b08c9e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1561,3 +1561,10 @@ ghostize() qdel(src) //End Coyote Add + +/mob/living/verb/switch_scaling() + set name = "Switch scaling mode" + set category = "IC" + set desc = "Switch sharp/fuzzy scaling for current mob." + appearance_flags ^= PIXEL_SCALE + fuzzy = !fuzzy diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index c810302babf..90bce1f136d 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -162,3 +162,5 @@ //---End var/disconnect_time //how long have we been dc'd for + + var/fuzzy = FALSE diff --git a/code/modules/mob/living/update_icons.dm b/code/modules/mob/living/update_icons.dm index f3fa3d36ba4..7735254d47b 100644 --- a/code/modules/mob/living/update_icons.dm +++ b/code/modules/mob/living/update_icons.dm @@ -5,6 +5,8 @@ var/changed = 0 appearance_flags |= PIXEL_SCALE + if(fuzzy) + appearance_flags &= ~PIXEL_SCALE if(lying != lying_prev && rotate_on_lying) changed++ diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 2c12fc356d1..2b7a2bbb6b7 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -394,6 +394,7 @@ if(R.mmi.brainmob) R.mmi.brainmob.real_name = real_name //the name of the brain inside the cyborg is the robotized human's name. R.mmi.brainmob.name = real_name + R.fuzzy = fuzzy //SPLURT ADD - FUZZY R.job = "Cyborg" R.notify_ai(NEW_BORG)