From de21384476e2f5a7efe20df57fa95c34676e191c Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 24 May 2020 20:01:41 +0200 Subject: [PATCH] Fixes orbit offsets and adds matrix vv preview. (#51198) * Adds matrix vv preview and moves vv css into separate file. * Fixes orbit offsets. --- code/datums/components/orbiter.dm | 6 ++- .../admin/view_variables/debug_variables.dm | 12 ++++++ .../admin/view_variables/view_variables.dm | 11 +----- code/modules/asset_cache/asset_list_items.dm | 6 +++ html/admin/view_variables.css | 37 +++++++++++++++++++ 5 files changed, 60 insertions(+), 12 deletions(-) create mode 100644 html/admin/view_variables.css diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm index 474d5049c5d..435fabdf7f8 100644 --- a/code/datums/components/orbiter.dm +++ b/code/datums/components/orbiter.dm @@ -59,7 +59,9 @@ orbiter.orbiting = src RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, .proc/orbiter_move_react) SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_BEGIN, orbiter) + var/matrix/initial_transform = matrix(orbiter.transform) + orbiters[orbiter] = initial_transform // Head first! if(pre_rotation) @@ -76,8 +78,6 @@ orbiter.SpinAnimation(rotation_speed, -1, clockwise, rotation_segments, parallel = FALSE) - //we stack the orbits up client side, so we can assign this back to normal server side without it breaking the orbit - orbiter.transform = initial_transform orbiter.forceMove(get_turf(parent)) to_chat(orbiter, "Now orbiting [parent].") @@ -87,6 +87,8 @@ UnregisterSignal(orbiter, COMSIG_MOVABLE_MOVED) SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_STOP, orbiter) orbiter.SpinAnimation(0, 0) + if(istype(orbiters[orbiter],/matrix)) //This is ugly. + orbiter.transform = orbiters[orbiter] orbiters -= orbiter orbiter.stop_orbit(src) orbiter.orbiting = null diff --git a/code/modules/admin/view_variables/debug_variables.dm b/code/modules/admin/view_variables/debug_variables.dm index 23f85cba156..6a75ba30193 100644 --- a/code/modules/admin/view_variables/debug_variables.dm +++ b/code/modules/admin/view_variables/debug_variables.dm @@ -1,4 +1,5 @@ #define VV_HTML_ENCODE(thing) ( sanitize ? html_encode(thing) : thing ) +/// Get displayed variable in VV variable list /proc/debug_variable(name, value, level, datum/D, sanitize = TRUE) //if D is a list, name will be index, and value will be assoc value. var/header if(D) @@ -35,6 +36,17 @@ else if (isfile(value)) item = "[VV_HTML_ENCODE(name)] = '[value]'" + else if(istype(value,/matrix)) // Needs to be before datum + var/matrix/M = value + item = {"[VV_HTML_ENCODE(name)] = +
  + + + + + + +
[M.a][M.d]0
[M.b][M.e]0
[M.c][M.f]1
 
"} //TODO link to modify_transform wrapper for all matrices else if (istype(value, /datum)) var/datum/DV = value if ("[DV]" != "[DV.type]") //if the thing as a name var, lets use it. diff --git a/code/modules/admin/view_variables/view_variables.dm b/code/modules/admin/view_variables/view_variables.dm index 99b832cbe0a..472ee5271d4 100644 --- a/code/modules/admin/view_variables/view_variables.dm +++ b/code/modules/admin/view_variables/view_variables.dm @@ -94,16 +94,7 @@ [title] - +