TGUI Backend Tweaks & Fixes

This commit is contained in:
ShadowLarkens
2020-08-07 00:17:11 -07:00
parent dd7754514c
commit dc6c47841d
43 changed files with 405 additions and 267 deletions
+15 -2
View File
@@ -332,6 +332,19 @@ var/global/list/PDA_Manifest = list()
var/datum/job/J = SSjob.get_job(assignment)
hidden = J?.offmap_spawn
/* Note: Due to cached_character_icon, a number of emergent properties occur due to the initialization
* order of readied-up vs latejoiners. Namely, latejoiners will get a uniform in their datacore picture, but readied-up will
* not. This is due to the fact that SSticker calls data_core.manifest_inject() inside of ticker/proc/create_characters(),
* but does not equip them until ticker/proc/equip_characters(), which is called later. So, this proc is literally called before
* they ever get their equipment, and so it can't get a picture of them in their equipment.
* Latejoiners do not have this problem, because /mob/new_player/proc/AttemptLateSpawn calls EquipRank() before it calls
* this proc, which means that they're already clothed by the time they get their picture taken here.
* The COMPILE_OVERLAYS() here is just to bypass SSoverlays taking for-fucking-ever to update the mob, since we're about to
* take a picture of them, we want all the overlays.
*/
COMPILE_OVERLAYS(H)
SSoverlays.queue -= H
var/id = generate_record_id()
//General Record
var/datum/data/record/G = CreateGeneralRecord(H, id, hidden)
@@ -418,8 +431,8 @@ var/global/list/PDA_Manifest = list()
var/icon/side
if(H)
var/icon/charicon = cached_character_icon(H)
front = icon(charicon, dir = SOUTH)
side = icon(charicon, dir = WEST)
front = icon(charicon, dir = SOUTH, frame = 1)
side = icon(charicon, dir = WEST, frame = 1)
else // Sending null things through browse_rsc() makes a runtime and breaks the console trying to view the record.
front = icon('html/images/no_image32.png')
side = icon('html/images/no_image32.png')
+1 -1
View File
@@ -154,7 +154,7 @@
/datum/wires/tgui_act(action, list/params)
if(..())
return
return TRUE
var/mob/user = usr
if(!interactable(user))