* Increase benchmark BuildTimeout (#37029)
* Increase benchmark BuildTimeout
* Add RaiseEvent benchmark
* a
* More benchmarks
* It just gets optimised away
* IComponent event
* cleanup bench
* Update b2dynamictree (#30630)
* v249.0.0
* Make MappingDataNode use string keys (#36111)
* MappingDataNode string keys
* a
* poke
* v254.0.0
* fixes
* chore: automatically update REUSE headers
* v255.0.0
* Predict virtual hands and co (#36617)
These are the easy ones anything else gets slightly spicier.
* chore: automatically update REUSE headers
* Update submodule to 254.1.0 (#36711)
* Update submodule to 254.1.0
* API update
* chore: automatically update REUSE headers
* v256.0.0
* v257.0.0
* Add AssertMultiple to ContrabandTest (#35662)
* add AssertMultiple to ContrabandTest
* do the same for magazine visuals test
* :trollface:
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Fix MagazineVisualsSpritesExist for engine PR (#36761)
* chore: automatically update REUSE headers
* aaaa
* I'm silly
* aaaaaaaaaaaaaaaaaa
* test
* bawk
* chore: automatically update REUSE headers
* v258.0.0
* v259.0.0
* Content changes for SetTiles change (#37229)
* Content changes for SetTiles change
* Retest with new engine changes
* Derp
* Update for new engine PR changes
* chore: automatically update REUSE headers
* v260.2.0
* CompFactory updates (#37559)
* aaa
* chore: automatically update REUSE headers
* more removals
* chore: automatically update REUSE headers
* another gone
* component factory begoneth
* chore: automatically update REUSE headers
* odd fix
* Cleanup BiomeSystem.Commands (#36084)
* _mapManager.GetMapEntityId -> _mapSystem.GetMapOrInvalid
* _mapManager.MapExists -> _mapSystem.MapExists
* Unused using
* manager fixes
* chore: automatically update REUSE headers
* wizden shuttle collision
* Add sun shadows (planet lighting stage 2) (#35145)
* Implements a Dynamic Lighting System on maps.
* Edit: the night should be a little bit brighter and blue now.
* Major edit: everything must be done on the client side now, with certain datafield replicated.
Changes were outlined in the salvage to accommodate the new lighting system.
* Edit: The offset is now serverside, this makes the time accurate in all situations.
* Removing ununsed import
* Minor tweaks
* Tweak in time precision
* Minor tweak + Unused import removed
* Edit: apparently RealTime is better for what I'm looking for
* Fix: Now the time is calculated correctly.
* Minor tweaks
* Adds condition for when the light should be updated
* Add planet lighting
* she
* close-ish
* c
* bittersweat
* Fixes
* Revert "Merge branch '22719' into 2024-09-29-planet-lighting"
This reverts commit 9f2785bb16aee47d794aa3eed8ae15004f97fc35, reversing
changes made to 19649c07a5fb625423e08fc18d91c9cb101daa86.
* Europa and day-night
* weh
* rooves working
* Clean
* Remove Europa
* Fixes
* fix
* Update
* Fix caves
* Update for engine
* Add sun shadows (planet lighting v2)
For now mostly targeting walls and having the shadows change over time. Got the basic proof-of-concept working just needs a hell of a lot of polish.
* Documentation
* a
* Fixes
* Move blur to an overlay
* Slughands
* Fixes
* Apply RoofOverlay per-grid not per-map
* Fix light render scales
* sangas
* Juice it a bit
* Better angle
* Fixes
* Add color support
* Rounding bandaid
* Wehs
* Better
* Remember I forgot to do this when writing docs
---------
Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>
* chore: automatically update REUSE headers
* Optimize parallax VRAM usage (#37180)
* Disable parallax texture preloading
Many parallax layers are specific to a single map and will likely never be loaded for the duration of the game. Save VRAM by not loading them always.
Requires engine master
* Put generated parallax identifier in texture name
Makes it show up properly in debugging tools
* Don't load generated parallaxes multiple times
Many parallax prototypes re-use the same generated parallax configs. These generated parallaxes were being loaded multiple times at once, which was a massive waste of VRAM.
We now move these into a separate cache for deduplication. I had to write a lot of logic to handle loading cancellation and ref counting. Yay.
Also fixes some spaghetti with the previous parallax loading system: cancellation didn't work properly, give proper names to generated texture names, etc.
This saves like 100+ MB of VRAM.
* chore: automatically update REUSE headers
* Fixes server error spam from bad wizden code
* better name
* formatting
* fixes it but better
* comments
* oh god
* oh god
* Sloth's subfloor vismask adventure (#35347)
* Add a subfloor vismask
Significantly cuts down on sent entity count.
* More optimisations
* Fix command
* Fixes
* namespace cleanup
* Review
* Vismasks
* Content update
* Bandaid
* awewa
* Revert these
* reh
* Update Content.Shared/SubFloor/TrayScannerComponent.cs
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Fix TrayScannerUser (#35959)
* Fix TrayScannerUser
* Ignore
* Update Content.Shared/SubFloor/TrayScannerUserComponent.cs
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Fix gas mixers and pneumatic valves being hidden by floor tiles (#36428)
fix gas mixers and pneumatics valves being hidden by floor tiles
* Remove unused PowerConsumer from grilles (#36077)
This caused tons of completely wasted processing in the power system. Incredible.
* Remove update from DeviceLinkSystem (#37152)
The tick updates were purely used to decrease the invoke counter once per tick. Now instead we just calculate the effective counter value with some trivial math on the tick number. This completely removes the need for an update function.
The relative tick is not stored to map files. If we really need this, we can add a TickOffsetSerializer (similar to TimeOffsetSerializer), but I doubt it matters.
* Use approx NPC steering checks (#36110)
Much faster lookup and shouldn't affect final result.
* Fix the sensor monitoring console forcing a GC every 3 seconds (#38146)
* Optimize sensor monitoring window graph drawing
* Add shared static Vector2 pool for all GraphView instances
* Address requested changes
* remove lock
* chore: automatically update REUSE headers
* whoops
* Predict pipe anchoring and unanchroing (#35977)
* yay prediction
* Added cool popups
* bruh
* this is better!
* Fix tile-events returns (#37502)
* Fix tile-events returns
Should really be continues.
* More
* More optimisations
---------
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: monolith8319 <195513600+monolith8319@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Ilya246 <57039557+Ilya246@users.noreply.github.com>
Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Dinner <180707738+DinnerCalzone@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
* Add ability for admins to change certain cvars via command.
* Cleanup
* More cleanup.
* Even more cleanup.
* WAITER! WAITER! ONE MORE COMMIT PLEASE!
* Remove requirement for Admin AdminFlag
Not needed as the command checks for the perms.
* Add search function to CVars and help text
* Move to controller instead.
* Add another cvar for testing
* Remove unused comment
* Move to Post Server Initialize
LoC does not work at the earlier stages of server initalization
* Remove unneeded comment
We clear out list so its no longer needed
* gaslock wip
* gaslock WIP
* gaslock: entity's more or less good
* deposits & drills, WIP
* gas deposit drill WIP
* More work on deposits and drills, still WIP
* random gas deposits, drill fixes
* drill visualizers, ignore deposits, yaml fixes
* Gas deposits, pipe fixes for the drill
* gaslock RSI fix
* gaslock to binary.yml, joinSystem test
* GasDepositExtractor: push into net, not pipe
* Clear pump on undock
* WIP docking types, sale point
* selective docking WIP
* WIP gas sale point, console, gas sale UI
* Bidirectional pressure pipes
* gaslock console wip
* cleanup, smaller deposits
* Add gaslocks to the atmospheric alerts computer
* Fix gaslock pipe readout
* Remove unused deposits
* Undupe AtmosDirectionChanged log value
* Address test failures
* Add remaining missing containers
* Fix missing source/sink port refs in gas sale comp
* maps and maps
* fix gas drill examine text
* make storage canisters craftable
* gas price changes
* N2/O2 to zero, fix trit/frezon comment
* comment out edison for now
* Lower cargo canister prices, raise plasma
* gasbender: resolve duped IDs
* Fix invalid network config ref
* canister arbitrage fix
* Narrow gaslock, fix bidirectional pump UI overlap
* Remove GaslockReversed reference in ambition
* internal gas sale point, better piping
* max extraction rate, deposit suffixes
* gas sale point: inherit from basemachinepowered
* sale point: fix parent order
* gas sale port: dockable pump->dockable pipe
* No gas sale point alerts entry
* Rename dockablepumpsystem file, nix unneeded deps
* Dirty gas deposit extractor UI on open
* MapInit, not ComponentInit, hide unanchored docks
* Working sale point
* Gasbender: fix unpowered thrusters
* Gas sale console UI
* Appraise, not Refresh
* Edison: two online SMESes, coloured pipes
* cleanup
* fix mining drill BUI
* muddled gas deposits
* Gas sale UI: only show present gases
* fix ref to gaslock window
* gas sale point screen, remove unused console
* ShuttleDockControl: Frontier comments
* Remove other missing Gaslock console windows
* add generic keys, panel open to NF computers RSI
---------
Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: Checkraze <71046427+Cheackraze@users.noreply.github.com>
This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.
HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.
This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.
New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.
Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.
There's also some code cleanup to reduce copy pasting around the place from my changes.
Requires latest engine to support ImmutableArray<byte> in NetSerializer.
* Log enrichment: Explosion damage to players
* Update Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Revert to total damage variant only, currently serialised as string.
* Make this its own log type.
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Add logs to things
* Make the message log be saved as msg because I forgor before.
* Log fails when getting an entity that doesn't exist
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* add placement logs
* add tile log type
* add support for spawn command
a little janky because the log message isn't entirely accurate when it's the result of a command use
* move method to ActorSystem.cs
* switch to TryGet and outs instead of multiple returns
* Added Gloves of North Star, no sprite or talking yet...
* Added sprites for the gloves of the north star...
* Replaced more placeholder sprites for northstar gloves...
* Added gloves of the north star to uplink...
* Added speech on hit, not yet configureable
* Not functional yet, but a step in the right direction I hope...
* IT WORKS!!
* Licensing and cleanup
* Reduced attack speed, changed from chat to popup, added some admin logging. It was causing too much adminlog spam otherwise
* Reorganized some files, final build??
* Changed the adminlog type from Verb to new type ItemConfigure
* More cleanup, fix sprite reference maybe
* Keronshb's suggestions, fixed some stuff, made hit sound use the meaty punch sfx
* Adds support for hiding speak/whisper/emote from adminlogs, makes northstar speak again!
* Some file shuffling, some of Keronshb's requests. Might appear a bit funky in github because vscode kept duplicating files for some reason and I had to delete them
* Made it work with the latest changes on Master
* Final? cleanup, upped dmg to 8, made ui not activate on activateinhand, instead you need to right click
* Set value to 0 credits, that's all
* Well that was much easier than I made it out to be. Now you can only activate the gloves with right click, no more mispredicts.
* Update MeleeWeaponSystem.cs
Iunno why this got changed in the first place, but I'm changin it back
* emptycommit
* emptycommit
* The tiny fixening