Merge pull request #1266 from CHOMPStation2/revert-1249-RevertSize

Revert "Revert #1240"
This commit is contained in:
Razgriz
2021-02-08 17:47:48 -07:00
committed by GitHub
8 changed files with 121 additions and 21 deletions

View File

@@ -83,11 +83,11 @@ datum/preferences
//Mob preview
var/list/char_render_holders //Should only be a key-value list of north/south/east/west = obj/screen.
var/static/list/preview_screen_locs = list(
"1" = "character_preview_map:1,5:-12",
"2" = "character_preview_map:1,3:15",
"4" = "character_preview_map:1:7,2:10",
"8" = "character_preview_map:1:-7,1:5",
"BG" = "character_preview_map:1,1 to 1,5"
"1" = "character_preview_map:2,7",
"2" = "character_preview_map:2,5",
"4" = "character_preview_map:2,3",
"8" = "character_preview_map:2,1",
"BG" = "character_preview_map:1,1 to 3,8"
)
//Jobs, uses bitflags
@@ -281,7 +281,7 @@ datum/preferences
if(!BG)
BG = new
BG.plane = TURF_PLANE
BG.icon = 'icons/effects/128x48.dmi'
BG.icon = 'icons/effects/setup_backgrounds_vr.dmi'
BG.pref = src
LAZYSET(char_render_holders, "BG", BG)
client.screen |= BG

View File

@@ -1097,8 +1097,8 @@
if(species.default_language)
add_language(species.default_language)
//if(species.icon_scale_x != 1 || species.icon_scale_y != 1) //VOREStation Removal
// update_transform() //VOREStation Removal
if(species.icon_scale_x != 1 || species.icon_scale_y != 1)
update_transform()
if(example) //VOREStation Edit begin
if(!(example == src))

View File

@@ -296,3 +296,100 @@ YW change end */
var_changes = list("alcohol_mod" = 0.25) // 25% as effective if alcohol_mod is set to 1. If it's not 1 in species.dm, update this!
// Alcohol Traits End Here.
YW CHANGE STOP*/
// Body shape traits
/datum/trait/taller
name = "Taller"
desc = "Your body is taller than average."
cost = 0
custom_only = FALSE
var_changes = list("icon_scale_y" = 1.09)
excludes = list(/datum/trait/tall, /datum/trait/short, /datum/trait/shorter)
/datum/trait/taller/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.update_transform()
/datum/trait/tall
name = "Tall"
desc = "Your body is a bit taller than average."
cost = 0
custom_only = FALSE
var_changes = list("icon_scale_y" = 1.05)
excludes = list(/datum/trait/taller, /datum/trait/short, /datum/trait/shorter)
/datum/trait/tall/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.update_transform()
/datum/trait/short
name = "Short"
desc = "Your body is a bit shorter than average."
cost = 0
custom_only = FALSE
var_changes = list("icon_scale_y" = 0.95)
excludes = list(/datum/trait/taller, /datum/trait/tall, /datum/trait/shorter)
/datum/trait/short/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.update_transform()
/datum/trait/shorter
name = "Shorter"
desc = "You are shorter than average."
cost = 0
custom_only = FALSE
var_changes = list("icon_scale_y" = 0.915)
excludes = list(/datum/trait/taller, /datum/trait/tall, /datum/trait/short)
/datum/trait/shorter/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.update_transform()
/datum/trait/fat
name = "Overweight"
desc = "You are heavier than average."
cost = 0
custom_only = FALSE
var_changes = list("icon_scale_x" = 1.054)
excludes = list(/datum/trait/obese, /datum/trait/thin, /datum/trait/thinner)
/datum/trait/fat/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.update_transform()
/datum/trait/obese
name = "Obese"
desc = "You are much heavier than average."
cost = 0
custom_only = FALSE
var_changes = list("icon_scale_x" = 1.095)
excludes = list(/datum/trait/fat, /datum/trait/thin, /datum/trait/thinner)
/datum/trait/obese/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.update_transform()
/datum/trait/thin
name = "Thin"
desc = "You are skinnier than average."
cost = 0
custom_only = FALSE
var_changes = list("icon_scale_x" = 0.945)
excludes = list(/datum/trait/fat, /datum/trait/obese, /datum/trait/thinner)
/datum/trait/thin/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.update_transform()
/datum/trait/thinner
name = "Very Thin"
desc = "You are much skinnier than average."
cost = 0
custom_only = FALSE
var_changes = list("icon_scale_x" = 0.905)
excludes = list(/datum/trait/fat, /datum/trait/obese, /datum/trait/thin)
/datum/trait/thinner/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.update_transform()

