Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
… into swap-positions-method
  • Loading branch information
EmoGarbage404 committed Apr 28, 2024
2 parents e16cfc9 + 40a9048 commit 5c7d4ad
Show file tree
Hide file tree
Showing 299 changed files with 6,876 additions and 2,942 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ jobs:
run: dotnet restore
- name: Build
run: dotnet build --no-restore /p:WarningsAsErrors=nullable
- name: Test Engine
- name: Robust.UnitTesting
run: dotnet test --no-build Robust.UnitTesting/Robust.UnitTesting.csproj -- NUnit.ConsoleOut=0

- name: Robust.Analyzers.Tests
run: dotnet test --no-build Robust.Analyzers.Tests/Robust.Analyzers.Tests.csproj -- NUnit.ConsoleOut=0

2 changes: 1 addition & 1 deletion MSBuild/Robust.Engine.Version.props
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project>
<!-- This file automatically reset by Tools/version.py -->
<PropertyGroup><Version>214.2.0</Version></PropertyGroup>
<PropertyGroup><Version>220.2.0</Version></PropertyGroup>
</Project>
Expand Down
314 changes: 313 additions & 1 deletion RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Release notes for RobustToolbox.
# Release notes for RobustToolbox.

<!--
NOTE: automatically updated sometimes by version.py.
Expand Down Expand Up @@ -54,6 +54,318 @@ END TEMPLATE-->
*None yet*


## 220.2.0

### New features

* RSIs can now specify load parameters, mimicking the ones from `.png.yml`. Currently only disabling sRGB is supported.
* Added a second UV channel to Clyde's vertex format. On regular batched sprite draws, this goes 0 -> 1 across the sprite quad.
* Added a new `CopyToShaderParameters` system for `SpriteComponent` layers.


## 220.1.0

### Bugfixes

* Fix client-side replay exceptions due to dropped states when recording.

### Other

* Remove IP + HWId from ViewVariables.
* Close BUIs upon disconnect.


## 220.0.0

### Breaking changes

* Refactor UserInterfaceSystem.
- The API has been significantly cleaned up and standardised, most noticeably callers don't need to worry about TryGetUi and can rely on either HasUi, SetUiState, CloseUi, or OpenUi to handle their code as appropriate.
- Interface data is now stored via key rather than as a flat list which is a breaking change for YAML.
- BoundUserInterfaces can now be completely handled via Shared code. Existing Server-side callers will behave similarly to before.
- BoundUserInterfaces now properly close in many more situations, additionally they are now attached to the entity so reconnecting can re-open them and they can be serialized properly.


## 219.2.0

### New features

* Add SetMapCoordinates to TransformSystem.
* Improve YAML Linter and validation of static fields.

### Bugfixes

* Fix DebugCoordsPanel freezing when hovering a control.

### Other

* Optimise physics networking to not dirty every tick of movement.


## 219.1.3

### Bugfixes

* Fix map-loader not pausing pre-init maps when not actively overwriting an existing map.


## 219.1.2

### Bugfixes

* Fix map-loader not map-initialising grids when loading into a post-init map.


## 219.1.1

### Bugfixes

* Fix map-loader not map-initialising maps when overwriting a post-init map.


## 219.1.0

### New features

* Added a new optional arguments to various entity spawning methods, including a new argument to set the entity's rotation.

### Bugfixes

* Fixes map initialisation not always initialising all entities on a map.

### Other

* The default value of the `auth.mode` cvar has changed


## 219.0.0

### Breaking changes

* Move most IMapManager functionality to SharedMapSystem.


## 218.2.0

### New features

* Control layout properties such as `Margin` can now be set via style sheets.
* Expose worldposition in SpriteComponent.Render
* Network audio entity Play/Pause/Stop states and playback position.
* Add `Disabled` functionality to `Slider` control.


## 218.1.0

### New features

* Add IEquatable.Equals to the sandbox.
* Enable roslyn extensions tests in CI.
* Add a VerticalTabContainer control to match the horizontal one.

### Bugfixes

* Fix divison remainder issue for Colors, fixing purples.

### Other

* Default hub address (`hub.hub_urls`) has been changed to `https://hub.spacestation14.com/`.


## 218.0.0

### Breaking changes

* `Robust.Shared.Configuration.EnvironmentVariables` is now internal and no longer usable by content.

