Input ports now connect to multiple output ports. Remove combiner. (#60494)

* tgui bsod

* debug disconnections

* prelim

* recomment

* set_value -> put ._.

* DAMN IT

* reinsert subsystem

* prepare

* unditch signals

* remove combiner

* remove combiner some more

* how did router.dm get here? deleting.

* These two COMSIGS should be one.

* critical typo

* inline cast

* have your signals

* Have your set_input & set_output.

* make compile

* upgrade save/load to n-to-n-wires

* have your documentation

* have your unsafe proc

* pay no attention to the compile errors

* unlist the ref

* paste my for block back in ._.

* fix manual input

* oops pushed too soon

* Have your !port.connected_to?.length

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
This commit is contained in:
Gurkenglas
2021-08-11 17:48:29 +02:00
committed by GitHub
parent e64b101750
commit e0fad671fd
66 changed files with 280 additions and 386 deletions
@@ -32,7 +32,7 @@
ports -= trigger_input
for(var/datum/port/input/input_port as anything in ports)
var/value = input_port.input_value
var/value = input_port.value
if(isnull(value))
continue
@@ -26,8 +26,8 @@
if(length(ports) < input_port_amount)
return
var/to_find = needle.input_value
var/to_search = haystack.input_value
var/to_find = needle.value
var/to_search = haystack.value
if(!to_find || !to_search)
return
@@ -37,12 +37,12 @@
if(.)
return
var/value = input_port.input_value
var/value = input_port.value
if(isnull(value))
return
var/result
switch(textcase_options.input_value)
switch(textcase_options.value)
if(COMP_TEXT_LOWER)
result = lowertext(value)
if(COMP_TEXT_UPPER)
@@ -26,4 +26,4 @@
if(.)
return
output.set_output(text2num(input_port.input_value))
output.set_output(text2num(input_port.value))
@@ -28,13 +28,13 @@
if(.)
return
var/input_value = input_port.input_value
if(isatom(input_value))
var/value = input_port.value
if(isatom(value))
var/turf/location = get_turf(src)
var/atom/object = input_value
var/atom/object = value
if(object.z != location.z || get_dist(location, object) > max_range)
output.set_output(PORT_TYPE_ATOM)
return
output.set_output("[input_value]")
output.set_output("[value]")