Commit Graph

46 Commits

Author SHA1 Message Date
Leon Friedrich 1f03111ff8
Change some `EntityQueryEnumerator` to `AllEntityQuery` (#27969) 2024-05-13 15:11:49 +10:00
Leon Friedrich d2bee7ec91
Fix GastTileOverlay sending redundant data (#26623)
Fix GastTileOverlay not updating properly
2024-03-31 16:45:40 -04:00
Leon Friedrich 888a3bda51
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-03-30 15:17:53 +11:00
Leon Friedrich bb5ca720fc
Split GasTileOverlaySystem update over two ticks (#26542)
Split GasTileOverlaySystem update over ticks
2024-03-30 13:34:55 +11:00
Leon Friedrich 18a35e7e83
Partial atmos refactor (#22521)
* Reduce atmos component queries

* Remove method events

* Cache airtight data

* Make MolesArchived nullable

* Fix airtight cache

* only get tile def once

* Immutable mixtures

* firelock queries

* misc

* misc cleanup

* Trim disconnected tiles

* Fix merge issues and bugs

* Why does the PR keep increasing in scope

* debug overlay

* Fix bugs

* Fix test, remove unused events

* Add setmapatmos command

* Fix overlays

* Add map check

* A

* Resolve conflicts with #26102

* Remove some obsolete methods
2024-03-24 03:34:56 +11:00
Tayrtahn 4a83c36585
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
2024-03-19 23:27:02 -04:00
Pieter-Jan Briers 68ce53ae17
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
2024-02-13 16:48:39 -05:00
Pieter-Jan Briers a6c9c36b68
Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI
2024-01-12 23:22:01 +01:00
metalgearsloth 7ada1c6674
Update content to new ParallelManager (#21813) 2023-11-29 11:00:12 +11:00
Leon Friedrich e685cb626b
Un-revert IPlayerManager refactor (#21244) 2023-10-28 09:59:53 +11:00
metalgearsloth a2bbda43cc
Revert "Update submodule to 172.0.0 (#21222)" (#21225) 2023-10-24 21:55:20 +11:00
Leon Friedrich 7ba0ea2926
IPlayerManager refactor (#21215) 2023-10-24 20:19:08 +11:00
metalgearsloth 5a0fc68be2
Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
metalgearsloth 44a3db398b
Draw MapAtmosphere gasses (#17688) 2023-06-28 21:22:03 +10:00
metalgearsloth 0bb9c6e6eb
Fix gas tile overlays (#17397) 2023-06-17 12:30:55 +10:00
Leon Friedrich a36a64e6c5
Implicit gas tile & decal states (#15146) 2023-04-05 17:43:12 -06:00
Leon Friedrich 56ef88a913
Prevent possible future game state bugs (#14323) 2023-03-01 09:26:37 -06:00
Leon Friedrich 210677ba4e
Fix bug in GasTileOverlay state logic (#14071) 2023-02-13 02:39:21 +00:00
Pieter-Jan Briers 4fa2920472
Remove IoCManager.InitThread calls from parallel code. (#13070) 2022-12-20 22:52:39 +11:00
Leon Friedrich 2759ef009e
Gas tile overlay state handling changes (#12691) 2022-12-19 06:25:27 +11:00
Leon Friedrich 154aea05a0
Fix decal IoC exception (#12789) 2022-12-02 10:42:47 +11:00
Leon Friedrich 8ab849aec9
Fix gas overlay (#12692) 2022-11-20 20:50:01 -06:00
DrSmugleaf f92f288047
Remove byte[] allocations for GasTileOverlaySystem.UpdateChunkTile (#12617) 2022-11-16 08:27:49 +01:00
Leon Friedrich 237b842d65
Parallelize gas and decal systems. (#12349) 2022-11-02 18:23:26 +11:00
Rane 47e84d9d54
Make miasma start being visible later (#10128) 2022-07-28 20:13:56 -07:00
Leon Friedrich ed068b166f
Gas tile overlay rejig (#9619) 2022-07-24 19:10:18 -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 c13c0b8b0b
Remove implicit GridId conversions (#8975) 2022-06-28 22:56:02 +10:00
Acruid 4f9be42f40
Remove Explicit GridId References (#8315)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-06-12 11:54:41 +10:00
DrSmugleaf e0c63483c2
Revert "pvsrange vec2 + eyezoom" (#7487)
* Revert "pvsrange vec2 + eyezoom"

* Merge fixes

* Update RobustToolbox
2022-04-09 13:07:40 -05:00
Leon Friedrich 7057c7ca77
Reduce array resizing in GasTileOverlay (#7479) 2022-04-09 09:45:57 -07:00
Leon Friedrich 66504f9630
Small gas tile overlay performance improvements (#7468) 2022-04-08 14:04:37 -07:00
Paul Ritter 4b6ba817c2
pvsrange vec2 + eyezoom (#7392)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2022-04-04 20:30:12 +02:00
ScalyChimp d691161542
Removes obsolete uses of IMapManager events. (#7036) 2022-03-09 17:39:03 +11:00
Vera Aguilera Puerto c8b65be747 Replace IEntityManager resolves in systems for cached EntityManager 2021-12-08 13:00:43 +01:00
DrSmugleaf 2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Vera Aguilera Puerto 5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Vera Aguilera Puerto 665928cfcf Make GasTileOverlaySystem slightly more resistant against non-existing grid entities. 2021-10-02 10:53:11 +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 4112847142
ECS Atmos Part 5: Moves all logic from GridAtmosphereComponent to AtmosphereSystem. (#4331) 2021-07-23 11:09:01 +02:00
Visne b7dc3c81ae
Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Vera Aguilera Puerto bc7b315b18
Replace IResettingEntitySystem with RoundRestartCleanupEvent. (#4245)
* Replace IResettingEntitySystem with RoundRestartCleanupEvent.

* oops
2021-06-29 23:56:07 +10:00
Vera Aguilera Puerto 263c9ef974
ECS Atmos Part 2: Moves a lot of Gas Mixture methods to AtmosphereSystem. (#4218) 2021-06-23 11:35:30 +02:00
metalgearsloth 4dc871b2be
Add cvar thresholds to gas overlays (#3835)
* Add cvar thresholds to gas overlays

Rather than having 256 thresholds it can now be reduced to whatever you want

* Address review

* Fix namespace
2021-06-21 17:08:37 +10: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