View File

@@ -123,7 +123,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
crash_with("CANARY: Old human update_icons_huds was called.")
/mob/living/carbon/human/update_transform()
/* VOREStation Edit START - TODO - Consider switching to icon_scale
/* VOREStation Edit START
// First, get the correct size.
var/desired_scale_x = icon_scale_x
var/desired_scale_y = icon_scale_y
@@ -137,8 +137,10 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(!isnull(M.icon_scale_y_percent))
desired_scale_y *= M.icon_scale_y_percent
*/
var/desired_scale_x = size_multiplier
var/desired_scale_y = size_multiplier
var/desired_scale_x = size_multiplier * icon_scale_x
var/desired_scale_y = size_multiplier * icon_scale_y
desired_scale_x *= species.icon_scale_x
desired_scale_y *= species.icon_scale_y
//VOREStation Edit End
// Regular stuff again.
@@ -151,14 +153,14 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone.
M.Turn(90)
M.Scale(desired_scale_x, desired_scale_y)
M.Scale(desired_scale_y, desired_scale_x)//VOREStation Edit
if(species.icon_height == 64)//VOREStation Edit
M.Translate(13,-22)
else
M.Translate(1,-6)
layer = MOB_LAYER -0.01 // Fix for a byond bug where turf entry order no longer matters
else
M.Scale(desired_scale_x, desired_scale_y)
M.Scale(desired_scale_x, desired_scale_y)//VOREStation Edit
M.Translate(0, (vis_height/2)*(desired_scale_y-1)) //VOREStation edit
layer = MOB_LAYER // Fix for a byond bug where turf entry order no longer matters

View File

@@ -1282,8 +1282,8 @@ default behaviour is:
/mob/living/update_transform()
// First, get the correct size.
var/desired_scale_x = size_multiplier //VOREStation edit
var/desired_scale_y = size_multiplier //VOREStation edit
var/desired_scale_x = size_multiplier * icon_scale_x //VOREStation edit
var/desired_scale_y = size_multiplier * icon_scale_y //VOREStation edit
// Now for the regular stuff.
var/matrix/M = matrix()

View File

@@ -4,6 +4,7 @@
mannequin.dna = new /datum/dna(null)
mannequin.delete_inventory(TRUE)
dress_preview_mob(mannequin)
mannequin.update_transform()
mannequin.toggle_tail_vr(setting = TRUE)
mannequin.toggle_wing_vr(setting = TRUE)
COMPILE_OVERLAYS(mannequin)

View File

@@ -41,7 +41,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
. = ..()
ASSERT(!ishuman(src))
var/matrix/M = matrix()
M.Scale(size_multiplier)
M.Scale(size_multiplier * icon_scale_x, size_multiplier * icon_scale_y)
M.Translate(0, (vis_height/2)*(size_multiplier-1))
transform = M
@@ -70,7 +70,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
var/change = new_size - size_multiplier
var/duration = (abs(change)+0.25) SECONDS
var/matrix/resize = matrix() // Defines the matrix to change the player's size
resize.Scale(new_size) //Change the size of the matrix
resize.Scale(new_size * icon_scale_x, new_size * icon_scale_y) //Change the size of the matrix
resize.Translate(0, (vis_height/2) * (new_size - 1)) //Move the player up in the tile so their feet align with the bottom
animate(src, transform = resize, time = duration) //Animate the player resizing

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB