Merge pull request #4216 from Tastyfish/420blazeit

Makes the game startup time significantly faster
This commit is contained in:
Fox McCloud
2016-04-16 02:03:29 -04:00
30 changed files with 86 additions and 257 deletions
+35 -28
View File
@@ -1,11 +1,16 @@
/**********************Mineral deposits**************************/
var/global/list/rockTurfEdgeCache
#define NORTH_EDGING "north"
#define SOUTH_EDGING "south"
#define EAST_EDGING "east"
#define WEST_EDGING "west"
var/global/list/rockTurfEdgeCache = list(
NORTH_EDGING = image('icons/turf/mining.dmi', "rock_side_n", layer = 6),
SOUTH_EDGING = image('icons/turf/mining.dmi', "rock_side_s"),
EAST_EDGING = image('icons/turf/mining.dmi', "rock_side_e", layer = 6),
WEST_EDGING = image('icons/turf/mining.dmi', "rock_side_w", layer = 6))
/turf/simulated/mineral //wall piece
name = "Rock"
icon = 'icons/turf/mining.dmi'
@@ -50,32 +55,8 @@ var/global/list/rockTurfEdgeCache
return
/turf/simulated/mineral/New()
if(!rockTurfEdgeCache || !rockTurfEdgeCache.len)
rockTurfEdgeCache = list()
rockTurfEdgeCache.len = 4
rockTurfEdgeCache[NORTH_EDGING] = image('icons/turf/mining.dmi', "rock_side_n", layer = 6)
rockTurfEdgeCache[SOUTH_EDGING] = image('icons/turf/mining.dmi', "rock_side_s")
rockTurfEdgeCache[EAST_EDGING] = image('icons/turf/mining.dmi', "rock_side_e", layer = 6)
rockTurfEdgeCache[WEST_EDGING] = image('icons/turf/mining.dmi', "rock_side_w", layer = 6)
spawn(1)
var/turf/T
if((istype(get_step(src, NORTH), /turf/simulated/floor)) || (istype(get_step(src, NORTH), /turf/space)))
T = get_step(src, NORTH)
if (T)
T.overlays += rockTurfEdgeCache[SOUTH_EDGING]
if((istype(get_step(src, SOUTH), /turf/simulated/floor)) || (istype(get_step(src, SOUTH), /turf/space)))
T = get_step(src, SOUTH)
if (T)
T.overlays += rockTurfEdgeCache[NORTH_EDGING]
if((istype(get_step(src, EAST), /turf/simulated/floor)) || (istype(get_step(src, EAST), /turf/space)))
T = get_step(src, EAST)
if (T)
T.overlays += rockTurfEdgeCache[WEST_EDGING]
if((istype(get_step(src, WEST), /turf/simulated/floor)) || (istype(get_step(src, WEST), /turf/space)))
T = get_step(src, WEST)
if (T)
T.overlays += rockTurfEdgeCache[EAST_EDGING]
..()
mineral_turfs += src
if (mineralType && mineralAmt && spread && spreadChance)
for(var/dir in cardinal)
@@ -85,7 +66,6 @@ var/global/list/rockTurfEdgeCache
Spread(T)
HideRock()
return
/turf/simulated/mineral/proc/HideRock()
if(hidden)
@@ -96,6 +76,33 @@ var/global/list/rockTurfEdgeCache
/turf/simulated/mineral/proc/Spread(var/turf/T)
new src.type(T)
/hook/startup/proc/add_mineral_edges()
var/watch = start_watch()
log_startup_progress("Reticulating splines...")
for(var/turf/simulated/mineral/M in mineral_turfs)
M.add_edges()
log_startup_progress(" Splines reticulated in [stop_watch(watch)]s.")
return 1
/turf/simulated/mineral/proc/add_edges()
var/turf/T
if((istype(get_step(src, NORTH), /turf/simulated/floor)) || (istype(get_step(src, NORTH), /turf/space)))
T = get_step(src, NORTH)
if (T)
T.overlays += rockTurfEdgeCache[SOUTH_EDGING]
if((istype(get_step(src, SOUTH), /turf/simulated/floor)) || (istype(get_step(src, SOUTH), /turf/space)))
T = get_step(src, SOUTH)
if (T)
T.overlays += rockTurfEdgeCache[NORTH_EDGING]
if((istype(get_step(src, EAST), /turf/simulated/floor)) || (istype(get_step(src, EAST), /turf/space)))
T = get_step(src, EAST)
if (T)
T.overlays += rockTurfEdgeCache[WEST_EDGING]
if((istype(get_step(src, WEST), /turf/simulated/floor)) || (istype(get_step(src, WEST), /turf/space)))
T = get_step(src, WEST)
if (T)
T.overlays += rockTurfEdgeCache[EAST_EDGING]
/turf/simulated/mineral/random
name = "mineral deposit"
icon_state = "rock"
+1 -1
View File
@@ -242,9 +242,9 @@
height = 4
/obj/docking_port/mobile/pod/New()
..()
if(id == "pod")
WARNING("[type] id has not been changed from the default. Use the id convention \"pod1\" \"pod2\" etc.")
..()
/obj/docking_port/mobile/pod/cancel()
return