### New features

* Add TryGetRandom to EntityManager to get a random entity with the specified component and TryGetRandom to IPrototypeManager to return a random prototype of the specified type.
* Add CopyData to AppearanceSystem.
* Update UI themes on prototype reloads.
* Allow scaling the line height of a RichTextLabel.
* You can now specify CVar overrides via environment variable with the `ROBUST_CVAR_*` prefix. For example `ROBUST_CVAR_game__hostname=foobar` would set the appropriate CVar. Double underscores in the environment variable name are replaced with ".".
* Added non-generic variant of `GetCVar` to `IConfigurationManager`.
* Add type tracking to FieldNotFoundErrorNode for serialization.
* Distance between lines of a `RichTextLabel` can now be modified with `LineHeightScale`.
* UI theme prototypes are now updated when reloaded.
* New `RA0025` analyzer diagnostic warns for manual assignment to `[Dependency]` fields.

### Bugfixes

* Request headers in `IStatusHandlerContext` are now case-insensitive.
* SetWorldPosition rotation now more closely aligns with prior behavior.
* Fix exception when inspecting elements in some cases.
* Fix HTTP errors on watchdog ping not being reported.

### Other

* Add an analyzer for redundantly assigning to dependency fields.

### Internal

* Remove redundant Exists checks in ContainerSystem.
* Improve logging on watchdog pings.


## 217.2.1

### Bugfixes

* Fix LineEdit tests on engine.

### Internal

* Make various ValueList enumerators access the span directly for performance.


## 217.2.0

### New features

* Added `AddComponents` and `RemoveComponents` methods to EntityManager that handle EntityPrototype / ComponentRegistry bulk component changes.
* Add double-clicking to LineEdit.

### Bugfixes

* Properly ignore non-hard fixtures for IntersectRayWithPredicate.
* Fix nullable TimeSpan addition on some platforms.


## 217.1.0

### New features

* Added `IRobustRandom.GetItems` extension methods for randomly picking multiple items from a collections.
* Added `SharedPhysicsSystem.EffectiveCurTime`. This is effectively a variation of `IGameTiming.CurTime` that takes into account the current physics sub-step.

### Bugfixes

* Fix `MapComponent.LightingEnabled` not leaving FOV rendering in a broken state.

### Internal

* `Shuffle<T>(Span<T>, System.Random)` has been removed, just use the builtin method.


## 217.0.0

### Breaking changes

* TransformSystem.SetWorldPosition and SetWorldPositionRotation will now also perform parent updates as necessary. Previously it would just set the entity's LocalPosition which may break if they were inside of a container. Now they will be removed from their container and TryFindGridAt will run to correctly parent them to the new position. If the old functionality is desired then you can use GetInvWorldMatrix to update the LocalPosition (bearing in mind containers may prevent this).

### New features

* Implement VV for AudioParams on SoundSpecifiers.
* Add AddUi to the shared UI system.

### Bugfixes

* Fix the first measure of ScrollContainer bars.


## 216.0.0

### Breaking changes

* The `net.low_lod_distance` cvar has been replaced with a new `net.pvs_priority_range`. Instead of limiting the range at which all entities are sent to a player, it now extends the range at which high priorities can be sent. The default value of this new cvar is 32.5, which is larger than the default `net.pvs_range` value of 25.

### New features

* You can now specify a component to not be saved to map files with `[UnsavedComponent]`.
* Added `ITileDefinitionManager.TryGetDefinition`.
* The map loader now tries to preserve the `tilemap` contents of map files, which should reduce diffs when re-saving a map after the game's internal tile IDs have changed.

### Bugfixes

* Fix buffered audio sources not being disposed.


## 215.3.1

### Bugfixes

* Revert zstd update.


## 215.3.0

### New features

* `EntityQuery<T>` now has `HasComp` and `TryComp` methods that are shorter than its existing ones.
* Added `PlacementInformation.UseEditorContext`.
* Added `Vector2Helpers` functions for comparing ranges between vectors.

### Bugfixes

* `Texture.GetPixel()`: fixed off-by-one with Y coordinate.
* `Texture.GetPixel()`: fix stack overflow when reading large images.
* `Texture.GetPixel()`: use more widely compatible OpenGL calls.

### Other

