Commit Graph

40 Commits

Author SHA1 Message Date
slarticodefast a2e1dc8107
Show volume on the gas analyzer (#25720)
The gas analyzer now shows the volume of pipes, tanks, canisters and the environment.

Adjust gas analyzers so that the volume and number of moles shown corresponds to only the scanned element, e.g. a canister or single pipe in a pipenet.

(cherry picked from commit 5a5efa11cf1d68708a70d48a286cb97fde96afdf)
2024-04-21 22:05:43 +02:00
Leon Friedrich 01e6149cc1
Atmos device performance improvements (#26493)
* Atmos device performance improvements

* AtmosDirection perf improvements

* Fix errors

* Add GasTileOverlayComponent arguments

* Make excite no longer invalidate a tile

(cherry picked from commit 888a3bda515a214733bf748c5d6a7e7c923a301e)
2024-04-07 14:14:34 +02: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
Kara 7decaa29e7 Convert atmos device events to ref events (#22843) 2023-12-22 23:25:05 +01:00
metalgearsloth db1ff07821
Weldable cleanup (#19809) 2023-09-05 00:07:01 +10:00
qwerltaz 21b898afcd
Add vent welding (#19759) 2023-09-03 21:23:38 -07:00
Kevin Zheng d7fa5b73c3
Remove atmos device dependency on game timer (#18847) 2023-08-13 16:42:12 +10:00
faint 2f85b5ea3c
Little NodeContainer ECS (#17702) 2023-06-28 21:28:38 +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
Tom Leys c3f9b5c74d
[tweak] Vents leak slowly, limit their max pressure (#15931)
* Vents leak slowly, limit their max pressure

* Set leak rate low enough that auto pressurize takes 30 minutes
2023-05-04 18:34:15 -06:00
Visne 5a5a3afbb1
Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04: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
theashtronaut 868abaca5c
Gas Analyzer can now scan pipes/devices along with the environment (#10976) 2022-09-08 07:22:14 -07:00
vulppine e0bf77490d number of things, fixing warnings, AtmosAlarmType instead of AtmosMonitorAlarmType 2022-08-29 07:37:26 -07:00
vulppine df25715ed3 renames AtmosMonitorAlarmEvent to AtmosAlarmEvent 2022-08-23 10:42:03 -07:00
vulppine 6be3265084 tag sync, replaces monitor references with alarmable references 2022-08-22 05:49:51 -07:00
vulppine 25bb45aa98 atmosdevicenetworksystem for generic device network stuff for atmos devices 2022-08-22 01:14:39 -07:00
vulppine fbab3cd5aa removes atmos alarmable from scrubbers and vents 2022-08-19 23:59:59 -07:00
Kevin Zheng 546d708c40
Add under-pressure lockout to air vents (#9824)
* Add under-pressure lockout to vent pumps

* Add examine text showing UPLO
2022-07-19 21:23:23 -07:00
Vera Aguilera Puerto aa9281d667
Refactors the AtmosphereSystem public-facing API to allow for multiple atmos backends. (#8134)
* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.

* actually compiles

* Remove commented out code

* funny bracket

* Move archived moles, temperature from GasMixture to TileAtmosphere.

* WIP customizable map default mixture
still VERY buggy

* broken mess
aaaaaaaaaaaaa

* Fix lattice, etc not being considered space

* visualization for "IsSpace"

* help

* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs

Co-authored-by: Moony <moonheart08@users.noreply.github.com>

* Holy SHIT it compiles AGAIN

* Fix AtmosDeviceSystem crash at shutdown

* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.

* Use space instead of gasmixture immutable for heat capacity calculations

* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.

* Fix roundstart tiles not processing

* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs

Changed Files tab is so large I can't commit both suggestions at once mfw

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-07-04 09:51:34 -05:00
Leon Friedrich cbae005d08
Fix dual port vents 2: Electric Boogaloo (#8396) 2022-06-06 01:38:20 -07:00
Leon Friedrich ca7960382b
Missing nullables (#8634) 2022-06-04 17:17:48 +10:00
mirrorcult 7573a4601a
Optimize vent/scrubber (#7473) 2022-04-09 12:52:44 +10:00
Leon Friedrich a4d55235cc
Rejig Device networks (#7380) 2022-04-08 22:27:10 +10:00
Moony f5c92caef4
Ambience enhancements. (#7073) 2022-03-12 15:20:31 -07:00
Leon Friedrich ee7d0440f3
Limit atmos device rates (#6533) 2022-03-01 01:39:30 +11:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Leon Friedrich 32ada7de7a
Reduce atmos system resolves (#6465) 2022-02-05 21:57:26 +11:00
Flipp Syder b1584793bf
Adds fire/air alarms (#5018)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-01-02 15:56:24 +11:00
Bingo Johnson 268b2602b3
Critical and urgent change to atmos.
Extensive and comprehensive refactor spanning over 104 lines, improving performance and cleaning up the code.
2021-12-07 21:49:19 +00:00
Vera Aguilera Puerto 5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto 2654775bf0 Inline GetComponentOrNull 2021-12-03 15:32:05 +01:00
Vera Aguilera Puerto a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Acruid fa0ec5cbd9
AppearanceComponent API Changes (#5446) 2021-11-23 18:22:59 +11:00
Vera Aguilera Puerto 0be5ff829b
Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Vera Aguilera Puerto e256cb7bb0 Optimize atmos devices' appearance updating. 2021-07-30 14:00:14 +02:00
Vera Aguilera Puerto 1033d8bbe5 Use EntitySystem dependencies in a bunch of systems. 2021-07-26 13:01:47 +02:00
Vera Aguilera Puerto c8ba345cdc
ECS Atmos Part 3: Removes AtmosHelpers, add many methods to AtmosphereSystem. (#4285)
* ECS Atmos Part 3: Removes AtmosHelpers, add many methods to AtmosphereSystem

* Adds API for adding/removing active tiles.

* Adds API for FixVacuum.

* Adds API for UpdateAdjacent.

* Adds API for IsTileAirBlocked.

* Re-organize hotspot code

* Adds API for IsTileSpace.

* RemoveGasCommand uses AtmosphereSystem

* AddGasCommand uses AtmosphereSystem.

* SetTemperatureCommand uses AtmosphereSystem.

* Adds API for IsSimulatedGrid.

* GasLeak uses AtmosphereSystem.

* Makes Spark method in GasLeak ALSO use AtmosphereSystem.

* GasPassiveVentSystem uses AtmosphereSystem.

* GasMinerSystem uses AtmosphereSystem.

* GasOutletInjectorSystem uses AtmosphereSystem.

* GasVentPumpSystem uses AtmosphereSystem.

* GasDualPortVentPumpSystem uses AtmosphereSystem.

* GasVolumePumpSystem uses AtmosphereSystem.

* GasAnalyzerComponent uses AtmosphereSystem.

* Add API for GetAdjacentTileMixtures.

* GasVentScrubberSystem uses AtmosphereSystem.

* AirtightComponent uses AtmosphereSystem.

* GasLeaks's TryFindRandomTile uses AtmosphereSystem.

* Adds API for GetAdjacentTiles.

* FirelockComponent's IsHoldingFire uses AtmosphereSystem.

* Adds API for GetAllTileMixtures.

* DeleteGasCommand uses AtmosphereSystem.

* FixGridAtmos uses AtmosphereSystem.

* FillGasCommand uses AtmosphereSystem.

* SetAtmosTemperatureCommand uses AtmosphereSystem.
2021-07-19 12:07:37 +02:00
Pieter-Jan Briers 103bc19508
Pow3r: stage 1 (#4208)
Co-authored-by: 20kdc <asdd2808@gmail.com>
2021-07-04 18:11:52 +02:00
Vera Aguilera Puerto a2b737d945
Atmos pipe rework (#3833)
* Initial

* Cleanup a bunch of things

* some changes dunno

* RequireAnchored

* a

* stuff

* more work

* Lots of progress

* delete pipe visualizer

* a

* b

* pipenet and pipenode cleanup

* Fixes

* Adds GasValve

* Adds GasMiner

* Fix stuff, maybe?

* More fixes

* Ignored components on the client

* Adds thermomachine behavior, change a bunch of stuff

* Remove Anchored

* some work, but it's shitcode

* significantly more ECS

* ECS AtmosDevices

* Cleanup

* fix appearance

* when the pipe direction is sus

* Gas tanks and canisters

* pipe anchoring and stuff

* coding is my passion

* Unsafe pipes take longer to unanchor

* turns out we're no longer using eris canisters

* Gas canister inserted tank appearance, improvements

* Work on a bunch of appearances

* Scrubber appearance

* Reorganize AtmosphereSystem.Piping into a bunch of different systems

* Appearance for vent/scrubber/pump turns off when leaving atmosphere

* ThermoMachine appearance

* Cleanup gas tanks

* Remove passive gate unused imports

* remove old canister UI functionality

* PipeNode environment air, make everything use AssumeAir instead of merging manually

* a

* Reorganize atmos to follow new structure

* ?????

* Canister UI, restructure client

* Restructure shared

* Fix build tho

* listen, at least the canister UI works entirely...

* fix build : )

* Atmos device prototypes have names and descriptions

* gas canister ui slider doesn't jitter

* trinary prototypes

* sprite for miners

* ignore components

* fix YAML

* Fix port system doing useless thing

* Fix build

* fix thinking moment

* fix build again because

* canister direction

* pipenode is a word

* GasTank Air will throw on invalid states

* fix build....

* Unhardcode volume pump thresholds

* Volume pump and filter take time into account

* Rename Join/Leave atmosphere events to AtmosDeviceEnabled/Disabled Event

* Gas tank node volume is set by initial mixtuer

* I love node container
2021-06-19 13:25:05 +02:00