Commit Graph

27 Commits

Author SHA1 Message Date
SkyratBot
a0c805ff4c [MIRROR] Fix skin tone sorting and refactor color procs [MDB IGNORE] (#10210)
* Fix skin tone sorting and refactor color procs (#63554)

* Remove superfluous hash from hex2rgb call
Add stack_trace to hex2rgb to catch future nonsense

* Fix skin tone sorting and refactor color procs

Co-authored-by: AndrewL97 <andrewjlove97@gmail.com>
2021-12-23 16:46:08 +00:00
SkyratBot
4179614ebb [MIRROR] Made admin circuits more abstract, they no longer end up in the contents of the shell. [MDB IGNORE] (#9318)
* Made admin circuits more abstract, they no longer end up in the contents of the shell. (#62630)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Made admin circuits more abstract, they no longer end up in the contents of the shell.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-11-08 22:26:45 -05:00
SkyratBot
c9b268a72a [MIRROR] Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers [MDB IGNORE] (#9107)
* Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers (#62287)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-10-28 15:49:34 -04:00
SkyratBot
457644fd27 [MIRROR] clickon signal procs cleanup (fixes inability to examine things in certain situations). [MDB IGNORE] (#8928)
* clickon signal procs cleanup (fixes inability to examine things in certain situations).

* Mirror!

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-10-22 23:18:33 +13:00
SkyratBot
01a41bef0d [MIRROR] Printer Circuit Component [MDB IGNORE] (#8825)
* Printer Circuit Component (#62012)

I'm adding a circuit component that can print text string on a paper object in a variety of colors and font typefaces (currently only web-safe ones are available, maybe i'll add some fancy ones in the future but they'd need to be imported either through @ import of @ font-face in a separate CSS not imported by every tgui UI).
It's important to note that because the UI sanitizes new text inputed by users and not what's already written on the paper (so the pen_color and pen_font don't be purged in the process), we can't safely have these strings "printed" into the info variable directly, because of that these values will be stored in two new list variables, one for the text and one for font color, face and the signature. When the paper sheet UI is opened, these will be sanitized and then parsed into the text, so the next time the paper is edited we can clear these two lists.
Obviously better than a hacky byond proc - parsemarkdown() is outdated af -, albeit a bit messy... like the rest of paper code.

Requires #62033.

* Printer Circuit Component

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-14 21:20:22 +01:00
SkyratBot
80b535b1ff [MIRROR] Adds the CIRCUIT_FLAG_REFUSE_MODULE circuit flag. [MDB IGNORE] (#8763)
* Adds the CIRCUIT_FLAG_REFUSE_MODULE circuit flag. (#62033)

Components like the MMI one can't be added to circuits more than once since they may register signals with same proctype and similar things which make for some tangled up race conditions if more than one is present.
Unfortunately this safety can be bypassed - with little gain alas, an MMI can't be inserted by attacking the component with it. it needs a shell - by using a module component. That's no good. So I'm adding a flag that can be used to stop certain components from being added to module components.

* Adds the CIRCUIT_FLAG_REFUSE_MODULE circuit flag.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-12 01:45:54 +01:00
SkyratBot
af8c0d2977 [MIRROR] Refactors how components are triggered and refactors how ports are ordered (#7951)
* Refactors how components are triggered and refactors how ports are ordered (#60934)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Refactors how components are triggered and refactors how ports are ordered

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-09-03 14:02:48 +01:00
SkyratBot
302798dbb7 [MIRROR] [s] Audits object say() uses to make handling text more safe (#7927)
* [s] Audits object say() uses to make handling text more safe (#61147)

Made all say()s deal with encoding, audited all uses of say() to prevent double encoding or like, manually inserting span().
I left some stuff without sanitize that only draws from the code, since it's hell to clean up otherwise. That
and I let admins do whatever the fuck they want

* [s] Audits object say() uses to make handling text more safe

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-09-02 15:57:10 -04:00
SkyratBot
374adb3783 [MIRROR] [s] fixes html execution with circuits (#7897)
* fixes html execution with circuits (#61143)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* [s] fixes html execution with circuits

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-09-01 00:49:49 +01:00
SkyratBot
68db67c4eb [MIRROR] [s] Patch a server crashing exploit (#7794)
* [s] Patch a server crashing exploit (#61057)

if you create a bunch of signallers then spam the send signal button you can grind the server to a halt at low numbers and crash it at high numbers of signallers

This is an imperfect fix as a proper fix would refactor signal datums to use a subsystem but I dont feel like rewriting all of signal code thank you very much

Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* [s] Patch a server crashing exploit

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-08-26 22:49:14 +01:00
SkyratBot
db78fbb47a [MIRROR] Adds Circuit variables (#7539)
* Adds Circuit variables (#60590)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Adds Circuit variables

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-08-13 17:23:58 +01:00
SkyratBot
9e74cd4a03 [MIRROR] Input ports now connect to multiple output ports. Remove combiner. (#7505)
* 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>

* Input ports now connect to multiple output ports. Remove combiner.

Co-authored-by: Gurkenglas <gurkenglas@hotmail.de>
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>
2021-08-11 20:27:29 +01:00
SkyratBot
dbf75b8a04 [MIRROR] Fixes a small problem with the pathfinding path and the robot fix merge (#7458)
* Fixes a small problem with the pathfinding path and the robot fix merge   (#60751)

* Fixes a small problem with the pathfinding path and the robot fix merge

Co-authored-by: TheSmallBlue <ilanmori@hotmail.com>
2021-08-08 15:56:25 +01:00
SkyratBot
47bb16ee3d [MIRROR] Moves most circuit component defines to files to reduce the amount of scattered code. (#7450)
* Moves most circuit defines to files (#60705)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Moves most circuit component defines to files to reduce the amount of scattered code.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-08-08 02:41:46 +01:00
SkyratBot
3ab1e7ebe2 [MIRROR] Refactors port types completely and adds the option type. Refactors options to use this new type (#7386)
* Refactors port types completely and adds the option type. Refactors options to use this new type (#60571)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Refactors port types completely and adds the option type. Refactors options to use this new type

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-08-04 18:30:56 +01:00
SkyratBot
170863cfd7 [MIRROR] Circuit component descriptions and module names are now visible to the naked eye. (#7290)
* Circuit component descriptions and module names are now visible to the naked eye. (#60545)

* Circuit component descriptions and module names are now visible to the naked eye.

Co-authored-by: Gurkenglas <gurkenglas@hotmail.de>
2021-08-01 11:42:08 +01:00
SkyratBot
3e3c391aee [MIRROR] Removes Destroy overrides from most circuit components (#7216)
* Removes Destroy overrides from most circuit components (#60492)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Removes Destroy overrides from most circuit components

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-07-29 11:16:23 +01:00
SkyratBot
b815e34ffd [MIRROR] Adds a Pathfinding circuit component (#7144)
* Adds a Pathfinding circuit component (#60095)

* Adds a Pathfinding circuit component

Co-authored-by: TheSmallBlue <ilanmori@hotmail.com>
2021-07-26 15:49:38 +01:00
SkyratBot
f1bd99a620 [MIRROR] Adds crew monitor usb connections and fixes the soundemitter's frequency port (#6678)
* Adds crew monitor usb connections and fixes the soundemitter's frequency port (#59942)

Adds crew monitor usb connections and fixes the soundemitter's frequency port
Allows you to view health and stuff.

* Adds crew monitor usb connections and fixes the soundemitter's frequency port

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:23:49 +01:00
SkyratBot
a24c6f260f [MIRROR] Fixed cooldowns for speech and soundemitter circuit components. Brought speech component more in line with other components. (#6676)
* Fixed cooldowns for speech and soundemitter circuit components. Brought speech component more in line with other components. (#59958)

Fixes to the cooldowns. Also circuits now use an input trigger/output trigger system which the speech component hadn't yet adopted because it was made before that system was introduced and left out when changing most components to use this system.

Also temporarily disables input/output signal ports for the prebuilt speech relay circuit until I can properly code in a way to load circuits.

* Fixed cooldowns for speech and soundemitter circuit components. Brought speech component more in line with other components.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:23:36 +01:00
SkyratBot
a049df07d3 Adds the sound emitter circuit component (#6613)
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-30 20:20:36 +01:00
SkyratBot
7269bd83ab [MIRROR] Adds USB to arrest consoles. Adds list circuit components. (#6593)
* Adds USB to arrest consoles. Adds list circuit components. (#59850)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Adds USB to arrest consoles. Adds list circuit components.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-06-30 20:01:36 +01:00
SkyratBot
79c3c379b9 [MIRROR] Fix missing SIGNAL_HANDLER (#6552)
* Fix missing SIGNAL_HANDLER (#59826)

Adds SIGNAL_HANDLER to everywhere that didn't have it that was picked up by dm-lua, which is now ready enough to catch these.

* Fix missing SIGNAL_HANDLER

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-06-27 16:16:04 +01:00
SkyratBot
07e35c019a [MIRROR] Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more. (#6496)
* Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more. (#59728)

Adds the airlock shell. The circuit has full control over the airlock.
Refactors USB code to be easier to use for less experienced coders.
Implements USB cables for the binary valve to be able to open/close the valve.
Adds a private channel for radios that only lets circuits with the same owner's ID to interact with it.

* Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-24 23:02:43 +01:00
SkyratBot
0cdfe18b1c [MIRROR] Adds the MMI circuit component. Allows inputting signals into circuit component ports (#6493)
* Adds the MMI circuit component. Allows inputting signals into circuit component ports (#59743)

Adds the MMI component which outputs signals whenever they click somewhere/try to move.
Allows inputting signals into ports, making it easier to debug integrated components.

* Adds the MMI circuit component. Allows inputting signals into circuit component ports

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-24 23:02:23 +01:00
SkyratBot
5ab9aba9d4 [MIRROR] Added circuit component UI details, added multiplexer and allowed inserting components directly into shells. (#6479)
* Added circuit component UI details, added multiplexer and allowed inserting components directly into shells. (#59635)

Adds the multiplexer circuit component - en.wikipedia.org/wiki/Multiplexer
Circuit components can now be directly inserted into shells rather than having to take the integrated circuit out.
Special information can be accessed from components now through the "Info" button besides the eject button on a component.

* Added circuit component UI details, added multiplexer and allowed inserting components directly into shells.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-23 22:50:59 +01:00
SkyratBot
cc5cf407b0 [MIRROR] More circuit components. Restructures the circuit components folder to be more organised. (#6142)
* More circuit components. Restructures the circuit components folder to be more organised.

* Mirror!

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-05 17:15:43 +12:00