* Disabled `net.mtu_expand` again by default, as it was causing issues.
* Updated `SharpZstd` dependency.


## 215.2.0

### New features

* Implement basic VV for SoundSpecifiers.

### Bugfixes

* Fix QueueDel during EndCollideEvents from throwing while removing contacts.


## 215.1.0

### New features

* Add a CompletionHelper for audio filepaths that handles server packaging.
* Add Random.NextAngle(min, max) method and Pick for `ValueList<T>`.
* Added an `ICommonSession` parser for toolshed commands.

### Bugfixes


## 215.0.0

### Breaking changes

* Update Lidgren to 0.3.0

### New features

* Made a new `IMetricsManager` interface with an `UpdateMetrics` event that can be used to update Prometheus metrics whenever they are scraped.
* Also added a `metrics.update_interval` CVar to go along with this, when metrics are scraped without usage of Prometheus directly.
* IoC now contains an `IMeterFactory` implementation that you can use to instantiate metric meters.
* `net.mtu_ipv6` CVar allows specifying a different MTU value for IPv6.
* Allows `player:entity` to take a parameter representing the player name.
* Add collection parsing to the dev window for UI.
* Add a debug assert to Dirty(uid, comp) to catch mismatches being passed in.

### Bugfixes

* Support transform states with unknown parents.
* Fix serialization error logging.
* Fix naming of ResizableMemoryRegion metrics.
* Fix uncaught overflow exception when parsing NetEntities.

### Other

* The replay system now allows loading a replay with a mismatching serializer type hash. This means replays should be more robust against future version updates (engine security patches or .NET updates).
* `CheckBox`'s interior texture is now vertically centered.
* Lidgren.Network has been updated to [`v0.3.0`](https://github.com/space-wizards/SpaceWizards.Lidgren.Network/blob/v0.3.0/RELEASE-NOTES.md).
* Lowered default IPv4 MTU to 900 (from 1000).
* Automatic MTU expansion (`net.mtu_expand`) is now enabled by default.

### Internal

* Cleanup some Dirty component calls internally.


## 214.2.0

### New features
Expand Down
1 change: 1 addition & 0 deletions Resources/Locale/en-US/commands.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ cmd-parse-failure-uid = {$arg} is not a valid entity UID.
cmd-parse-failure-mapid = {$arg} is not a valid MapId.
cmd-parse-failure-grid = {$arg} is not a valid grid.
cmd-parse-failure-entity-exist = UID {$arg} does not correspond to an existing entity.
cmd-parse-failure-session = There is no session with username: {$username}
cmd-error-file-not-found = Could not find file: {$file}.
cmd-error-dir-not-found = Could not find directory: {$dir}.
Expand Down
15 changes: 15 additions & 0 deletions Resources/Locale/en-US/view-variables.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,18 @@ view-variable-instance-entity-client-components-search-bar-placeholder = Search
view-variable-instance-entity-server-components-search-bar-placeholder = Search
view-variable-instance-entity-add-window-server-components = Add Component [S]
view-variable-instance-entity-add-window-client-components = Add Component [C]
## SoundSpecifier
vv-sound-none = None
vv-sound-path = Path
vv-sound-collection = Collection
vv-sound-volume = volume
vv-sound-pitch = Pitch
vv-sound-max-distance = Max Distance
vv-sound-rolloff-factor = Rolloff Factor
vv-sound-reference-distance = Reference Distance
vv-sound-loop = Loop
vv-sound-play-offset = Play Offset (s)
vv-sound-variation = Pitch variation
7 changes: 6 additions & 1 deletion Robust.Analyzers.Tests/AccessAnalyzer_Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,16 @@ public Task Verifier(string code, params DiagnosticResult[] expected)
{
TestState =
{
AdditionalReferences = { typeof(AccessAnalyzer).Assembly },
Sources = { code }
},
};

TestHelper.AddEmbeddedSources(
test.TestState,
"Robust.Shared.Analyzers.AccessAttribute.cs",
"Robust.Shared.Analyzers.AccessPermissions.cs"
);

// ExpectedDiagnostics cannot be set, so we need to AddRange here...
test.TestState.ExpectedDiagnostics.AddRange(expected);

Expand Down
Loading

0 comments on commit 5c7d4ad

Please sign in to comment.