From d5f204b0255b9ad94c4d94a57cb94428dd21eb01 Mon Sep 17 00:00:00 2001 From: duncathan Date: Tue, 30 Jun 2015 00:33:43 -0600 Subject: [PATCH] fixes update_icon(), fixes welded issue, fixes undocumented(?) issue of the eastern cap on mixers/filters being one pixel too far to the right the cap thing applied to filters/mixers before this PR, too --- .../binary_devices/binary_atmos_base.dm | 62 +++++++++--------- .../components/components_base.dm | 53 +++++++++++++++ .../trinary_devices/trinary_base.dm | 42 ++++++------ .../components/unary_devices/unary_base.dm | 60 ++++++++--------- icons/obj/atmospherics/trinary_devices.dmi | Bin 41323 -> 40611 bytes 5 files changed, 132 insertions(+), 85 deletions(-) create mode 100644 code/ATMOSPHERICS/components/components_base.dm diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm index e36e7989db4..c964de9a2c3 100644 --- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm +++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm @@ -1,4 +1,4 @@ -/obj/machinery/atmospherics/binary +/obj/machinery/atmospherics/components/binary icon = 'icons/obj/atmospherics/binary_devices.dmi' dir = SOUTH initialize_directions = SOUTH|NORTH @@ -13,9 +13,7 @@ var/datum/pipeline/parent1 var/datum/pipeline/parent2 - var/showpipe = 0 - -/obj/machinery/atmospherics/binary/New() +/obj/machinery/atmospherics/components/binary/New() ..() air1 = new @@ -24,7 +22,7 @@ air1.volume = 200 air2.volume = 200 -/obj/machinery/atmospherics/binary/SetInitDirections() +/obj/machinery/atmospherics/components/binary/SetInitDirections() switch(dir) if(NORTH) initialize_directions = NORTH|SOUTH @@ -35,35 +33,35 @@ if(WEST) initialize_directions = EAST|WEST -//Separate this because we don't need to update pipe icons if we just are going to change the state -/obj/machinery/atmospherics/binary/proc/update_icon_nopipes() - return - -/obj/machinery/atmospherics/binary/update_icon() +/obj/machinery/atmospherics/components/binary/update_icon() + nodes = list(node1, node2) + ..() +/* /obj/machinery/atmospherics/components/binary/update_icon() update_icon_nopipes() underlays.Cut() - if(showpipe) - var/connected = 0 + if(!showpipe) + return + var/connected = 0 - //Add intact pieces - if(node1) - connected = icon_addintact(node1, connected) + //Add intact pieces + if(node1) + connected = icon_addintact(node1, connected) - if(node2) - connected = icon_addintact(node2, connected) + if(node2) + connected = icon_addintact(node2, connected) - //Add broken pieces - icon_addbroken(connected) + //Add broken pieces + icon_addbroken(connected) */ -/obj/machinery/atmospherics/binary/hide(var/intact) +/obj/machinery/atmospherics/components/binary/hide(var/intact) showpipe = !intact update_icon() ..(intact) // Housekeeping and pipe network stuff below -/obj/machinery/atmospherics/binary/Destroy() +/obj/machinery/atmospherics/components/binary/Destroy() if(node1) node1.disconnect(src) node1 = null @@ -74,7 +72,7 @@ nullifyPipenet(parent2) ..() -/obj/machinery/atmospherics/binary/atmosinit() +/obj/machinery/atmospherics/components/binary/atmosinit() var/node2_connect = dir var/node1_connect = turn(dir, 180) @@ -95,12 +93,12 @@ update_icon() ..() -/obj/machinery/atmospherics/binary/construction() +/obj/machinery/atmospherics/components/binary/construction() ..() parent1.update = 1 parent2.update = 1 -/obj/machinery/atmospherics/binary/build_network() +/obj/machinery/atmospherics/components/binary/build_network() if(!parent1) parent1 = new /datum/pipeline() parent1.build_pipeline(src) @@ -109,7 +107,7 @@ parent2 = new /datum/pipeline() parent2.build_pipeline(src) -/obj/machinery/atmospherics/binary/disconnect(obj/machinery/atmospherics/reference) +/obj/machinery/atmospherics/components/binary/disconnect(obj/machinery/atmospherics/reference) if(reference == node1) if(istype(node1, /obj/machinery/atmospherics/pipe)) qdel(parent1) @@ -120,7 +118,7 @@ node2 = null update_icon() -/obj/machinery/atmospherics/binary/nullifyPipenet(datum/pipeline/P) +/obj/machinery/atmospherics/components/binary/nullifyPipenet(datum/pipeline/P) ..() if(P == parent1) parent1.other_airs -= air1 @@ -129,13 +127,13 @@ parent2.other_airs -= air2 parent2 = null -/obj/machinery/atmospherics/binary/returnPipenetAir(datum/pipeline/P) +/obj/machinery/atmospherics/components/binary/returnPipenetAir(datum/pipeline/P) if(P == parent1) return air1 else if(P == parent2) return air2 -/obj/machinery/atmospherics/binary/pipeline_expansion(datum/pipeline/P) +/obj/machinery/atmospherics/components/binary/pipeline_expansion(datum/pipeline/P) if(P) if(parent1 == P) return list(node1) @@ -144,26 +142,26 @@ else return list(node1, node2) -/obj/machinery/atmospherics/binary/setPipenet(datum/pipeline/P, obj/machinery/atmospherics/A) +/obj/machinery/atmospherics/components/binary/setPipenet(datum/pipeline/P, obj/machinery/atmospherics/A) if(A == node1) parent1 = P else if(A == node2) parent2 = P -/obj/machinery/atmospherics/binary/returnPipenet(obj/machinery/atmospherics/A) +/obj/machinery/atmospherics/components/binary/returnPipenet(obj/machinery/atmospherics/A) if(A == node1) return parent1 else if(A == node2) return parent2 -/obj/machinery/atmospherics/binary/replacePipenet(datum/pipeline/Old, datum/pipeline/New) +/obj/machinery/atmospherics/components/binary/replacePipenet(datum/pipeline/Old, datum/pipeline/New) if(Old == parent1) parent1 = New else if(Old == parent2) parent2 = New -/obj/machinery/atmospherics/binary/unsafe_pressure_release(var/mob/user,var/pressures) +/obj/machinery/atmospherics/components/binary/unsafe_pressure_release(var/mob/user,var/pressures) ..() var/turf/T = get_turf(src) diff --git a/code/ATMOSPHERICS/components/components_base.dm b/code/ATMOSPHERICS/components/components_base.dm new file mode 100644 index 00000000000..abe14cb61d2 --- /dev/null +++ b/code/ATMOSPHERICS/components/components_base.dm @@ -0,0 +1,53 @@ +/* +So much of atmospherics.dm was used solely by components, so separating this makes things all a lot cleaner. +On top of that, now people can add component-speciic procs/vars if they want! +*/ + +var/welded = 0 //Used on pumps and scrubbers +var/showpipe = 0 +var/nodes = list() + +/* +Iconnery +*/ + +/obj/machinery/atmospherics/components/proc/icon_addintact(var/obj/machinery/atmospherics/node, var/connected = 0) + var/image/img = getpipeimage('icons/obj/atmospherics/binary_devices.dmi', "pipe_intact", get_dir(src,node), node.pipe_color) + underlays += img + + return connected | img.dir + +/obj/machinery/atmospherics/components/proc/icon_addbroken(var/connected = 0) + var/unconnected = (~connected) & initialize_directions + for(var/direction in cardinal) + if(unconnected & direction) + underlays += getpipeimage('icons/obj/atmospherics/binary_devices.dmi', "pipe_exposed", direction) + +/obj/machinery/atmospherics/components/proc/update_icon_nopipes() + return + +/obj/machinery/atmospherics/components/update_icon(var/update_nodes[] = nodes) + update_icon_nopipes() + + underlays.Cut() + if(!showpipe) + return //no need to update the pipes if they aren't showing + + var/connected = 0 + + for(var/N in nodes) //adds intact pieces + var/obj/machinery/atmospherics/node = N + if(node) + connected = icon_addintact(node, connected) + + icon_addbroken(connected) //adds broken pieces + +/* +I think this is NanoUI? +*/ + +/obj/machinery/atmospherics/components/proc/safe_input(var/title, var/text, var/default_set) + var/new_value = input(usr,text,title,default_set) as num + if(usr.canUseTopic(src)) + return new_value + return default_set \ No newline at end of file diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm index d756a14e444..3961aaf50ba 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm @@ -1,4 +1,4 @@ -/obj/machinery/atmospherics/trinary +/obj/machinery/atmospherics/components/trinary icon = 'icons/obj/atmospherics/trinary_devices.dmi' dir = SOUTH initialize_directions = SOUTH|NORTH|WEST @@ -18,7 +18,7 @@ var/flipped = 0 -/obj/machinery/atmospherics/trinary/New() +/obj/machinery/atmospherics/components/trinary/New() ..() air1 = new @@ -29,7 +29,7 @@ air2.volume = 200 air3.volume = 200 -/obj/machinery/atmospherics/trinary/SetInitDirections() +/obj/machinery/atmospherics/components/trinary/SetInitDirections() switch(dir) if(NORTH) initialize_directions = EAST|NORTH|SOUTH @@ -42,10 +42,11 @@ /* Iconnery */ -/obj/machinery/atmospherics/trinary/proc/update_icon_nopipes() - return +/obj/machinery/atmospherics/components/trinary/update_icon() + nodes = list(node1, node2, node3) + ..() -/obj/machinery/atmospherics/trinary/update_icon() +/* /obj/machinery/atmospherics/components/trinary/update_icon() update_icon_nopipes() var/connected = 0 @@ -62,12 +63,12 @@ Iconnery connected = icon_addintact(node3, connected) //Add broken pieces - icon_addbroken(connected) + icon_addbroken(connected) */ /* Housekeeping and pipe network stuff below */ -/obj/machinery/atmospherics/trinary/Destroy() +/obj/machinery/atmospherics/components/trinary/Destroy() if(node1) node1.disconnect(src) node1 = null @@ -82,7 +83,7 @@ Housekeeping and pipe network stuff below nullifyPipenet(parent3) ..() -/obj/machinery/atmospherics/trinary/atmosinit() +/obj/machinery/atmospherics/components/trinary/atmosinit() //Mixer: //1 and 2 is input @@ -118,16 +119,19 @@ Housekeeping and pipe network stuff below node3 = target break + if(level == 2) + showpipe = 1 + update_icon() ..() -/obj/machinery/atmospherics/trinary/construction() +/obj/machinery/atmospherics/components/trinary/construction() ..() parent1.update = 1 parent2.update = 1 parent3.update = 1 -/obj/machinery/atmospherics/trinary/build_network() +/obj/machinery/atmospherics/components/trinary/build_network() if(!parent1) parent1 = new /datum/pipeline() parent1.build_pipeline(src) @@ -140,7 +144,7 @@ Housekeeping and pipe network stuff below parent3 = new /datum/pipeline() parent3.build_pipeline(src) -/obj/machinery/atmospherics/trinary/disconnect(obj/machinery/atmospherics/reference) +/obj/machinery/atmospherics/components/trinary/disconnect(obj/machinery/atmospherics/reference) if(reference == node1) if(istype(node1, /obj/machinery/atmospherics/pipe)) qdel(parent1) @@ -155,7 +159,7 @@ Housekeeping and pipe network stuff below node3 = null update_icon() -/obj/machinery/atmospherics/trinary/nullifyPipenet(datum/pipeline/P) +/obj/machinery/atmospherics/components/trinary/nullifyPipenet(datum/pipeline/P) ..() if(P == parent1) parent1.other_airs -= air1 @@ -167,7 +171,7 @@ Housekeeping and pipe network stuff below parent3.other_airs -= air3 parent3 = null -/obj/machinery/atmospherics/trinary/returnPipenetAir(datum/pipeline/P) +/obj/machinery/atmospherics/components/trinary/returnPipenetAir(datum/pipeline/P) if(P == parent1) return air1 else if(P == parent2) @@ -175,7 +179,7 @@ Housekeeping and pipe network stuff below else if(P == parent3) return air3 -/obj/machinery/atmospherics/trinary/pipeline_expansion(datum/pipeline/P) +/obj/machinery/atmospherics/components/trinary/pipeline_expansion(datum/pipeline/P) if(P) if(parent1 == P) return list(node1) @@ -185,7 +189,7 @@ Housekeeping and pipe network stuff below return list(node3) return list(node1, node2, node3) -/obj/machinery/atmospherics/trinary/setPipenet(datum/pipeline/P, obj/machinery/atmospherics/A) +/obj/machinery/atmospherics/components/trinary/setPipenet(datum/pipeline/P, obj/machinery/atmospherics/A) if(A == node1) parent1 = P else if(A == node2) @@ -193,7 +197,7 @@ Housekeeping and pipe network stuff below else if(A == node3) parent3 = P -/obj/machinery/atmospherics/trinary/returnPipenet(obj/machinery/atmospherics/A) +/obj/machinery/atmospherics/components/trinary/returnPipenet(obj/machinery/atmospherics/A) if(A == node1) return parent1 else if(A == node2) @@ -201,7 +205,7 @@ Housekeeping and pipe network stuff below else if(A == node3) return parent3 -/obj/machinery/atmospherics/trinary/replacePipenet(datum/pipeline/Old, datum/pipeline/New) +/obj/machinery/atmospherics/components/trinary/replacePipenet(datum/pipeline/Old, datum/pipeline/New) if(Old == parent1) parent1 = New else if(Old == parent2) @@ -210,7 +214,7 @@ Housekeeping and pipe network stuff below parent3 = New -/obj/machinery/atmospherics/trinary/unsafe_pressure_release(var/mob/user,var/pressures) +/obj/machinery/atmospherics/components/trinary/unsafe_pressure_release(var/mob/user,var/pressures) ..() var/turf/T = get_turf(src) diff --git a/code/ATMOSPHERICS/components/unary_devices/unary_base.dm b/code/ATMOSPHERICS/components/unary_devices/unary_base.dm index 7c2ab9b622c..fe21b9109ba 100644 --- a/code/ATMOSPHERICS/components/unary_devices/unary_base.dm +++ b/code/ATMOSPHERICS/components/unary_devices/unary_base.dm @@ -1,47 +1,39 @@ -/obj/machinery/atmospherics/unary +/obj/machinery/atmospherics/components/unary icon = 'icons/obj/atmospherics/unary_devices.dmi' dir = SOUTH initialize_directions = SOUTH layer = TURF_LAYER+0.1 var/datum/gas_mixture/air_contents var/obj/machinery/atmospherics/node - var/showpipe = 0 -/obj/machinery/atmospherics/unary/New() +/obj/machinery/atmospherics/components/unary/New() ..() air_contents = new air_contents.volume = 200 -/obj/machinery/atmospherics/unary/SetInitDirections() +/obj/machinery/atmospherics/components/unary/SetInitDirections() initialize_directions = dir /* Iconnery */ -//Separate this because we don't need to update pipe icons if we just are going to change the state -/obj/machinery/atmospherics/unary/proc/update_icon_nopipes() - return - -/obj/machinery/atmospherics/unary/update_icon() +/obj/machinery/atmospherics/components/unary/update_icon() + nodes = list(node) + ..() +/* /obj/machinery/atmospherics/components/unary/update_icon() update_icon_nopipes() - //This code might be a bit specific to scrubber, vents and injectors, but honestly they are basically the only ones used in the unary branch. - underlays.Cut() - if(showpipe) - var/state - var/col - if(node) - state = "pipe_intact" - col = node.pipe_color - else - state = "pipe_exposed" + if(!showpipe) + return //no need to continue if we're not showing pipes + if(node) + icon_addintact(node) + return + icon_addbroken() */ - underlays += getpipeimage('icons/obj/atmospherics/binary_devices.dmi', state, initialize_directions, col) - -/obj/machinery/atmospherics/unary/hide(var/intact) +/obj/machinery/atmospherics/components/unary/hide(var/intact) showpipe = !intact update_icon() @@ -51,7 +43,7 @@ Iconnery Housekeeping and pipe network stuff below */ -/obj/machinery/atmospherics/unary/Destroy() +/obj/machinery/atmospherics/components/unary/Destroy() if(node) node.disconnect(src) node = null @@ -59,7 +51,7 @@ Housekeeping and pipe network stuff below ..() -/obj/machinery/atmospherics/unary/atmosinit() +/obj/machinery/atmospherics/components/unary/atmosinit() for(var/obj/machinery/atmospherics/target in get_step(src, dir)) if(target.initialize_directions & get_dir(target,src)) node = target @@ -69,11 +61,11 @@ Housekeeping and pipe network stuff below update_icon() ..() -/obj/machinery/atmospherics/unary/construction() +/obj/machinery/atmospherics/components/unary/construction() ..() parent.update = 1 -/obj/machinery/atmospherics/unary/default_change_direction_wrench(mob/user, obj/item/weapon/wrench/W) +/obj/machinery/atmospherics/components/unary/default_change_direction_wrench(mob/user, obj/item/weapon/wrench/W) if(..()) initialize_directions = dir if(node) @@ -89,38 +81,38 @@ Housekeeping and pipe network stuff below build_network() . = 1 -/obj/machinery/atmospherics/unary/build_network() +/obj/machinery/atmospherics/components/unary/build_network() if(!parent) parent = new /datum/pipeline() parent.build_pipeline(src) -/obj/machinery/atmospherics/unary/disconnect(obj/machinery/atmospherics/reference) +/obj/machinery/atmospherics/components/unary/disconnect(obj/machinery/atmospherics/reference) if(reference == node) if(istype(node, /obj/machinery/atmospherics/pipe)) qdel(parent) node = null update_icon() -/obj/machinery/atmospherics/unary/nullifyPipenet() +/obj/machinery/atmospherics/components/unary/nullifyPipenet() ..() parent.other_airs -= air_contents parent = null -/obj/machinery/atmospherics/unary/returnPipenetAir() +/obj/machinery/atmospherics/components/unary/returnPipenetAir() return air_contents -/obj/machinery/atmospherics/unary/pipeline_expansion() +/obj/machinery/atmospherics/components/unary/pipeline_expansion() return list(node) -/obj/machinery/atmospherics/unary/setPipenet(datum/pipeline/P) +/obj/machinery/atmospherics/components/unary/setPipenet(datum/pipeline/P) parent = P -/obj/machinery/atmospherics/unary/replacePipenet(datum/pipeline/Old, datum/pipeline/New) +/obj/machinery/atmospherics/components/unary/replacePipenet(datum/pipeline/Old, datum/pipeline/New) if(Old == parent) parent = New -/obj/machinery/atmospherics/unary/unsafe_pressure_release(var/mob/user,var/pressures) +/obj/machinery/atmospherics/components/unary/unsafe_pressure_release(var/mob/user,var/pressures) ..() var/turf/T = get_turf(src) diff --git a/icons/obj/atmospherics/trinary_devices.dmi b/icons/obj/atmospherics/trinary_devices.dmi index 7eabbd65d01999c9f350f2c0e46255cefef0cb83..6c96035c4a7e7e0ac6cb577f71a02e6ae0abbbd3 100644 GIT binary patch delta 19548 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