Add skybox planet sprite for Virgo3b, modify midpoint

This commit is contained in:
Chompstation Bot
2021-07-10 23:48:50 +00:00
parent 58f6f5a71a
commit d9cb00a124
10 changed files with 25276 additions and 23 deletions
+2 -1
View File
@@ -60,7 +60,6 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G
#define INIT_ORDER_INPUT 37
#define INIT_ORDER_CHEMISTRY 35
#define INIT_ORDER_VIS 32
#define INIT_ORDER_SKYBOX 30
#define INIT_ORDER_MAPPING 25
#define INIT_ORDER_SOUNDS 23
#define INIT_ORDER_INSTRUMENTS 22
@@ -87,10 +86,12 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G
#define INIT_ORDER_AI_FAST -23
#define INIT_ORDER_GAME_MASTER -24
#define INIT_ORDER_PERSISTENCE -25
#define INIT_ORDER_SKYBOX -30 //Visual only, irrelevant to gameplay, but needs to be late enough to have overmap populated fully
#define INIT_ORDER_TICKER -50
#define INIT_ORDER_CHAT -100 //Should be last to ensure chat remains smooth during init.
// Subsystem fire priority, from lowest to highest priority
// If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child)
#define FIRE_PRIORITY_SHUTTLES 5
+15 -8
View File
@@ -93,13 +93,17 @@ SUBSYSTEM_DEF(skybox)
. = ..()
/datum/controller/subsystem/skybox/proc/get_skybox(z)
if(!subsystem_initialized)
return // WAIT
if(!skybox_cache["[z]"])
skybox_cache["[z]"] = generate_skybox(z)
return skybox_cache["[z]"]
/datum/controller/subsystem/skybox/proc/generate_skybox(z)
var/datum/skybox_settings/settings = global.using_map.get_skybox_datum(z)
var/new_overlays = list()
var/image/res = image(settings.icon)
res.appearance_flags = KEEP_TOGETHER
@@ -111,23 +115,26 @@ SUBSYSTEM_DEF(skybox)
stars.appearance_flags = RESET_COLOR
base.overlays += stars
res.overlays += base
new_overlays += base
if(global.using_map.use_overmap && settings.use_overmap_details)
var/obj/effect/overmap/visitable/O = get_overmap_sector(z)
if(istype(O))
var/image/overmap = image(settings.icon)
overmap.overlays += O.generate_skybox()
var/image/self_image = O.generate_skybox(z)
new_overlays += self_image
for(var/obj/effect/overmap/visitable/other in O.loc)
if(other != O)
overmap.overlays += other.get_skybox_representation()
overmap.appearance_flags = RESET_COLOR
res.overlays += overmap
new_overlays += other.get_skybox_representation(z)
// Allow events to apply custom overlays to skybox! (Awesome!)
for(var/datum/event/E in SSevents.active_events)
if(E.has_skybox_image && E.isRunning && (z in E.affecting_z))
res.overlays += E.get_skybox_image()
new_overlays += E.get_skybox_image()
for(var/image/I in new_overlays)
I.appearance_flags |= RESET_COLOR
res.overlays = new_overlays
return res
+1 -1
View File
@@ -11,7 +11,7 @@
var/glass = 1
var/datum/tgui_module/appearance_changer/mirror/M
/obj/structure/mirror/New(var/loc, var/dir, var/building = 0, mob/user as mob)
/obj/structure/mirror/Initialize(mapload, var/dir, var/building = 0, mob/user as mob)
M = new(src, null)
if(building)
glass = 0
+3 -3
View File
@@ -37,12 +37,12 @@
return ..()
//Overlay of how this object should look on other skyboxes
/obj/effect/overmap/proc/get_skybox_representation()
/obj/effect/overmap/proc/get_skybox_representation(zlevel)
if(!cached_skybox_image)
build_skybox_representation()
build_skybox_representation(zlevel)
return cached_skybox_image
/obj/effect/overmap/proc/build_skybox_representation()
/obj/effect/overmap/proc/build_skybox_representation(zlevel)
if(!skybox_icon)
return
var/image/I = image(icon = skybox_icon, icon_state = skybox_icon_state)
+1 -1
View File
@@ -165,7 +165,7 @@
for(var/thing in restricted_waypoints[shuttle_name])
.[thing] = name
/obj/effect/overmap/visitable/proc/generate_skybox()
/obj/effect/overmap/visitable/proc/generate_skybox(zlevel)
return
/obj/effect/overmap/visitable/proc/cleanup()
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 KiB

