Commit Graph

10 Commits

Author SHA1 Message Date
VMSolidus
96ac353f4a Reimplement Part Upgrading (#917)
# Description

By extremely popular demand(Both internally, and from our downstreams),
this PR reimplements Part Upgrading. Since some of the systems that this
PR touches were substantially changed since the removal of Parts, I had
to do a lot of very in depth by-hand edits of individual systems.
Shockingly, the only one that really proved any trouble was Cloning
System, so I'm genuinely surprised wizden didn't substantially touch any
of these codes since removing parts..

# Changelog

🆑
- add: Part Upgrading has returned!

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-10-19 13:15:15 +07:00
Leon Friedrich
52cb6dab3e Atmos device performance improvements (#26493)
* Atmos device performance improvements

* AtmosDirection perf improvements

* Fix errors

* Add GasTileOverlayComponent arguments

* Make excite no longer invalidate a tile
2024-07-11 20:40:16 -07:00
Nemanja
7573dba496 Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek

(cherry picked from commit a9e89ab37221c4f5eff5a9e1d42e97c6f3e0753b)
2024-01-27 23:43:49 +01:00
Kara
03b3e36d43 Examine prediction (#23565)
* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly

(cherry picked from commit 0ae3858b69b695697ea9300609460f8ddb70ebbf)
2024-01-26 21:48:02 +01:00
Kara
7decaa29e7 Convert atmos device events to ref events (#22843) 2023-12-22 23:25:05 +01:00
Kevin Zheng
b4802757c2 Add atmos time compression (#21954)
Add atmos.speedup which is effectively a atmos-only time compression
CVar. This adjusts heat capacities and transfer rates to effectively
globally speed up the time constants of atmos.

This allows faster response to heating/cooling changes and faster
cleanups (by buffing scrubbers, pumps, and everything else) that is
tunable through one global time compression CVar.

It also achieves this without any thermodynamic unsoundness.
2023-12-16 19:56:01 +01:00
DrSmugleaf
9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
faint
2f85b5ea3c Little NodeContainer ECS (#17702) 2023-06-28 21:28:38 +10:00
Nemanja
b0e7c6f2f4 machine upgrade for gas recycler (#12496) 2022-11-09 19:11:23 -06:00
Kevin Zheng
45349e3c0d Add gas recyclers (#9934)
* Add RemoveVolume()

RemoveVolume(vol) captures the common pattern of:

    air.RemoveRatio(vol / air.Volume)

Change existing code to use this method where appropriate.

* Add gas recyclers

Gas recyclers catalyze the conversion of CO2 and N2O to O2 and N2. The
gas recycler component takes waste gas from the input net and releases
the result into the output net.

To make things more fun, the input net must be pressurized to 3 MPa and
heated to at least 300 C; otherwise, no reaction will occur.

Game-mechanic wise, gas recyclers contain the catalyst for the
conversion reaction, and therefore, requires no external power. However,
the external pumps and heaters required to make the reaction happen
still do.

* Fix gas recyclers

Fix negative sqrt, fix pressure check after remove.
2022-09-11 18:02:01 -05:00