* 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
* Conveyor optimisations
- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.
* Blocker version
* Finish
* Final
* Fix conveyor power mispredict
* Bagel save
* Revert "Bagel save"
This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.
* Conveyor resave
* Init Commit
* windows yelling at me to update commit
* working commit, need prediciton and more dehardcoding
* Project 0 warnings
* Working Commit (Near Final)
* ryder got confused commit
* I love Merge Conflicts :)
* Working commit, no prediction
* Forgot the yaml changes
* Comments and typos
* Apparently while the reduced launch mult of lube was initialized it was never used so I revered back to default
* Fixed an incorrect divisor
* bit of cleanup
* Prediciton fixed, and puddles now affect all entities
* FORGOT TO RENAME A VERY IMPORTANT VARIABLE OOPS
* Really big I forgor moment
* Even bigger I forgor moment
* four more merge conflicts to fix four more oopsies
* fixed actual divide by zero moment and also im very dumb
* Even bigger I forgor moment
* four more merge conflicts to fix four more oopsies
* fixed actual divide by zero moment and also im very dumb
* Fix all test fails
* code cleanup
* Webedit whitespace
* Code cleaup
* whitespace webedit
* whitespace webedit
* whitespace webedit
* whitespace removal
* Comments and cleanup
* Re-Added 20 warnings as per Ork's request
* Cleanups
* Spacing fix
* bugfixes and cleanup
* Small bugfix
* Fix prediction
* Mob movement rewrite
* Bandaid
* Working version
* Tentatively working
* Friction to fix cornering
* More fixes
* Refactor mob movement
Trying to cleanup relay ordering / tryupdaterelative being cooked, purge ToParent, and fix all the eye rotation shenanigans.
* Building
* Re-implement jetpacks
* Reorganise weightless movement
* More work
* Fix camera
* reh
* Revert bagel
* Revert this
* Revert held move buttons
* Puddles work but are unpredicted and unoptimized
* Fixes
* Puddle code...
* Actually dirty the slipComp for real
* Sliding component done plus an extra suggestion from ArtisticRoomba
* Atomized Commit
* Added Friction field to Reagent Prototype per design discussion
* Cleaned up Working Commit
* a
* Delete stinkers
* Fix this code smell
* Reviewed
* Funky re-save
* Our conveyance
* Better conveyor sleeping
* Remove this
* Revert "Better conveyor sleeping"
This reverts commit f5281f64bbae95b7b9feb56295c5cf931f9fb2e1.
* Revert that
Way too janky
* Also this
* a
* Working Commit - Still a lot to do
* Acceleration refactor
* Minor jetpack cleanup
* frictionnomovement no longer nullable
* Shared Mover Feels 99% done
* OffGrid/Weightless/Throwing Friction saved
* Fix merge conflicts
* Fix a debug assert
* Final Commit for today
* Some fixes
* Actually use those CCVars Properly
* Need to fix throwing
* Second to last Commit for real
* Jetpack bug fixed
* Jetpack bug fixed
* Test fail patch
* Small patch
* Skates Component cleanup + Bring Accel back to 5 (oops)
* Fix test fail oops
* yaml cleanup make dragons not fat
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Now the name of the target craft items is taken directly from the prototypes
* Deleting unnecessary fields
* Deleting unnecessary fields
* Added suffix field
* Added override via localization keys
* My favorite ItemList and TextureRect have been replaced with ListContainer and EntityPrototypeView
* Fix suffix
* Fix construction ghosts... maybe
* Remove suffix from UI
* Suffixes have been removed from prototypes
* Added a description for the secret door
* Fix search..?
* The Icon field of ConstructionPrototype has been removed
* StackPrototypes used in the construction menu have been localized
* TagConstructionGraphStep used in the construction menu have been localized
* The search bar has been localized
* Fix localization and prototypes
* Recipes are now only loaded when the crafting window is opened.
* Fix crooked merge grid of the crafting menu.
* Localization update
* Fix cyborg graph
* Revert "Recipes are now only loaded when the crafting window is opened."
This reverts commit 97749483542c2d6272bda16edf49612c69a0761a.
* Fix loc
* fix merge
* Fix upstream
* Some of the logic has been moved to Shared
* fix
* Small adjustments
* Very small change
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
If our current ID is different to the received one we should just discard it even if it's for the same entity.
Note that this doesn't quite fix my prediction issue as client and server are using slightly different timings for the event.
* feat: node scanner now auto-updates artifact details if in range
* refactor: minor cleanup
* refactor: optimization for update and query of range checking
* refactor: fix xml-doc
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Add ENERGYWATTHOURS() loc function
Takes in joules (energy), displays as watt-hours.
* Add simple OnOffButton control
* Re-add Inset style class
This was sloppily removed at some point?? Whatever, I need it.
* Add helper functions for setting title/guidebook IDs on FancyWindow
Reagent dispenser uses these, more in the next commits.
* Add BuiPredictionState helper
This enables me to implement coarse prediction manually in the battery UI.
Basically it's a local buffer of predicted inputs that can easily be replayed against future BUI states from the server.
* Add input coalescing infrastructure
I ran into the following problem: Robust's Slider control absolutely *spams* input events, to such a degree that it actually causes issues for the networking layer if directly passed through. For something like a slider, we just need to send the most recent value.
There is no good way for us to handle this in the control itself, as it *really* needs to happen in PreEngine. For simplicity reasons (for BUIs) I came to the conclusion it's best if it's there, as it's *before* any new states from the server can be applied. We can't just do this in Update() or something on the control as the timing just doesn't line up.
I made a content system, BuiPreTickUpdateSystem, that runs in the ModRunLevel.PreEngine phase to achieve this. It runs a method on a new IBuiPreTickUpdate interface on all open BUIs. They can then implement their own coalescing logic.
In the simplest case, this coalescing logic can just be "save the last value, and if we have any new value since the last update, send an input event." This is what the new InputCoalescer<T> type is for.
Adding new coalescing logic should be possible in the future, of course. It's all just small helpers.
* Battery interface
This adds a proper interface to batteries (SMES/substation). Players can turn IO on and off, and they can change charge and discharge rate. There's also a ton of numbers and stuff. It looks great.
This actually enables charge and discharge rates to be changed for these devices. The settings for both have been set between 5kW and 150kW.
* Oops, forgot to remove these style class defs.
While trying to play a replay I noticed that the replay would freeze
when seeking in some cases. After some debugging, I discovered that two
MIDI renderers had each other as master, which caused an infinite loop
processing MIDI events.
I'm not entirely sure of the sequence of events that leads to this
during replay playback, but I did notice that MIDI render masters are
never set to null. This is in the best case just a memory leak, in the
worst case probably the source of the bug, so... I fixed that.
* Fix disposal unit flush animation
* Revert "Fix disposal unit flush animation"
This reverts commit a596ecfd5f5368f87ef52cfb27884a8e000185c6.
* control by setting layer visibility rather than overwriting
* restore changes
* new patchMargin variable added, horizontals fixed
* All sides now work, system is fully integarated
---------
Co-authored-by: Zachary Yona <magicalusf@gmail.com>
So:
- Shared examine like armour, adds the button incorrectly and mispredicts it.
- Server-only like damage, doesn't add it (correct) and no mispredict.
We'll just prune any verbs if the server sends them in unless the verb is client-only and it should fix it unless there's client-side code not flagging it as clientexclusive.
* Predict dumping
- This got soaped really fucking hard.
- Dumping is predicted, this required disposals to be predicte.d
- Disposals required mailing (because it's tightly coupled), and a smidge of other content systems.
- I also had to fix a compnetworkgenerator issue at the same time so it wouldn't mispredict.
* Fix a bunch of stuff
* nasty merge
* Some reviews
* Some more reviews while I stash
* Fix merge
* Fix merge
* Half of review
* Review
* re(h)f
* lizards
* feexes
* feex
* Refactor disarms
- Move client stuff to shared
- Cleanup a bunch of stuff
- Ref events
- Fix the swing sound mispredict (I noticed it on target dummies).
* Revert this change
* minor review
* Rebiew
---------
Co-authored-by: Milon <milonpl.git@proton.me>
* Material Silo
* fix board, fix copyright
* a bit of review.... for the vibe....
* a tiny bit of review
* 4 spaced
* sloths no good very tiny nitpick
* fix ui flickers
* oops
* slightly lower range
* Sloth Review
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
* Implement client-side theming for OutputPanel scroll-down button.
* Use OutputPanel constant for button class name
* Remove unused string
* Enable scroll button for ChatBox
* Update RobustToolbox
* Update to merged RT version
feat: now RCD can have recepies that are placed on the top level of radial menu - 'Main' category name is reserved for this
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>