* 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
* 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
* Removed SnapGridOffset, there is only center now.
* SnapGridComponent methods are now static.
* Removed SnapGridComponent.OnPositionChanged.
* Refactored static functions off SnapGridComponent to MapGrid.
Refactored away usages of SnapGridComponent.Position.
* Added Transform.Anchored for checking if an entity is a tile entity.
More refactoring for static MapGrid functions.
* Static snapgrid methods on MapGrid are no longer static.
* Add setter to ITransformComponent.Anchored.
Removed direct references to SnapGridComponent from content.
* Grid functions now deal with EntityUids instead of SnapGridComponents.
Began renaming public API functions from SnapGrid to Anchor.
* Remove the SnapGridComponent 'Offset' field from all yaml files. This was removed in code previously, so the yaml linter was upset.
* Update engine submodule to v0.4.46.
* Refactor body component to use slots instead of an army of dictionaries
* Update vox
* Replace static method call with extension
* Add setpart method, replace dispose with shutdown
* Fix tests, fix not listening to slot events when setting a part
* First pass
* Fix access and rename banananium to bananium
* Fix captialization of CookTimeInfoLabel
* Fix InteractUsing calls
* Remove unused [Dependency]
* Replace obsolete references to Anchored with BodyType
* Assign default value to shoving someone in disposals
* Fix naming
* Replace Initialize TryGetComponents with EnsureComponent
* Rework AnchorableComponent
* Fix singularity component
* Replace obsolete usages of Angle.South
* Fix efcore warning
* Fix container tests
* Fix DebugPressurePump invalid PressurePump yaml
* Fix getting pathfinding region of grid 0
* Fix atmos plaque missing layer and add info message when it happens
* Fix AiSteeringSystem steering in an invalid grid in entity test
* Make content able to choose which log level leads to test failures
* Revert container test fix for Acruid
* Fix sprite, pipe and saving errors
Make EntityTest print all errors instead of stopping on the first
* Reorder singularity visualizer
* Disable pvs for container occlusion adn simple predict reconcile, they use entities other than map ones
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Some stuff
* Fix NaN angular velocity
* Optimise a bit
* Give throwing a bit of a spin
* Reality can be whatever I want
* Biffing it
* Cleanup
* Update submodule
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add command to spawn surgery tools around the player
* Generalize the command ot all entity list prototypes
* Change index to try index and rename surgery tools prototype
* Add pyramid physics testbed
From Box2D (licence is already on the file). Useful for testing solver performance for large islands.
* nulls
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Content side new physics structure
* BroadPhase outline done
* But we need to fix WorldAABB
* Fix static pvs AABB
* Fix import
* Rando fixes
* B is for balloon
* Change human mob hitbox to circle
* Decent movement
* Start adding friction to player controller
I think it's the best way to go about it to keep other objects somewhat consistent for physics.
* This baby can fit so many physics bugs in it.
* Slight mob mover optimisations.
* Player mover kinda works okay.
* Beginnings of testbed
* More testbed
* Circlestack bed
* Namespaces
* BB fixes
* Pull WorldAABB
* Joint pulling
* Semi-decent movement I guess.
* Pulling better
* Bullet controller + old movement
* im too dumb for this shit
* Use kinematic mob controller again
It's probably for the best TBH
* Stashed shitcode
* Remove SlipController
* In which movement code is entirely refactored
* Singularity fix
* Fix ApplyLinearImpulse
* MoveRelay fix
* Fix door collisions
* Disable subfloor collisions
Saves on broadphase a fair bit
* Re-implement ClimbController
* Zumzum's pressure
* Laggy item throwing
* Minor atmos change
* Some caching
* Optimise controllers
* Optimise CollideWith to hell and back
* Re-do throwing and tile friction
* Landing too
* Optimise controllers
* Move CCVars and other stuff swept is beautiful
* Cleanup a bunch of controllers
* Fix shooting and high pressure movement controller
* Flashing improvements
* Stuff and things
* Combat collisions
* Combat mode collisions
* Pulling distance joint again
* Cleanup physics interfaces
* More like scuffedularity
* Shit's fucked
* Haha tests go green
* Bigmoneycrab
* Fix dupe pulling
* Zumzum's based fix
* Don't run tile friction for non-predicted bodies
* Experimental pulling improvement
* Everything's a poly now
* Optimise AI region debugging a bit
Could still be better but should improve default performance a LOT
* Mover no updater
* Crazy kinematic body idea
* Good collisions
* KinematicController
* Fix aghost
* Throwing refactor
* Pushing cleanup
* Fix throwing and footstep sounds
* Frametime in ICollideBehavior
* Fix stuff
* Actually fix weightlessness
* Optimise collision behaviors a lot
* Make open lockers still collide with walls
* powwweeerrrrr
* Merge master proper
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* Ch ch ch changesss
* SHIP IT
* Fix #if DEBUG
* Fix vaulting and item locker collision
* Fix throwing
* Editing yaml by hand what can go wrong
* on
* Last yaml fixes
* Okay now it's fixed
* Linter
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Vera Aguilera Puerto <zddm@outlook.es>
* serv3 in shared pt 1
* beginning of deepclone api
* progress in implementing ideepclone & serv3 in content
* adds target
* its cant hurt you it cant hurt you
* more changes to content.server
* adds dataclasses
* almost there
* renamed & edited entry
* finishes refactoring content to use serv3
* gasmixture runtimes, next: reagentunit
* fucin hell that was an annoying one
* adds flags
* fixes some yaml errors
* removes comment
* fixes generic components for now
* removes todo
actually clones values my god paul
fixes bug involving resolving custom data classes from other proj
renames dataclass
fixes spritecomp
adds WithFormat.Constants support
* adds deepclone to ResistanceSet
* adds a bunch of deepclone implementations
adds a deepclone analyzer (TODO)
adds a deep clone fallback for classes & structs
* fixes a bunch of runtimes
* adds deepclone to entityuid
* adds generator to sln
* gets rid of warnings
* fixes
* argh
* componentdata refactors
* more deepclone impl
* heck me i reworked all of content deepclone
* renames custom dataclasstarget
* misc
* reworks prototypes
* deepclone nuke
* renamed customdataclass attribute
* fixes everything
* misc fixed
* the killcommit
* getting there
* changed yamlfieldattribute namespace
* adds back iselfserialize
* renames everything to data(field/definition)
* ouch
* Fix most errors on content
* Fix more errors in content
* Fix some components
* work on tests
* fixes some customdataclasses
* fuggin shit
* yes
* yeas
* Remove data classes
* Data field naming fixes
* arg
* Git resetti RobustToolbox
* Merge fixes
* General fixes
* Fix startup serialization errors
* Fix DamageContainerPrototype when supported classes or types are null
* Implement construction graph step type serializer
* Fix up construction serialization
* Fix up construction serialization part 2
* Fix null list in technology database component
* Fix body serialization
* Fix entity storage serialization
* Fix actions serialization
* Fix AI serialization
* Fix reaction serialization
* Fix body serialization
* Fix grid atmosphere serialization
* Rename IServ3Manager to ISerializationManager
* Convert every non generic serializer to the new format, general fixes
* Serialization and body system fix
* pushinheritance fix
* Update all prototypes to have a parent and have consistent id/parent properties
* Merge fixes
* smh my head
* cuddling slaps
* Content commit for engine PR
* stuff
* more fixes
* argh
* yes even you are fixed
* changelog fixes
* fixes seeds
* argh
* Test fixes
* Add writing for alert order prototype
* Fix alert order writing
* FIX
* its been alot ok
* Fix the rest of the visualizers
* Fix server alerts component tests
* Fix alert prototype tests not using the read value
* Fix alert prototype tests initializing serialization multiple times
* THIS IS AN AMERICAN CODEBASE GOD BLESS THE USA
* Add ImplicitDataDefinitionForInheritors to IMechanismBehavior
Fixes the behaviors not being found
* Fix NRE in strap component
Good night to the 1 buckle optimization
* Fix clothing component slot flags serialization tag
* Fix body component in all components test
* Merge fixes
* ffs
* Make construction graph prototype use serialization hooks
* human yaml linted
* a
* Do the thing for construction
* stuff
* a
* monke see yaml linter
* LINT HARDER
* Remove redundant todo
* yes
* Add skip hook argument to readers and copiers
* we gamin
* test/datafield fixes
* adds more verbose validation
* moves linter to action
* Improve construction graph step type serializer error message
* Fix ammo box component NRE
* gamin
* some updates to the linter
* yes
* removes that test
* misc fixes
* array fix
priority fix
misc fixes
* adds proper info the validation
* adds alwaysrelevant usa
* Make yaml linter take half as long to run (~50% less)
* Make yaml linter 5 times faster (~80% less execution time)
* based vera being based
* fixes mapsaving
* warning cleanup & moves surpressor
* removes old msbuild targets
* Revert "Make yaml linter 5 times faster (~80% less execution time)"
This reverts commit 3e6091359a26252c3e98828199553de668031c63.
* Add -nowarn to yaml linter run configuration
* Improve yaml linter message feedback
* Make dependencies an argument instead of a property on the serialization manager
* yamllinting slaps
* Clean up type serializers
* Move yaml linter code to its own method
* Fix yaml errors
* Change yaml linter action name and remove -nowarn
* yaml linter please shut
* Git resetti robust toolbox
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Content side new physics structure
* BroadPhase outline done
* But we need to fix WorldAABB
* Fix static pvs AABB
* Fix import
* Rando fixes
* B is for balloon
* Change human mob hitbox to circle
* Decent movement
* Start adding friction to player controller
I think it's the best way to go about it to keep other objects somewhat consistent for physics.
* This baby can fit so many physics bugs in it.
* Slight mob mover optimisations.
* Player mover kinda works okay.
* Beginnings of testbed
* More testbed
* Circlestack bed
* Namespaces
* BB fixes
* Pull WorldAABB
* Joint pulling
* Semi-decent movement I guess.
* Pulling better
* Bullet controller + old movement
* im too dumb for this shit
* Use kinematic mob controller again
It's probably for the best TBH
* Stashed shitcode
* Remove SlipController
* In which movement code is entirely refactored
* Singularity fix
* Fix ApplyLinearImpulse
* MoveRelay fix
* Fix door collisions
* Disable subfloor collisions
Saves on broadphase a fair bit
* Re-implement ClimbController
* Zumzum's pressure
* Laggy item throwing
* Minor atmos change
* Some caching
* Optimise controllers
* Optimise CollideWith to hell and back
* Re-do throwing and tile friction
* Landing too
* Optimise controllers
* Move CCVars and other stuff swept is beautiful
* Cleanup a bunch of controllers
* Fix shooting and high pressure movement controller
* Flashing improvements
* Stuff and things
* Combat collisions
* Combat mode collisions
* Pulling distance joint again
* Cleanup physics interfaces
* More like scuffedularity
* Shit's fucked
* Haha tests go green
* Bigmoneycrab
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Data-driven NPC behaviors
* Nuked AiLogicProcessor
* BehaviorSets are now all stored in yaml (might try making actions also yaml someday)
* Added a test to validate all BehaviorSets
* Might also try pooling actions in the future to reduce allocs but that'll be way down the line (cough physics).
* Forgot to re-add sorting nothing suss
* Remove last references
* Proper vector2i serialization for tile atmos (#3266)
* update map files
* update submodule
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
* Remove weird "S" jumpsuit from existence (#3267)
* Change character names to use datasets prototypes (#3259)
* Remove old name lists in .txts
* Fix tests
* LATEST MASTER TECHNOLOGY
* Converts AdminMenu to partially use XAML (#3231)
* Cleans up Hydroponics content. (#3025)
* Adds to IgnoredComponents.cs
* Jackboots
* Half Done
* Moved to diff PR
* Everything functional
* Fixed Sprays
* Nice
* Fixed
* Update submodule
* Fix tests
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Stacked sprite visualizer (#3096)
* Add Stack Visualizer
* Add cigarette pack resources
Adds transparent layers for visualizing cigarettes
* Add Bag Open/Close Visualizer
So storage opened in inventory can have different icons when opened
or closed.
* Create a component that only enumerates single item
Used for creating stuff like matchbox, or cigarettes. As a bonus.
It will only update stack visualizer for that particullar item.
* Refactoring stuff
* Fix other usage of stack in Resources
* Add docs
* Apply suggestions from code review
Apply metalgearsloth suggestions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Applied suggestions from metalgearsloth
* Changed SingleItemStorageComponent to StorageCounterComponent
Difference. New component doesn't spawn items, merely counts them.
* Refactored StackVisualizer
* Fix breakage with master
* Update Resources/Prototypes/Entities/Objects/Consumable/fancy.yml
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update with MGS suggestions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* ApcNet updating fix (#3078)
* GridPowerComponent
* ApcNet Powered update bugfix
* PowerTest fix
* Add GridPower to Saltern
* test fix
* Update canceling cleanup
* code cleanup
* nullable & code cleanup for test
* undo power test nullable
* Replaces GridPowerSystem with ApcNetSystem
* build fix
* Update Content.Server/GameObjects/EntitySystems/ApcNetSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Change all XAML to use spacestation14.io namespace (#3277)
* fix pizzaboxes (#3291)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
* Spikes fix reopened (#3203)
* DoAfter, dead and stun check, DragDropOn
* Not ignored anymore
* Copied comment deleted
* Herbert's an ass
* Woops
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Make component states dependant on the player getting them (#3280)
* Make component states dependant on the player getting them
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Updated submodule to v0.3.7.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Acruid <shatter66@gmail.com>
* Hoe fix (#3296)
* Initial (#3297)
* Sort reagent dispenser entries (#3272)
* Sort reagent dispenser entries
Saves manually doing it.
* zumzum's suggestion
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Made firelocks damageable & destructible (#3303)
* Move job priority enum parity test ot unit tests (#3300)
* Spill hand contents when dropping them in a fall (#3304)
* Spill hand contents when dropping them due to falling down
* Better approach
* cleanup
* grammar
* stupid
* PauseManager moved to Shared (#3288)
* Namespace changes for moving IPauseManager to shared.
* Namespace changes for moving ITimerManager from Timers to Timing.
* Rebase Fixes.
* Update engine submodule to v0.3.8
* Improves kick, teleport and ban menus (#3312)
* Fix the admin panel not showing the account name (#3322)
* Fix name serialization for secret stashes (#3301)
* Fix name serialization for secret stashes
* Fix old usages of secret part name
* Separate ghost warp message into two (#3310)
* Separate ghost warp message into two
* Remove redundant arguments
* Address reviews
* Move properties up
* Add health overlay and a command to toggle it (#3278)
* Add health overlay bar and a command to toggle it
* Remove empty line
* Content PR for YAML hot reloading (#3319)
* Content PR for YAML hot reloading
* Add CanAdminReloadPrototypes (host permission)
* IndexedPrototype fixes
* Update RobustToolbox
* Update RobustToolbox
* Add an unconspicuous, meaningless and in no way motivated by any external force XML doc to buckle component
* Update RobustToolbox
* Update submodule to v0.3.12.
* Removed unused using statements that prevented compiling.
Removed references to IIndexedPrototype that does not exist anymore in the engine.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Leo <lzimann@users.noreply.github.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: collinlunn <60152240+collinlunn@users.noreply.github.com>
Co-authored-by: komunre <49118681+komunre@users.noreply.github.com>
Co-authored-by: Acruid <shatter66@gmail.com>
Co-authored-by: Peptide90 <78795277+Peptide90@users.noreply.github.com>
Co-authored-by: Clyybber <darkmine956@gmail.com>
* Namespace changes for moving IPauseManager to shared.
* Namespace changes for moving ITimerManager from Timers to Timing.
* Rebase Fixes.
* Update engine submodule to v0.3.8
* Add files for Ghost Roles.
* Work on Ghost Roles
* Improvements
* GHOST ROLES IS DONE
* mmm yes
* auto-update when setting rolename/roledescription
* well
* command graceful error
* Makes UI have a scrollbar when it has too many entries
* fix command fuckup
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* 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
* Add Speech and Emoting components.
* makesentient gives you speech and emoting abilities.
* Ghosts do *not* need a SpeechComponent.
* I hate you all, and I hate shared code as well.
* Remove unused IChatCommand.
* Lots of refactoring into a shared context.
* Removed ICommonSession from server concmd Execute.
* Added argStr parameter to concmd execute.
* The execute function of client concmds now returns void, use the new shell.RemoteExecuteCommand function to forward commands.
* Finally move shells and commands into shared.
* Console commands can now be registered directly without a class in a shared context.
* Engine API Changes.
* Repair rebase damage.
* Update Submodule.
* 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)
* oops accedentaly ports how ss13 deals with event randomness. Also renames FakeEvent to FalseAlarm!
* thing
* greytide but it's implemented badly
* fixes&changies, also greytide!
* rng actualy exists now
* resync
* Naming Schemes
* Startup not init
* areas are dead
* very cool vsudio
* this does not exist, wtf
* Cleanup
* Nullables, fixables, and timings
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Singularity Testing Map: Add a command to auto-config the singularity engine
* Singularity Testing Map: Add the singularity testing map
A derivative of 20kdcstation.