vg Holomaps (#2844)

Ports vorestation's implementation of /vg/'s holomaps.

Holomaps are an in-game object that shows a map of (most) of the station with departments highlighted, to aid in navigation around the station. Maintenance, high-security, and asteroid areas are excluded from the maps.

Adds approximately 1.5 seconds to server boot to generate maps.

Holomaps were added at:

Arrivals shuttle dock, north of checkpoint.
Surface level lift.
By entrance to security on main level.
North of the kitchen.
South of Engineering, near tech storage.
Beside the IA office.
Near the lift on each sub-level department.
This commit is contained in:
Lohikar
2017-06-27 12:40:40 -05:00
committed by skull132
parent f3e6ab619e
commit 300f238111
19 changed files with 477 additions and 19 deletions

View File

@@ -19,6 +19,7 @@ var/list/global_huds
var/obj/screen/thermal
var/obj/screen/meson
var/obj/screen/science
var/obj/screen/holomap
/datum/global_hud/proc/setup_overlay(var/icon_state)
var/obj/screen/screen = new /obj/screen()
@@ -50,6 +51,18 @@ var/list/global_huds
meson = setup_overlay("meson_hud")
science = setup_overlay("science_hud")
// The holomap screen object is actually totally invisible.
// Station maps work by setting it as an images location before sending to client, not
// actually changing the icon or icon state of the screen object itself!
// Why do they work this way? I don't know really, that is how /vg/ designed them, but since they DO
// work this way, we can take advantage of their immutability by making them part of
// the global_hud (something we have and /vg/ doesn't) instead of an instance per mob.
holomap = new /obj/screen()
holomap.name = "holomap"
holomap.icon = null
holomap.screen_loc = ui_holomap
holomap.mouse_opacity = 0
var/obj/screen/O
var/i
//that nasty looking dither you get when you're short-sighted