Many newer overlays use IRenderTextures that are sized to the rendered viewport. This was completely broken, because a single viewport can be rendered on multiple viewports in a single frame.
The end result of this was that in the better case, constant render targets were allocated and freed, which is extremely inefficient. In the worse case, many of these overlays completely failed to Dispose() their render targets, leading to *extremely* swift VRAM OOMs.
This fixes all the overlays to properly cache resources per viewport. This uses new engine functionality, so it requires engine master.
This is still a pretty lousy way to do GPU resource management but, well, anything better needs a render graph, so...
* Hopefully make singularity shader warping resolution-invariant
This may or may not fix intensity issues
* Fix singularity 'zero velocity' check
It got stuck in a corner. Twice. I really thought I'd fixed that.
* Make it easier to move around various power stuff by shrinking their AABBs a little and making singulo generator a circle
* Changes to some machine prototypes to reduce duplication of collision changes (#1)
* Changes to some machine prototypes to reduce duplication of collision changes
* BaseMachine.BaseMachineUnpowered -> BaseMachine.BaseMachinePowered
* Add GNU Octave script for tuning singularity engine. startsingularityengine is now properly tuned & sets up radiation collectors. FTLize RadiationCollectorComponent.
* Fix bugs with radiation collectors producing infinite power.
* Ensure singularities don't instantly annihilate other singularities (causing new singularities to instantly dissolve)
Technically found by a "bug" where a singularity generator would make multiple singularities, but this renders that bug harmless.
* Tune singularity shield emitters to hopefully randomly fail less, and add an Octave script for looking into that
* Fix singularity shader
* Map in an unfinished PA into Saltern
* Correct PA particles being counted twice by singularity calculations, add singulo food component
* Hopefully stop "level 1 singulo stuck in a corner" issues by freezing it when it goes to level 1 from any other level
* Apply suggestions on 'jazz' PR
* Engine namespace changes.
* Automated remove redundant using statements.
* Simplified Graphics namespace.
* Apparently the container system stores full type names in the map file.😞 This updates those names.
* API Changes to LocalizationManager.LoadCulture.
* Update submodule to v0.3.2
* Get rid of the OverlayEffectsComponent stuff because it just ended up creating workarounds for it's bugs, without removing any functionality
* Flashes and Flashbangs use the same code now (the Flashable path because it's better)
* Flash component, overlay and shader
Add BeginDraw method to Overlay.cs
* Add flash icons, sounds
* Progress
* Multiple overlays without enums
* This is probably the worst way to do this IDK
* Remove nullable reference type
* Add AttackEventArgs as parameter to OnHitEntities
MeleeWeaponComponent.Attack now continues when OnHitEntities returns true (it hit something)
Add OverlayType enum so client and server can agree on overlay ids
Move IConfigurable to its own file
Add AoE flash with shorter duration
Flashing someone slows them down
* Add arc to flash
Set item size to something reasonable
Remove chat log message when flash burns out
* Remove unused interface
* Non-accessed local variable
* Merge cast and type checks.
* StringComparison.Ordinal added for better culture support
* Supposed code improvement in launcher. Remove unused code.
* Update ExplosionHelper.cs
Unintentional change.
* Optimized Import
* Add Robust.Shared.Utility import where it was deleted
* Other random suggestion
* Improve my comment
* Fix this
fug
oksure
Creates the initial species component, damage states, and threshold templates and hooks them into the damageable component
* More rebase fixes
* test
* Pre future rebase
* Please
* Lol
* Lol2
* SHADERS
* Update Engine
* yml file
* Fix an initialization issue, injects dependencies
* Fix error in loading shaders
* Makes a master character ui controller component added upon client attachment to entity and remove upon client detachment from entity
* Fixes just about everytrhing
* Address PJB's comments
* geeze
* Make overlays work in worldspace instead of screen space and not cover user interfaces
* update submodule