Image Caches:

Mining rock turf edge overlays
Alien weed overlays
SMES overlays
This commit is contained in:
Remie Richards
2015-05-14 16:40:15 +01:00
parent bd2a60495a
commit 28cd8ea0f1
3 changed files with 96 additions and 18 deletions
+24 -5
View File
@@ -7,6 +7,10 @@
* effect/acid
*/
#define WEED_NORTH_EDGING "north"
#define WEED_SOUTH_EDGING "south"
#define WEED_EAST_EDGING "east"
#define WEED_WEST_EDGING "west"
/obj/structure/alien
icon = 'icons/mob/alien.dmi'
@@ -167,6 +171,7 @@
layer = 2
var/health = 15
var/obj/structure/alien/weeds/node/linked_node = null
var/static/list/weedImageCache
/obj/structure/alien/weeds/New(pos, node)
@@ -251,22 +256,31 @@
/obj/structure/alien/weeds/proc/updateWeedOverlays()
overlays.Cut()
if(!weedImageCache || !weedImageCache.len)
weedImageCache = list()
weedImageCache.len = 4
weedImageCache[WEED_NORTH_EDGING] = image('icons/mob/alien.dmi', "weeds_side_n", layer=2.11, pixel_y = -32)
weedImageCache[WEED_SOUTH_EDGING] = image('icons/mob/alien.dmi', "weeds_side_s", layer=2.11, pixel_y = 32)
weedImageCache[WEED_EAST_EDGING] = image('icons/mob/alien.dmi', "weeds_side_e", layer=2.11, pixel_x = -32)
weedImageCache[WEED_WEST_EDGING] = image('icons/mob/alien.dmi', "weeds_side_w", layer=2.11, pixel_x = 32)
var/turf/N = get_step(src, NORTH)
var/turf/S = get_step(src, SOUTH)
var/turf/E = get_step(src, EAST)
var/turf/W = get_step(src, WEST)
if(!locate(/obj/structure/alien) in N.contents)
if(istype(N, /turf/simulated/floor))
src.overlays += image('icons/mob/alien.dmi', "weeds_side_s", layer=2.11, pixel_y = 32)
overlays += weedImageCache[WEED_SOUTH_EDGING]
if(!locate(/obj/structure/alien) in S.contents)
if(istype(S, /turf/simulated/floor))
src.overlays += image('icons/mob/alien.dmi', "weeds_side_n", layer=2.11, pixel_y = -32)
overlays += weedImageCache[WEED_NORTH_EDGING]
if(!locate(/obj/structure/alien) in E.contents)
if(istype(E, /turf/simulated/floor))
src.overlays += image('icons/mob/alien.dmi', "weeds_side_w", layer=2.11, pixel_x = 32)
overlays += weedImageCache[WEED_WEST_EDGING]
if(!locate(/obj/structure/alien) in W.contents)
if(istype(W, /turf/simulated/floor))
src.overlays += image('icons/mob/alien.dmi', "weeds_side_e", layer=2.11, pixel_x = -32)
overlays += weedImageCache[WEED_EAST_EDGING]
/obj/structure/alien/weeds/proc/fullUpdateWeedOverlays()
@@ -494,4 +508,9 @@
spawn(1)
if(src)
tick()
tick()
#undef WEED_NORTH_EDGING
#undef WEED_SOUTH_EDGING
#undef WEED_EAST_EDGING
#undef WEED_WEST_EDGING
+27 -8
View File
@@ -1,5 +1,11 @@
/**********************Mineral deposits**************************/
var/global/list/rockTurfEdgeCache
#define NORTH_EDGING "north"
#define SOUTH_EDGING "south"
#define EAST_EDGING "east"
#define WEST_EDGING "west"
/turf/simulated/mineral //wall piece
name = "rock"
icon = 'icons/turf/mining.dmi'
@@ -32,25 +38,32 @@
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)) || (istype(get_step(src, NORTH), /turf/simulated/shuttle/floor)))
T = get_step(src, NORTH)
if (T)
T.overlays += image('icons/turf/mining.dmi', "rock_side_s")
T.overlays += rockTurfEdgeCache[SOUTH_EDGING]
if((istype(get_step(src, SOUTH), /turf/simulated/floor)) || (istype(get_step(src, SOUTH), /turf/space)) || (istype(get_step(src, SOUTH), /turf/simulated/shuttle/floor)))
T = get_step(src, SOUTH)
if (T)
T.overlays += image('icons/turf/mining.dmi', "rock_side_n", layer=6)
T.overlays += rockTurfEdgeCache[NORTH_EDGING]
if((istype(get_step(src, EAST), /turf/simulated/floor)) || (istype(get_step(src, EAST), /turf/space)) || (istype(get_step(src, EAST), /turf/simulated/shuttle/floor)))
T = get_step(src, EAST)
if (T)
T.overlays += image('icons/turf/mining.dmi', "rock_side_w", layer=6)
T.overlays += rockTurfEdgeCache[WEST_EDGING]
if((istype(get_step(src, WEST), /turf/simulated/floor)) || (istype(get_step(src, WEST), /turf/space)) || (istype(get_step(src, WEST), /turf/simulated/shuttle/floor)))
T = get_step(src, WEST)
if (T)
T.overlays += image('icons/turf/mining.dmi', "rock_side_e", layer=6)
T.overlays += rockTurfEdgeCache[EAST_EDGING]
if (mineralType && mineralAmt && spread && spreadChance)
for(var/dir in cardinal)
@@ -589,13 +602,13 @@
src.overlays.Cut()
if(istype(get_step(src, NORTH), /turf/simulated/mineral))
src.overlays += image('icons/turf/mining.dmi', "rock_side_n")
src.overlays += rockTurfEdgeCache[NORTH_EDGING]
if(istype(get_step(src, SOUTH), /turf/simulated/mineral))
src.overlays += image('icons/turf/mining.dmi', "rock_side_s", layer=6)
src.overlays += rockTurfEdgeCache[SOUTH_EDGING]
if(istype(get_step(src, EAST), /turf/simulated/mineral))
src.overlays += image('icons/turf/mining.dmi', "rock_side_e", layer=6)
src.overlays += rockTurfEdgeCache[EAST_EDGING]
if(istype(get_step(src, WEST), /turf/simulated/mineral))
src.overlays += image('icons/turf/mining.dmi', "rock_side_w", layer=6)
src.overlays += rockTurfEdgeCache[WEST_EDGING]
/turf/simulated/mineral/updateMineralOverlays()
return
@@ -603,3 +616,9 @@
/turf/proc/fullUpdateMineralOverlays()
for (var/turf/t in range(1,src))
t.updateMineralOverlays()
#undef NORTH_EDGING
#undef SOUTH_EDGING
#undef EAST_EDGING
#undef WEST_EDGING
+45 -5
View File
@@ -3,6 +3,17 @@
#define SMESRATE 0.05 // rate of internal charge to external power
//Cache defines
#define SMES_CLEVEL_1 1
#define SMES_CLEVEL_2 2
#define SMES_CLEVEL_3 3
#define SMES_CLEVEL_4 4
#define SMES_CLEVEL_5 5
#define SMES_OUTPUTTING 6
#define SMES_NOT_OUTPUTTING 7
#define SMES_INPUTTING 8
#define SMES_INPUT_ATTEMPT 9
/obj/machinery/power/smes
name = "power storage unit"
desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."
@@ -27,6 +38,8 @@
var/obj/machinery/power/terminal/terminal = null
var/static/list/smesImageCache
/obj/machinery/power/smes/New()
..()
@@ -177,18 +190,35 @@
if(panel_open)
return
if(!smesImageCache || !smesImageCache.len)
smesImageCache = list()
smesImageCache.len = 9
overlays += image('icons/obj/power.dmi', "smes-op[outputting]")
smesImageCache[SMES_CLEVEL_1] = image('icons/obj/power.dmi',"smes-og1")
smesImageCache[SMES_CLEVEL_2] = image('icons/obj/power.dmi',"smes-og2")
smesImageCache[SMES_CLEVEL_3] = image('icons/obj/power.dmi',"smes-og3")
smesImageCache[SMES_CLEVEL_4] = image('icons/obj/power.dmi',"smes-og4")
smesImageCache[SMES_CLEVEL_5] = image('icons/obj/power.dmi',"smes-og5")
smesImageCache[SMES_OUTPUTTING] = image('icons/obj/power.dmi', "smes-op1")
smesImageCache[SMES_NOT_OUTPUTTING] = image('icons/obj/power.dmi',"smes-op0")
smesImageCache[SMES_INPUTTING] = image('icons/obj/power.dmi', "smes-oc1")
smesImageCache[SMES_INPUT_ATTEMPT] = image('icons/obj/power.dmi', "smes-oc0")
if(outputting)
overlays += smesImageCache[SMES_OUTPUTTING]
else
overlays += smesImageCache[SMES_NOT_OUTPUTTING]
if(inputting)
overlays += image('icons/obj/power.dmi', "smes-oc1")
overlays += smesImageCache[SMES_INPUTTING]
else
if(input_attempt)
overlays += image('icons/obj/power.dmi', "smes-oc0")
overlays += smesImageCache[SMES_INPUT_ATTEMPT]
var/clevel = chargedisplay()
if(clevel>0)
overlays += image('icons/obj/power.dmi', "smes-og[clevel]")
overlays += smesImageCache[clevel]
return
@@ -420,4 +450,14 @@
..()
#undef SMESRATE
#undef SMESRATE
#undef SMES_CLEVEL_1
#undef SMES_CLEVEL_2
#undef SMES_CLEVEL_3
#undef SMES_CLEVEL_4
#undef SMES_CLEVEL_5
#undef SMES_OUTPUTTING
#undef SMES_NOT_OUTPUTTING
#undef SMES_INPUTTING
#undef SMES_INPUT_ATTEMPT