Commit Graph

52 Commits

Author SHA1 Message Date
IgorAnt028 41a175636b
Fix bug with pipe color (#30645)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-07-19 15:10:38 -07:00
Whatstone 9ad99cfa64
Make more objects spray paintable (Reviving #31328) (#37341)
* PaintableAirlockComponent and AirlockGroupPrototype have been replaced

* Slightly redesigned SprayPainterSystem for greater versatility

* Added handling of changes to the appearance of doors and storages

* PaintableGroup prototypes have been created

* Generating tabs with styles in the UI

* Fix error with undiscovered layer

* Slight improvement

* Removed unnecessary property

* The category for `PaintableGroup` was allocated to a separate prototype so that the engine itself would check if the category existed

* Added canisters, but repainting doesn't work

* Added localization to styles

* Fix sprite changing

* Added the ability to paint canisters

* slight ui improvement

* Fix yamllinter errors

* Fix test

* The UI now remembers which tab was open

* Fix build (?)

* Rename

* Charges have been added to the spray painter

* Added a charge texture for the spray painter

* Now spray painter can paint decals

* Increased number of charges

* Spawning dummy objects has been replaced by PrototypeManager

* added a signature about the painting of the object

* fix

* Code commenting

* Fix upstream

* Update Content.Shared/SprayPainter/Components/SprayPainterAmmo.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* review

* Now decals can only be painted if the corresponding tab in the menu is open.

* Fixed a bug with pipe and decal tabs not being remembered

* Update EntityStorageVisualizerSystem.cs

* record

* loc

* Cleanup

* Revert electrified visuals

* more cleanup, fix charges, del ammo4

* no empty file, remove meta component

* closet exceptions, storage visualizer fixes

* enable/disable decal through alt-verb

* Fix missed merge conflicts

* fix snap offset, button event handlers

* simpler order, fix snap loc string

* Remove PaintableViz.BaseRSI, no decal item, A-Z

* State-respecting UI, BUI updates, FTL fixes

* revert DecalPlacerWindow changes

* revert unwanted changes, cleanup function order

* Limit SprayPainterAmmo write access to AmmoSystem

* Remove PaintedSystem

* spray paint ammo lathe recipe, youtool listing

* category as a list, groups as subtabs

* Restore inhand copyright in meta.json

* empty spray painter, recipe produces an empty one

* allow alpha on spray painter decals

* add comments

* paintable wall lockers

* Restrict painting more objects

* Suggested event changes, event cleanup

* component comments, fix ammo inhands

* uncleanable decals, dirty styles on mapinit

* organize paintables, separate emergency/closet grp

* fix categories newline at EOF

* airlock group whitespace cleanup

* realphabetize

* Clean up EntityStorageViz merge conflict markers

* Apply requested changes

* Apply suggestions from sowelipililimute's review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* betrayal most foul

* Remove members from EntityPaintedEvent

* No emerg. group, steelsec to secure, locker/closet

* Enable repainting the medical wall locker

* comments, no flags on PaintableVisuals

* Remove locked variants from closets/wall closets

* removable decals

* off value consistency

* can't paint away those bones

* fix precedence

* Remove AirlockDepartment, AirlockGroup protos

Both unused.

* whitelist consistency re: ammo component

* add standing emergency closet styles

* alphabetize the spray painter listings

---------

Co-authored-by: Ertanic <black.ikra.14@gmail.com>
Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2025-07-10 20:36:57 -04:00
ArtisticRoomba f874459092
Pressure Relief Valve (#36708)
* initial system (this math is probably WRONG)

* General code cleanup and OnExamined support
(holy moly this code sucks)

* UICode and related events foundation
TODO:
- Actually write the XAML UI and the underlying system
- Un-shitcode the entire thing
- Actually test everything...

* Working UI code
TODO: Make predicted, as this certainly isn't predicted. Even though I said it was. It isn't.

* Remove one TODO for unshitcoding the examine code

* Add reminder
yea

* Make predicted (defenitely isn't)
(also defenitely isn't a copypaste from pressure pump code)

* It's predicted!
TODO:
- Give it snazzy predicted visuals!
- Have a different field for pressure entry, lest it gets bulldozed every UI update.

* Improve gas pressure relief valve UI
TODO: Reminder to reduce amount of dirties using deltafields

* Implement DirtyField prediction

* Entity<T> cleanup
A lot of Entity<T> conversions and lukewarm cleanup.

Also got caught copy pasting code in 4K UHD but it's not like you couldn't tell.

* More cleanup and comments

* Remove TODO comment on bulldozing window title

* """refactoring"""
- Move appearance out of shared and finally fix it. Pointless to predict appearance in this instance.
- More Entity<T> conversions because I like them.
- Move UI creation handling over entirely to the ActivatableUI system.
- Fix a hardcoded locale string (why????).

* Add visuals

* Revert debugging variable replacememt
yea

* Revert skissue

* Remove unused using directives and remove TODO

* Localize, cleanup, document

* Fix adminlogging discrepancy

* Add ability to construct, add guidebook entry

* Clear up comment

* Add guidebook tooltip to valve

* Convert GasPressureReliefValveBoundUserInterface declaration into primary constructor

* Adds more input handling and adds autofill on open

* Un-deepfry input validator shitcode
Genuinely what was I smoking

* improve visuals logic

* Refactor again
- Update math to the correct implementation
- Moved code that could be re-used in the future into a helper method under AtmosphereSystem.Gases.cs

* I'm sorry but I hate warnings

* Remove unused using directive in AtmosphereSystem.Gases.cs

* Review and cleanup

* Lukewarm UI glossup

* Maintainer for the upstream project btw

* Remove redundant state sets and messy logic

* Unduplicate valve updater code

* Redo UI (im sorry Slarti)

* run tests

* Test refactored UI messaging

* Second round of UI improvements
- God please find a way to improve this system. Feels bad.

* Update loop implementation

* Further predict UI

* Clear up SetToCurrentThreshold

* cleanup

* Update to master + pipe layers and bug fixes
want to run tests

* fixes

* Deploy rename pipebomb

* Documentation and requested changes

* Rename the method that wiggled away

* Undo rounding changes

* Fix comment

* Rename and cleanup

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-03 18:00:34 +02:00
chromiumboy 45012cbe1d
Layering for atmospheric pipes (#36124)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2025-06-01 22:01:43 -07:00
Tayrtahn bd6645b021
Cleanup redundant `SpriteSystem` dependencies in `VisualizerSystem`s (#37758)
Cleanup redundant SpriteSystem dependencies in VisualizerSystems
2025-05-23 14:12:20 -04:00
Tayrtahn 7692d96f57
Cleanup warnings in `AtmosPipeAppearanceSystem` (#37449)
* Cleanup warnings in AtmosPipeAppearanceSystem

* Another enum
2025-05-14 19:59:35 +02:00
Tayrtahn 05c71507c5
Cleanup warnings in `FireVisualizerSystem` (#37417)
Cleanup warnings in FireVisualizerSystem
2025-05-13 17:58:53 +02:00
metalgearsloth bd69fc612a
Predicted internals (#33800)
* Predicted gas pumps

I wanted to try out atmos and first thing I found.

* a

* Atmos device prediction

- Canisters
- Tanks
- Internals

AirMixes aren't predicted so nothing on that front but all the UIs should be a lot closer.

* Remove details range

* Gas tank prediction

* Even more sweeping changes

* Alerts

* rehg

* Popup fix

* Fix merge conflicts

* Fix

* Review
2025-05-02 18:22:29 +10:00
Milon 92a3fd99ca
Fix gas pressure pump prediction (#35865)
* ACTUALLY predict gas pumps

* generic fake

* aaaaaaaaaaaaa
2025-03-28 10:42:16 +11:00
TemporalOroboros a30fe603c3
Purge uses of TransformComponent.GetWorldPositionRotation... variants (#34942) 2025-02-11 14:22:41 +11:00
metalgearsloth 9365e3a99b
Predicted gas pumps (#33717)
* Predicted gas pumps

I wanted to try out atmos and first thing I found.

* a

* Remove details range
2024-12-07 14:39:52 +11:00
MilenVolf 6c86d7b32b
Cleanup some Client atmos systems (#33634)
* Cleanup `ScrubberControl.xaml.cs`

* Minor cleanups

* Another pile of minor cleanups

* Apply requested changes

* Rename "which" into "bound". Add whitespace after "if"
2024-11-30 02:33:29 +01:00
Mervill b8d10a3f5e
Add verbose (client predicted!) examine text to Gas Miners (#30480)
* add verbose examine text to gas miners so their behaviour can be understood

* no need for these to be properties

* use an enum instead of two booleans for the miner state

* require the gas miner to be anchored in order to not be disabled

* xmldoc

* pr feedback

* file-scope namespace

* it's to late to hide my transgressions in a rebase

* turns out the normal examine distance is totally fine for this
2024-08-08 12:14:31 +10:00
Leon Friedrich 5d50467466
Content changes for engine delta-state PR (#28134)
* Update GasTileOverlayState

* Update DecalGridState

* Update NavMapState

* poke

* poke2

* poke3

* Poke dem tests
2024-05-24 14:08:23 +10:00
metalgearsloth a6ea8b210d
Firestarter fixes (#24647)
* Firestarter fixes

- Actually networks the action.
- Namespace fixes.

* No networky for you
2024-02-01 00:01:52 +11:00
Leon Friedrich 68765a4753
Improve atmos debug overlay (#22520) 2023-12-15 14:18:00 -08:00
metalgearsloth 5b8f3c48c4
Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth 9b1b3e03ed
Content audio (#20862) 2023-10-29 14:58:23 +11:00
metalgearsloth 99b77bc2d3
Remove lights compref (#19531) 2023-09-11 19:18:06 +10:00
metalgearsloth 5a0fc68be2
Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
Visne c7b21b631b
Remove unused dependencies (#19490) 2023-08-24 09:55:15 -08:00
Pieter-Jan Briers 73996d17e4
Remove accidental using directives on transient dependencies. (#18999) 2023-08-11 16:56:40 -05:00
Leon Friedrich 5cc5a8c82e
Validate that client prototypes are serializable (#18780) 2023-08-07 13:44:53 +10:00
metalgearsloth fbf1d476f2
Component ECS (#17991) 2023-07-13 20:20:46 +10:00
metalgearsloth 44a3db398b
Draw MapAtmosphere gasses (#17688) 2023-06-28 21:22:03 +10:00
Leon Friedrich f99533a7bf
Remove server and shared sprite component (#15917) 2023-04-30 16:09:52 +10:00
metalgearsloth f32a922c11
Fix firevisuals layer spam (#14871) 2023-03-26 08:15:23 -05:00
08A dbc9baf2e5
Fix appearance system (#14425) 2023-03-06 09:01:35 -08:00
Visne 5a5a3afbb1
Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04:00
Leon Friedrich 2759ef009e
Gas tile overlay state handling changes (#12691) 2022-12-19 06:25:27 +11:00
Leon Friedrich 77683a95df
Add point light to burning entities (#12959) 2022-12-12 14:35:33 +11:00
metalgearsloth c9a2ab1cee
Remove transform methods from mapgrid (#12233) 2022-11-01 11:27:18 +11:00
Visne 58769634c7
Fix a bunch of compiler warnings (#10518) 2022-08-13 22:28:34 -07:00
Leon Friedrich ed068b166f
Gas tile overlay rejig (#9619) 2022-07-24 19:10:18 -07:00
TekuNut 73b094c6ad
Convert Remaining Atmos Appearance Visualizers (#9582)
* Convert atmos plaque to generic visualizer

Use generic visualizer for atmos plaque. Also enables zumos plaque to
appear.

* Convert gas canister connecters

* Remove manual layer creation

* Remove gas canister visualizer

* Convert gas analyzers to generic visualizers

* Convert fire visualizer

* Fix layers on plasma and air canisters

* Remove commented out fire visualizer in barricades

* Add documentation for fire visuals component

* Remove redundant visualizer for milkalyzer

* Remove rogue item group
2022-07-10 16:51:34 +10:00
TekuNut 458d05b29b
Convert piped atmos entity visualizers (#9200) 2022-07-07 13:09:29 +10: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
Leon Friedrich 1cd2ee58ae
Fix toggle subfloor (#8225) 2022-05-17 11:04:38 -07:00
Leon Friedrich 25b9e048e5
Visualizer systems update (#8203)
* optimize appearance updating for subfloor entities

* sprite event args

* a

* stop double appearance update.
2022-05-16 14:41:23 +10:00
ScalyChimp d691161542
Removes obsolete uses of IMapManager events. (#7036) 2022-03-09 17:39:03 +11:00
metalgearsloth ffed5eec81
Adjust some frametiming stuff (#6496) 2022-03-01 01:11:25 +11:00
Leon Friedrich 3ba55d0798
Fix rotated pipe connection visuals (#6756) 2022-02-17 14:31:11 -07:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Leon Friedrich ac23899a39
Move pipe visualizers to systems. (#6565) 2022-02-13 20:20:35 -07:00
hubismal 1c6df07086
Fires burn bright (#6516)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-02-08 21:43:33 +11:00
metalgearsloth 569e75b987
AtmosDebugOverlay fixes (#5099) 2021-10-31 14:40:57 +01:00
Vera Aguilera Puerto 26c77a0d0b
GasTileOverlay now uses a struct enumerator for enumerating overlays for a given tile. (#4844) 2021-10-12 17:20:32 +02:00
Vera Aguilera Puerto 1033d8bbe5 Use EntitySystem dependencies in a bunch of systems. 2021-07-26 13:01:47 +02:00
Visne b7dc3c81ae
Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00