File diff suppressed because it is too large Load Diff
+12 -1
View File
@@ -238,7 +238,8 @@
[i]Transponder[/i]: Transmitting (CIV), NanoTrasen IFF
[b]Notice[/b]: NanoTrasen Base, authorized personnel only"}
base = 1
icon_state = "reddwarf"
icon = 'icons/obj/overmap_vr.dmi'
icon_state = "virgo3b"
initial_generic_waypoints = list(
"tether_dockarm_d1a1", //Bottom left,
"tether_dockarm_d1a2", //Top left,
@@ -288,6 +289,15 @@
else if(istype(AM, /obj/effect/overmap/visitable/ship))
atc.msg(message)
/obj/effect/overmap/visitable/sector/virgo3b/generate_skybox(zlevel)
var/static/image/bigone = image(icon = 'icons/skybox/virgo3b.dmi', icon_state = "large")
var/static/image/smallone = image(icon = 'icons/skybox/virgo3b.dmi', icon_state = "small")
if(zlevel == Z_LEVEL_TRANSIT)
return bigone
else
return smallone
// For making the 6-in-1 holomap, we calculate some offsets
#define TETHER_MAP_SIZE 140 // Width and height of compiled in tether z levels.
#define TETHER_HOLOMAP_CENTER_GUTTER 40 // 40px central gutter between columns
@@ -328,6 +338,7 @@
z = Z_LEVEL_TRANSIT
name = "Transit"
flags = MAP_LEVEL_STATION|MAP_LEVEL_SEALED|MAP_LEVEL_PLAYER|MAP_LEVEL_CONTACT|MAP_LEVEL_XENOARCH_EXEMPT
base_turf = /turf/space/v3b_midpoint // Special type that spawns fall triggers
/datum/map_z_level/tether/station/space_low
z = Z_LEVEL_SPACE_LOW
+69
View File
@@ -215,3 +215,72 @@ VIRGO3B_TURF_CREATE(/turf/simulated/mineral/floor)
dir = EAST
/turf/simulated/sky/virgo3b/moving/west
dir = WEST
/turf/simulated/floor/midpoint_glass
name = "glass floor"
desc = "Dont jump on it, or do, I'm not your mom."
icon = 'icons/turf/flooring/glass.dmi'
icon_state = "glass-0"
base_icon_state = "glass"
/turf/simulated/floor/midpoint_glass/reinf
name = "reinforced glass floor"
desc = "Do jump on it, it can take it."
icon = 'icons/turf/flooring/reinf_glass.dmi'
icon_state = "reinf_glass-0"
base_icon_state = "reinf_glass"
/turf/simulated/floor/midpoint_glass/Initialize()
. = ..()
return INITIALIZE_HINT_LATELOAD
/turf/simulated/floor/midpoint_glass/LateInitialize()
do_icons()
/turf/simulated/floor/midpoint_glass/proc/do_icons()
var/new_junction = NONE
for(var/direction in cardinal) //Cardinal case first.
var/turf/T = get_step(src, direction)
if(istype(T, type))
new_junction |= direction
if(!(new_junction & (NORTH|SOUTH)) || !(new_junction & (EAST|WEST)))
icon_state = "[base_icon_state]-[new_junction]"
return
if(new_junction & NORTH)
if(new_junction & WEST)
var/turf/T = get_step(src, NORTHWEST)
if(istype(T, type))
new_junction |= (1<<7)
if(new_junction & EAST)
var/turf/T = get_step(src, NORTHEAST)
if(istype(T, type))
new_junction |= (1<<4)
if(new_junction & SOUTH)
if(new_junction & WEST)
var/turf/T = get_step(src, SOUTHWEST)
if(istype(T, type))
new_junction |= (1<<6)
if(new_junction & EAST)
var/turf/T = get_step(src, SOUTHEAST)
if(istype(T, type))
new_junction |= (1<<5)
icon_state = "[base_icon_state]-[new_junction]"
add_vis_overlay('icons/effects/effects.dmi', "white", plane = SPACE_PLANE, add_vis_flags = VIS_INHERIT_ID|VIS_UNDERLAY)
/turf/space/v3b_midpoint/Initialize()
. = ..()
new /obj/effect/step_trigger/teleporter/planetary_fall/virgo3b(src)
/turf/space/v3b_midpoint/ChangeTurf(turf/N, tell_universe, force_lighting_update, preserve_outdoors)
. = ..()
for(var/obj/effect/step_trigger/teleporter/planetary_fall/virgo3b/F in src)
qdel(F)