Commit Graph

94 Commits

Author SHA1 Message Date
Leon Friedrich cc29590cfa
Make NetworkConfigurator use BoundUserInterfaceCheckRangeEvent (#28293) 2024-06-01 17:13:20 +02:00
metalgearsloth 7c857e7342
Fix network configurator memory leaking (#27346)
* Fix network configurator memory leaking

Doesn't dispose this window.

* Fix the other part

(cherry picked from commit 13c65378425e2d8254e8ed4e68061643b1245308)
2024-05-03 00:18:47 +02:00
metalgearsloth 1d63b4cfcb
Content update for UI prediction (#27214)
* Content update for UI refactor

* Big update

* Sharing

* Remaining content updates

* First big update

* Prototype updates

* AUGH

* Fix UI comp ref

* Cleanup

- Fix predicted message, fix item slots, fix interaction range check.

* Fix regressions

* Make this predictive

idk why it wasn't.

* Fix slime merge

* Merge conflict

* Fix merge

(cherry picked from commit 5896e6875266b22c565009b5d45f60ceb981d90a)
2024-05-03 00:15:32 +02:00
nikthechampiongr 11d85b8796
Create DeviceNetworkJammerComponent & System as a general way for entities to act as jammers (#26342)
* Add DeviceNetworkJammerComponent & System

Allows for entities to "jam" DeviceNetwork packets.

Whenever a device attempts to send a packet, the
DeviceNetworkJammerSystem listens for the BeforePacketSentEvent.
From there if any entity with the jammer component is within range of
either the sender or receiver of the packet the event will be cancelled.
Additionally jammers can only block packets in certain networks. If a
packet is not being transmitted in one of the networks it can block then
even if the jammer is in range the event will not be cancelled.

The range is stored in the jammer component along with the networks it
can jam.

Jammable network ids are stored as strings which seems to be how custom
networks are stored (E.g. network ids for suit sensors).

To allow for all of this, the BeforePacketSentEvent was modified to
provide the NetworkId.

* Make JammerSystem for the radio jammer use the DeviceNetworkJammer. Remove redundant event.

* Replace calls to TryDistance with InRange

(cherry picked from commit 266cc85f57c883b3a604a66da91d94bb1e18ec5d)
2024-03-27 18:35:36 +01:00
Tayrtahn 11eff87687
Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No

(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
2024-03-24 00:04:13 +01:00
LordCarve cd0b4082bd
Unify `Content`'s `EntitySystem` logging (#26216)
Use Log with generated sawmill name rather than explicitly named one for all non rule-based Content EntitySystems.

(cherry picked from commit eeaea6c25b496106eb741e93738f2ab8503949ba)
2024-03-23 23:51:39 +01:00
Julian Giebel 236bba59c2
System for single device net server per station functionality (#23946)
(cherry picked from commit 1ed63d43b00ebacafb5d6bc50d6c39348c7e8b39)
2024-03-07 01:22:35 +01:00
metalgearsloth 9e366f3119
Predict two-way levers (#25043)
* Predict two-way levers

Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.

* space

* a

(cherry picked from commit 05a2ddff1cc415c3bdf1e15ef3a2c953bcb5384b)
2024-02-18 22:46:26 +01:00
Ed 25dbae8f9c
Lock Anomaly generator to research access (#24464)
* small patch

* fix

* remove garbage

* fix

* moved to shared events

* fix

* LocId

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 498ad2d5d714c73d9212bda9d3d89d53b2001e04)
2024-02-08 12:11:07 +01:00
Pieter-Jan Briers 56fb80ad34
BUI bugfixes / improvements (#23881)
* Fix ActivatableUIRequiresPowerCellComponent stopping power draw when one of two people closes the UI.

Also fixes it to check UiKey properly.

* Remove unnecessary CrewManifestViewer on PDAs

This is for a pop-up crew manifest UI, which the PDA doesn't use.

* Fix BoundUIClosedEvents that didn't check UI key/not correctly at least.

Uses the new helper method in engine.

* Fix drone (cargo shuttle) pilot console UI breaking if two people open it and one person closes it.

* Fixes for disposal router/tagger UI.

Code was badly copy pasted without changing identifiers, never worked.

Also cleaned up some of the logic (text trimming, sounds).

Also removed the "refuse to work if you have something in your active hand" check like why.

* Avoid running most ActivatableUIComponent logic when closing a UI via toggle

Activating the UI while it's already open closes it via toggle. Except it still ran 99% of the "attempting to open" logic which makes no sense.

This probably fixes a bug or some other dumb behavior somewhere.

* Bitch

(cherry picked from commit 123a4147dea2945f6c60fe9e4e0a3aa2da75e1dc)
2024-01-26 22:38:21 +01:00
Leon Friedrich c171790149
Fix device networking, again (#23035)
(cherry picked from commit af42cf82b7ca57fbdb0fd9dd16fd56248e92c7d1)
2024-01-22 18:38:01 +01:00
Leon Friedrich bc75826187 Try fix invalid entities in device networks (#22845)
* Try fix invalid entities in device networks

* more fixes

* a

* fix device merging
2023-12-22 23:25:05 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
avery d57fc7d791 allow network payload data to inherit nullability (#21327) 2023-11-12 20:43:48 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
Leon Friedrich af79f369ae
Remove outdated access reader method. (#19765) 2023-09-03 11:05:22 +10:00
metalgearsloth 4cfc578011
Revert "Remove most usages of obsolete TransformComponent methods (#1… (#19714) 2023-09-01 12:30:29 +10:00
Visne 1416942bea
Remove most usages of obsolete TransformComponent methods (#19571) 2023-08-30 12:05:19 +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
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
TemporalOroboros 3ac4cf85db
Cleaner BoundUserInterfaces (#17736) 2023-07-09 02:02:17 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
faint 2f85b5ea3c
Little NodeContainer ECS (#17702) 2023-06-28 21:28:38 +10:00
Chief-Engineer 72607f3066
add device linking logs (#17555) 2023-06-27 21:03:39 -04:00
Pieter-Jan Briers d415b31dc0
Device network address improvements (#16934) 2023-05-30 00:56:31 +10:00
Julian Giebel a46a4b13d7
Fix network configurator resolves (#16910) 2023-05-29 16:07:59 +10:00
Julian Giebel 8d040e57d7
Fix station limited devices station assignment (#16893)
Fix error in crew monitor window
2023-05-28 14:07:31 -06:00
Julian Giebel 49cb9d0e1e
Prevent infinite loops in device linking (#16856) 2023-05-29 02:14:06 +10: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
Leon Friedrich ab6edecdf7
Fix device links saving deleted entities. (#16675) 2023-05-22 15:57:30 -06:00
Julian Giebel 2d273107f4
Implement automatic mode switching for the network configurator and multitool (#16603) 2023-05-22 23:20:53 +10:00
Julian Giebel 5e0a96dfc7
Blast door/shutter, timer and or gate device linking fixes (#16347) 2023-05-11 18:16:02 -04:00
Tyzemol b1f7d7f061
Fix interlocking airlocks (#16265) 2023-05-09 18:50:34 -04:00
Julian Giebel 5c86778fff
Fix network configurator verbs and misc fixes (#16210) 2023-05-07 20:58:12 +10:00
Julian Giebel 6ebd784cb6
Device Linking and better linking ui (#13645)
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-05-07 16:07:24 +10:00
metalgearsloth ae01618874
Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +10:00
metalgearsloth acf79a8209
Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01 71f358a027
Replace `ResourcePath` with `ResPath` (#15308) 2023-04-19 23:39:17 +10:00
metalgearsloth 44fb8a9e2d
Fix rsi sprite access for verbs (#14284) 2023-02-26 18:48:57 +11:00
Julian Giebel c2b87dfeda
Add a crew monitoring server (#7542) 2023-01-22 21:07:57 -04:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
Leon Friedrich 881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Julian Giebel 0df65e5c2a
Adds the NetProbe cartridge (#12543)
* Implement NetProbeCartridge

* Add audio and a popup when scanning a device
Add some doc comments

* Set program icon

* Add NetProbe cartridge as rare loot to maintenance loot tool spawner

* Make the maximum amount of saved entries configurable
Add a scrollbar that shows when there are more entries than fit on the screen

* Make device net id names translatable
2022-11-13 15:36:00 -06:00
Flipp Syder 07fe950c91
fix crash on devicenet address adding (#11457) 2022-09-24 02:51:02 -07:00
Flipp Syder b6a548fb97
adds examinable text for address to some device networked entities (#11455) 2022-09-22 14:00:54 -05:00
Flipp Syder 1c4e1ba5de
Adds a component to require an entity to be powered to receive DeviceNetwork packets. (#11390) 2022-09-19 16:59:32 -07:00
Flipp Syder ec6cdbd51a
Removes hacky behavior from DeviceListSystem (#11255) 2022-09-14 16:09:43 +10:00
Flipp Syder c3d7ecace6
Adds a link limit and UI to device list (#11017)
* adds a link limit to device list

* locale strings

* uhhh what's efcore doing there

* adds a UI for device list on the device

* merge conflict fixing
2022-09-05 18:22:39 -07:00