Makes integrated circuit nodes more colorful (#89360)

## About The Pull Request
Makes it so nodes in an integrated circuit are colored depending on
their category in the component menu.

Before:

![1212121212121212](https://github.com/user-attachments/assets/aec4602f-c837-415f-8f42-0dcfb9e0e4aa)

After:

![452345235345](https://github.com/user-attachments/assets/2a28f471-f0c1-4fda-9727-41db18894cb1)

All categories (BCI has been changed to solid black since this for
contrast purposes)

![e](https://private-user-images.githubusercontent.com/66052067/410190943-b66d26b0-29b5-4b3f-8e65-35e6a44b74d1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg3OTU0OTIsIm5iZiI6MTczODc5NTE5MiwicGF0aCI6Ii82NjA1MjA2Ny80MTAxOTA5NDMtYjY2ZDI2YjAtMjliNS00YjNmLThlNjUtMzVlNmE0NGI3NGQxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA1VDIyMzk1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI5MzMxOWUyMzUxMmRkZTQwMThkOTNiNTk3OTEyOTExNWY4NjNkODE0YWJjZjE0MTQwYzM2YTZjYjY0ZGQ4ZDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.uRa_SkIjdhzEbedzzLI1hDzOK-vpgC2ZNoQtvxo4ijE)

If I was some sort of tgui magician I'd try to implement a way to add
comment fields, but since I'm nowhere near that, I figured this was the
least I could do.

## Why It's Good For The Game
This makes it far easier to read integrated circuits and remember what
they do. While there's still inherently some amount of confusion due to
the nature of how node-based programming visually works, hopefully
having it so nodes aren't all the same color helps a bit.
## Changelog
🆑 Wallem
qol: Integrated Circuit nodes are now colored depending on their type.
/🆑
This commit is contained in:
Wallem
2025-02-07 13:54:21 -05:00
committed by GitHub
parent 80d3d8a230
commit bf61287cdb
7 changed files with 133 additions and 14 deletions
@@ -33,11 +33,19 @@
var/list/options_map
/obj/item/circuit_component/soundemitter/Initialize(mapload)
if(CONFIG_GET(flag/disallow_circuit_sounds))
update_ui_alerts(new_flag=CIRCUIT_FLAG_DISABLED)
. = ..()
/obj/item/circuit_component/soundemitter/get_ui_notices()
. = ..()
. += create_ui_notice("Sound Cooldown: [DisplayTimeText(sound_cooldown)]", "orange", "stopwatch")
if(CONFIG_GET(flag/disallow_circuit_sounds))
. += create_ui_notice("Non-functional", "red", "exclamation")
update_ui_alerts(new_flag=CIRCUIT_FLAG_DISABLED)
else
update_ui_alerts(remove_flag=CIRCUIT_FLAG_DISABLED)
/obj/item/circuit_component/soundemitter/populate_ports()
@@ -79,10 +87,11 @@
/obj/item/circuit_component/soundemitter/input_received(datum/port/input/port)
if(CONFIG_GET(flag/disallow_circuit_sounds))
ui_color = "red"
// Without constantly checking the config 24/7 or sending a signal to every circuit, best we can do to update existing emitters is this.
update_ui_alerts(new_flag=CIRCUIT_FLAG_DISABLED)
return
else
ui_color = initial(ui_color)
update_ui_alerts(remove_flag=CIRCUIT_FLAG_DISABLED)
if(!parent.shell)
return