Commit Graph

90 Commits

Author SHA1 Message Date
Leon Friedrich
af79f369ae Remove outdated access reader method. (#19765) 2023-09-03 11:05:22 +10:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
deltanedas
e837f2fd85 air alarm signal ports and other stuff (#18642)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-08-21 14:18:30 -07:00
Pieter-Jan Briers
a242af506e Adds the thermo-electric generator (#18840)
* Basic TEG start.

Connects via node group.

* Basic TEG test map

* Sensor monitoring basics, TEG circulator flow

* Basic power generation (it doesn't work)

* More sensor monitoring work

* Battery (SMES) monitoring system.

* Sensor monitoring fixes

Make it work properly when mapped.

* Test map improvements

* Revise TEG power output mechanism.

Now uses a fixed supplier with a custom ramping system.

* TEG test map fixes

* Make air alarms and pumps open UI on activate.

* Clean up thermo machines power switch.

Removed separate Enabled bool from the component that always matched the power receiver's state.

This enables adding a PowerSwitch component to give us alt click/verb menu.

* TEG but now fancy

* Make sensor monitoring console obviously WiP to mappers.

* Vending machine sound, because of course.

* Terrible, terrible graph background color

* Examine improvements for the TEG.

* Account for electrical power when equalizing gas mixtures.

* Get rid of the TegCirculatorArrow logic.

Use TimedDespawn instead. The "no show in right-click menuu" goes into a new general-purpose component.

Thanks Julian.

* Put big notice of "not ready, here's why" on the sensor monitoring console.

* TryGetComponent -> TryComp

* Lol there's a HideContextMenu tag

* Test fixes

* Guidebook for TEG

Fixed rotation on GuideEntityEmbed not working correctly.

Added Margin property to GuideEntityEmbed

* Make TEG power bar default to invisible.

So it doesn't appear in the guidebook and spawn menu.
2023-08-12 15:41:55 -05:00
Ilya246
d3244b6049 copy-settings-to-all-similar for scrubbers and vents in air alarms (#18363) 2023-08-09 14:20:19 -04:00
Leon Friedrich
6982f238e8 Add SaveLoadSavePrototype test (#18859) 2023-08-08 17:27:16 +10:00
Julian Giebel
78c66cca75 Fix air alarm not checking if device is in device list before sending atmos device settings (#18436) 2023-08-01 14:27:59 -04:00
c4llv07e
6e66866567 Add 'auto mode' button to the air alarm ui (#17874)
Signed-off-by: c4llv07e <kseandi@gmail.com>
2023-07-09 13:22:41 -06:00
Julian Giebel
2bb1fde4dc Remove devices from device lists when they get deleted (#16783)
* Implement device network device shutdown subscribtion
Implement removing devices from device lists when they get deleted

* Improve name and doc comment for DeviceShutDownEvent

* Change ShutdownSubscriber data field tag

* Change UpdateRemovalSubscription name to UpdateShutdownSubscription
2023-05-25 16:08:22 -06:00
Menshin
409af4f481 Fixes air sensors not accessing gas mixture on construction + visual fixes (#15224) 2023-04-08 19:25:38 -07:00
Slava0135
d03ca61da1 Telecom server panel check (#14523) 2023-03-23 20:09:45 -04:00
Nemanja
d87d8f2886 predict emag and make blessed record struct events (#13623) 2023-01-22 02:12:45 +11:00
Leon Friedrich
b20b4b11cc Wire action cleanup (#13496) 2023-01-21 10:51:02 +11:00
Chief-Engineer
3cfd814503 Add logging for hacking (#12861) 2023-01-16 08:14:46 +11:00
Leon Friedrich
881a2b2ece PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Flipp Syder
6e108bd400 Surveillance camera listening/speaking (#11640) 2022-10-17 04:44:14 +11:00
Flipp Syder
26883a7ec9 Air alarm mode sent to all linked air alarms from a single air alarm (#11454)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-10-16 21:18:14 +11:00
metalgearsloth
0b38589728 Raise power events by ref and not broadcast (#11923)
Also some other minor stuff.
2022-10-14 23:08:15 -05:00
Flipp Syder
8389bde2c0 Clear and reregister devices for atmos alarms (#11391)
* deregister sensors upon device list update and re-register after clearing devices

* fire alarms, too

* adds the last set of known devices to the device list update event

* update UI upon clearing everything out

* addresses reviews
2022-10-01 09:36:59 -07:00
Flipp Syder
b7c08238e4 Fixes air alarm mode propagation when a mode is set from an air alarm (#11121) 2022-09-08 07:01:56 -07:00
Flipp Syder
0882d85176 Air alarm balancing (#11063)
* threshold balancing, restores none mode on atmos alarm

dear lord, panic mode with unbalanced thresholds was a nightmare

* that was 10%, not 1%

* adds widenet mode for scrubbers

* adds the vents to wide filter as well
2022-09-05 19:35:36 -07:00
Flipp Syder
8cbcf2d640 Fixes reset propagation for atmospheric alarm receivers, adds CVar for fire alarm all access (#11020)
* adds a check for if a firelock is powered before auto-opening

* fixes issue where resets would not propagate properly

* adds cvar bound for fire alarm access (defaults to all access)
2022-09-05 18:15:50 -07:00
Flipp Syder
9ace52a6c1 Device link visualizer (#11054)
* shuffles devicelist to shared, adds an overlay for devicelist

* adds space property to overlay

* moves networkconfigurator to shared, makes devicelistsystem clientside check activedevicelist

* dirties components upon change, adds networkedcomponent to sharednetworkconfigurator

* state handlers for networked components

* whoops

* lots of shuffling, renaming, and access changes

* randomizes color for every new entity added to the overlay

* adds a client-side action to clear all network overlays if they're active

* clones action (oops)

* localization, adds a command for clearing network link overlays (in case the action disappears)

* moves the entity manager up into the bui fields

* makes that a dependency

* attempts to just directly get the color from the dict when drawing, now

* fixes up a few comments

* adds dirty on init to devicelistcomponent

* hacky solution related to mapping with a networkconfigurator

* more stricter bound on that hacky solution

* just checks if the life stage is initialized instead of if the entity was initialized

* moves getalldevices to shared

* readds linq import

* tries to ensure that the show button is toggled on if the device we're trying to configure is currently being tracked by the overlay

* some reorganization
2022-09-05 19:55:44 -05:00
corentt
6301ac5147 AirAlarms fixes (#11062)
* modify airalarm thresholds

* display percentage, not ratio

* reopen doors on normal/warning state

* panic mode on danger state
2022-09-05 19:54:26 -05:00
Flipp Syder
d447b0f80e Air alarm patches (#11004) 2022-09-04 02:04:15 -07:00
vulppine
fa8c16358f alarmables should now attempt to update appearance on init 2022-08-30 21:41:29 -07:00
vulppine
e0bf77490d number of things, fixing warnings, AtmosAlarmType instead of AtmosMonitorAlarmType 2022-08-29 07:37:26 -07:00
vulppine
dd01189a6e changes how the emag function works in fire alarms 2022-08-23 14:47:09 -07:00
vulppine
a8eb929d3c removes air alarm replace mode 2022-08-23 13:20:23 -07:00
vulppine
e348a64423 air alarm now sends the count of known devices, rather than all types of devices 2022-08-23 12:04:45 -07:00
vulppine
b3a4ef9997 file-scoped namespaces 2022-08-23 10:55:46 -07:00
vulppine
df25715ed3 renames AtmosMonitorAlarmEvent to AtmosAlarmEvent 2022-08-23 10:42:03 -07:00
vulppine
83cac4de1e vv for tripped thresholds, device list update event for air alarms 2022-08-22 18:41:24 -07:00
vulppine
b8d011f8f4 checks for validity now ensure that an alarm is reset to normal - only if it was known beforehand 2022-08-22 18:06:41 -07:00
vulppine
546e70730e or instead of and 2022-08-22 17:45:29 -07:00
vulppine
8de6193ff2 monitors will now always alarm if threshold types have been tripped/reset to normal on update 2022-08-22 17:42:47 -07:00
vulppine
7fd510d252 power check for firelocks, atmos monitor power cycle should now alert 2022-08-22 16:47:34 -07:00
vulppine
ff9d9ab75c Revert "ResetAll no longer clears the alarm state for an atmos monitor"
This reverts commit d774741121.
2022-08-22 16:11:32 -07:00
vulppine
f602ead768 power change should now update alarm on alarmables 2022-08-22 15:03:22 -07:00
vulppine
a5cf4f9578 makes monitoralerttypes actually nullable 2022-08-22 12:06:30 -07:00
vulppine
d774741121 ResetAll no longer clears the alarm state for an atmos monitor 2022-08-22 11:55:08 -07:00
vulppine
84027b4e67 alarmables now check if the type of alarm matches the alarms they can check (optional) 2022-08-22 11:30:37 -07:00
vulppine
160104bc2a Revert "oops!"
This reverts commit 1428a6d285.
2022-08-22 10:41:53 -07:00
vulppine
1428a6d285 oops! 2022-08-22 10:35:22 -07:00
vulppine
912b23e414 fire alarms (and anything that uses Reset/ForceAlert) should now update their appearance and play noises 2022-08-22 10:05:39 -07:00
vulppine
786bddff0a resetall now affects atmos monitor alerts 2022-08-22 09:19:02 -07:00
vulppine
2d22c37210 fire alarms will now attempt to register and sync against all connected devices whenever a device list is updated 2022-08-22 08:44:03 -07:00
vulppine
a8bf2ccbb6 fixes firelock alarm sync, removes check condition for syncalerts packet receive when checking through the sent dictionary 2022-08-22 07:29:43 -07:00
vulppine
a091e69635 should fix TryGetHighestAlert logic 2022-08-22 07:02:48 -07:00
vulppine
6be3265084 tag sync, replaces monitor references with alarmable references 2022-08-22 05:49:51 -07:00